Pages with `nav_exclude: true` were included when sorting on `title` or `nav_order`. That could cause build failures when the type of value of the field differs from that on other pages, as reported in https://github.com/pmarsceill/just-the-docs/issues/406. Pages with `nav_exclude: true` or no `title` are never displayed in the navigation, so removing them from `pages_list` cannot break existing sites. This change also allows the removal of some tests in the code. (The indentation of the code should now be adjusted, but that has been deferred, to restrict the size of the diff for review.) For testing, the title of `404.html` has been changed to the number `404`, the page `docs/untitled-test.md` has been added, and `nav_sort_order` has been set to `case_sensitive`. Those updates give build failures with the current version of `_includes/nav.html`, but not after the suggested changes. It will still be possible for build failures to occur due to sorting fields of *non-excluded* pages with differing types of values (e.g., `nav_order`a mixture of numbers and strings). To make the code completely safe will require relatively complicated changes,.
Just the Docs
A modern, highly customizable, and responsive Jekyll theme for documentation with built-in search.
Easily hosted on GitHub Pages with few dependencies.
Installation
Add this line to your Jekyll site's Gemfile:
gem "just-the-docs"
And add this line to your Jekyll site's _config.yml
:
theme: just-the-docs
And then execute:
$ bundle
Or install it yourself as:
$ gem install just-the-docs
Usage
View the documentation for usage information.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/pmarsceill/just-the-docs. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Submitting code changes:
- Open a Pull Request
- Ensure all CI tests pass
- Await code review
- Bump the version number in
just-the-docs.gemspec
andpackage.json
according to semantic versioning.
Design and development principles of this theme:
- As few dependencies as possible
- No build script needed
- First class mobile experience
- Make the content shine
Development
To set up your environment to develop this theme, run bundle install
.
Your theme is set up just like a normal Jekyll site! To test your theme, run bundle exec jekyll serve
and open your browser at http://localhost:4000
. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
When the theme is released, only the files in _layouts
, _includes
, and _sass
tracked with Git will be released.
License
The theme is available as open source under the terms of the MIT License.