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
2020-07-09 17:43:33 -04: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
2019-09-09 15:50:05 -04:00
2019-12-29 15:08:15 -05:00
search:
2020-03-24 19:23:17 -04:00
# Split pages into sections that can be searched individually
2019-12-29 15:30:44 -05:00
# Supports 1 - 6, default: 2
heading_level: 2
2020-03-24 19:23:17 -04:00
# Maximum amount of previews per search result
2020-01-02 05:55:38 -05:00
# Default: 3
previews: 3
2019-12-29 15:30:44 -05:00
# 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
2020-03-24 19:23:17 -04:00
# Set the search token separator
2019-12-29 15:30:44 -05:00
# Default: /[\s\-/]+/
2020-03-24 19:23:17 -04:00
# Example: enable support for hyphenated search words
2019-12-29 15:30:44 -05:00
tokenizer_separator: /[\s/]+/
2020-03-24 19:23:17 -04:00
# Display the relative url in search results
# Supports true (default) or false
2020-06-25 17:19:24 -04:00
rel_url: true
2020-06-25 17:11:43 -04:00
# Enable or disable the search button that appears in the bottom right corner of every page
2019-12-29 15:30:44 -05:00
# Supports true or false (default)
2020-06-25 17:11:43 -04:00
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"
2019-10-02 01:22:34 -04:00
# 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-14 11:03:30 -04:00
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
#
2019-11-27 05:15:57 -05: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
2020-04-23 22:41:29 -04:00
# Footer content
# appears at the bottom of every page's main content
2019-08-14 10:50:49 -04:00
footer_content: "Copyright © 2017-2019 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."
2020-01-12 16:47:05 -05:00
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
2020-08-25 21:08:31 -04:00
# 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-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`
2020-08-25 21:08:31 -04:00
- `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
2019-11-27 05:15:57 -05:00
# 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(){
2019-05-20 03:48:57 -04:00
if (jtd.getTheme() === 'dark') {
jtd.setTheme('light');
2019-11-27 05:15:57 -05:00
toggleDarkMode.textContent = 'Preview dark color scheme';
2019-01-14 14:18:09 -05:00
} else {
2019-05-20 03:48:57 -04:00
jtd.setTheme('dark');
2019-11-27 05:15:57 -05:00
toggleDarkMode.textContent = 'Return to the light side';
2019-01-14 14:18:09 -05:00
}
2019-05-20 03:48:57 -04: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
2020-04-24 13:44:34 -04:00
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
```