notes/docs/configuration.md

199 lines
6.3 KiB
Markdown
Raw Normal View History

2018-11-16 11:47:46 -05:00
---
layout: default
title: Configuration
nav_order: 2
---
# Configuration
2019-02-02 15:32:33 -05:00
{: .no_toc }
2018-11-16 11:47:46 -05:00
2019-02-02 15:32:33 -05:00
Just the Docs has some specific configuration parameters that can be defined in your Jekyll site's _config.yml file.
{: .fs-6 .fw-300 }
## Table of contents
{: .no_toc .text-delta }
1. TOC
{:toc}
---
View this site's [_config.yml](https://github.com/pmarsceill/just-the-docs/tree/master/_config.yml) file as an example.
2018-11-16 11:47:46 -05:00
2019-08-17 08:46:28 -04:00
## Site logo
```yaml
# Set a path/url to a logo that will be displayed instead of the title
logo: "/assets/images/just-the-docs.png"
```
## Search
2018-11-16 11:47:46 -05:00
2019-01-15 20:43:19 -05:00
```yaml
2018-11-16 11:47:46 -05:00
# Enable or disable the site search
2019-08-17 08:46:28 -04:00
# Supports true (default) or false
2018-11-16 11:47:46 -05:00
search_enabled: true
search:
# Split pages into sections that can be searched individually
# Supports 1 - 6, default: 2
heading_level: 2
# Maximum amount of previews per search result
# Default: 3
previews: 3
# Maximum amount of words to display before a matched word in the preview
# Default: 5
preview_words_before: 5
# Maximum amount of words to display after a matched word in the preview
# Default: 10
preview_words_after: 10
# Set the search token separator
# Default: /[\s\-/]+/
# Example: enable support for hyphenated search words
tokenizer_separator: /[\s/]+/
# Display the relative url in search results
# Supports true (default) or false
2020-06-25 17:19:24 -04:00
rel_url: true
# Enable or disable the search button that appears in the bottom right corner of every page
# Supports true or false (default)
button: false
2018-11-16 11:47:46 -05:00
```
## Aux links
2019-01-15 20:43:19 -05:00
```yaml
2018-11-16 11:47:46 -05:00
# Aux links for the upper right navigation
aux_links:
2019-08-17 08:46:28 -04:00
"Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs"
# Makes Aux links open in a new tab. Default is false
aux_links_new_tab: false
2018-11-16 11:47:46 -05:00
```
2018-11-18 11:07:45 -05:00
2019-08-14 10:40:19 -04:00
## Heading anchor links
2019-08-13 17:24:23 -04:00
```yaml
2019-08-17 08:46:28 -04:00
# Heading anchor links appear on hover over h1-h6 tags in page content
# allowing users to deep link to a particular heading on a page.
2019-08-13 17:24:23 -04:00
#
# Supports true (default) or false
2019-08-13 17:24:23 -04:00
heading_anchors: true
```
2019-08-14 10:50:49 -04:00
## Footer content
```yaml
# Footer content
2020-04-23 22:41:29 -04:00
# appears at the bottom of every page's main content
2020-10-12 14:15:12 -04:00
# Note: The footer_content option is deprecated and will be removed in a future major release. Please use `_includes/footer_custom.html` for more robust
2020-10-12 12:49:51 -04:00
markup / liquid-based content.
footer_content: "Copyright &copy; 2017-2020 Patrick Marsceill. Distributed by an <a href=\"https://github.com/pmarsceill/just-the-docs/tree/master/LICENSE.txt\">MIT license.</a>"
2020-04-23 22:41:29 -04:00
# Footer last edited timestamp
2020-04-23 22:44:07 -04:00
last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
2020-04-23 22:41:29 -04:00
last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https://ruby-doc.org/stdlib-2.7.0/libdoc/time/rdoc/Time.html
# Footer "Edit this page on GitHub" link text
gh_edit_link: true # show or hide edit this page link
gh_edit_link_text: "Edit this page on GitHub."
gh_edit_repository: "https://github.com/pmarsceill/just-the-docs" # the github URL for your repo
2020-04-23 22:41:29 -04:00
gh_edit_branch: "master" # the branch that your docs is served from
# gh_edit_source: docs # the source that your files originate from
2020-04-23 22:41:29 -04:00
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately
2018-11-16 11:47:46 -05:00
```
2018-11-18 11:07:45 -05:00
2020-10-12 12:49:51 -04:00
_note: `footer_content` is deprecated, but still supported. For a better experience we have moved this into an include called `_includes/footer_custom.html` which will allow for robust markup / liquid-based content._
2020-04-23 22:41:29 -04:00
- the "page last modified" data will only display if a page has a key called `last_modified_date`, formatted in some readable date format
- `last_edit_time_format` uses Ruby's DateTime formatter; see examples and more information [at this link.](https://apidock.com/ruby/DateTime/strftime)
- `gh_edit_repository` is the URL of the project's GitHub repository
- `gh_edit_branch` is the branch that the docs site is served from; defaults to `master`
- `gh_edit_source` is the source directory that your project files are stored in (should be the same as [site.source](https://jekyllrb.com/docs/configuration/options/))
2020-04-23 22:41:29 -04:00
- `gh_edit_view_mode` is `"tree"` by default, which brings the user to the github page; switch to `"edit"` to bring the user directly into editing mode
2019-09-11 18:36:36 -04:00
2018-11-18 11:07:45 -05:00
## Color scheme
2019-01-15 20:43:19 -05:00
```yaml
# Color scheme supports "light" (default) and "dark"
color_scheme: dark
2018-11-18 11:07:45 -05:00
```
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script>
2019-05-04 16:20:36 -04:00
const toggleDarkMode = document.querySelector('.js-toggle-dark-mode');
2018-11-18 11:07:45 -05:00
2019-08-14 10:08:01 -04:00
jtd.addEvent(toggleDarkMode, 'click', function(){
if (jtd.getTheme() === 'dark') {
jtd.setTheme('light');
toggleDarkMode.textContent = 'Preview dark color scheme';
2019-01-14 14:18:09 -05:00
} else {
jtd.setTheme('dark');
toggleDarkMode.textContent = 'Return to the light side';
2019-01-14 14:18:09 -05:00
}
});
2018-11-18 11:07:45 -05:00
</script>
2019-01-14 14:18:09 -05:00
See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more information.
2019-02-02 15:32:33 -05:00
## Google Analytics
```yaml
# Google Analytics Tracking (optional)
# e.g, UA-1234567-89
ga_tracking: UA-5555555-55
ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (true by default)
2019-02-02 15:32:33 -05:00
```
2020-09-14 12:40:17 -04:00
## Document collections
By default, the navigation and search include normal [pages](https://jekyllrb.com/docs/pages/).
Instead, you can also use [Jekyll collections](https://jekyllrb.com/docs/collections/) which group documents semantically together.
For example, put all your documentation files in the `_docs` folder and create the `docs` collection:
```yaml
# Define Jekyll collections
collections:
# Define a collection named "docs", its documents reside in the "_docs" directory
docs:
permalink: "/:collection/:path/"
output: true
just_the_docs:
# Define which collections are used in just-the-docs
collections:
# Reference the "docs" collection
docs:
# Give the collection a name
name: Documentation
# Exclude the collection from the navigation
# Supports true or false (default)
nav_exclude: false
# Exclude the collection from the search
# Supports true or false (default)
search_exclude: false
```
You can reference multiple collections.
This creates categories in the navigation with the configured names.
```yaml
collections:
docs:
permalink: "/:collection/:path/"
output: true
tutorials:
permalink: "/:collection/:path/"
output: true
just_the_docs:
collections:
docs:
name: Documentation
tutorials:
name: Tutorials
```