Style manual · wiki

Wiki Style Guide

Keeping an open wiki that everyone can edit is important to the project, and spirit of the project. However, some constancy in markdown formatting goes a long way to make the wiki look as good as it is informative.

Following these guidelines while making the readme for your plugin/theme would be recommended as well, but is not required.

# — never used the filename is the h1 ## h2 main section divider ### / #### h3–h4 subsections tables, whenever possible aliases · functions · anything listable ##### h5 · "Example:" labels a fenced code block ```shell code fence ###### h6 descriptors inside examples
Anatomy of a well-formed wiki page — every heading level has exactly one job.

§ 01 · Headers

Every heading level has one job

GFM elementHTML header tag equivalentUse
#<h1>This will not be used, as Github wiki pages uses the filename as h1
##<h2>Main section divider (as in this page Headers, Syntax Highlighting, etc are)
#######<h3><h4>For use in subsections
#####<h5>Please try to use this just for labeling Example in fenced code blocks
######<h6>For descriptors in example fenced code blocks

Below is an example of how to use each header (and will be the only use of ##/h2 in abnormal circumstances).

This is a main subject## h2
This subject has several important sub-subjects### h3
Some sub-subjects are so vast, they require their own sub-subjects#### h4
Example:##### h5
Quick explanation of example:###### h6

§ 02 · Tables

Prefer tables for anything listable

Tables are pretty and easy to read; please use them whenever possible for listing aliases, functions, and anything else that could possibly be made into a table.

§ 03 · Syntax highlighting

Fence code blocks as shell

We use shell to highlight code blocks.

GitHub-Flavor Markdown (GFM) does support highlighting zsh defined code blocks. However, some text editors do not, so this just makes the experience more consistent across the board.

§ 04 · Line wrapping

Do not hard wrap lines

§ 05 · Italics

Underscores for italics

Use underscores, not askerisks, to define italics.

(This makes it easier to differentiate them from bold words/characters at glance in when editing.)

Use
_italic_
Avoid
*italic*

§ 06 · Bold

Double asterisks for bold

Use double asterisks, not double underscores, to define bold characters or words.

(This makes it easier to differentiate them from bold words/characters at glance in when editing.)

Use
**bold**
Avoid
__bold__

§ 07 · Unnumbered lists

Hyphens, not asterisks

Use hyphens - for defining unnumbered lists and sublists, as opposed to asterisks.

Use
- item
  - sub-item
Avoid
* item
  * sub-item

§ 08 · Images

Markdown formatting, not HTML

Use Markdown formatting for images, not HTML.

Example:

![image description](url to image)

§ 09 · Line endings

Unix line endings, and a final newline

Please use Unix line ending codes and not Windows (Mac OS X uses Unix by default).

EOF — please leave a blank newline at the end of the file.

§ 10 · Miscellaneous

Page breaks: allowed, unregulated, in moderation

Page breaks such as ---, ___, and === don't have to be used, but if so, there are no strict guidelines on using them, just don't over use them.

This wiki is automatically published from ohmyzsh/wiki. To edit this page, go to ohmyzsh/wiki, make your changes and submit a Pull Request.