|
1 | 1 | # KI Documentation |
2 | | -[Ki Languages Wiki](https://github.com/kixi-io/Docs/wiki) |
| 2 | + |
| 3 | +This repo contains the documentation for Ki languages. |
| 4 | + |
| 5 | +The docs site is published to [Kixi Docs](https://kixi-io.github.io/Ki.Docs/) |
| 6 | + |
| 7 | +## Set up and deployment |
| 8 | + |
| 9 | +The docs site is build using GitHub Pages with Jekyll. It uses the [Just the Docs](https://github.com/just-the-docs/just-the-docs) remote theme. |
| 10 | + |
| 11 | +`_config.yml` contains the configuration for the site. |
| 12 | + |
| 13 | +Publishing is done via GitHub settings under Pages. It builds off of the `master` branch using the `/docs` folder as the source. |
| 14 | + |
| 15 | +The site is built when changes are pushed to `master`. |
| 16 | + |
| 17 | +## Branches |
| 18 | + |
| 19 | +- `master` - main branch, contains the docs site in `/docs` folder |
| 20 | +- `develop` - development branch for working on docs before merging to `master` |
| 21 | + - It is not necessary or enforced to use this branch, but can be useful for batching larger changes. |
| 22 | + |
| 23 | +### Workflows |
| 24 | + |
| 25 | +Use one of the following workflows to update content. |
| 26 | + |
| 27 | +1. Directly edit files in `master` and commit. Changes will be published on commit. |
| 28 | +2. Create a feature branch off of `master` then merge the feature branch into `master` via PR. |
| 29 | +3. Merge master into `develop` to update with the most updated changes, then either create a feature branch off `develop` or work directly in `develop`. When changes are ready, create a PR to merge `develop` into `master` and then merge the PR to publish. |
| 30 | + |
| 31 | +## Editing content |
| 32 | + |
| 33 | +Content files are in markdown format (`.md`) and are located in the `/docs` folder. |
| 34 | + |
| 35 | +Images are placed in the `/docs/assets/images` folder. They can be referenced in markdown files using relative paths, for example: |
| 36 | + |
| 37 | +```markdown |
| 38 | + |
| 39 | +``` |
| 40 | + |
| 41 | +Markdown process is using Kramdown, which is the default for Jekyll. Kramdown support GitHub Flavored Markdown (GFM) features such as fenced code blocks, tables, and strikethrough, however it is more strict with syntax than GitHub. |
| 42 | + |
| 43 | +### Front matter |
| 44 | + |
| 45 | +Front matter is used to set page-specific variables for Jekyll. Each markdown file should have front matter at the top of the file enclosed in `---` lines. At a minimum, each file should have a `title` variable. |
| 46 | + |
| 47 | +Example front matter: |
| 48 | + |
| 49 | +```frontmatter |
| 50 | +--- |
| 51 | +title: Home |
| 52 | +nav_order: 1 |
| 53 | +--- |
| 54 | +``` |
| 55 | + |
| 56 | +`nav_order` is used to set the order of pages in the left navigation. Lower numbers appear first. If not set the page appears at the end of the navigation in alphabetical order. |
| 57 | + |
| 58 | +## Left navigation |
| 59 | + |
| 60 | +The left navigation is automatically generated from the markdown files in the `/docs` folder. The order is determined by the `nav_order` variable in the front matter of each file. |
| 61 | + |
| 62 | +Appended to the bottom of the left nav are external links defined in `_config.yml` under `nav_external_links:`. |
| 63 | + |
| 64 | + |
| 65 | +## Customizations |
| 66 | + |
| 67 | +`_sass/color_schemes/wider.scss` contains a customization to adjust the width of the site. It is used in `_config.yml` under `color_scheme: wider`. |
| 68 | + |
| 69 | +`_sass/custom/custom.scss` contains css overrides and customizations. It is referenced automatically by Just the Docs. |
| 70 | + |
| 71 | +## emoji code support |
| 72 | + |
| 73 | +The site uses the `jemoji` plugin to support emoji code like `:smile:`. It is enabled in `_config.yml` under `plugins:`. |
| 74 | + |
| 75 | +`jemoji` does not support GitHub custom emoji codes such as `:octocat:`. |
0 commit comments