|
1 |
| -# just-the-docs-template |
| 1 | +# Simular API documentation site |
2 | 2 |
|
3 |
| -This is a *bare-minimum* template to create a [Jekyll] site that: |
4 |
| - |
5 |
| -- uses the [Just the Docs] theme; |
6 |
| -- can be built and published on [GitHub Pages]; |
7 |
| -- can be built and previewed locally, and published on other platforms. |
8 |
| - |
9 |
| -More specifically, the created site: |
10 |
| - |
11 |
| -- uses a gem-based approach, i.e. uses a `Gemfile` and loads the `just-the-docs` gem; |
12 |
| -- uses the [GitHub Pages / Actions workflow] to build and publish the site on GitHub Pages. |
13 |
| - |
14 |
| -To get started with creating a site, simply: |
15 |
| - |
16 |
| -1. click "[use this template]" to create a GitHub repository |
17 |
| -2. go to Settings > Pages > Build and deployment > Source, and select GitHub Actions |
18 |
| - |
19 |
| -If you want to maintain your docs in the `docs` directory of an existing project repo, see [Hosting your docs from an existing project repo](#hosting-your-docs-from-an-existing-project-repo). |
20 |
| - |
21 |
| -After completing the creation of your new site on GitHub, update it as needed: |
22 |
| - |
23 |
| -## Replace the content of the template pages |
24 |
| - |
25 |
| -Update the following files to your own content: |
26 |
| - |
27 |
| -- `index.md` (your new home page) |
28 |
| -- `README.md` (information for those who access your site repo on GitHub) |
29 |
| - |
30 |
| -## Changing the version of the theme and/or Jekyll |
31 |
| - |
32 |
| -Simply edit the relevant line(s) in the `Gemfile`. |
33 |
| - |
34 |
| -## Adding a plugin |
35 |
| - |
36 |
| -The Just the Docs theme automatically includes the [`jekyll-seo-tag`] plugin. |
37 |
| - |
38 |
| -To add an extra plugin, you need to add it in the `Gemfile` *and* in `_config.yml`. For example, to add [`jekyll-default-layout`]: |
39 |
| - |
40 |
| -- Add the following to your site's `Gemfile`: |
41 |
| - |
42 |
| - ```ruby |
43 |
| - gem "jekyll-default-layout" |
44 |
| - ``` |
45 |
| - |
46 |
| -- And add the following to your site's `_config.yml`: |
47 |
| - |
48 |
| - ```yaml |
49 |
| - plugins: |
50 |
| - - jekyll-default-layout |
51 |
| - ``` |
52 |
| -
|
53 |
| -Note: If you are using a Jekyll version less than 3.5.0, use the `gems` key instead of `plugins`. |
54 |
| - |
55 |
| -## Publishing your site on GitHub Pages |
56 |
| - |
57 |
| -1. If your created site is `YOUR-USERNAME/YOUR-SITE-NAME`, update `_config.yml` to: |
58 |
| - |
59 |
| - ```yaml |
60 |
| - title: YOUR TITLE |
61 |
| - description: YOUR DESCRIPTION |
62 |
| - theme: just-the-docs |
63 |
| -
|
64 |
| - url: https://YOUR-USERNAME.github.io/YOUR-SITE-NAME |
65 |
| -
|
66 |
| - aux_links: # remove if you don't want this link to appear on your pages |
67 |
| - Template Repository: https://github.com/YOUR-USERNAME/YOUR-SITE-NAME |
68 |
| - ``` |
69 |
| - |
70 |
| -2. Push your updated `_config.yml` to your site on GitHub. |
71 |
| - |
72 |
| -3. In your newly created repo on GitHub: |
73 |
| - - go to the `Settings` tab -> `Pages` -> `Build and deployment`, then select `Source`: `GitHub Actions`. |
74 |
| - - if there were any failed Actions, go to the `Actions` tab and click on `Re-run jobs`. |
75 |
| - |
76 |
| -## Building and previewing your site locally |
77 |
| - |
78 |
| -Assuming [Jekyll] and [Bundler] are installed on your computer: |
79 |
| - |
80 |
| -1. Change your working directory to the root directory of your site. |
81 |
| - |
82 |
| -2. Run `bundle install`. |
83 |
| - |
84 |
| -3. Run `bundle exec jekyll serve` to build your site and preview it at `localhost:4000`. |
85 |
| - |
86 |
| - The built site is stored in the directory `_site`. |
87 |
| - |
88 |
| -## Publishing your built site on a different platform |
89 |
| - |
90 |
| -Just upload all the files in the directory `_site`. |
91 |
| - |
92 |
| -## Customization |
93 |
| - |
94 |
| -You're free to customize sites that you create with this template, however you like! |
95 |
| - |
96 |
| -[Browse our documentation][Just the Docs] to learn more about how to use this theme. |
97 |
| - |
98 |
| -## Hosting your docs from an existing project repo |
99 |
| - |
100 |
| -You might want to maintain your docs in an existing project repo. Instead of creating a new repo using the [just-the-docs template](https://github.com/just-the-docs/just-the-docs-template), you can copy the template files into your existing repo and configure the template's Github Actions workflow to build from a `docs` directory. You can clone the template to your local machine or download the `.zip` file to access the files. |
101 |
| - |
102 |
| -### Copy the template files |
103 |
| - |
104 |
| -1. Create a `.github/workflows` directory at your project root if your repo doesn't already have one. Copy the `pages.yml` file into this directory. GitHub Actions searches this directory for workflow files. |
105 |
| - |
106 |
| -2. Create a `docs` directory at your project root and copy all remaining template files into this directory. |
107 |
| - |
108 |
| -### Modify the GitHub Actions workflow |
109 |
| - |
110 |
| -The GitHub Actions workflow that builds and deploys your site to Github Pages is defined by the `pages.yml` file. You'll need to edit this file to that so that your build and deploy steps look to your `docs` directory, rather than the project root. |
111 |
| - |
112 |
| -1. Set the default `working-directory` param for the build job. |
113 |
| - |
114 |
| - ```yaml |
115 |
| - build: |
116 |
| - runs-on: ubuntu-latest |
117 |
| - defaults: |
118 |
| - run: |
119 |
| - working-directory: docs |
120 |
| - ``` |
121 |
| - |
122 |
| -2. Set the `working-directory` param for the Setup Ruby step. |
123 |
| - |
124 |
| - ```yaml |
125 |
| - - name: Setup Ruby |
126 |
| - uses: ruby/setup-ruby@v1 |
127 |
| - with: |
128 |
| - ruby-version: '3.1' |
129 |
| - bundler-cache: true |
130 |
| - cache-version: 0 |
131 |
| - working-directory: '${{ github.workspace }}/docs' |
132 |
| - ``` |
133 |
| - |
134 |
| -3. Set the path param for the Upload artifact step: |
135 |
| - |
136 |
| - ```yaml |
137 |
| - - name: Upload artifact |
138 |
| - uses: actions/upload-pages-artifact@v1 |
139 |
| - with: |
140 |
| - path: "docs/_site/" |
141 |
| - ``` |
142 |
| - |
143 |
| -4. Modify the trigger so that only changes within the `docs` directory start the workflow. Otherwise, every change to your project (even those that don't affect the docs) would trigger a new site build and deploy. |
144 |
| - |
145 |
| - ```yaml |
146 |
| - on: |
147 |
| - push: |
148 |
| - branches: |
149 |
| - - "main" |
150 |
| - paths: |
151 |
| - - "docs/**" |
152 |
| - ``` |
153 |
| - |
154 |
| -## Licensing and Attribution |
155 |
| - |
156 |
| -This repository is licensed under the [MIT License]. You are generally free to reuse or extend upon this code as you see fit; just include the original copy of the license (which is preserved when you "make a template"). While it's not necessary, we'd love to hear from you if you do use this template, and how we can improve it for future use! |
157 |
| - |
158 |
| -The deployment GitHub Actions workflow is heavily based on GitHub's mixed-party [starter workflows]. A copy of their MIT License is available in [actions/starter-workflows]. |
159 |
| - |
160 |
| ----- |
161 |
| - |
162 |
| -[^1]: [It can take up to 10 minutes for changes to your site to publish after you push the changes to GitHub](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll#creating-your-site). |
163 |
| - |
164 |
| -[Jekyll]: https://jekyllrb.com |
165 |
| -[Just the Docs]: https://just-the-docs.github.io/just-the-docs/ |
166 |
| -[GitHub Pages]: https://docs.github.com/en/pages |
167 |
| -[GitHub Pages / Actions workflow]: https://github.blog/changelog/2022-07-27-github-pages-custom-github-actions-workflows-beta/ |
168 |
| -[Bundler]: https://bundler.io |
169 |
| -[use this template]: https://github.com/just-the-docs/just-the-docs-template/generate |
170 |
| -[`jekyll-default-layout`]: https://github.com/benbalter/jekyll-default-layout |
171 |
| -[`jekyll-seo-tag`]: https://jekyll.github.io/jekyll-seo-tag |
172 |
| -[MIT License]: https://en.wikipedia.org/wiki/MIT_License |
173 |
| -[starter workflows]: https://github.com/actions/starter-workflows/blob/main/pages/jekyll.yml |
174 |
| -[actions/starter-workflows]: https://github.com/actions/starter-workflows/blob/main/LICENSE |
| 3 | +[Simular Official]: https://simular.ai |
0 commit comments