# Contributing Before making any changes, please discuss your plans on GitHub and get agreement on the general direction of the change. ## Making changes - style.md is generated from the contents of the src/ folder. All changes must be made to files in the src/ folder. - For new entries, create a new file with a short name (see [File names](#file-names)) and add it to [SUMMARY.md](src/SUMMARY.md). The file must have a single level 1 heading and any number of subsections. - Use tables for side-by-side code samples. - Link to other sections with their file names (`[..](foo.md)`). ## Updating style.md `style.md` is generated from the contents of `src/` using [stitchmd](https://github.com/abhinav/stitchmd). If CI fails because `style.md` is out of date, regenerate it by running: ```bash make ``` This will install `stitchmd` if needed and update `style.md`. Commit the result and push it to your branch. ## Writing style ### Line breaks Use [semantic line breaks](https://sembr.org/) in your writing. This keeps the Markdown files easily reviewable and editable. ### File names Files in src/ follow a rough naming convention of: {subject}-{desc}.md Where `{subject}` is the **singular form** of subject that the entry is about (e.g `string`, `struct`, `time`, `var`, `error`) and `{desc}` is a short one or two word description of the topic. For subjects where their name is enough, the `-{desc}` may be omitted. ### Code samples Use two spaces to indent code samples. Horizontal space is limited in side-by-side samples. ### Side-by-side samples Create side-by-side code samples with the following template: ~~~
| Bad | Good |
|---|---|
| ```go BAD CODE GOES HERE ``` | ```go GOOD CODE GOES HERE ``` |