Compare commits

...

450 Commits

Author SHA1 Message Date
Patrick Marsceill
46aa1134a8 Update just-the-docs.gemspec 2020-07-15 17:56:37 -04:00
Patrick Marsceill
9edd8d5c50 Bump version to 0.3.1 2020-07-15 17:56:09 -04:00
Patrick Marsceill
654da0a6ef Merge pull request #369 from SgtSilvio/bugfix/css-main-search-active
Fixed css .search-active.main
2020-07-06 11:24:28 -04:00
Patrick Marsceill
a8f8f8445a Merge pull request #376 from MikesCoolOrg/master
Improve accessibility by adding label to Anchor links.
2020-07-06 11:22:04 -04:00
Mike Coutermarsh
bf31b8b9a0 Improve accessibility by adding label to Anchor links.
I ran Lighthouse on just-the-docs and noticed the anchor links
were missing a "discernible name".

This adds aria-labelledby to the header element to improve these for
screenreaders.
2020-07-04 14:28:52 -07:00
Silvio Giebl
5a96a218b3 Fixed css .search-active.main 2020-06-30 20:22:32 +02:00
Patrick Marsceill
50d727871e Merge pull request #368 from pmarsceill/remove-collapse-toc-onpage
Remove collapsible TOC on nav doc
2020-06-30 14:04:43 -04:00
Patrick Marsceill
1bdd849d86 Update navigation-structure.md 2020-06-30 13:58:26 -04:00
Patrick Marsceill
5277d14547 Merge pull request #367 from pmarsceill/pdmosses-collapsible-toc
Pdmosses collapsible toc
2020-06-30 13:48:49 -04:00
Patrick Marsceill
2101701aad Merge branch 'master' into pdmosses-collapsible-toc 2020-06-30 13:42:36 -04:00
Patrick Marsceill
845261205f Make cursor pointer, update docs, and add heading 2020-06-30 13:03:17 -04:00
Patrick Marsceill
c8bbcc2d9b Merge branch 'collapsible-toc' of git://github.com/pdmosses/just-the-docs into pdmosses-collapsible-toc 2020-06-30 12:54:51 -04:00
Patrick Marsceill
972da61cf9 Merge pull request #327 from pmarsceill/dependabot/npm_and_yarn/primer/css-14.4.0
Bump @primer/css from 14.3.0 to 14.4.0
2020-06-26 16:00:04 -04:00
Patrick Marsceill
ab9fd6453b Merge pull request #343 from pmarsceill/dependabot/npm_and_yarn/stylelint-13.6.1
Bump stylelint from 13.3.3 to 13.6.1
2020-06-26 15:59:44 -04:00
Patrick Marsceill
2ef11e3701 Merge branch 'master' into dependabot/npm_and_yarn/stylelint-13.6.1 2020-06-26 15:54:25 -04:00
Patrick Marsceill
3382a954d2 Merge branch 'master' into dependabot/npm_and_yarn/primer/css-14.4.0 2020-06-26 15:53:11 -04:00
Patrick Marsceill
848b090d06 Merge pull request #349 from pmarsceill/dependabot/npm_and_yarn/stylelint-config-prettier-8.0.2
Bump stylelint-config-prettier from 8.0.1 to 8.0.2
2020-06-26 15:52:28 -04:00
Patrick Marsceill
8700916a93 Update release-drafter.yml 2020-06-26 15:52:02 -04:00
dependabot-preview[bot]
13d01a6561 Bump @primer/css from 14.3.0 to 14.4.0
Bumps [@primer/css](https://github.com/primer/css) from 14.3.0 to 14.4.0.
- [Release notes](https://github.com/primer/css/releases)
- [Changelog](https://github.com/primer/css/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/css/compare/v14.3.0...v14.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-26 19:46:23 +00:00
dependabot-preview[bot]
2efc206d02 Bump stylelint-config-prettier from 8.0.1 to 8.0.2
Bumps [stylelint-config-prettier](https://github.com/prettier/stylelint-config-prettier) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/prettier/stylelint-config-prettier/releases)
- [Commits](https://github.com/prettier/stylelint-config-prettier/compare/v8.0.1...v8.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-26 19:46:07 +00:00
Patrick Marsceill
20222fe0a7 Merge pull request #360 from pmarsceill/bump-version
Bump version numbers
2020-06-26 15:44:30 -04:00
Patrick Marsceill
c4d5f4f6b0 Merge pull request #362 from pmarsceill/pdebruic-print-css
Add print styles
2020-06-26 15:42:08 -04:00
Patrick Marsceill
12536de881 Merge branch 'master' into bump-version 2020-06-26 15:38:51 -04:00
Patrick Marsceill
c895d5ecd9 Remove print from utils 2020-06-26 15:34:26 -04:00
Patrick Marsceill
b8602eb05d Move print to top level (not util) 2020-06-26 15:33:16 -04:00
Patrick Marsceill
8715224655 Add IDs to target print styles 2020-06-26 15:33:03 -04:00
Patrick Marsceill
cba7303660 Merge branch 'master' into print-css 2020-06-26 14:29:36 -04:00
Patrick Marsceill
5def3aee43 Merge pull request #348 from PierrickMartos/master
Remove constraint with jekyll 4.1.0
2020-06-26 14:28:49 -04:00
Patrick Marsceill
53a5feb11b Merge branch 'master' into master 2020-06-26 14:23:28 -04:00
Patrick Marsceill
17c140da35 Update just-the-docs.gemspec 2020-06-26 14:22:29 -04:00
Patrick Marsceill
e29a540a59 Update package.json 2020-06-26 14:20:54 -04:00
Patrick Marsceill
45af827e0a Merge pull request #352 from SgtSilvio/navigation-improvements-and-search-sections
Navigation improvements and search sections
2020-06-26 14:19:37 -04:00
Silvio Giebl
597c534279 Replaced svgs with feathericons.com 2020-06-25 23:48:24 +02:00
Silvio Giebl
3f0b7254a2 Update _config.yml with default values 2020-06-25 23:19:24 +02:00
Silvio Giebl
868bb0e3ac Apply suggestions from code review
Co-authored-by: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2020-06-25 23:11:43 +02:00
Patrick Marsceill
1e73c69700 Merge branch 'master' into dependabot/npm_and_yarn/stylelint-13.6.1 2020-06-25 17:09:50 -04:00
Patrick Marsceill
5ec0044b72 Update just-the-docs.gemspec 2020-06-25 16:28:45 -04:00
Patrick Marsceill
15f9f52a77 Merge branch 'master' into master 2020-06-25 16:28:19 -04:00
Silvio Giebl
f2aa3c9a4d Fixed prettier style 2020-06-25 21:42:41 +02:00
Silvio Giebl
397e4a6933 Merge branch 'master' into navigation-improvements-and-search-sections 2020-06-25 21:16:21 +02:00
Patrick Marsceill
171ff71a2b Update ci.yml 2020-06-25 14:23:27 -04:00
Patrick Marsceill
e4a29e54ec Update release-drafter.yml 2020-06-25 14:17:46 -04:00
Patrick Marsceill
eadd46c6e4 Create release-drafter.yml 2020-06-25 14:16:41 -04:00
Paul DeBruicker
d3c389ccc5 add print css. hides the sidebar, keeps the logo 2020-06-25 07:43:12 -07:00
Patrick Marsceill
16c18c1020 Fix bundle exec in CI 2020-06-23 11:56:15 -04:00
Patrick Marsceill
b31355691f Fix rake command in ci 2020-06-23 11:46:30 -04:00
Patrick Marsceill
3eaa0155d1 Update ci-master.yml 2020-06-23 11:19:38 -04:00
Patrick Marsceill
6c4d47cae4 Bundle errors in ci 2020-06-23 11:09:40 -04:00
dependabot-preview[bot]
8102af2cd4 Bump stylelint from 13.3.3 to 13.6.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.3.3 to 13.6.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.3.3...13.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 15:03:50 +00:00
Patrick Marsceill
8c77c24959 Merge pull request #306 from pmarsceill/v0.2.9
v0.2.9
2020-06-23 11:01:58 -04:00
Pierrick Martos
f2ac995815 Remove constraint with jekyll 4.1.0 2020-06-22 17:31:04 +02:00
Silvio Giebl
1cf7d5aba9 Restored search.rake 2020-06-18 22:39:58 +02:00
Silvio Giebl
ed618caf70 Fixed table of children 2020-06-15 23:00:53 +02:00
Silvio Giebl
51f15965f2 Merge branch 'feature/search-sections' into improvement/navigation-new
# Conflicts:
#	_includes/nav.html
#	_layouts/default.html
#	assets/js/search-data.json
#	docs/configuration.md
#	lib/tasks/search.rake
2020-06-15 22:06:16 +02:00
Silvio Giebl
16628f2b8e Improved search responsiveness for many results 2020-06-15 21:57:55 +02:00
Silvio Giebl
0421ab7f82 Fixed stylelint 2020-06-15 21:57:55 +02:00
Silvio Giebl
b7a5458375 Fixed fuzzy search hangs for long words 2020-06-15 21:57:55 +02:00
Silvio Giebl
da9276121a Improved search input for mobile
- font size 16px to prevent zooming on iOS Safari
- search input is scrolled into view on iOS Safari
- box-shadow is displayed correctly
2020-06-15 21:57:54 +02:00
Silvio Giebl
18f3a41600 Merge branch 'bugfix/page-scrolling' into improvement/navigation-new
# Conflicts:
#	_layouts/default.html
#	assets/js/just-the-docs.js
2020-06-15 21:44:30 +02:00
Silvio Giebl
e216623ed3 Merge branch 'improvement/search-button' into improvement/navigation-new 2020-06-15 21:37:31 +02:00
Silvio Giebl
c7466e88a8 Merge branch 'improvement/navigation' into improvement/navigation-new
# Conflicts:
#	_includes/nav.html
#	_layouts/default.html
2020-06-15 21:23:03 +02:00
Patrick Marsceill
85fa222f49 Merge branch 'v0.2.9' of github.com:pmarsceill/just-the-docs into v0.2.9 2020-05-21 14:15:27 -04:00
Patrick Marsceill
798c14b46a lint 2020-05-21 14:15:14 -04:00
Patrick Marsceill
5fbfe09ce9 Update ci.yml 2020-05-21 14:05:17 -04:00
Patrick Marsceill
439d1d6769 Update ci.yml 2020-05-21 14:00:30 -04:00
Patrick Marsceill
ddf0095a3e Update ci.yml 2020-05-21 14:00:12 -04:00
Patrick Marsceill
2d9b17070a Update ci.yml 2020-05-21 13:56:06 -04:00
Patrick Marsceill
992b38f7de Update ci.yml
Permissioning
2020-05-21 13:51:22 -04:00
Patrick Marsceill
7fdf886d15 Update ci.yml
Fix CI workflow
2020-05-21 13:49:27 -04:00
Patrick Marsceill
5c2087c61b Merge pull request #319 from RoiArthurB/patch-1
[SEARCH RAKE] Fix search generator
2020-05-21 13:26:28 -04:00
Arthur Brugière
34ed214ef6 [SEARCH RAKE] Fix search generator 2020-05-13 14:45:38 +07:00
pmarsceill
09ea2e5ae8 🎨 Prettier 2020-05-05 16:49:42 +00:00
Patrick Marsceill
5ea1b339ce Merge 6345c61aae into 5915b2fef5 2020-05-05 16:49:03 +00:00
Patrick Marsceill
6345c61aae Clean up typography updates 2020-05-05 12:48:45 -04:00
PLanCompS
e40ba9c6c5 Update documentation with collapsible TOC
Makes the TOC at the top of the page collapsible.
Adds an explanation of the markup used to produce a collapsible TOC.
Adds a comment about the possibility of using an unordered list for the TOC,
and about using TOC only once per page.
2020-05-02 14:39:31 +02:00
PLanCompS
bf031eb68b Update .gitignore 2020-05-02 11:24:49 +02:00
Patrick Marsceill
d9b2822448 date fix 2020-05-01 17:32:54 -04:00
Patrick Marsceill
0033934409 Label styles 2020-05-01 17:32:46 -04:00
Patrick Marsceill
beb88adf5f Typography fixes 2020-05-01 17:32:33 -04:00
Patrick Marsceill
f664d410d7 Add back to top link and format footer 2020-05-01 17:31:44 -04:00
Patrick Marsceill
411c508806 Add additional layout and text justifcations 2020-05-01 15:32:42 -04:00
Patrick Marsceill
2f13db1f01 Make code font size dynamic 2020-05-01 15:07:27 -04:00
Patrick Marsceill
ff5047e523 Fix outdated docs
closes #266
2020-05-01 14:55:40 -04:00
Silvio Giebl
d7e57de985 Exclude pages without title from nav (e.g. redirects) 2020-04-29 14:44:51 -04:00
Patrick Marsceill
d39c922806 Merge branch 'v0.2.9' of github.com:pmarsceill/just-the-docs into v0.2.9 2020-04-29 14:39:09 -04:00
Patrick Marsceill
611a4c51a9 Merge branch 'master' into v0.2.9 2020-04-29 14:39:01 -04:00
Patrick Marsceill
10d6abd356 Merge branch 'v0.2.9' of github.com:pmarsceill/just-the-docs into v0.2.9 2020-04-29 14:38:37 -04:00
Patrick Marsceill
9428b93c3d Add .ruby-version to gitignore 2020-04-29 14:38:06 -04:00
Patrick Marsceill
5915b2fef5 Update README.md 2020-04-29 14:05:55 -04:00
Patrick Marsceill
424f9a8ee9 Update ci-master.yml 2020-04-29 14:04:03 -04:00
Patrick Marsceill
484563b297 Merge pull request #239 from KasparEtter/fix-duplicates-in-nav
Fix duplicate entries in nav.html and default.html
2020-04-28 17:52:35 -04:00
Peter Mosses
e97b718f5d Update nav.html
Changed `site.html_pages` to `pages_list`, to repeat the nav order of the grandchildren in the nav panel.
2020-04-28 18:07:50 +02:00
Peter Mosses
561f930e83 Update navigation-structure.md
Deleted a spurious line from a previous version.
2020-04-28 17:33:59 +02:00
Peter Mosses
73ad860f8e Update _includes/nav.html
Co-Authored-By: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2020-04-28 17:08:53 +02:00
Patrick Marsceill
41a74d247d Update docs/navigation-structure.md
Co-Authored-By: Peter Mosses <18308236+pdmosses@users.noreply.github.com>
2020-04-28 10:58:07 -04:00
Peter Mosses
30e1ddcdae Update _layouts/default.html 2020-04-28 08:08:34 +02:00
Patrick Marsceill
b4c278cb8f Merge pull request #229 from malsf21/aux-links-new-tab
feat: adds option to open aux links in new tab
2020-04-27 16:41:37 -04:00
Matt Wang
6d487845a4 Merge branch 'v0.2.9' into aux-links-new-tab 2020-04-27 13:00:42 -07:00
Matt Wang
7fd8f6379a Merge branch 'master' into aux-links-new-tab 2020-04-27 12:49:53 -07:00
Patrick Marsceill
431b6cb4a2 Merge pull request #311 from pmarsceill/add-ci-to-master
Create ci-master.yml
2020-04-27 15:09:59 -04:00
Patrick Marsceill
0ea28edc71 Update ci-master.yml 2020-04-27 15:00:58 -04:00
Patrick Marsceill
3dd97d29c2 Create ci-master.yml 2020-04-27 14:59:16 -04:00
Patrick Marsceill
16e83704d0 Update default.html 2020-04-27 14:18:28 -04:00
Patrick Marsceill
12900d8ed1 Update index.md 2020-04-27 13:54:44 -04:00
Patrick Marsceill
b7fe6e0318 Merge branch 'v0.2.9' into fix-duplicates-in-nav 2020-04-27 13:29:52 -04:00
Patrick Marsceill
b9f89fcd9f Merge branch 'master' into fix-duplicates-in-nav 2020-04-27 13:19:55 -04:00
Patrick Marsceill
70c36d8aad Update _config.yml 2020-04-27 13:14:42 -04:00
Patrick Marsceill
ee44f699ec Update default.html 2020-04-27 13:13:22 -04:00
Patrick Marsceill
30b5da451c Update default.html 2020-04-27 13:07:25 -04:00
Patrick Marsceill
6066d22c82 Update _config.yml 2020-04-27 12:52:07 -04:00
Patrick Marsceill
176ffc8e60 Update _config.yml 2020-04-27 12:51:48 -04:00
Patrick Marsceill
b51decd020 Merge pull request #236 from pdmosses/default-nav-order
Default nav order
2020-04-27 11:12:26 -04:00
Patrick Marsceill
fad434bc74 Merge branch 'v0.2.9' into default-nav-order 2020-04-27 11:05:46 -04:00
PLanCompS
c46ccd3484 Made case-insenstive sorting the default
Added a configuration option to determine whether the sort order is case-sensitive.
The default is case-insensitive.

To test:
- open `/just-the-docs/docs/utilities/` in the browser,
  and check that the navigation links in `Utilities` are sorted alphabetically;
- in `docs/utilities/layout.md', change the preamble to `title: layout`,
  and check that the  links in `Utilities` are still sorted alphabetically;
- add `nav_sort: case_sensitive` in the configuration file,
  and check that the link to `layout` is now listed last under `Utilities`.
2020-04-25 14:53:45 +02:00
PLanCompS
7e959f4b69 Update .gitignore
Added `.jekyll-cache`
2020-04-25 13:54:36 +02:00
Peter Mosses
c071901629 Merge branch 'master' into default-nav-order 2020-04-25 09:52:50 +02:00
Matt Wang
ec75fa4f02 Merge branch 'master' into aux-links-new-tab 2020-04-24 13:02:09 -07:00
pmarsceill
91808528c9 🎨 Prettier 2020-04-24 19:55:49 +00:00
Patrick Marsceill
2539ed54a8 Merge bbd559e11d into 3ff76320ce 2020-04-24 19:55:14 +00:00
Patrick Marsceill
bbd559e11d update prettierignore 2020-04-24 15:55:07 -04:00
Patrick Marsceill
37fe8ca412 Update _config.yml 2020-04-24 15:52:19 -04:00
Patrick Marsceill
d02f668309 Merge branch 'SgtSilvio-improvement/custom-themes' into v0.2.9 2020-04-24 15:43:34 -04:00
Patrick Marsceill
955ac23149 Rm preview js 2020-04-24 15:41:13 -04:00
Patrick Marsceill
59d4802ce3 Merge branch 'improvement/custom-themes' of git://github.com/SgtSilvio/just-the-docs into SgtSilvio-improvement/custom-themes 2020-04-24 15:39:44 -04:00
pmarsceill
bc08659f50 🎨 Prettier 2020-04-24 19:29:01 +00:00
Patrick Marsceill
6edea8eb54 Merge d56b22a3ec into 3ff76320ce 2020-04-24 19:28:30 +00:00
Patrick Marsceill
d56b22a3ec Merge branch 'master' into v0.2.9 2020-04-24 15:28:28 -04:00
Patrick Marsceill
3ff76320ce Merge pull request #307 from pmarsceill/stylelint-plus-prettier
Fix Stylelint workflow and add prettier
2020-04-24 15:27:35 -04:00
Patrick Marsceill
02d3d3d825 Update package.json 2020-04-24 15:22:32 -04:00
Patrick Marsceill
7e28608e9d Update just-the-docs.gemspec 2020-04-24 15:22:04 -04:00
pmarsceill
6501990a44 🎨 Prettier 2020-04-24 19:20:29 +00:00
Patrick Marsceill
252e69f5cf Merge 94f5d6b018 into a11eaff97e 2020-04-24 19:19:56 +00:00
Patrick Marsceill
94f5d6b018 fix merge conflict 2020-04-24 15:19:49 -04:00
Patrick Marsceill
d07d465005 Merge branch 'stylelint-plus-prettier' of github.com:pmarsceill/just-the-docs into stylelint-plus-prettier 2020-04-24 15:17:52 -04:00
Patrick Marsceill
0ba819bb2d lets just use prettier and forget about it :D) 2020-04-24 15:17:14 -04:00
Patrick Marsceill
8340f9acd0 Fix prettier config 2020-04-24 15:09:51 -04:00
Patrick Marsceill
0716ea77d6 Merge pull request #250 from Labs64/pr-anonymize_ip
Enable IP anonymization in Google Analytics (GDPR)
2020-04-24 14:47:21 -04:00
R.Brown
c06eae8fa3 Update _config.yml
Co-Authored-By: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2020-04-24 19:44:42 +02:00
R.Brown
5152912e5c Update docs/configuration.md
Co-Authored-By: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2020-04-24 19:44:34 +02:00
R.Brown
17cf72bd33 Update _includes/head.html
Co-Authored-By: Patrick Marsceill <pmarsceill@users.noreply.github.com>
2020-04-24 19:44:25 +02:00
pmarsceill
c818624363 🎨 Prettier 2020-04-24 15:44:37 +00:00
Patrick Marsceill
9cf4451ea1 Merge 4197c26a36 into a11eaff97e 2020-04-24 15:44:02 +00:00
Patrick Marsceill
4197c26a36 Update ci.yml 2020-04-24 11:44:00 -04:00
Patrick Marsceill
cf748e7ef5 Update ci.yml 2020-04-24 11:39:50 -04:00
Patrick Marsceill
ec64bc1dce Update ci.yml 2020-04-24 11:25:28 -04:00
Patrick Marsceill
f3f3179644 Update ci.yml 2020-04-24 10:57:20 -04:00
Patrick Marsceill
db17dbac36 bump stylelint 2020-04-24 10:51:22 -04:00
Matt Wang
0c6d96abc3 Merge branch 'master' into aux-links-new-tab 2020-04-24 04:17:55 -07:00
Patrick Marsceill
bb36aac6bc Merge branch 'stylelint-plus-prettier' of github.com:pmarsceill/just-the-docs into stylelint-plus-prettier 2020-04-24 00:30:24 -04:00
Patrick Marsceill
d26bb0fa8f update package 2020-04-24 00:30:13 -04:00
Patrick Marsceill
3bd33abe5d Update ci.yml 2020-04-24 00:27:56 -04:00
Patrick Marsceill
73e658c34e Update ci.yml 2020-04-24 00:22:28 -04:00
Patrick Marsceill
3cd3fc8fe0 Update ci.yml 2020-04-24 00:20:41 -04:00
Patrick Marsceill
bc04ce25e6 Update ci.yml 2020-04-24 00:11:14 -04:00
Patrick Marsceill
3407f6c995 Temporarily add the JS file with liquid tokens so it wont fail 2020-04-24 00:08:41 -04:00
Patrick Marsceill
4da45d677c prettier config 2020-04-24 00:05:39 -04:00
Patrick Marsceill
7f1ffd393e prettier config 2020-04-24 00:03:12 -04:00
Patrick Marsceill
25ffab718a prettier config 2020-04-24 00:02:27 -04:00
Patrick Marsceill
a586e2b8d1 prettier config 2020-04-24 00:00:47 -04:00
Patrick Marsceill
0ba4685ee1 typo 2020-04-23 23:46:41 -04:00
Patrick Marsceill
4c022bd9ac Set up prettier 2020-04-23 23:45:43 -04:00
Patrick Marsceill
b27f5162c8 set up prettier 2020-04-23 23:42:57 -04:00
Patrick Marsceill
835526b901 Add pretter ignore 2020-04-23 23:38:59 -04:00
Patrick Marsceill
2ec9e67ec9 Merge pull request #217 from malsf21/master
feat: adds "edit this page" and "page last modified" to footer
2020-04-23 22:57:16 -04:00
Patrick Marsceill
1819d29c5b Update ci.yml 2020-04-23 22:55:09 -04:00
Patrick Marsceill
15674dae97 Update ci.yml 2020-04-23 22:50:37 -04:00
Patrick Marsceill
9f6a700d6e Update configuration.md 2020-04-23 22:44:07 -04:00
Patrick Marsceill
0507f77f4e Update _config.yml 2020-04-23 22:43:27 -04:00
Patrick Marsceill
3b2a55fd10 Update _config.yml 2020-04-23 22:42:59 -04:00
Patrick Marsceill
2faa91f235 Update default.html 2020-04-23 22:42:00 -04:00
Patrick Marsceill
60756a592d Update configuration.md 2020-04-23 22:41:29 -04:00
Patrick Marsceill
eecc51062b Update default.html 2020-04-23 22:39:11 -04:00
Patrick Marsceill
5d3b88a1e1 Update _config.yml 2020-04-23 22:38:45 -04:00
Patrick Marsceill
17153f001f Update _config.yml 2020-04-23 22:32:46 -04:00
Patrick Marsceill
8d54896986 Merge pull request #282 from blawqchain/patch-1
Update nav.html for handling nav_exclude
2020-04-23 22:26:55 -04:00
Patrick Marsceill
0680935092 Merge pull request #294 from moltenc/fix-title
Fix duplicated title and description tags
2020-04-23 22:25:30 -04:00
Patrick Marsceill
a11eaff97e Update ci.yml 2020-04-23 21:48:44 -04:00
Patrick Marsceill
8fd6eddcfd Merge pull request #305 from pmarsceill/v0.2.8
v0.2.8
2020-04-23 18:47:39 -04:00
Patrick Marsceill
463678623f Update package.json 2020-04-23 17:35:10 -04:00
Patrick Marsceill
0ff319b2ba Update ci.yml 2020-04-23 17:23:50 -04:00
Patrick Marsceill
e0032e07a5 Update ci.yml 2020-04-23 17:14:09 -04:00
Patrick Marsceill
eb6bba7fda Update ci.yml 2020-04-23 17:07:03 -04:00
Patrick Marsceill
fd50bb31a3 Update ci.yml 2020-04-23 16:16:43 -04:00
Patrick Marsceill
db2b790a69 Update ci.yml 2020-04-23 16:13:09 -04:00
Patrick Marsceill
48b1ab47b6 Update ci.yml 2020-04-23 16:12:44 -04:00
Patrick Marsceill
3c584e2d8a Merge pull request #218 from tiaitsch85/patch-1
bugfix in search.rake
2020-04-23 16:03:11 -04:00
Patrick Marsceill
81aad708f3 Update ci.yml 2020-04-23 16:01:12 -04:00
Patrick Marsceill
ec3bfecc1f Merge pull request #227 from pmarsceill/dependabot/bundler/rake-gte-12.3.1-and-lt-13.1.0
Update rake requirement from ~> 12.3.1 to >= 12.3.1, < 13.1.0
2020-04-23 15:49:33 -04:00
Patrick Marsceill
fbbf6a5d01 Merge pull request #247 from pmarsceill/dependabot/npm_and_yarn/stylelint-config-primer-9.0.0
Bump stylelint-config-primer from 8.0.0 to 9.0.0
2020-04-23 15:48:50 -04:00
Patrick Marsceill
b4711bfdf7 Merge pull request #268 from pmarsceill/dependabot/bundler/bundler-tw-2.1.4
Update bundler requirement from ~> 2.0.1 to ~> 2.1.4
2020-04-23 15:42:57 -04:00
Patrick Marsceill
74459588c9 Merge branch 'v0.2.8' into dependabot/bundler/bundler-tw-2.1.4 2020-04-23 15:37:27 -04:00
Patrick Marsceill
4a209f7f80 Update ci.yml 2020-04-23 15:29:33 -04:00
Patrick Marsceill
e5f53a8bfd Update ci.yml 2020-04-23 15:13:29 -04:00
Patrick Marsceill
1a0758dc13 Update just-the-docs.gemspec 2020-04-23 15:03:10 -04:00
Patrick Marsceill
71afb627d3 Update just-the-docs.gemspec 2020-04-23 15:00:50 -04:00
dependabot-preview[bot]
0892c32a1b Update bundler requirement from ~> 2.0.1 to ~> 2.1.4
Updates the requirements on [bundler](https://github.com/bundler/bundler) to permit the latest version.
- [Release notes](https://github.com/bundler/bundler/releases)
- [Changelog](https://github.com/bundler/bundler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bundler/bundler/compare/v2.0.1...v2.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-23 18:55:10 +00:00
Patrick Marsceill
7a7ce5ef7e Merge pull request #296 from pmarsceill/dependabot/npm_and_yarn/primer/css-14.3.0
Bump @primer/css from 12.7.0 to 14.3.0
2020-04-23 14:53:05 -04:00
Patrick Marsceill
cf78195f16 Merge pull request #197 from pmarsceill/dependabot/bundler/jekyll-gte-3.8.5-and-lt-4.1.0
Update jekyll requirement from ~> 3.8.5 to >= 3.8.5, < 4.1.0
2020-04-23 14:51:14 -04:00
Patrick Marsceill
a04f45dadd Merge pull request #303 from pmarsceill/add-discussions
Create config.yml
2020-04-23 14:44:00 -04:00
Patrick Marsceill
d70aa54ba7 Create config.yml 2020-04-23 14:40:32 -04:00
dependabot-preview[bot]
ac259f90d8 Bump @primer/css from 12.7.0 to 14.3.0
Bumps [@primer/css](https://github.com/primer/css) from 12.7.0 to 14.3.0.
- [Release notes](https://github.com/primer/css/releases)
- [Changelog](https://github.com/primer/css/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/css/compare/v12.7.0...v14.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-26 12:40:25 +00:00
Silvio Giebl
f5e6573e16 Removed unnecessary rake command and files
Improved search documentation
2020-03-25 00:23:17 +01:00
Serge
aa8ca74883 Fix duplicated title and description tags
Currently just-the-docs renders two title and description tags
when used with jekyll-seo-tag. This patch fixes plugin detection
conditonal.
2020-03-22 22:51:37 -04:00
Scott V Kissinger
6f2065aa57 Update nav.html for handling nav_exclude
It appears nav_exclude only works on top level navigation items. I needed it to work at the child level as well. I believe these changes accomplish that for the child and grand_child levels.

Love this theme. I've used it a few times. Apologies if this pull request is not according to convention. This is the first time I've done it on someone else's code. Thanks!
2020-02-19 16:01:50 +08:00
Silvio Giebl
672de29f2e Exclude pages without title from nav (e.g. redirects) 2020-02-02 20:54:02 +01:00
Matthew Wang
da79e3e214 adds @bram1028's suggestion 2020-01-22 14:54:31 -08:00
Matthew Wang
9b86e292fa implements requested branch and edit mode configs 2020-01-12 13:47:05 -08:00
Silvio Giebl
e2e01effa6 Add fuzzy search if no results were found 2020-01-03 22:44:04 +01:00
Silvio Giebl
b13b44f18b Fixed stylelint 2020-01-03 08:58:38 +01:00
Silvio Giebl
d357532b4e Fixed stylelint 2020-01-03 08:57:29 +01:00
Silvio Giebl
157e3ff945 Fixed search result word wrap 2020-01-03 08:54:16 +01:00
Silvio Giebl
19e35329d2 Fixed search result word wrap 2020-01-02 14:32:51 +01:00
Silvio Giebl
757742e79c Fixed search result word wrap 2020-01-02 14:20:09 +01:00
Silvio Giebl
538591dddb Fixed search result word wrap 2020-01-02 13:18:39 +01:00
Silvio Giebl
a3d8c14609 Fixed css style 2020-01-02 11:59:52 +01:00
Silvio Giebl
f1c306c814 Multi search match highlight
Added multiple previews, configurable by site.search.previews
Improved search-data.json
2020-01-02 11:55:38 +01:00
Silvio Giebl
74681aeb21 Improved js function nesting 2020-01-01 16:50:31 +01:00
Silvio Giebl
c907e79251 Improved padding of active search input 2020-01-01 00:21:19 +01:00
Silvio Giebl
82b3f15443 Added search.button configuration
Improved documentation for search configurations
2019-12-29 21:30:44 +01:00
Silvio Giebl
2ef0029068 Add documentation for search configurations 2019-12-29 21:08:15 +01:00
Silvio Giebl
ff30552748 Moved config search_tokenizer_separator -> search.tokenizer_separator 2019-12-29 20:08:34 +01:00
Silvio Giebl
7f5b1f14f1 Search for sections (configurable via search.heading_level)
Added more search configurations
Display "no results found"
2019-12-29 19:19:00 +01:00
Silvio Giebl
38689d07b1 Improved search css 2019-12-18 21:32:33 +01:00
Silvio Giebl
0b4ed96f58 Added transition-duration scss variable 2019-12-18 21:02:07 +01:00
Silvio Giebl
b5c13965a7 Improved search css 2019-12-18 20:28:38 +01:00
Silvio Giebl
3576cb4a89 Fixed stylelint 2019-12-04 22:35:45 +01:00
Silvio Giebl
a6f2ed8c6c Improved search on mobile 2019-12-04 22:27:43 +01:00
Silvio Giebl
8310df593c Fixed css style 2019-12-04 18:11:44 +01:00
Silvio Giebl
1d1564e5c0 Improved search layout: scrolling, mobile 2019-12-04 10:39:30 +01:00
Silvio Giebl
9d24b14ba1 Fixed css style 2019-12-03 10:55:36 +01:00
Silvio Giebl
ab7e53b63f Fixed transition of search overlay 2019-12-03 10:52:17 +01:00
Silvio Giebl
abb7f55794 Fixed css style 2019-12-03 09:21:35 +01:00
Silvio Giebl
c057771cca Fixed css style 2019-12-03 09:20:22 +01:00
Silvio Giebl
804cad6c4d Improved search interface 2019-12-03 09:12:54 +01:00
Silvio Giebl
d66ebdec4b Improved showing/hiding search results on focus/blur 2019-12-01 16:26:23 +01:00
Silvio Giebl
5d87f3a9df Prefixed svg ids to not clash with normal ids 2019-12-01 15:51:48 +01:00
Silvio Giebl
0c9678c2e6 Fix search issues 2019-11-30 17:35:09 +01:00
Silvio Giebl
09944de128 Fixed scroll bar hiding on code blocks 2019-11-27 22:52:33 +01:00
Silvio Giebl
73047a078f Scroll page instead of nested div, removed nested divs 2019-11-27 22:07:22 +01:00
Silvio Giebl
cf64965554 Merge branch 'improvement/navigation' into improvement/search-button 2019-11-27 12:55:57 +01:00
Silvio Giebl
4bb8d7612d Fixed style lint 2019-11-27 12:52:44 +01:00
Silvio Giebl
078696415e Improved navigation active and highlight 2019-11-27 12:37:10 +01:00
Silvio Giebl
03979bf8fc Added documentation for custom color schemes and custom css 2019-11-27 11:15:57 +01:00
Silvio Giebl
301a4ab644 Merge branch 'improvement/navigation-merged' into improvement/search-button-merged
# Conflicts:
#	_layouts/default.html
2019-11-26 23:33:18 +01:00
Silvio Giebl
fd91140923 Merge branch 'master2' into improvement/navigation-merged
# Conflicts:
#	_layouts/default.html
2019-11-26 23:30:46 +01:00
Silvio Giebl
bb0e5222ca Merge branch 'master2' into improvement-custom-themes-merged 2019-11-26 23:27:33 +01:00
Matthew Wang
2c94928917 oops, adds edit_link_text to layout 2019-11-13 23:06:23 -08:00
Alexey Averikhin
25331a5ffa Enable IP anonymization in Google Analytics (GDPR)
- Introduced "ga_tracking_anonymize_ip" parameter to enable/disable Google Analytics IP anonymization (to comply with GDPR).

(cherry picked from commit ce530f36fa0549c78ffe53ea6077f44f6f0b330f) (+1 squashed commit)
Squashed commits:
[69b7718] - enable GA anonymize_ip

(cherry picked from commit f2b67c632af72b61dd634b9a337200781519691e)
2019-11-12 10:27:01 +01:00
dependabot-preview[bot]
65e2759910 Bump stylelint-config-primer from 8.0.0 to 9.0.0
Bumps [stylelint-config-primer](https://github.com/primer/stylelint-config-primer) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/primer/stylelint-config-primer/releases)
- [Changelog](https://github.com/primer/stylelint-config-primer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/stylelint-config-primer/compare/v8.0.0...v9.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-30 14:34:16 +00:00
Kaspar Etter
c09f86cd1d Fix duplicate entries in default.html
Removes children from the table of contents that
belong to a different page with the same title.
2019-10-18 12:07:10 +02:00
Kaspar Etter
102d74c782 Fix duplicate entries in nav.html
This commit resolves #207.
2019-10-16 17:42:30 +02:00
Peter Mosses
06853e895a Update navigation-structure.md
Added documentation of default nav order.
2019-10-11 23:02:19 +01:00
Peter Mosses
210e060f18 Testing default nav order
The `nav_order` fields are removed from the children of the Utilities node, which results in alphabetic order.
2019-10-11 21:43:07 +01:00
Peter Mosses
6660f442b0 Alphabetic navigation order
When `nav_order` is omitted, the order of nodes at each menu level (and in the auto-generated TOC) is alphabetical by `title`, instead of random.
Any nodes with a specified `nav_order` precede all nodes at that level where it is omitted.
Note that `nav_order` fields must have a uniform site-ide type: integers and strings cannot be mixed, otherwise Jekyll reports errors.
The implementation filters the ordered and unordered pages from `site.html_pages`, sorts them separately, and concatenates the resulting arrays.
2019-10-11 21:40:34 +01:00
Matthew Wang
5549a15df9 adds option to make aux links open in new tab 2019-10-01 22:22:34 -07:00
dependabot-preview[bot]
a371a79f41 Update rake requirement from ~> 12.3.1 to >= 12.3.1, < 13.1.0
Updates the requirements on [rake](https://github.com/ruby/rake) to permit the latest version.
- [Release notes](https://github.com/ruby/rake/releases)
- [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc)
- [Commits](https://github.com/ruby/rake/compare/v12.3.1...v13.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-27 12:32:23 +00:00
Matthew Wang
9c4622d75f implements conditional or on footer 2019-09-14 17:54:27 -07:00
websTTer
d3e97d31fa Update
duplicated from fix #80 
the same error in Version 2.0.7
fix with same procedure
2019-09-12 08:30:29 +02:00
Matthew Wang
e917ea1f10 Merge branch 'master' into master 2019-09-11 15:40:51 -07:00
Matthew Wang
4ff38dbe9c adds documentation 2019-09-11 15:36:36 -07:00
Matthew Wang
97efc81fa9 implements configuration for footer data and "edit this page" functionality 2019-09-11 15:31:47 -07:00
dependabot-preview[bot]
5fdb8f2e10 Update jekyll requirement from ~> 3.8.5 to >= 3.8.5, < 4.1.0
Updates the requirements on [jekyll](https://github.com/jekyll/jekyll) to permit the latest version.
- [Release notes](https://github.com/jekyll/jekyll/releases)
- [Changelog](https://github.com/jekyll/jekyll/blob/master/History.markdown)
- [Commits](https://github.com/jekyll/jekyll/compare/v3.8.5...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-10 16:54:31 +00:00
Patrick Marsceill
8bd2da55fe Merge pull request #212 from pmarsceill/v0.2.7-release
v0.2.7 release
2019-09-10 12:53:16 -04:00
Patrick Marsceill
4ca741b1ce Update just-the-docs.gemspec 2019-09-10 12:46:05 -04:00
Patrick Marsceill
e6896e1997 Update package.json 2019-09-10 12:45:35 -04:00
Patrick Marsceill
492471b15f Merge branch 'master' into v0.2.7-release 2019-09-10 12:37:07 -04:00
Patrick Marsceill
efe5918871 Update base.scss 2019-09-10 12:36:54 -04:00
Patrick Marsceill
56e8119665 Update _lists.scss 2019-09-10 12:32:43 -04:00
Patrick Marsceill
8dbe7209b9 Update _lists.scss 2019-09-10 12:30:00 -04:00
Patrick Marsceill
72741e9498 Update _lists.scss 2019-09-10 12:26:46 -04:00
Patrick Marsceill
5391eb0a13 Update _lists.scss 2019-09-10 12:25:26 -04:00
Patrick Marsceill
20c7b97b3e Update index.md 2019-09-10 12:19:29 -04:00
Patrick Marsceill
1476259d9b Merge branch 'master' into v0.2.7-release 2019-09-10 12:05:54 -04:00
Patrick Marsceill
00c96ac2de Merge pull request #215 from pmarsceill/dependabot/npm_and_yarn/primer/css-12.7.0
Bump @primer/css from 12.6.0 to 12.7.0
2019-09-10 12:05:38 -04:00
Patrick Marsceill
f2ce1b33c1 Merge pull request #214 from pmarsceill/dependabot/npm_and_yarn/stylelint-config-primer-8.0.0
Bump stylelint-config-primer from 7.0.1 to 8.0.0
2019-09-10 12:05:14 -04:00
Patrick Marsceill
afbb385042 Merge pull request #213 from pmarsceill/dependabot/npm_and_yarn/mixin-deep-1.3.2
[Security] Bump mixin-deep from 1.3.1 to 1.3.2
2019-09-10 12:04:46 -04:00
Patrick Marsceill
35da800e88 Update index.md 2019-09-10 12:03:51 -04:00
Patrick Marsceill
54d9738dd1 Update README.md 2019-09-10 11:39:30 -04:00
Patrick Marsceill
c5e53d90c9 Update customization.md 2019-09-10 11:36:48 -04:00
Patrick Marsceill
01a3c35c98 Update search.rake 2019-09-10 11:29:10 -04:00
Patrick Marsceill
b49829c784 Update search.md 2019-09-10 11:26:14 -04:00
Patrick Marsceill
95bdc51a0a Update dark-mode-preview.js 2019-09-10 11:20:26 -04:00
dependabot-preview[bot]
1cca7a8e88 Bump @primer/css from 12.6.0 to 12.7.0
Bumps [@primer/css](https://github.com/primer/css) from 12.6.0 to 12.7.0.
- [Release notes](https://github.com/primer/css/releases)
- [Changelog](https://github.com/primer/css/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/css/compare/v12.6.0...v12.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-10 10:59:08 +00:00
dependabot-preview[bot]
2c73d71c1b Bump stylelint-config-primer from 7.0.1 to 8.0.0
Bumps [stylelint-config-primer](https://github.com/primer/stylelint-config-primer) from 7.0.1 to 8.0.0.
- [Release notes](https://github.com/primer/stylelint-config-primer/releases)
- [Changelog](https://github.com/primer/stylelint-config-primer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/stylelint-config-primer/compare/v7.0.1...v8.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-10 10:58:37 +00:00
dependabot-preview[bot]
722717a0d1 [Security] Bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. **This update includes a security fix.**
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-10 10:57:42 +00:00
Matthew Wang
be5822cb86 adds page last modified above header 2019-09-09 19:43:33 -07:00
Matthew Wang
7c8ead0bff adds page last modified to footer 2019-09-09 19:31:23 -07:00
Patrick Marsceill
41187ed9b6 Merge pull request #205 from pdmosses/mathjax
Fix blank_lines var to blanklines in config.yml
2019-09-09 16:33:12 -04:00
Patrick Marsceill
3ae06cd59b Update search.md 2019-09-09 16:32:53 -04:00
Patrick Marsceill
7804642c50 Update search.md 2019-09-09 16:32:24 -04:00
Patrick Marsceill
b44ebe6cb3 Merge branch 'v0.2.7-release' into mathjax 2019-09-09 16:30:59 -04:00
Patrick Marsceill
423b8c9f46 Update _config.yml 2019-09-09 16:29:51 -04:00
Peter Mosses
a7285b9e30 Replace blank_lines by blanklines. 2019-09-09 22:26:32 +02:00
Peter Mosses
119a0b241e Revert "Mathjax support added"
This reverts commit 7220197a1f.
2019-09-09 22:22:22 +02:00
Patrick Marsceill
ff106641b0 syntax error 2019-09-09 16:09:05 -04:00
Patrick Marsceill
900639b02c Merge pull request #153 from jacobherrington/change-theme-button-text
Change button copy on theme preview
2019-09-09 16:06:33 -04:00
Patrick Marsceill
dbac62127a Merge branch 'v0.2.7-release' into change-theme-button-text 2019-09-09 16:06:21 -04:00
Patrick Marsceill
850a8fe256 Merge pull request #203 from pdmosses/search-config
Search config
2019-09-09 16:00:11 -04:00
Patrick Marsceill
44d689b994 Lint 2019-09-09 15:55:31 -04:00
Patrick Marsceill
9616dcf761 Update just-the-docs.js 2019-09-09 15:50:48 -04:00
Peter Mosses
1564ca4511 Update configuration.md
Added documentation for `search_tokenizer_separator`.
2019-09-09 21:50:05 +02:00
Patrick Marsceill
e124e10914 Merge pull request #200 from pmarsceill/dependabot/npm_and_yarn/mixin-deep-1.3.2
[Security] Bump mixin-deep from 1.3.1 to 1.3.2
2019-09-09 15:45:09 -04:00
Patrick Marsceill
757be1631c Merge pull request #208 from pmarsceill/dependabot/npm_and_yarn/primer/css-12.7.0
Bump @primer/css from 12.6.0 to 12.7.0
2019-09-09 15:43:46 -04:00
Patrick Marsceill
3b42ec2762 Merge pull request #206 from iamcarrico/allow-for-overrides
Allow for custom overrides by the user
2019-09-09 15:35:31 -04:00
Patrick Marsceill
a98bba778c Merge pull request #141 from ghabs/patch-1
Fix trailing comma bug in search-data.json
2019-09-09 15:32:26 -04:00
Patrick Marsceill
3ecdb59b48 Merge branch 'v0.2.7-release' into patch-1 2019-09-09 15:32:08 -04:00
Patrick Marsceill
843233c6b2 Merge pull request #187 from SgtSilvio/improvement/site-logo
Improvement/site logo
2019-09-09 15:10:55 -04:00
Patrick Marsceill
d3cbc83285 Merge pull request #188 from pdmosses/master
Update nav.html to eliminate generation of undisplayed elements
2019-09-09 15:09:22 -04:00
Patrick Marsceill
f960695bb7 Merge pull request #183 from SgtSilvio/improvement/heading-anchors
Improve heading anchors
2019-09-09 15:07:04 -04:00
Patrick Marsceill
34eaf8b16d Merge pull request #181 from m3nu/master
Recommend using index.md as parent page for sections
2019-09-09 15:05:12 -04:00
Patrick Marsceill
ea9affe25f Merge pull request #98 from stefanoborini/simplify-template
Introduces the possibility for a summary in the table of contents
2019-09-09 15:01:05 -04:00
Patrick Marsceill
d3f6e5907b Merge branch 'master' into simplify-template 2019-09-09 15:00:40 -04:00
dependabot-preview[bot]
3d0240ff0b Bump @primer/css from 12.6.0 to 12.7.0
Bumps [@primer/css](https://github.com/primer/css) from 12.6.0 to 12.7.0.
- [Release notes](https://github.com/primer/css/releases)
- [Changelog](https://github.com/primer/css/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/css/compare/v12.6.0...v12.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-06 10:34:12 +00:00
Ian Carrico
1aee233e1f Add in some docs 2019-09-04 09:04:10 -04:00
Ian Carrico
47b7991805 Allow for custom overrides by the user 2019-09-04 08:55:11 -04:00
Peter Mosses
7220197a1f Mathjax support added
Mathjax config options added.
`compress_html` config option changed,
Mathjax script loaded by head when `page.mathjax` is truthy.
Documentation and test page added.
See also issue #198.
2019-08-31 23:19:03 +02:00
Peter Mosses
4e65041849 Revert "Add configuration option search_tokenizer_separator"
This reverts commit 50cdf076b4.
2019-08-31 16:52:41 +02:00
Peter Mosses
50cdf076b4 Add configuration option search_tokenizer_separator
The default is for hyphens to separate tokens in search terms: `gem-based` is equivalent to `gem based`.

This adds `search_tokenizer_separator` as a site configuation option, to support search for hyphenated words.
2019-08-29 15:36:13 +02:00
Peter Mosses
ed492bf40e Revert "Update .gitignore"
This reverts commit 13ef185010.
2019-08-29 14:45:09 +02:00
Peter Mosses
690d0b5e8a Revert "Update nav.html"
This reverts commit 0cfc0f0357.
2019-08-29 14:42:47 +02:00
Peter Mosses
5b74b44230 Revert "Optional delay of grandchildren link display"
This reverts commit 8ac545a5eb.
2019-08-29 14:42:23 +02:00
Peter Mosses
8a1e09ec5a Revert "Update nav.html"
This reverts commit c282e4b0a7.
2019-08-29 14:42:10 +02:00
Peter Mosses
cfbc7f41df Revert "Revert "Update nav.html""
This reverts commit 5d58a66301.
2019-08-29 14:41:21 +02:00
Peter Mosses
5e72b7db67 Revert "Revert "Optional delay of grandchildren link display""
This reverts commit 89f79138c3.
2019-08-29 14:41:09 +02:00
Peter Mosses
3af59176f4 Revert "Update nav.html"
This reverts commit 209ac7be7d.
2019-08-29 14:40:38 +02:00
Peter Mosses
13ef185010 Update .gitignore 2019-08-29 14:32:24 +02:00
dependabot-preview[bot]
7382a9a379 [Security] Bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. **This update includes a security fix.**
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-27 19:28:29 +00:00
Peter Mosses
209ac7be7d Update nav.html
Restrict navigation to display only direct children.
2019-08-22 21:45:09 +02:00
Peter Mosses
89f79138c3 Revert "Optional delay of grandchildren link display"
This reverts commit 8ac545a5eb.
2019-08-22 21:37:11 +02:00
Peter Mosses
5d58a66301 Revert "Update nav.html"
This reverts commit c282e4b0a7.
2019-08-22 07:58:09 +02:00
Peter Mosses
c282e4b0a7 Update nav.html
Separating new PR from #188, since indpendent.
2019-08-21 13:57:07 +02:00
Peter Mosses
8ac545a5eb Optional delay of grandchildren link display
The current default is that when a grandparent is selected, the links to its
children *and all its grandchildren* are displayed in the navigation menu.
Setting `grandchildren_branch: true` in `_config.yml` delays the display of links
to grandchildren until their parent is selected.
2019-08-21 13:49:07 +02:00
Silvio Giebl
3ed2d586fd Fixed stylelintrc.json 2019-08-17 16:07:09 +02:00
Silvio Giebl
95498ccaf8 Added just-the-docs-default.scss which includes the theme set in _config.yml 2019-08-17 15:02:53 +02:00
Silvio Giebl
91760ee8c9 Added documentation for logo variable 2019-08-17 14:46:28 +02:00
Silvio Giebl
132cecfea3 Added logo variable to _config.yml which can be set to a path/url
Automatically replaces the title with a logo
2019-08-17 14:32:25 +02:00
Peter Mosses
0cfc0f0357 Update nav.html
A `navigation-list-child-list` is not displayed unless the enclosing `navigation-list-item` is `active`, so it needs to be generated only when `page.url == node.url or page.parent == node.title or page.grand_parent == node.title`.
2019-08-16 13:32:24 +02:00
Silvio Giebl
bc1cbc1ae4 Fix css style
(cherry picked from commit 9cd348361b81537801cc1602557ac174a46be350)
2019-08-16 00:38:42 +02:00
Silvio Giebl
887a18daa0 Improved search button and results, added blur to content
(cherry picked from commit 99371e971406090a2dba7b9b69f514a8f87afce3)
2019-08-16 00:38:32 +02:00
Silvio Giebl
7c93bcc48f Fixed css style
(cherry picked from commit e5f2a27f0d48d041a3d63001c0b13230a6afdf6b)
2019-08-16 00:38:22 +02:00
Silvio Giebl
936a1e63be Fixed css style
(cherry picked from commit 4d52a68745672407bfb258eff055fb06756aac0e)
2019-08-16 00:38:20 +02:00
Silvio Giebl
cc0b57727d Added search button and menu icon
(cherry picked from commit 468264941d08b00252a4f6f081bc2dff5920bffe)
2019-08-16 00:38:03 +02:00
Silvio Giebl
52bcb26ddd Display nav-list-expander on the right side
(cherry picked from commit 2d6e97e0cbfb8bdcf87a2e5ad19bd59fc8f5405d)
2019-08-15 23:41:44 +02:00
Silvio Giebl
e13a62b7b5 Fixed js browser incompatibility
(cherry picked from commit 9f3f38acf4e1ac40e3fb2b2f86018d4cba28dd07)
2019-08-15 23:41:38 +02:00
Silvio Giebl
a5842c0d7b Fixed js browser incompatibility
(cherry picked from commit 86ff2dac05412a6ff994968c2be6122a7fcf85f9)
2019-08-15 23:41:35 +02:00
Silvio Giebl
6bd43a1332 Fixed js browser incompatibility
(cherry picked from commit d39b7b3041d1bdb9f80ab7f5878e64a3b3b79b5d)
2019-08-15 23:41:33 +02:00
Silvio Giebl
8e6e3dddd3 Improved navigation for mobile: larger nav items
(cherry picked from commit 5dce2adc2871e6814dbf42a658e6b364f4dc6641)
2019-08-15 23:41:28 +02:00
Silvio Giebl
bf86c33fe1 Added feedback color variable for nav item/search result hover
(cherry picked from commit f25d76730b175fb680aa2770fb20a67fd858ffbb)
2019-08-15 23:41:13 +02:00
Silvio Giebl
8a3458bafd Fixed multi line nav items
(cherry picked from commit 2a8901ff953004a2fc7cebde86bae6575cec2924)
2019-08-15 23:39:07 +02:00
Silvio Giebl
0ebbe4bb4e Improved navigation: folding, vsual feedback, optimization for mobile
(cherry picked from commit db50f282bab1e98397cc7434a811b8b7da2fe6dc)
2019-08-15 23:38:58 +02:00
Silvio Giebl
0a8138a6e0 Improved navigation
(cherry picked from commit 6684f7c7faa15d6d59df35fbff9ea6666634d754)
2019-08-15 23:30:34 +02:00
Silvio Giebl
ec420a385b Removed hardcoded styling from layout, improved aux nav
(cherry picked from commit fd3c68cd1a39e059180c35c1d56ffa33ef4dfde4)
2019-08-15 23:18:02 +02:00
Silvio Giebl
721ca36d85 Cleaned ids and classes
(cherry picked from commit 2b153ed074811e735aaa58d57a3fcdf7838e17f5)
2019-08-15 23:05:32 +02:00
Silvio Giebl
183778067b Fixed missing closing div in default.html, formatting 2019-08-15 22:56:24 +02:00
Silvio Giebl
ee8b901bcb Simplified nav nesting
(cherry picked from commit eeb3f342b17a744d0c2b2f0360359fa3276f8abd)
2019-08-15 22:50:29 +02:00
Silvio Giebl
6a46a4797e Improved site header for logo
(cherry picked from commit 97d1c663ef566ffe20fb1ec217fd2d8c1a8a2382)
2019-08-15 22:01:51 +02:00
Silvio Giebl
89a331ee85 Improved site header for logo
(cherry picked from commit 468bf8368783309e69fdcaa91f7eb5b1e05d96aa)
2019-08-15 22:01:51 +02:00
Silvio Giebl
d4b79e2eac Improved site header for logo
(cherry picked from commit 2a5c38907488b998af75e9a1ef2499428b8f1a78)
2019-08-15 22:01:51 +02:00
Silvio Giebl
d549d37e6f Fixed missing new lines 2019-08-15 20:12:57 +02:00
Silvio Giebl
2febd256db Added .liquid suffix to included scss files
(cherry picked from commit 7fb79c2018b979fdf917f427ca5d3f2451f3265d)
2019-08-15 19:53:06 +02:00
Silvio Giebl
3995fbfc35 More customizable css
(cherry picked from commit 8aa0899facd01f689692fccdb338673f5e9a9fbd)
2019-08-15 19:50:49 +02:00
Silvio Giebl
6c569cbdc2 Fixed custom css
(cherry picked from commit bab3437a1feefc49213e1e787db0451491aca9b9)
2019-08-15 19:49:59 +02:00
Silvio Giebl
9e0bc86dbe Simplified css color schemes
(cherry picked from commit 52b0bced5d235d7557413e064f3841ea774d9063)
2019-08-15 19:49:54 +02:00
Silvio Giebl
5f0de692be Fixed css style 2019-08-15 18:44:10 +02:00
Silvio Giebl
da50250f47 Fixed custom css
(cherry picked from commit 7df9af5ab1f4b7f1c286d176a8b24be9d3ce8063)
2019-08-15 18:37:06 +02:00
Silvio Giebl
f61b836f6e Fixed stylesheet link
(cherry picked from commit ac42a41ae3e36b002df52882be296c01873c0e5b)
2019-08-15 18:35:59 +02:00
Silvio Giebl
cba53a6914 Make themes more customizable
(cherry picked from commit dffb2706a158784e2f3091f895a868e373683bc8)
2019-08-15 18:35:10 +02:00
Silvio Giebl
fdf4726320 Anchor headings are now displayed on hover, not only on heading hover,
Deduplicated anchor heading svg,
Anchor heading svg is now centered for heading
2019-08-15 14:18:40 +02:00
Manu
de37d60720 Recommend using index.md as parent page for sections
Using `index.md` as name for the parent page within a section allows lazy developers
to skip defining `permalink`. This is already working and this PR just updates the documentation.
2019-08-15 09:38:44 +08:00
Patrick Marsceill
418cf1d640 Merge pull request #175 from pmarsceill/v0.2.6-release
v0.2.6 release
2019-08-14 17:22:17 -04:00
Patrick Marsceill
13427409aa Bump version number 2019-08-14 17:01:36 -04:00
Patrick Marsceill
26c16ce57e Update CI badge to use Actions 2019-08-14 17:01:19 -04:00
Patrick Marsceill
d01f0e29db Make search on by default 2019-08-14 16:43:59 -04:00
Patrick Marsceill
dfc5d112e5 make anchors on by default 2019-08-14 16:12:31 -04:00
Patrick Marsceill
c5cb03d0ca Fix link cut-off 2019-08-14 14:59:46 -04:00
Patrick Marsceill
61a5a3b334 Reverting this back 2019-08-14 14:42:25 -04:00
Patrick Marsceill
2b3da2f75c Update _config.yml 2019-08-14 14:31:50 -04:00
Patrick Marsceill
e17ae1fc54 Update default.html 2019-08-14 14:25:14 -04:00
Patrick Marsceill
d37387d408 lh-tight for wrapping titles 2019-08-14 11:14:15 -04:00
Patrick Marsceill
8726625133 Merge pull request #178 from pmarsceill/dependabot/npm_and_yarn/primer/css-12.6.0
Bump @primer/css from 12.3.1 to 12.6.0
2019-08-14 11:10:20 -04:00
Patrick Marsceill
03a89b761a Merge pull request #160 from pmarsceill/dependabot/npm_and_yarn/lodash-4.17.15
[Security] Bump lodash from 4.17.11 to 4.17.15
2019-08-14 11:09:48 -04:00
Patrick Marsceill
f6a3126543 Merge pull request #149 from pmarsceill/dependabot/npm_and_yarn/stylelint-config-primer-7.0.1
Bump stylelint-config-primer from 7.0.0 to 7.0.1
2019-08-14 11:09:08 -04:00
Patrick Marsceill
f4bd41a27d Merge branch 'v0.2.6-release' into dependabot/npm_and_yarn/stylelint-config-primer-7.0.1 2019-08-14 11:07:19 -04:00
Patrick Marsceill
2db3f97395 Merge pull request #143 from pmarsceill/dependabot/npm_and_yarn/stylelint-10.1.0
Bump stylelint from 10.0.1 to 10.1.0
2019-08-14 11:06:27 -04:00
Patrick Marsceill
385e26a2d0 Merge pull request #176 from pmarsceill/improve-search
Search improvement branch
2019-08-14 11:05:21 -04:00
Patrick Marsceill
5ad439b53c Merge branch 'v0.2.6-release' into improve-search 2019-08-14 11:03:30 -04:00
Patrick Marsceill
c4586e1725 Merge pull request #179 from pmarsceill/content-footer
Content footer
2019-08-14 10:55:28 -04:00
Patrick Marsceill
15172af270 Merge branch 'v0.2.6-release' into content-footer 2019-08-14 10:53:10 -04:00
Patrick Marsceill
f2cec110ff Add footer content docs 2019-08-14 10:50:49 -04:00
Patrick Marsceill
1a2636350f Merge branch 'v0.2.6-release' into improve-search 2019-08-14 10:43:59 -04:00
Patrick Marsceill
225604723a Fix docs and custom scss 2019-08-14 10:40:19 -04:00
Silvio Giebl
fe41e18994 Fix js and also bump out page content line height 2019-08-14 10:39:49 -04:00
Patrick Marsceill
3eadd49ee7 Fix new namespace on event 2019-08-14 10:08:01 -04:00
Patrick Marsceill
b1072a3fca Bump line-height on content 2019-08-14 10:07:45 -04:00
Silvio Giebl
c227db4406 Moved custom.js to includes 2019-08-14 10:07:36 -04:00
Silvio Giebl
4a574a2ec2 Fixed custom js 2019-08-14 09:57:27 -04:00
dependabot-preview[bot]
8e5b0f23e6 Bump @primer/css from 12.3.1 to 12.6.0
Bumps [@primer/css](https://github.com/primer/css) from 12.3.1 to 12.6.0.
- [Release notes](https://github.com/primer/css/releases)
- [Changelog](https://github.com/primer/css/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/css/compare/v12.3.1...v12.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-14 10:24:15 +00:00
Patrick Marsceill
5867dc078f Add rel path to title matches 2019-08-13 17:34:42 -04:00
Patrick Marsceill
e370654237 Add a lil more padding on last table row 2019-08-13 17:34:28 -04:00
Patrick Marsceill
d0325e948e Fix up search results display 2019-08-13 17:24:36 -04:00
Patrick Marsceill
2b2ebf6033 Lint and docs 2019-08-13 17:24:23 -04:00
Patrick Marsceill
7fa6307640 Header menu button and anchor links 2019-08-13 17:23:35 -04:00
Patrick Marsceill
9e45626337 Merge branch 'improve-search' of github.com:pmarsceill/just-the-docs into improve-search 2019-08-13 16:24:28 -04:00
Patrick Marsceill
15f1faae8a Anchor heading css 2019-08-13 16:23:38 -04:00
Patrick Marsceill
8d60dda67e Make heading anchor link icon 2019-08-13 16:22:40 -04:00
Patrick Marsceill
da9c187acc Merge branch 'master' into improve-search 2019-08-13 14:15:12 -04:00
Patrick Marsceill
8dbe56fe1f Merge pull request #152 from yavorg/master
Fixing some Rouge styles for better JavaScript readability
2019-08-13 11:30:04 -04:00
Patrick Marsceill
1bf2ed0cde Merge pull request #159 from julienduchesne/optimize-nav-generation
Optimized nav generation
2019-08-13 11:24:13 -04:00
Patrick Marsceill
30590fd6c9 Merge pull request #109 from daviddarnes/patch-1
Make sure `baseurl` is appended to the logo href
2019-08-13 11:22:06 -04:00
Patrick Marsceill
15a9b310b3 Merge pull request #139 from pmarsceill/fix-code-snip
Fix jekyll highlight tag styles
2019-08-13 11:13:20 -04:00
Patrick Marsceill
4f5930dbbe Merge pull request #155 from hallowf/update-analytics-to-gtag
Replaced old script for analytics with gtag
2019-08-13 11:12:35 -04:00
Patrick Marsceill
3ad99afb02 Merge branch 'v0.2.6-release' into update-analytics-to-gtag 2019-08-13 11:12:15 -04:00
Patrick Marsceill
efbc5c2a19 Merge pull request #162 from nergmada/google-analytics-patch
Modified the google analytics code to match the new tags used by GA
2019-08-13 11:09:51 -04:00
Patrick Marsceill
14a3ff5fc8 Add publishing workflow (#172)
Publish to RubyGems and GPR on release
2019-08-09 22:33:42 -04:00
Patrick Marsceill
529c789739 upgrade-to-new-actions (#170)
Added GH Actions CI and removed Travis.
2019-08-09 14:55:53 -04:00
Patrick Marsceill
b89b683f90 Add content footer 2019-08-06 15:56:29 -04:00
Adam Green
aa0d8f1d40 Modified the google analytics code to match the new tags used by GA 2019-07-24 09:35:13 -04:00
dependabot-preview[bot]
b6bfd436b9 [Security] Bump lodash from 4.17.11 to 4.17.15
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.15. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.15)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-19 16:58:07 +00:00
Julien Duchesne
07982f681a Optimized nav generation
- Trimmed whitespace between html elements
  This reduced one of my files from 850KB to 115KB
- Do not sort the whole list of pages on every iteration
  This made build 3x faster
2019-07-18 15:52:11 -04:00
hallowf
2d1babc452 Replaced old script for analytics with gtag 2019-07-04 15:52:01 +01:00
jacobherrington
eabe7b2585 Change button copy on theme preview
This commit makes the dark mode preview feel a little more interactive
and it also pulls some duplicated code into one file so that people like
me aren't stumped when they are looking at the wrong page!
2019-06-21 18:19:49 -05:00
Yavor Georgiev
0108a9b254 Fixing some Rouge styles for better JavaScript readability 2019-06-21 15:29:54 -07:00
dependabot-preview[bot]
9682368eaf Bump stylelint-config-primer from 7.0.0 to 7.0.1
Bumps [stylelint-config-primer](https://github.com/primer/stylelint-config-primer) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/primer/stylelint-config-primer/releases)
- [Changelog](https://github.com/primer/stylelint-config-primer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/stylelint-config-primer/compare/v7.0.0...v7.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-21 10:19:59 +00:00
David Darnes
761245d487 Merge branch 'master' into patch-1 2019-06-17 17:43:05 +01:00
dependabot-preview[bot]
4821abeec4 Bump stylelint from 10.0.1 to 10.1.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 10.0.1 to 10.1.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/10.0.1...10.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-07 15:06:32 +00:00
Ben Goldhaber
c8a8ce3314 Fix trailing comma bug in search-data.json
If you exclude the last page in the site.html_pages through exclude_true you end up violating the assumption in the for loop that the last page won't have a trailing comma. This breaks the json data that is served to the front end.

I removed the forloop.last check and instead assign a temporary variable to check for the first non-excluded page, and then add the comma before the next non-excluded entry.
2019-06-04 18:02:56 -07:00
Patrick Marsceill
044281db38 fix jekyll highlight tag styles 2019-05-28 23:06:14 -04:00
Silvio Giebl
008809e00b Include custom js, added js namespace 2019-05-19 20:40:54 +02:00
Silvio Giebl
96653f6d36 Simplified search-data.json 2019-05-19 20:08:31 +02:00
Silvio Giebl
9495640378 Improved search preview 2019-05-19 17:21:20 +02:00
Silvio Giebl
447ba4f20c Added variables for background colors 2019-05-19 02:55:43 +02:00
Silvio Giebl
48a4a37977 js fixes 2019-05-19 02:55:43 +02:00
Silvio Giebl
6f225b0d28 Improved search navigation 2019-05-19 02:55:43 +02:00
Silvio Giebl
e64a6aa239 Updated lunr.js, added search navigation and preview/highlighting 2019-05-19 02:55:43 +02:00
Silvio Giebl
e9f016ac0f Improved responsiveness of sidebar 2019-05-19 02:55:43 +02:00
Silvio Giebl
8c603aac1e Improved layout, unified spacing/font-sizes/border-radius/box-shadow 2019-05-19 02:55:43 +02:00
Silvio Giebl
0142d2874b Enabled customization of html head 2019-05-19 02:55:43 +02:00
Silvio Giebl
94f2aaf964 Added table wrappers, fixed anchor headings 2019-05-19 02:55:43 +02:00
Silvio Giebl
03e2345833 Added anchor headings 2019-05-19 02:55:43 +02:00
Silvio Giebl
f4ee29d0c3 Fixed script tags 2019-05-19 02:55:43 +02:00
Silvio Giebl
b3f52fedad Added html compression 2019-05-19 02:55:43 +02:00
Patrick Marsceill
721484a26e Merge pull request #132 from pmarsceill/v0.2.5-release
v0.2.5 release branch
2019-05-13 17:31:22 -04:00
David Darnes
9fb4bcfdc2 Make sure baseurl is appended to the logo href 2019-04-03 10:32:05 +01:00
Stefano Borini
2328407405 Removed indentation 2019-03-09 18:02:35 +00:00
Stefano Borini
b82b1a86d3 Shorter version that I assume should work. 2019-03-09 18:00:37 +00:00
Stefano Borini
c520591234 Merge pull request #2 from stefanoborini/adding-summary-for-toc-2
Adding summary for toc - 2
2019-03-09 17:50:28 +00:00
Stefano Borini
0b0b2e8555 Separating the summary from the link 2019-03-09 17:45:05 +00:00
Stefano Borini
26766a5984 Merge pull request #1 from stefanoborini/adding-summary-for-toc
Adding summary for toc
2019-03-09 17:27:26 +00:00
Stefano Borini
eec213daa1 Renamed excerpt to summary 2019-03-09 17:19:41 +00:00
Stefano Borini
c796485d92 Adds the possibility to specify a brief summary of a child page 2019-03-09 17:18:28 +00:00
70 changed files with 4222 additions and 1677 deletions

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/pmarsceill/just-the-docs/discussions
about: Ask questions and discuss with other community members

26
.github/main.workflow vendored
View File

@@ -1,26 +0,0 @@
workflow "Publish to RubyGems" {
on = "release"
resolves = [
"Publish to GPR",
"Publish to Ruby Gems",
]
}
action "Build from Gemspec" {
uses = "scarhand/actions-ruby@master"
runs = "gem build just-the-docs.gemspec"
}
action "Publish to Ruby Gems" {
uses = "scarhand/actions-ruby@master"
needs = ["Build from Gemspec"]
runs = "gem push *.gem"
secrets = ["RUBYGEMS_AUTH_TOKEN"]
}
action "Publish to GPR" {
uses = "scarhand/actions-ruby@master"
needs = ["Build from Gemspec"]
secrets = ["GPR_AUTH_TOKEN"]
runs = " gem push --key [\"GPR_AUTH_TOKEN\"] --host https://rubygems.pkg.github.com/pmarsceill *.gem"
}

32
.github/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name-template: 'v$RESOLVED_VERSION 🌈'
tag-template: 'v$RESOLVED_VERSION'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
label:
- 'chore'
- 'dependencies'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
version-resolver:
major:
labels:
- 'next-major-release'
minor:
labels:
- 'next-minor-release'
patch:
labels:
- 'patch'
default: minor
template: |
## Changes
$CHANGES

45
.github/workflows/ci-master.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
on:
push:
branches:
- master
name: Master branch CI
jobs:
jekyll-latest:
name: Build Jekyll site (latest)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Build the site in the jekyll/builder container
run: |
docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:latest /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
jekyll-3-8-5:
name: Build Jekyll site (v3.8.5)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Build the site in the jekyll/builder container
run: |
docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:3.8.5 /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
assets:
name: Format and test CSS and JS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: '12.x'
- run: npm install
- run: npm test

44
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
on: [pull_request]
name: CI
jobs:
jekyll-latest:
name: Build Jekyll site (latest)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the site in the jekyll/builder container
run: |
docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:latest /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
jekyll-3-8-5:
name: Build Jekyll site (v3.8.5)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the site in the jekyll/builder container
run: |
docker run --rm \
--volume="${{ github.workspace }}:/srv/jekyll" \
jekyll/builder:3.8.5 /bin/bash -c "gem install bundler && chmod -R 777 /srv/jekyll && bundle install && bundle exec jekyll build && bundle exec rake search:init"
assets:
name: Test CSS and JS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: '12.x'
- run: npm install
- run: npm test

39
.github/workflows/publish.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Publish Gem
on: [release]
jobs:
build:
name: Build + Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Ruby 2.6
uses: actions/setup-ruby@v1
with:
version: 2.6.x
- name: Publish to GPR
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build just-the-docs.gemspec
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
env:
GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
OWNER: pmarsceill
- name: Publish to RubyGems
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build just-the-docs.gemspec
gem push *.gem
env:
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}

2
.gitignore vendored
View File

@@ -1,5 +1,7 @@
*.gem *.gem
.bundle .bundle
.ruby-version
.jekyll-cache
.sass-cache .sass-cache
_site _site
Gemfile.lock Gemfile.lock

9
.prettierignore Normal file
View File

@@ -0,0 +1,9 @@
package.json
package-lock.json
_site
assets/css/just-the-docs-default.scss
assets/css/just-the-docs-light.scss
assets/css/just-the-docs-dark.scss
assets/js/vendor/lunr.min.js
assets/js/search-data.json
assets/js/just-the-docs.js

8
.prettierrc Normal file
View File

@@ -0,0 +1,8 @@
{
"endOfLine": "lf",
"semi": false,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "es5"
}

View File

@@ -1,10 +1,13 @@
{ {
"ignoreFiles" : [ "ignoreFiles": [
"assets/css/just-the-docs.scss", "assets/css/just-the-docs-default.scss",
"assets/css/dark-mode-preview.scss", "assets/css/just-the-docs-light.scss",
"assets/css/just-the-docs-dark.scss",
"_sass/vendor/**/*.scss" "_sass/vendor/**/*.scss"
], ],
"extends": [ "extends": ["stylelint-config-primer", "stylelint-config-prettier"],
"stylelint-config-primer" "plugins": ["stylelint-prettier"],
] "rules": {
"prettier/prettier": true
}
} }

View File

@@ -1,14 +0,0 @@
language: ruby
rvm:
- 2.3.0
env:
- TRAVIS_NODE_VERSION="9.3.0"
install:
- npm install
- gem install bundler --version '>=1.17.1'
- bundle install
script:
- npm run test
- bundle exec jekyll build

View File

@@ -8,4 +8,4 @@ search_exclude: true
<h1>Page not found</h1> <h1>Page not found</h1>
<p>The page you requested could not be found. Try using the navigation {% if site.search_enabled %}or search {% endif %}to find what you're looking for or go to this <a href="{{ site.url }}{{ site.baseurl }}">site's home page</a>.</p> <p>The page you requested could not be found. Try using the navigation {% if site.search_enabled != false %}or search {% endif %}to find what you're looking for or go to this <a href="{{ '/' | absolute_url }}">site's home page</a>.</p>

View File

@@ -1,10 +1,10 @@
<p align="right"> <p align="right">
<a href="https://badge.fury.io/rb/just-the-docs"><img src="https://badge.fury.io/rb/just-the-docs.svg" alt="Gem version"></a> <a href="https://travis-ci.com/pmarsceill/just-the-docs"><img src="https://travis-ci.com/pmarsceill/just-the-docs.svg?branch=master" alt="Build status"></a> <a href="https://badge.fury.io/rb/just-the-docs"><img src="https://badge.fury.io/rb/just-the-docs.svg" alt="Gem version"></a> <a href="https://github.com/pmarsceill/just-the-docs/actions?query=workflow%3A%22Master+branch+CI%22"><img src="https://github.com/pmarsceill/just-the-docs/workflows/Master%20branch%20CI/badge.svg" alt="Build status"></a>
</p> </p>
<br><br> <br><br>
<p align="center"> <p align="center">
<h1 align="center">Just the Docs</h1> <h1 align="center">Just the Docs</h1>
<p align="center">A modern, high customizable, responsive Jekyll theme for documentation with built-in search.<br>Easily hosted on GitHub Pages with few dependencies.</p> <p align="center">A modern, highly customizable, and responsive Jekyll theme for documentation with built-in search.<br>Easily hosted on GitHub Pages with few dependencies.</p>
<p align="center"><strong><a href="https://pmarsceill.github.io/just-the-docs/">See it in action!</a></strong></p> <p align="center"><strong><a href="https://pmarsceill.github.io/just-the-docs/">See it in action!</a></strong></p>
<br><br><br> <br><br><br>
</p> </p>

View File

@@ -15,26 +15,94 @@
# in the templates via {{ site.myvariable }}. # in the templates via {{ site.myvariable }}.
title: Just the Docs title: Just the Docs
description: A Jekyll theme for documentation description: A Jekyll theme for documentation
baseurl: "/just-the-docs/" # the subpath of your site, e.g. /blog baseurl: "/just-the-docs" # the subpath of your site, e.g. /blog
url: "https://pmarsceill.github.io" # the base hostname & protocol for your site, e.g. http://example.com url: "https://pmarsceill.github.io" # the base hostname & protocol for your site, e.g. http://example.com
permalink: pretty permalink: pretty
exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "package.json", "package-lock.json", "script/", "LICENSE.txt", "lib/", "bin/", "README.md", "Rakefile"] exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "package.json", "package-lock.json", "script/", "LICENSE.txt", "lib/", "bin/", "README.md", "Rakefile"]
# Set a path/url to a logo that will be displayed instead of the title
#logo: "/assets/images/just-the-docs.png"
# Enable or disable the site search # Enable or disable the site search
# Supports true (default) or false
search_enabled: true 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
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
# Enable or disable heading anchors
heading_anchors: true
# Aux links for the upper right navigation # Aux links for the upper right navigation
aux_links: aux_links:
"Just the Docs on GitHub": "Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs" - "//github.com/pmarsceill/just-the-docs"
# Color scheme currently only supports "dark" or nil (default) # Makes Aux links open in a new tab. Default is false
aux_links_new_tab: false
# Sort order for navigation links
nav_sort: case_insensitive # default, equivalent to nil
# nav_sort: case_sensitive # Capital letters sorted before lowercase
# Footer content
# appears at the bottom of every page's main content
# Back to top link
back_to_top: true
back_to_top_text: "Back to top"
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>"
# Footer last edited timestamp
last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
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
gh_edit_branch: "master" # the branch that your docs is served from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately
# Color scheme currently only supports "dark", "light"/nil (default), or a custom scheme that you define
color_scheme: nil color_scheme: nil
# Google Analytics Tracking (optional) # Google Analytics Tracking (optional)
# e.g, UA-1234567-89 # e.g, UA-1234567-89
ga_tracking: UA-2709176-10 ga_tracking: UA-2709176-10
ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (true/nil by default)
plugins: plugins:
- jekyll-seo-tag - jekyll-seo-tag
compress_html:
clippings: all
comments: all
endings: all
startings: []
blanklines: false
profile: false

View File

@@ -0,0 +1 @@
@import "./custom/custom";

View File

@@ -0,0 +1,7 @@
{% if site.logo %}
$logo: "{{ site.logo | absolute_url }}";
{% endif %}
@import "./support/support";
@import "./color_schemes/{{ include.color_scheme }}";
@import "./modules";
{% include css/custom.scss.liquid %}

View File

@@ -2,33 +2,39 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge"> <meta http-equiv="X-UA-Compatible" content="IE=Edge">
{% if site.plugins.jekyll-seo == nil %} {% unless site.plugins contains "jekyll-seo-tag" %}
<title>{{ page.title }} - {{ site.title }}</title> <title>{{ page.title }} - {{ site.title }}</title>
{% if page.description %} {% if page.description %}
<meta name="Description" content="{{ page.description }}"> <meta name="Description" content="{{ page.description }}">
{% endif %} {% endif %}
{% endif %} {% endunless %}
<link rel="shortcut icon" href="{{ "favicon.ico" | absolute_url }}" type="image/x-icon"> <link rel="shortcut icon" href="{{ 'favicon.ico' | absolute_url }}" type="image/x-icon">
<link rel="stylesheet" href="{{ "/assets/css/just-the-docs.css" | absolute_url }}"> <link rel="stylesheet" href="{{ '/assets/css/just-the-docs-default.css' | absolute_url }}">
{% if site.ga_tracking != nil %} {% if site.ga_tracking != nil %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.ga_tracking }}"></script>
<script> <script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; window.dataLayer = window.dataLayer || [];
ga('create', '{{ site.ga_tracking }}', '{{ site.url }}'); function gtag(){dataLayer.push(arguments);}
ga('send', 'pageview'); gtag('js', new Date());
gtag('config', '{{ site.ga_tracking }}'{% unless site.ga_tracking_anonymize_ip == nil %}, { 'anonymize_ip': true }{% endunless %});
</script> </script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
{% endif %} {% endif %}
{% if site.search_enabled != nil %} {% if site.search_enabled != false %}
<script type="text/javascript" src="{{ "/assets/js/vendor/lunr.min.js" | absolute_url }}"></script> <script type="text/javascript" src="{{ '/assets/js/vendor/lunr.min.js' | absolute_url }}"></script>
{% endif %} {% endif %}
<script type="text/javascript" src="{{ "/assets/js/just-the-docs.js" | absolute_url }}"></script> <script type="text/javascript" src="{{ '/assets/js/just-the-docs.js' | absolute_url }}"></script>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
{% seo %} {% seo %}
{% include head_custom.html %}
</head> </head>

View File

0
_includes/js/custom.js Normal file
View File

View File

@@ -1,44 +1,55 @@
<nav role="navigation" aria-label="Main navigation"> <ul class="nav-list">
<ul class="navigation-list"> {%- assign ordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order != nil" -%}
{% assign pages_list = site.html_pages | sort:"nav_order" %} {%- assign unordered_pages_list = site.html_pages | where_exp:"item", "item.nav_order == nil" -%}
{% for node in pages_list %} {%- if site.nav_sort == 'case_insensitive' -%}
{% unless node.nav_exclude %} {%- assign sorted_ordered_pages_list = ordered_pages_list | sort_natural:"nav_order" -%}
{% if node.parent == nil %} {%- assign sorted_unordered_pages_list = unordered_pages_list | sort_natural:"title" -%}
<li class="navigation-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}"> {%- else -%}
{% if page.parent == node.title or page.grand_parent == node.title %} {%- assign sorted_ordered_pages_list = ordered_pages_list | sort:"nav_order" -%}
{% assign first_level_url = node.url | absolute_url %} {%- assign sorted_unordered_pages_list = unordered_pages_list | sort:"title" -%}
{% endif %} {%- endif -%}
<a href="{{ node.url | absolute_url }}" class="navigation-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a> {%- assign pages_list = sorted_ordered_pages_list | concat: sorted_unordered_pages_list -%}
{% if node.has_children %} {%- for node in pages_list -%}
{% assign children_list = site.html_pages | sort:"nav_order" %} {%- unless node.nav_exclude -%}
<ul class="navigation-list-child-list "> {%- if node.parent == nil and node.title -%}
{% for child in children_list %} <li class="nav-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
{% if child.parent == node.title %} {%- if page.parent == node.title or page.grand_parent == node.title -%}
<li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}"> {%- assign first_level_url = node.url | absolute_url -%}
{% if page.url == child.url or page.parent == child.title %} {%- endif -%}
{% assign second_level_url = child.url | absolute_url %} {%- if node.has_children -%}
{% endif %} <a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
<a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a> {%- endif -%}
{% if child.has_children %} <a href="{{ node.url | absolute_url }}" class="nav-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
{% assign grand_children_list = site.html_pages | sort:"nav_order" %} {%- if node.has_children -%}
<ul class="navigation-list-child-list"> {%- assign children_list = pages_list | where: "parent", node.title -%}
{% for grand_child in grand_children_list %} <ul class="nav-list ">
{% if grand_child.parent == child.title %} {%- for child in children_list -%}
<li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}"> {%- unless child.nav_exclude -%}
<a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a> <li class="nav-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
</li> {%- if page.url == child.url or page.parent == child.title -%}
{% endif %} {%- assign second_level_url = child.url | absolute_url -%}
{% endfor %} {%- endif -%}
</ul> {%- if child.has_children -%}
{% endif %} <a href="#" class="nav-list-expander"><svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg></a>
</li> {%- endif -%}
{% endif %} <a href="{{ child.url | absolute_url }}" class="nav-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
{% endfor %} {%- if child.has_children -%}
</ul> {%- assign grand_children_list = pages_list | where: "parent", child.title | where: "grand_parent", node.title -%}
{% endif %} <ul class="nav-list">
</li> {%- for grand_child in grand_children_list -%}
{% endif %} <li class="nav-list-item {% if page.url == grand_child.url %} active{% endif %}">
{% endunless %} <a href="{{ grand_child.url | absolute_url }}" class="nav-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
{% endfor %} </li>
</ul> {%- endfor -%}
</nav> </ul>
{%- endif -%}
</li>
{%- endunless -%}
{%- endfor -%}
</ul>
{%- endif -%}
</li>
{%- endif -%}
{%- endunless -%}
{%- endfor -%}
</ul>

5
_includes/title.html Normal file
View File

@@ -0,0 +1,5 @@
{% if site.logo %}
<div class="site-logo"></div>
{% else %}
{{ site.title }}
{% endif %}

100
_includes/vendor/anchor_headings.html vendored Executable file
View File

@@ -0,0 +1,100 @@
{% capture headingsWorkspace %}
{% comment %}
Version 1.0.3
https://github.com/allejo/jekyll-anchor-headings
"Be the pull request you wish to see in the world." ~Ben Balter
Usage:
{% include anchor_headings.html html=content %}
Parameters:
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
Optional Parameters:
* beforeHeading (bool) : false - Set to true if the anchor should be placed _before_ the heading's content
* anchorBody (string) : '' - The content that will be placed inside the anchor; the `%heading%` placeholder is available
* anchorClass (string) : '' - The class(es) that will be used for each anchor. Separate multiple classes with a space
* anchorTitle (string) : '' - The `title` attribute that will be used for anchors
* h_min (int) : 1 - The minimum header level to build an anchor for; any header lower than this value will be ignored
* h_max (int) : 6 - The maximum header level to build an anchor for; any header greater than this value will be ignored
* bodyPrefix (string) : '' - Anything that should be inserted inside of the heading tag _before_ its anchor and content
* bodySuffix (string) : '' - Anything that should be inserted inside of the heading tag _after_ its anchor and content
Output:
The original HTML with the addition of anchors inside of all of the h1-h6 headings.
{% endcomment %}
{% assign minHeader = include.h_min | default: 1 %}
{% assign maxHeader = include.h_max | default: 6 %}
{% assign beforeHeading = include.beforeHeading %}
{% assign nodes = include.html | split: '<h' %}
{% capture edited_headings %}{% endcapture %}
{% for _node in nodes %}
{% capture node %}{{ _node | strip }}{% endcapture %}
{% if node == "" %}
{% continue %}
{% endif %}
{% assign nextChar = node | replace: '"', '' | strip | slice: 0, 1 %}
{% assign headerLevel = nextChar | times: 1 %}
<!-- If the level is cast to 0, it means it's not a h1-h6 tag, so let's try to fix it -->
{% if headerLevel == 0 %}
{% if nextChar != '<' and nextChar != '' %}
{% capture node %}<h{{ node }}{% endcapture %}
{% endif %}
{% capture edited_headings %}{{ edited_headings }}{{ node }}{% endcapture %}
{% continue %}
{% endif %}
{% assign _workspace = node | split: '</h' %}
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
{% assign html_id = _idWorkspace[0] %}
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
<!-- Build the anchor to inject for our heading -->
{% capture anchor %}{% endcapture %}
{% if html_id and headerLevel >= minHeader and headerLevel <= maxHeader %}
{% capture anchor %}href="#{{ html_id}}" aria-labelledby="{{ html_id}}"{% endcapture %}
{% if include.anchorClass %}
{% capture anchor %}{{ anchor }} class="{{ include.anchorClass }}"{% endcapture %}
{% endif %}
{% if include.anchorTitle %}
{% capture anchor %}{{ anchor }} title="{{ include.anchorTitle | replace: '%heading%', header }}"{% endcapture %}
{% endif %}
{% capture anchor %}<a {{ anchor }}>{{ include.anchorBody | replace: '%heading%', header | default: '' }}</a>{% endcapture %}
<!-- In order to prevent adding extra space after a heading, we'll let the 'anchor' value contain it -->
{% if beforeHeading %}
{% capture anchor %}{{ anchor }} {% endcapture %}
{% else %}
{% capture anchor %} {{ anchor }}{% endcapture %}
{% endif %}
{% endif %}
{% capture new_heading %}
<h{{ _hAttrToStrip }}
{{ include.bodyPrefix }}
{% if beforeHeading %}
{{ anchor }}{{ header }}
{% else %}
{{ header }}{{ anchor }}
{% endif %}
{{ include.bodySuffix }}
</h{{ _workspace | last }}
{% endcapture %}
{% capture edited_headings %}{{ edited_headings }}{{ new_heading }}{% endcapture %}
{% endfor %}
{% endcapture %}{% assign headingsWorkspace = '' %}{{ edited_headings | strip }}

View File

@@ -1,78 +1,169 @@
---
layout: table_wrappers
---
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}"> <html lang="{{ site.lang | default: 'en-US' }}">
{% include head.html %} {% include head.html %}
<body> <body>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-link" viewBox="0 0 24 24">
<title>Link</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link">
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>
</svg>
</symbol>
<symbol id="svg-search" viewBox="0 0 24 24">
<title>Search</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search">
<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-doc" viewBox="0 0 24 24">
<title>Document</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>
</svg>
</symbol>
</svg>
<div class="page-wrap"> <div class="side-bar">
<div class="side-bar"> <div class="site-header">
<a href="{{ site.url }}{{ site.baseurl }}" class="site-title fs-6 lh-tight">{{ site.title }}</a> <a href="{{ '/' | absolute_url }}" class="site-title lh-tight">{% include title.html %}</a>
<span class="fs-3"><button class="js-main-nav-trigger navigation-list-toggle btn btn-outline" type="button" data-text-toggle="Hide">Menu</button></span> <a href="#" id="menu-button" class="site-button">
<div class="navigation main-nav js-main-nav"> <svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg>
{% include nav.html %} </a>
</div>
<footer role="contentinfo" class="site-footer">
<p class="text-small text-grey-dk-000 mb-0">This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.</p>
</footer>
</div> </div>
<div class="main-content-wrap js-main-content" tabindex="0"> <nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
<div class="page-header"> {% include nav.html %}
<div class="main-content"> </nav>
{% if site.search_enabled != nil %} <footer class="site-footer">
<div class="search js-search"> This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.
<div class="search-input-wrap"> </footer>
<input type="text" class="js-search-input search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off"> </div>
<svg width="14" height="14" viewBox="0 0 28 28" xmlns="http://www.w3.org/2000/svg" class="search-icon"><title>Search</title><g fill-rule="nonzero"><path d="M17.332 20.735c-5.537 0-10-4.6-10-10.247 0-5.646 4.463-10.247 10-10.247 5.536 0 10 4.601 10 10.247s-4.464 10.247-10 10.247zm0-4c3.3 0 6-2.783 6-6.247 0-3.463-2.7-6.247-6-6.247s-6 2.784-6 6.247c0 3.464 2.7 6.247 6 6.247z"/><path d="M11.672 13.791L.192 25.271 3.02 28.1 14.5 16.62z"/></g></svg> <div class="main" id="top">
</div> <div id="main-header" class="main-header">
<div class="js-search-results search-results-wrap"></div> {% if site.search_enabled != false %}
<div class="search">
<div class="search-input-wrap">
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
<label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label>
</div> </div>
{% endif %} <div id="search-results" class="search-results"></div>
{% if site.aux_links != nil %}
<ul class="list-style-none text-small mt-md-1 mb-md-1 pb-4 pb-md-0 js-aux-nav aux-nav">
{% for link in site.aux_links %}
<li class="d-inline-block my-0{% unless forloop.last %} mr-2{% endunless %}"><a href="{{ link.last }}">{{ link.first }}</a></li>
{% endfor %}
</ul>
{% endif %}
</div> </div>
</div> {% endif %}
<div class="main-content"> {% if site.aux_links %}
{% unless page.url == "/" %} <nav aria-label="Auxiliary" class="aux-nav">
{% if page.parent %} <ul class="aux-nav-list">
<nav class="breadcrumb-nav"> {% for link in site.aux_links %}
<ol class="breadcrumb-nav-list"> <li class="aux-nav-list-item">
{% if page.grand_parent %} <a href="{{ link.last }}" class="site-button"
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li> {% if site.aux_links_new_tab %}
<li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li> target="_blank" rel="noopener noreferrer"
{% else %} {% endif %}
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li> >
{% endif %} {{ link.first }}
<li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li> </a>
</ol>
</nav>
{% endif %}
{% endunless %}
<div id="main-content" class="page-content" role="main">
{{ content }}
{% if page.has_children == true and page.has_toc != false %}
<hr>
<h2 class="text-delta">Table of contents</h2>
{% assign children_list = site.pages | sort:"nav_order" %}
<ul>
{% for child in children_list %}
{% if child.parent == page.title and child.title != page.title %}
<li>
<a href="{{ child.url | absolute_url }}">{{ child.title }}</a>
</li> </li>
{% endif %}
{% endfor %} {% endfor %}
</ul> </ul>
{% endif %} </nav>
</div> {% endif %}
</div>
<div id="main-content-wrap" class="main-content-wrap">
{% unless page.url == "/" %}
{% if page.parent %}
<nav aria-label="Breadcrumb" class="breadcrumb-nav">
<ol class="breadcrumb-nav-list">
{% if page.grand_parent %}
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li>
<li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li>
{% else %}
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li>
{% endif %}
<li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li>
</ol>
</nav>
{% endif %}
{% endunless %}
<div id="main-content" class="main-content" role="main">
{% if site.heading_anchors != false %}
{% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#svg-link\"></use></svg>" anchorClass="anchor-heading" %}
{% else %}
{{ content }}
{% endif %}
{% if page.has_children == true and page.has_toc != false %}
<hr>
<h2 class="text-delta">Table of contents</h2>
<ul>
{%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%}
{% for child in children_list %}
<li>
<a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{% if site.footer_content != nil or site.last_edit_timestamp or site.gh_edit_link %}
<hr>
<footer>
{% if site.back_to_top %}
<p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p>
{% endif %}
{% if site.footer_content != nil %}
<p class="text-small text-grey-dk-000 mb-0">{{ site.footer_content }}</p>
{% endif %}
{% if site.last_edit_timestamp or site.gh_edit_link %}
<div class="d-flex mt-2">
{% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %}
<p class="text-small text-grey-dk-000 mb-0 mr-2">
Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>.
</p>
{% endif %}
{% if
site.gh_edit_link and
site.gh_edit_link_text and
site.gh_edit_repository and
site.gh_edit_branch and
site.gh_edit_view_mode
%}
<p class="text-small text-grey-dk-000 mb-0">
<a href="{{ site.gh_edit_repository }}/{{ site.gh_edit_view_mode }}/{{ site.gh_edit_branch }}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a>
</p>
{% endif %}
</div>
{% endif %}
</footer>
{% endif %}
</div> </div>
</div> </div>
</div>
{% if site.search_enabled != false %}
{% if site.search.button %}
<a href="#" id="search-button" class="search-button">
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg>
</a>
{% endif %}
<div class="search-overlay"></div>
{% endif %}
</div>
</body> </body>
</html> </html>

View File

@@ -0,0 +1,7 @@
---
layout: vendor/compress
---
{% assign content_ = content | replace: '<table', '<div class="table-wrapper"><table' %}
{% assign content_ = content_ | replace: '</table>', '</table></div>' %}
{{ content_ }}

10
_layouts/vendor/compress.html vendored Normal file
View File

@@ -0,0 +1,10 @@
---
# Jekyll layout that compresses HTML
# v3.1.0
# http://jch.penibelst.de/
# © 20142015 Anatol Broder
# MIT License
---
{% capture _LINE_FEED %}
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}

View File

@@ -14,6 +14,7 @@
html { html {
@include fs-4; @include fs-4;
scroll-behavior: smooth;
} }
body { body {
@@ -24,25 +25,18 @@ body {
background-color: $body-background-color; background-color: $body-background-color;
} }
p,
h1,
h2,
h3,
h4,
h5,
h6,
ol, ol,
ul, ul,
dl,
pre, pre,
address, address,
blockquote, blockquote,
dl, table,
div, div,
fieldset,
form,
hr, hr,
noscript, form,
table { fieldset,
noscript .table-wrapper {
margin-top: 0; margin-top: 0;
} }
@@ -52,14 +46,15 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
margin-top: 1.2em; margin-top: 0;
margin-bottom: 0.8em; margin-bottom: 1em;
font-weight: 500; font-weight: 500;
line-height: $body-heading-line-height; line-height: $body-heading-line-height;
color: $body-heading-color; color: $body-heading-color;
} }
p { p {
margin-top: 1em;
margin-bottom: 1em; margin-bottom: 1em;
} }
@@ -76,19 +71,22 @@ a:not([class]) {
background-size: 1px 1px; background-size: 1px 1px;
&:hover { &:hover {
background-image: linear-gradient(rgba($link-color, 0.45) 0%, rgba($link-color, 0.45) 100%); background-image: linear-gradient(
rgba($link-color, 0.45) 0%,
rgba($link-color, 0.45) 100%
);
background-size: 1px 1px; background-size: 1px 1px;
} }
} }
code { code {
font-family: $mono-font-family; font-family: $mono-font-family;
font-size: 12px; font-size: 0.75em;
line-height: $body-line-height; line-height: $body-line-height;
} }
figure { figure,
pre {
margin: 0; margin: 0;
} }

View File

@@ -21,7 +21,7 @@
cursor: pointer; cursor: pointer;
background-color: $base-button-color; background-color: $base-button-color;
border-width: 0; border-width: 0;
border-radius: 3px; border-radius: $border-radius;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
appearance: none; appearance: none;

View File

@@ -11,11 +11,14 @@ code {
border-radius: $border-radius; border-radius: $border-radius;
} }
pre.highlight { pre.highlight,
figure.highlight {
padding: $sp-3; padding: $sp-3;
margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
-webkit-overflow-scrolling: touch;
background-color: $code-background-color; background-color: $code-background-color;
border-radius: $border-radius;
-webkit-overflow-scrolling: touch;
code { code {
padding: 0; padding: 0;
@@ -25,78 +28,214 @@ pre.highlight {
.highlighter-rouge { .highlighter-rouge {
margin-bottom: $sp-3; margin-bottom: $sp-3;
overflow: hidden;
border-radius: $border-radius;
} }
.highlight .c { color: #586e75; } // comment // .highlight .c {
.highlight .err { color: #93a1a1; } // error // color: #586e75;
.highlight .g { color: #93a1a1; } // generic // } // comment //
.highlight .k { color: #859900; } // keyword // .highlight .err {
.highlight .l { color: #93a1a1; } // literal // color: #93a1a1;
.highlight .n { color: #93a1a1; } // name // } // error //
.highlight .o { color: #859900; } // operator // .highlight .g {
.highlight .x { color: #cb4b16; } // other // color: #93a1a1;
.highlight .p { color: #93a1a1; } // punctuation // } // generic //
.highlight .cm { color: #586e75; } // comment.multiline // .highlight .k {
.highlight .cp { color: #859900; } // comment.preproc // color: #859900;
.highlight .c1 { color: #586e75; } // comment.single // } // keyword //
.highlight .cs { color: #859900; } // comment.special // .highlight .l {
.highlight .gd { color: #2aa198; } // generic.deleted // color: #93a1a1;
.highlight .ge { font-style: italic; color: #93a1a1; } // generic.emph // } // literal //
.highlight .gr { color: #dc322f; } // generic.error // .highlight .n {
.highlight .gh { color: #cb4b16; } // generic.heading // color: #93a1a1;
.highlight .gi { color: #859900; } // generic.inserted // } // name //
.highlight .go { color: #93a1a1; } // generic.output // .highlight .o {
.highlight .gp { color: #93a1a1; } // generic.prompt // color: #859900;
.highlight .gs { font-weight: bold; color: #93a1a1; } // generic.strong // } // operator //
.highlight .gu { color: #cb4b16; } // generic.subheading // .highlight .x {
.highlight .gt { color: #93a1a1; } // generic.traceback // color: #cb4b16;
.highlight .kc { color: #cb4b16; } // keyword.constant // } // other //
.highlight .kd { color: #268bd2; } // keyword.declaration // .highlight .p {
.highlight .kn { color: #859900; } // keyword.namespace // color: #93a1a1;
.highlight .kp { color: #859900; } // keyword.pseudo // } // punctuation //
.highlight .kr { color: #268bd2; } // keyword.reserved // .highlight .cm {
.highlight .kt { color: #dc322f; } // keyword.type // color: #586e75;
.highlight .ld { color: #93a1a1; } // literal.date // } // comment.multiline //
.highlight .m { color: #2aa198; } // literal.number // .highlight .cp {
.highlight .s { color: #2aa198; } // literal.string // color: #859900;
.highlight .na { color: #93a1a1; } // name.attribute // } // comment.preproc //
.highlight .nb { color: #b58900; } // name.builtin // .highlight .c1 {
.highlight .nc { color: #268bd2; } // name.class // color: #586e75;
.highlight .no { color: #cb4b16; } // name.constant // } // comment.single //
.highlight .nd { color: #268bd2; } // name.decorator // .highlight .cs {
.highlight .ni { color: #cb4b16; } // name.entity // color: #859900;
.highlight .ne { color: #cb4b16; } // name.exception // } // comment.special //
.highlight .nf { color: #268bd2; } // name.function // .highlight .gd {
.highlight .nl { color: #93a1a1; } // name.label // color: #2aa198;
.highlight .nn { color: #93a1a1; } // name.namespace // } // generic.deleted //
.highlight .nx { color: #555; } // name.other // .highlight .ge {
.highlight .py { color: #93a1a1; } // name.property // font-style: italic;
.highlight .nt { color: #268bd2; } // name.tag // color: #93a1a1;
.highlight .nv { color: #268bd2; } // name.variable // } // generic.emph //
.highlight .ow { color: #859900; } // operator.word // .highlight .gr {
.highlight .w { color: #93a1a1; } // text.whitespace // color: #dc322f;
.highlight .mf { color: #2aa198; } // literal.number.float // } // generic.error //
.highlight .mh { color: #2aa198; } // literal.number.hex // .highlight .gh {
.highlight .mi { color: #2aa198; } // literal.number.integer // color: #cb4b16;
.highlight .mo { color: #2aa198; } // literal.number.oct // } // generic.heading //
.highlight .sb { color: #586e75; } // literal.string.backtick // .highlight .gi {
.highlight .sc { color: #2aa198; } // literal.string.char // color: #859900;
.highlight .sd { color: #93a1a1; } // literal.string.doc // } // generic.inserted //
.highlight .s2 { color: #2aa198; } // literal.string.double // .highlight .go {
.highlight .se { color: #cb4b16; } // literal.string.escape // color: #93a1a1;
.highlight .sh { color: #93a1a1; } // literal.string.heredoc // } // generic.output //
.highlight .si { color: #2aa198; } // literal.string.interpol // .highlight .gp {
.highlight .sx { color: #2aa198; } // literal.string.other // color: #93a1a1;
.highlight .sr { color: #dc322f; } // literal.string.regex // } // generic.prompt //
.highlight .s1 { color: #2aa198; } // literal.string.single // .highlight .gs {
.highlight .ss { color: #2aa198; } // literal.string.symbol // font-weight: bold;
.highlight .bp { color: #268bd2; } // name.builtin.pseudo // color: #93a1a1;
.highlight .vc { color: #268bd2; } // name.variable.class // } // generic.strong //
.highlight .vg { color: #268bd2; } // name.variable.global // .highlight .gu {
.highlight .vi { color: #268bd2; } // name.variable.instance // color: #cb4b16;
.highlight .il { color: #2aa198; } // literal.number.integer.long // } // generic.subheading //
.highlight .gt {
color: #93a1a1;
} // generic.traceback //
.highlight .kc {
color: #cb4b16;
} // keyword.constant //
.highlight .kd {
color: #268bd2;
} // keyword.declaration //
.highlight .kn {
color: #859900;
} // keyword.namespace //
.highlight .kp {
color: #859900;
} // keyword.pseudo //
.highlight .kr {
color: #268bd2;
} // keyword.reserved //
.highlight .kt {
color: #dc322f;
} // keyword.type //
.highlight .ld {
color: #93a1a1;
} // literal.date //
.highlight .m {
color: #2aa198;
} // literal.number //
.highlight .s {
color: #2aa198;
} // literal.string //
.highlight .na {
color: #555;
} // name.attribute //
.highlight .nb {
color: #b58900;
} // name.builtin //
.highlight .nc {
color: #268bd2;
} // name.class //
.highlight .no {
color: #cb4b16;
} // name.constant //
.highlight .nd {
color: #268bd2;
} // name.decorator //
.highlight .ni {
color: #cb4b16;
} // name.entity //
.highlight .ne {
color: #cb4b16;
} // name.exception //
.highlight .nf {
color: #268bd2;
} // name.function //
.highlight .nl {
color: #555;
} // name.label //
.highlight .nn {
color: #93a1a1;
} // name.namespace //
.highlight .nx {
color: #555;
} // name.other //
.highlight .py {
color: #93a1a1;
} // name.property //
.highlight .nt {
color: #268bd2;
} // name.tag //
.highlight .nv {
color: #268bd2;
} // name.variable //
.highlight .ow {
color: #859900;
} // operator.word //
.highlight .w {
color: #93a1a1;
} // text.whitespace //
.highlight .mf {
color: #2aa198;
} // literal.number.float //
.highlight .mh {
color: #2aa198;
} // literal.number.hex //
.highlight .mi {
color: #2aa198;
} // literal.number.integer //
.highlight .mo {
color: #2aa198;
} // literal.number.oct //
.highlight .sb {
color: #586e75;
} // literal.string.backtick //
.highlight .sc {
color: #2aa198;
} // literal.string.char //
.highlight .sd {
color: #93a1a1;
} // literal.string.doc //
.highlight .s2 {
color: #2aa198;
} // literal.string.double //
.highlight .se {
color: #cb4b16;
} // literal.string.escape //
.highlight .sh {
color: #93a1a1;
} // literal.string.heredoc //
.highlight .si {
color: #2aa198;
} // literal.string.interpol //
.highlight .sx {
color: #2aa198;
} // literal.string.other //
.highlight .sr {
color: #dc322f;
} // literal.string.regex //
.highlight .s1 {
color: #2aa198;
} // literal.string.single //
.highlight .ss {
color: #2aa198;
} // literal.string.symbol //
.highlight .bp {
color: #268bd2;
} // name.builtin.pseudo //
.highlight .vc {
color: #268bd2;
} // name.variable.class //
.highlight .vg {
color: #268bd2;
} // name.variable.global //
.highlight .vi {
color: #268bd2;
} // name.variable.instance //
.highlight .il {
color: #2aa198;
} // literal.number.integer.long //
// //
// Code examples (rendered) // Code examples (rendered)

View File

@@ -1,4 +1,3 @@
$body-background-color: $grey-dk-300; $body-background-color: $grey-dk-300;
$sidebar-color: $grey-dk-300; $sidebar-color: $grey-dk-300;
$border-color: $grey-dk-200; $border-color: $grey-dk-200;
@@ -6,9 +5,13 @@ $border-color: $grey-dk-200;
$body-text-color: $grey-lt-300; $body-text-color: $grey-lt-300;
$body-heading-color: $grey-lt-000; $body-heading-color: $grey-lt-000;
$nav-child-link-color: $grey-dk-000; $nav-child-link-color: $grey-dk-000;
$search-result-preview-color: $grey-dk-000;
$link-color: $blue-000; $link-color: $blue-000;
$btn-primary-color: $blue-200; $btn-primary-color: $blue-200;
$base-button-color: $grey-dk-250; $base-button-color: $grey-dk-250;
$code-background-color: $grey-dk-250; $code-background-color: $grey-dk-250;
$search-background-color: $grey-dk-250;
$table-background-color: $grey-dk-250;
$feedback-color: darken($sidebar-color, 3%);

View File

View File

@@ -5,7 +5,19 @@
// //
// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type // stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type
.page-content { .main-content {
line-height: $content-line-height;
ol,
ul,
dl,
pre,
address,
blockquote,
.table-wrapper {
margin-top: 0.5em;
}
a { a {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@@ -17,6 +29,12 @@
padding-left: 1.5em; padding-left: 1.5em;
} }
li {
.highlight {
margin-top: $sp-1;
}
}
ol { ol {
list-style-type: none; list-style-type: none;
counter-reset: step-counter; counter-reset: step-counter;
@@ -111,4 +129,69 @@
margin-left: 1em; margin-left: 1em;
font-weight: 500; font-weight: 500;
} }
.anchor-heading {
position: absolute;
right: -$sp-4;
width: $sp-5;
height: 100%;
padding-right: $sp-1;
padding-left: $sp-1;
overflow: visible;
@include mq(md) {
right: auto;
left: -$sp-5;
}
svg {
display: inline-block;
width: 100%;
height: 100%;
color: $link-color;
visibility: hidden;
}
}
.anchor-heading:hover,
h1:hover > .anchor-heading,
h2:hover > .anchor-heading,
h3:hover > .anchor-heading,
h4:hover > .anchor-heading,
h5:hover > .anchor-heading,
h6:hover > .anchor-heading {
svg {
visibility: visible;
}
}
summary {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6 {
position: relative;
margin-top: 1.5em;
margin-bottom: 0.25em;
&:first-child {
margin-top: $sp-2;
}
+ table,
+ .table-wrapper,
+ .code-example,
+ .highlighter-rouge {
margin-top: 1em;
}
+ p {
margin-top: 0;
}
}
} }

View File

@@ -1,120 +0,0 @@
// //
// // Typography
// //
//
// $body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif;
// $mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace;
// $root-font-size: 16px; // Base font-size for rems
// $body-line-height: 1.4;
// $body-heading-line-height: 1.15;
//
// //
// // Colors
// //
//
// $white: #fff;
//
// $grey-dk-000: #959396;
// $grey-dk-100: #5c5962;
// $grey-dk-200: #44434d;
// $grey-dk-250: #302d36 !default;
// $grey-dk-300: #27262b;
//
// $grey-lt-000: #f5f6fa;
// $grey-lt-100: #eeebee;
// $grey-lt-200: #ecebed;
// $grey-lt-300: #e6e1e8;
//
// $purple-000: #7253ed;
// $purple-100: #5e41d0;
// $purple-200: #4e26af;
// $purple-300: #381885;
//
// $blue-000: #2c84fa;
// $blue-100: #2869e6;
// $blue-200: #264caf;
// $blue-300: #183385;
//
// $green-000: #41d693;
// $green-100: #11b584;
// $green-200: #009c7b;
// $green-300: #026e57;
//
// $body-background-color: $white !default;
// $sidebar-color: $grey-lt-000 !default;
// $code-background-color: $grey-lt-000 !default;
// $body-text-color: $grey-dk-100 !default;
// $body-heading-color: $grey-dk-300 !default;
// $nav-child-link-color: $grey-dk-100 !default;
// $link-color: $purple-000 !default;
// $btn-primary-color: $purple-100 !default;
// $base-button-color: #f7f7f7 !default;
//
// //
// // Media queries in pixels
// //
//
// $media-queries: (
// xs: 320px,
// sm: 500px,
// md: 740px,
// lg: 1120px,
// xl: 1400px
// );
//
// //
// // Spacing
// //
//
// $spacing-unit: 1rem; // 1rem == 16px
//
// $spacers: (
// sp-0: 0,
// sp-1: $spacing-unit * 0.25,
// sp-2: $spacing-unit * 0.5,
// sp-3: $spacing-unit * 0.75,
// sp-4: $spacing-unit,
// sp-5: $spacing-unit * 1.5,
// sp-6: $spacing-unit * 2,
// sp-7: $spacing-unit * 2.5,
// sp-8: $spacing-unit * 3,
// sp-9: $spacing-unit * 3.5,
// sp-10: $spacing-unit * 4
// );
//
// $sp-1: map-get($spacers, sp-1); // 0.25 rem == 4px
// $sp-2: map-get($spacers, sp-2); // 0.5 rem == 8px
// $sp-3: map-get($spacers, sp-3); // 0.75 rem == 12px
// $sp-4: map-get($spacers, sp-4); // 1 rem == 16px
// $sp-5: map-get($spacers, sp-5); // 1.5 rem == 24px
// $sp-6: map-get($spacers, sp-6); // 2 rem == 32px
// $sp-7: map-get($spacers, sp-7); // 2.5 rem == 40px
// $sp-8: map-get($spacers, sp-8); // 3 rem == 48px
// $sp-9: map-get($spacers, sp-9); // 4 rem == 48px
// $sp-10: map-get($spacers, sp-10); // 4.5 rem == 48px
//
// //
// // Borders
// //
//
// $border: 1px solid;
// $border-radius: 4px;
// $border-color: $grey-lt-100;
//
// //
// // Grid system
// //
//
// $gutter-spacing: $sp-6;
// $gutter-spacing-sm: $sp-4;
// $nav-width: 232px;
// $content-width: 800px;
//
// $media-queries: (
// xs: 320px,
// sm: 500px,
// md: 740px,
// lg: 800px,
// xl: 1316px
// );

View File

@@ -6,16 +6,17 @@
.label-blue { .label-blue {
display: inline-block; display: inline-block;
padding-top: 0.16em; padding-top: 0.16em;
padding-right: 0.42em; padding-right: 0.56em;
padding-bottom: 0.16em; padding-bottom: 0.16em;
padding-left: 0.42em; padding-left: 0.56em;
margin-right: $sp-1; margin-right: $sp-2;
margin-left: $sp-1; margin-left: $sp-2;
color: $white; color: $white;
text-transform: uppercase; text-transform: uppercase;
vertical-align: middle; vertical-align: middle;
background-color: $blue-100; background-color: $blue-100;
@include fs-2; @include fs-2;
border-radius: 12px;
} }
.label-green { .label-green {

View File

@@ -2,34 +2,17 @@
// The basic two column layout // The basic two column layout
// //
.page-wrap {
@include mq(md) {
position: absolute;
top: 0;
left: 0;
display: flex;
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: hidden;
}
}
.side-bar { .side-bar {
z-index: 100; z-index: 0;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
padding-top: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
background-color: $sidebar-color; background-color: $sidebar-color;
@include mq(md) { @include mq(md) {
flex-wrap: nowrap; flex-wrap: nowrap;
position: absolute; position: fixed;
width: $nav-width + 16px; width: $nav-width-md;
height: 100%; height: 100%;
padding-top: $gutter-spacing * 2;
padding-bottom: 0;
flex-direction: column; flex-direction: column;
border-right: $border $border-color; border-right: $border $border-color;
align-items: flex-end; align-items: flex-end;
@@ -41,90 +24,155 @@
} }
} }
.main-content-wrap { .main {
@include mq(md) {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
min-height: 600px;
-webkit-overflow-scrolling: touch;
overflow-x: hidden;
overflow-y: scroll;
}
}
.main-content {
padding-top: $gutter-spacing-sm;
@include container;
@include mq(md) { @include mq(md) {
position: relative; position: relative;
max-width: $content-width; max-width: $content-width;
padding-top: $gutter-spacing; margin-left: $nav-width-md;
padding-bottom: $gutter-spacing;
padding-left: $gutter-spacing * 1.5;
margin-left: $nav-width;
} }
@include mq(lg) { @include mq(lg) {
padding-left: $gutter-spacing; margin-left: calc(
margin-left: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width}); (100% - #{$nav-width + $content-width}) / 2 + #{$nav-width}
);
} }
} }
.js-main-content:focus { .main-content-wrap {
outline: none; @include container;
padding-top: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
@include mq(md) {
padding-top: $gutter-spacing;
padding-bottom: $gutter-spacing;
}
} }
.page-header { .main-header {
z-index: 0;
display: none;
background-color: $sidebar-color; background-color: $sidebar-color;
@include mq(md) { @include mq(md) {
display: flex;
justify-content: space-between;
height: $header-height;
background-color: $body-background-color; background-color: $body-background-color;
border-bottom: $border $border-color;
} }
.main-content { &.nav-open {
padding-top: 0; display: block;
@include mq(md) { @include mq(md) {
display: flex; display: flex;
justify-content: flex-end;
height: 60px;
padding-top: $sp-4;
padding-bottom: $sp-4;
border-bottom: $border $border-color;
} }
} }
} }
.navigation, .site-nav,
.site-title, .site-header,
.site-footer { .site-footer {
@include container;
width: 100%; width: 100%;
@include mq(lg) { @include mq(lg) {
width: $nav-width + 32px; width: $nav-width;
} }
} }
.navigation { .site-nav {
display: none;
&.nav-open {
display: block;
}
@include mq(md) { @include mq(md) {
display: block;
padding-top: $sp-8; padding-top: $sp-8;
padding-bottom: $gutter-spacing-sm;
overflow-y: auto; overflow-y: auto;
flex: 1 1 auto; flex: 1 1 auto;
} }
} }
.site-header {
display: flex;
min-height: $header-height;
align-items: center;
@include mq(md) {
height: $header-height;
max-height: $header-height;
border-bottom: $border $border-color;
}
}
.site-title {
@include container;
flex-grow: 1;
display: flex;
height: 100%;
align-items: center;
padding-top: $sp-3;
padding-bottom: $sp-3;
color: $body-heading-color;
@include fs-6;
@include mq(md) {
padding-top: $sp-2;
padding-bottom: $sp-2;
}
}
@if variable-exists(logo) {
.site-logo {
width: 100%;
height: 100%;
background-image: url($logo);
background-repeat: no-repeat;
background-position: left center;
background-size: contain;
}
}
.site-button {
display: flex;
height: 100%;
padding: $gutter-spacing-sm;
align-items: center;
}
@include mq(md) {
.site-header .site-button {
display: none;
}
}
.site-title:hover {
background-image: linear-gradient(
-90deg,
rgba($feedback-color, 1) 0%,
rgba($feedback-color, 0.8) 80%,
rgba($feedback-color, 0) 100%
);
}
.site-button:hover {
background-image: linear-gradient(
-90deg,
rgba($feedback-color, 1) 0%,
rgba($feedback-color, 0.8) 100%
);
}
// stylelint-disable selector-max-type // stylelint-disable selector-max-type
body { body {
position: relative; position: relative;
padding-bottom: $sp-10; padding-bottom: $sp-10;
overflow-y: scroll;
@include mq(md) { @include mq(md) {
position: static; position: static;
@@ -135,15 +183,23 @@ body {
// stylelint-enable selector-max-type // stylelint-enable selector-max-type
.site-footer { .site-footer {
@include container;
position: absolute; position: absolute;
bottom: 0; bottom: 0;
left: 0;
padding-top: $sp-4; padding-top: $sp-4;
padding-bottom: $sp-4; padding-bottom: $sp-4;
color: $grey-dk-000;
@include fs-2;
@include mq(md) { @include mq(md) {
position: static; position: static;
align-self: flex-end;
justify-self: end; justify-self: end;
background-color: $sidebar-color;
} }
} }
.icon {
width: $sp-5;
height: $sp-5;
color: $link-color;
}

20
_sass/modules.scss Normal file
View File

@@ -0,0 +1,20 @@
//
// Import external dependencies
//
@import "./vendor/normalize.scss/normalize.scss";
//
// Modules
//
@import "./base";
@import "./layout";
@import "./content";
@import "./navigation";
@import "./typography";
@import "./labels";
@import "./buttons";
@import "./search";
@import "./tables";
@import "./code";
@import "./utilities/utilities";
@import "./print";

View File

@@ -1,117 +1,165 @@
// //
// Main nav, breadcrumb, etc... // Main nav, breadcrumb, etc...
// //
// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type, selector-max-specificity
.site-title { .nav-list {
display: block;
flex: 1 1 auto;
color: $body-heading-color;
background-color: $sidebar-color;
@include mq(md) {
position: absolute;
top: 0;
right: 0;
z-index: 101;
height: 60px;
padding-top: $sp-4;
border-bottom: $border $border-color;
}
}
.navigation-list {
padding: 0; padding: 0;
margin-top: $sp-4; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
list-style: none; list-style: none;
@include mq(md) { .nav-list-item {
margin-top: 0; @include fs-4;
}
}
.navigation-list-child-list {
padding-left: $sp-3;
list-style: none;
.navigation-list-link {
color: $nav-child-link-color;
}
.navigation-list-item {
position: relative; position: relative;
margin: 0;
&::before { @include mq(md) {
@include fs-3;
}
.nav-list-link {
display: block;
min-height: $nav-list-item-height-sm;
padding-top: $sp-1;
padding-bottom: $sp-1;
line-height: #{$nav-list-item-height-sm - 2 * $sp-1};
@if $nav-list-expander-right {
padding-right: $nav-list-item-height-sm;
padding-left: $gutter-spacing-sm;
} @else {
padding-right: $gutter-spacing-sm;
padding-left: $nav-list-item-height-sm;
}
@include mq(md) {
min-height: $nav-list-item-height;
line-height: #{$nav-list-item-height - 2 * $sp-1};
@if $nav-list-expander-right {
padding-right: $nav-list-item-height;
padding-left: $gutter-spacing;
} @else {
padding-right: $gutter-spacing;
padding-left: $nav-list-item-height;
}
}
&.active {
font-weight: 600;
text-decoration: none;
}
&:hover,
&.active {
background-image: linear-gradient(
-90deg,
rgba($feedback-color, 1) 0%,
rgba($feedback-color, 0.8) 80%,
rgba($feedback-color, 0) 100%
);
}
}
.nav-list-expander {
position: absolute; position: absolute;
margin-top: 0.3em; @if $nav-list-expander-right {
margin-left: -0.8em; right: 0;
color: rgba($body-text-color, 0.3); }
content: "- "; width: $nav-list-item-height-sm;
height: $nav-list-item-height-sm;
padding-top: #{$nav-list-item-height-sm / 4};
padding-right: #{$nav-list-item-height-sm / 4};
padding-bottom: #{$nav-list-item-height-sm / 4};
padding-left: #{$nav-list-item-height-sm / 4};
color: $link-color;
@include mq(md) {
width: $nav-list-item-height;
height: $nav-list-item-height;
padding-top: #{$nav-list-item-height / 4};
padding-right: #{$nav-list-item-height / 4};
padding-bottom: #{$nav-list-item-height / 4};
padding-left: #{$nav-list-item-height / 4};
}
&:hover {
background-image: linear-gradient(
-90deg,
rgba($feedback-color, 1) 0%,
rgba($feedback-color, 0.8) 100%
);
}
@if $nav-list-expander-right {
svg {
transform: rotate(90deg);
}
}
}
> .nav-list {
display: none;
padding-left: $sp-3;
list-style: none;
.nav-list-item {
position: relative;
.nav-list-link {
color: $nav-child-link-color;
}
.nav-list-expander {
color: $nav-child-link-color;
}
}
} }
&.active { &.active {
&::before { > .nav-list-expander svg {
color: $body-text-color; @if $nav-list-expander-right {
transform: rotate(-90deg);
} @else {
transform: rotate(90deg);
}
}
> .nav-list {
display: block;
} }
} }
} }
} }
.navigation-list-item { // Aux nav
@include fs-4;
margin: 0;
@include mq(md) {
@include fs-3;
}
.navigation-list-child-list {
display: none;
}
&.active {
.navigation-list-child-list {
display: block;
}
}
}
.navigation-list-link {
display: block;
padding-top: $sp-1;
padding-bottom: $sp-1;
&.active {
font-weight: 600;
color: $body-heading-color;
text-decoration: none;
}
}
// Small screen nav
.main-nav,
.aux-nav { .aux-nav {
display: none; height: 100%;
overflow-x: auto;
@include fs-2;
&.nav-open { .aux-nav-list {
display: block; display: flex;
height: 100%;
padding: 0;
margin: 0;
list-style: none;
} }
@include mq(md) {
display: block;
}
}
.navigation-list-toggle { .aux-nav-list-item {
position: absolute; display: inline-block;
right: $sp-4; height: 100%;
padding: 0;
margin: 0;
}
@include mq(md) { @include mq(md) {
display: none !important; padding-right: $gutter-spacing-sm;
} }
} }
// Breadcrumb nav // Breadcrumb nav
.breadcrumb-nav { .breadcrumb-nav {
@include mq(md) { @include mq(md) {
margin-top: -$sp-4; margin-top: -$sp-4;

40
_sass/print.scss Normal file
View File

@@ -0,0 +1,40 @@
// stylelint-disable selector-max-specificity, selector-max-id, selector-max-type, selector-no-qualifying-type, primer/no-override,
@media print {
.site-footer,
.site-button,
#edit-this-page,
#back-to-top,
.site-nav,
.main-header {
display: none !important;
}
.side-bar {
width: 100%;
height: auto;
border-right: 0 !important;
}
.site-header {
border-bottom: 1px solid $border-color;
}
.site-title {
font-size: $root-font-size !important;
font-weight: 700 !important;
}
.text-small {
font-size: 8pt !important;
}
pre.highlight {
border: 1px solid $border-color;
}
.main {
max-width: none;
margin-left: 0;
}
}

View File

@@ -4,95 +4,122 @@
.search { .search {
position: relative; position: relative;
z-index: 99; z-index: 2;
display: none;
flex-grow: 1; flex-grow: 1;
height: $sp-10;
padding: $sp-2; padding: $sp-2;
margin-bottom: $sp-3; transition: padding linear #{$transition-duration / 2};
background-color: $white;
border-radius: 3px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 3px 10px rgba(0, 0, 0, 0.05);
@include mq(md) { @include mq(md) {
display: block; position: relative !important;
padding-top: $sp-1; width: auto !important;
padding-right: 0; height: 100% !important;
padding-bottom: 0; padding: 0;
padding-left: 0; transition: none;
margin-bottom: 0;
background-color: transparent;
box-shadow: none;
}
&.nav-open {
display: block;
}
}
.search-results-wrap {
display: none;
&.active {
position: absolute;
top: $sp-1;
z-index: 100;
display: block;
width: 300px;
margin-top: $gutter-spacing;
background: lighten($body-background-color, 1%);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07), 0 4px 14px rgba(0, 0, 0, 0.05);
} }
} }
.search-input-wrap { .search-input-wrap {
display: flex; position: relative;
background-color: $body-background-color; z-index: 1;
height: $sp-8;
overflow: hidden;
border-radius: $border-radius;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
transition: height linear #{$transition-duration / 2};
@include mq(md) {
position: absolute;
width: 100%;
max-width: $search-results-width;
height: 100% !important;
border-radius: 0;
box-shadow: none;
transition: width ease $transition-duration;
}
} }
.search-input { .search-input {
position: absolute;
width: 100%; width: 100%;
padding-top: $sp-1; height: 100%;
padding-bottom: $sp-1; padding-top: $sp-2;
background-color: $body-background-color; padding-right: $gutter-spacing-sm;
padding-bottom: $sp-2;
padding-left: #{$gutter-spacing-sm + $sp-5};
font-size: 16px;
background-color: $search-background-color;
border-top: 0; border-top: 0;
border-right: 0; border-right: 0;
border-bottom: 0; border-bottom: 0;
border-left: 0; border-left: 0;
order: 2; border-radius: 0;
@include mq(md) {
padding-top: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
padding-left: #{$gutter-spacing + $sp-5};
font-size: 14px;
background-color: $body-background-color;
transition: padding-left linear #{$transition-duration / 2};
}
&:focus { &:focus {
outline: 0; outline: 0;
box-shadow: none;
+ .search-icon { + .search-label .search-icon {
fill: $link-color; color: $link-color;
} }
} }
@include fs-5;
@include mq(sm) {
@include fs-3;
}
@include mq(md) {
@include fs-2;
}
} }
.search-icon { .search-label {
align-self: center; position: absolute;
margin-right: $sp-2; display: flex;
fill: $grey-dk-000; height: 100%;
order: 1; padding-left: $gutter-spacing-sm;
@include mq(md) {
padding-left: $gutter-spacing;
transition: padding-left linear #{$transition-duration / 2};
}
.search-icon {
width: #{$sp-4 * 1.2};
height: #{$sp-4 * 1.2};
align-self: center;
color: $grey-dk-000;
}
}
.search-results {
position: absolute;
left: 0;
display: none;
width: 100%;
max-height: calc(100% - #{$sp-10});
overflow-y: auto;
background-color: $search-background-color;
border-bottom-right-radius: $border-radius;
border-bottom-left-radius: $border-radius;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
@include mq(md) {
top: 100%;
width: $search-results-width;
max-height: calc(100vh - 200%) !important;
}
} }
.search-results-list { .search-results-list {
padding-left: 0; padding-left: 0;
margin-top: $sp-1;
margin-bottom: $sp-1; margin-bottom: $sp-1;
list-style: none; list-style: none;
@include fs-3; @include fs-4;
@include mq(md) {
@include fs-3;
}
} }
.search-results-list-item { .search-results-list-item {
@@ -100,15 +127,197 @@
margin: 0; margin: 0;
} }
.search-results-link { .search-result {
display: block; display: block;
padding-top: $sp-1; padding-top: $sp-1;
padding-right: $sp-3; padding-right: $sp-3;
padding-bottom: $sp-1; padding-bottom: $sp-1;
padding-left: $sp-3; padding-left: $sp-3;
&:hover { &:hover,
color: $body-heading-color; &.active {
background-color: darken($body-background-color, 2%); background-color: $feedback-color;
}
}
.search-result-title {
display: block;
padding-top: $sp-2;
padding-bottom: $sp-2;
@include mq(sm) {
display: inline-block;
width: 40%;
padding-right: $sp-2;
vertical-align: top;
}
}
.search-result-doc {
display: flex;
align-items: center;
word-wrap: break-word;
&.search-result-doc-parent {
opacity: 0.5;
@include fs-3;
@include mq(md) {
@include fs-2;
}
}
.search-result-icon {
width: $sp-4;
height: $sp-4;
margin-right: $sp-2;
color: $link-color;
flex-shrink: 0;
}
.search-result-doc-title {
overflow: auto;
}
}
.search-result-section {
margin-left: #{$sp-4 + $sp-2};
word-wrap: break-word;
}
.search-result-rel-url {
display: block;
margin-left: #{$sp-4 + $sp-2};
overflow: hidden;
color: $search-result-preview-color;
text-overflow: ellipsis;
white-space: nowrap;
@include fs-1;
}
.search-result-previews {
display: block;
padding-top: $sp-2;
padding-bottom: $sp-2;
padding-left: $sp-4;
margin-left: $sp-2;
color: $search-result-preview-color;
word-wrap: break-word;
border-left: $border;
border-left-color: $border-color;
@include fs-2;
@include mq(sm) {
display: inline-block;
width: 60%;
padding-left: $sp-2;
margin-left: 0;
vertical-align: top;
}
}
.search-result-preview + .search-result-preview {
margin-top: $sp-1;
}
.search-result-highlight {
font-weight: bold;
}
.search-no-result {
padding-top: $sp-2;
padding-right: $sp-3;
padding-bottom: $sp-2;
padding-left: $sp-3;
@include fs-3;
}
.search-button {
position: fixed;
right: $sp-4;
bottom: $sp-4;
display: flex;
width: $sp-9;
height: $sp-9;
background-color: $search-background-color;
border: 1px solid rgba($link-color, 0.3);
border-radius: #{$sp-9 / 2};
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
align-items: center;
justify-content: center;
}
.search-overlay {
position: fixed;
top: 0;
left: 0;
z-index: 1;
width: 0;
height: 0;
background-color: rgba(0, 0, 0, 0.3);
opacity: 0;
transition: opacity ease $transition-duration, width 0s $transition-duration,
height 0s $transition-duration;
}
.search-active {
.search {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 0;
}
.search-input-wrap {
height: $sp-10;
border-radius: 0;
@include mq(md) {
width: $search-results-width;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
}
}
.search-input {
background-color: $search-background-color;
@include mq(md) {
padding-left: #{$sp-4 * 1.25 + $sp-5};
}
}
.search-label {
@include mq(md) {
padding-left: #{$sp-4 * 1.25};
}
}
.search-results {
display: block;
}
.search-overlay {
width: 100%;
height: 100%;
opacity: 1;
transition: opacity ease $transition-duration, width 0s, height 0s;
}
@include mq(md) {
.main {
position: fixed;
right: 0;
left: 0;
}
}
.main-header {
padding-top: $sp-10;
@include mq(md) {
padding-top: 0;
}
} }
} }

View File

@@ -1,10 +1,9 @@
@function rem($size, $unit:"") { @function rem($size, $unit: "") {
$remSize: $size / $root-font-size; $remSize: $size / $root-font-size;
@if ($unit == false) { @if ($unit == false) {
@return #{$remSize}; @return #{$remSize};
} } @else {
@else {
@return #{$remSize}rem; @return #{$remSize}rem;
} }
} }

View File

@@ -2,11 +2,13 @@
// Typography // Typography
// //
$body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif !default; $body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue",
helvetica, roboto, noto, "segoe ui", arial, sans-serif !default;
$mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace !default; $mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace !default;
$root-font-size: 16px !default; // Base font-size for rems $root-font-size: 16px !default; // Base font-size for rems
$body-line-height: 1.4 !default; $body-line-height: 1.4 !default;
$body-heading-line-height: 1.15 !default !default; $content-line-height: 1.6 !default;
$body-heading-line-height: 1.25 !default;
// //
// Colors // Colors
@@ -52,27 +54,19 @@ $red-300: #dd2e2e !default;
$body-background-color: $white !default; $body-background-color: $white !default;
$sidebar-color: $grey-lt-000 !default; $sidebar-color: $grey-lt-000 !default;
$search-background-color: $white !default;
$table-background-color: $white !default;
$code-background-color: $grey-lt-000 !default; $code-background-color: $grey-lt-000 !default;
$feedback-color: darken($sidebar-color, 3%) !default;
$body-text-color: $grey-dk-100 !default; $body-text-color: $grey-dk-100 !default;
$body-heading-color: $grey-dk-300 !default; $body-heading-color: $grey-dk-300 !default;
$search-result-preview-color: $grey-dk-000 !default;
$nav-child-link-color: $grey-dk-100 !default; $nav-child-link-color: $grey-dk-100 !default;
$link-color: $purple-000 !default; $link-color: $purple-000 !default;
$btn-primary-color: $purple-100 !default; $btn-primary-color: $purple-100 !default;
$base-button-color: #f7f7f7 !default; $base-button-color: #f7f7f7 !default;
//
// Media queries in pixels
//
$media-queries: (
xs: 320px,
sm: 500px,
md: 740px,
lg: 1120px,
xl: 1400px
) !default;
// //
// Spacing // Spacing
// //
@@ -90,7 +84,7 @@ $spacers: (
sp-7: $spacing-unit * 2.5, sp-7: $spacing-unit * 2.5,
sp-8: $spacing-unit * 3, sp-8: $spacing-unit * 3,
sp-9: $spacing-unit * 3.5, sp-9: $spacing-unit * 3.5,
sp-10: $spacing-unit * 4 sp-10: $spacing-unit * 4,
) !default; ) !default;
$sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px $sp-1: map-get($spacers, sp-1) !default; // 0.25 rem == 4px
@@ -101,8 +95,8 @@ $sp-5: map-get($spacers, sp-5) !default; // 1.5 rem == 24px
$sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px $sp-6: map-get($spacers, sp-6) !default; // 2 rem == 32px
$sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px $sp-7: map-get($spacers, sp-7) !default; // 2.5 rem == 40px
$sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px $sp-8: map-get($spacers, sp-8) !default; // 3 rem == 48px
$sp-9: map-get($spacers, sp-9) !default; // 4 rem == 48px $sp-9: map-get($spacers, sp-9) !default; // 3.5 rem == 56px
$sp-10: map-get($spacers, sp-10) !default; // 4.5 rem == 48px $sp-10: map-get($spacers, sp-10) !default; // 4 rem == 64px
// //
// Borders // Borders
@@ -118,13 +112,24 @@ $border-color: $grey-lt-100 !default;
$gutter-spacing: $sp-6 !default; $gutter-spacing: $sp-6 !default;
$gutter-spacing-sm: $sp-4 !default; $gutter-spacing-sm: $sp-4 !default;
$nav-width: 232px !default; $nav-width: 264px !default;
$nav-width-md: 248px !default;
$nav-list-item-height: $sp-6 !default;
$nav-list-item-height-sm: $sp-8 !default;
$nav-list-expander-right: true;
$content-width: 800px !default; $content-width: 800px !default;
$header-height: 60px !default;
$search-results-width: $content-width - $nav-width !default;
$transition-duration: 400ms;
//
// Media queries in pixels
//
$media-queries: ( $media-queries: (
xs: 320px, xs: 320px,
sm: 500px, sm: 500px,
md: 740px, md: $content-width,
lg: 800px, lg: $content-width + $nav-width,
xl: 1316px xl: 1400px,
) !default; ) !default;

View File

@@ -15,9 +15,7 @@
@media (min-width: rem($value)) { @media (min-width: rem($value)) {
@content; @content;
} }
} } @else {
@else {
@warn "No value could be retrieved from `#{$media-query}`. " @warn "No value could be retrieved from `#{$media-query}`. "
+ "Please make sure it is defined in `$media-queries` map."; + "Please make sure it is defined in `$media-queries` map.";
} }

View File

@@ -25,7 +25,7 @@
} }
@mixin fs-4 { @mixin fs-4 {
font-size: 14px !important; font-size: 15px !important;
@include mq(sm) { @include mq(sm) {
font-size: 16px !important; font-size: 16px !important;
@@ -45,11 +45,13 @@
@include mq(sm) { @include mq(sm) {
font-size: 24px !important; font-size: 24px !important;
line-height: $body-heading-line-height;
} }
} }
@mixin fs-7 { @mixin fs-7 {
font-size: 24px !important; font-size: 24px !important;
line-height: $body-heading-line-height;
@include mq(sm) { @include mq(sm) {
font-size: 32px !important; font-size: 32px !important;
@@ -58,6 +60,7 @@
@mixin fs-8 { @mixin fs-8 {
font-size: 32px !important; font-size: 32px !important;
line-height: $body-heading-line-height;
@include mq(sm) { @include mq(sm) {
font-size: 36px !important; font-size: 36px !important;
@@ -66,6 +69,7 @@
@mixin fs-9 { @mixin fs-9 {
font-size: 36px !important; font-size: 36px !important;
line-height: $body-heading-line-height;
@include mq(sm) { @include mq(sm) {
font-size: 42px !important; font-size: 42px !important;
@@ -74,6 +78,7 @@
@mixin fs-10 { @mixin fs-10 {
font-size: 42px !important; font-size: 42px !important;
line-height: $body-heading-line-height;
@include mq(sm) { @include mq(sm) {
font-size: 48px !important; font-size: 48px !important;

View File

@@ -3,18 +3,20 @@
// //
// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type // stylelint-disable max-nesting-depth, selector-no-type, selector-max-type
table { .table-wrapper {
display: block; display: block;
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
margin-bottom: $sp-5; margin-bottom: $sp-5;
overflow-x: auto; overflow-x: auto;
border-collapse: separate; border-radius: $border-radius;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07), 0 4px 14px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
}
@include mq(sm) { table {
display: table; display: table;
} min-width: 100%;
border-collapse: separate;
} }
th, th,
@@ -25,7 +27,7 @@ td {
padding-right: $sp-3; padding-right: $sp-3;
padding-bottom: $sp-2; padding-bottom: $sp-2;
padding-left: $sp-3; padding-left: $sp-3;
background-color: lighten($body-background-color, 2%); background-color: $table-background-color;
border-bottom: $border rgba($border-color, 0.5); border-bottom: $border rgba($border-color, 0.5);
border-left: $border $border-color; border-left: $border $border-color;
@@ -34,38 +36,16 @@ td {
} }
} }
thead,
tbody:first-child {
tr {
&:first-of-type {
th,
td {
&:first-of-type {
border-top-left-radius: $border-radius;
}
&:last-of-type {
border-top-right-radius: $border-radius;
}
}
}
}
}
tbody { tbody {
tr { tr {
&:last-of-type { &:last-of-type {
th, th,
td { td {
border-bottom: 0; border-bottom: 0;
}
&:first-of-type { td {
border-bottom-left-radius: $border-radius; padding-bottom: $sp-3;
}
&:last-of-type {
border-bottom-right-radius: $border-radius;
}
} }
} }
} }
@@ -73,6 +53,6 @@ tbody {
thead { thead {
th { th {
border-bottom: 1px solid $border-color; border-bottom: $border $border-color;
} }
} }

View File

@@ -22,7 +22,7 @@ h3,
h4, h4,
.text-delta { .text-delta {
@include fs-2; @include fs-2;
font-weight: 300; font-weight: 400;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.1em; letter-spacing: 0.1em;
} }
@@ -39,12 +39,6 @@ h6,
color: $grey-dk-200; color: $grey-dk-200;
} }
li {
.highlight {
margin-top: $sp-2;
}
}
.text-small { .text-small {
@include fs-2; @include fs-2;
} }
@@ -53,6 +47,14 @@ li {
font-family: $mono-font-family !important; font-family: $mono-font-family !important;
} }
.text-left {
text-align: left !important;
}
.text-center { .text-center {
text-align: center !important; text-align: center !important;
} }
.text-right {
text-align: right !important;
}

View File

@@ -5,11 +5,21 @@
// Display // Display
.d-block { display: block !important; } .d-block {
.d-flex { display: flex !important; } display: block !important;
.d-inline { display: inline !important; } }
.d-inline-block { display: inline-block !important; } .d-flex {
.d-none { display: none !important; } display: flex !important;
}
.d-inline {
display: inline !important;
}
.d-inline-block {
display: inline-block !important;
}
.d-none {
display: none !important;
}
@each $media-query in map-keys($media-queries) { @each $media-query in map-keys($media-queries) {
@for $i from 1 through length($spacers) { @for $i from 1 through length($spacers) {
@@ -18,21 +28,68 @@
$scale: #{$i - 1}; $scale: #{$i - 1};
// .d-sm-block, .d-md-none, .d-lg-inline // .d-sm-block, .d-md-none, .d-lg-inline
.d-#{$media-query}-block { display: block !important; } .d-#{$media-query}-block {
.d-#{$media-query}-flex { display: flex !important; } display: block !important;
.d-#{$media-query}-inline { display: inline !important; } }
.d-#{$media-query}-inline-block { display: inline-block !important; } .d-#{$media-query}-flex {
.d-#{$media-query}-none { display: none !important; } display: flex !important;
}
.d-#{$media-query}-inline {
display: inline !important;
}
.d-#{$media-query}-inline-block {
display: inline-block !important;
}
.d-#{$media-query}-none {
display: none !important;
}
} }
} }
} }
// Horizontal alignment
.float-left {
float: left !important;
}
.float-right {
float: right !important;
}
.flex-justify-start {
justify-content: flex-start !important;
}
.flex-justify-end {
justify-content: flex-end !important;
}
.flex-justify-between {
justify-content: space-between !important;
}
.flex-justify-around {
justify-content: space-around !important;
}
// Vertical alignment // Vertical alignment
.v-align-baseline { vertical-align: baseline !important; } .v-align-baseline {
.v-align-bottom { vertical-align: bottom !important; } vertical-align: baseline !important;
.v-align-middle { vertical-align: middle !important; } }
.v-align-text-bottom { vertical-align: text-bottom !important; } .v-align-bottom {
.v-align-text-top { vertical-align: text-top !important; } vertical-align: bottom !important;
.v-align-top { vertical-align: top !important; } }
.v-align-middle {
vertical-align: middle !important;
}
.v-align-text-bottom {
vertical-align: text-bottom !important;
}
.v-align-text-top {
vertical-align: text-top !important;
}
.v-align-top {
vertical-align: top !important;
}

View File

@@ -2,10 +2,16 @@
// Utility classes for lists // Utility classes for lists
// //
// stylelint-disable primer/selector-no-utility, primer/no-override // stylelint-disable primer/selector-no-utility, primer/no-override, selector-max-type
.list-style-none { .list-style-none {
padding: 0 !important; padding: 0 !important;
margin: 0 !important; margin: 0 !important;
list-style: none !important; list-style: none !important;
li {
&::before {
display: none !important;
}
}
} }

View File

@@ -7,16 +7,31 @@
// Margin spacer utilities // Margin spacer utilities
.mx-auto {
margin-right: auto !important;
margin-left: auto !important;
}
@for $i from 1 through length($spacers) { @for $i from 1 through length($spacers) {
$size: #{map-get($spacers, sp-#{$i - 1})}; $size: #{map-get($spacers, sp-#{$i - 1})};
$scale: #{$i - 1}; $scale: #{$i - 1};
// .m-0, .m-1, .m-2... // .m-0, .m-1, .m-2...
.m-#{$scale} { margin: #{$size} !important; } .m-#{$scale} {
.mt-#{$scale} { margin-top: #{$size} !important; } margin: #{$size} !important;
.mr-#{$scale} { margin-right: #{$size} !important; } }
.mb-#{$scale} { margin-bottom: #{$size} !important; } .mt-#{$scale} {
.ml-#{$scale} { margin-left: #{$size} !important; } margin-top: #{$size} !important;
}
.mr-#{$scale} {
margin-right: #{$size} !important;
}
.mb-#{$scale} {
margin-bottom: #{$size} !important;
}
.ml-#{$scale} {
margin-left: #{$size} !important;
}
.mx-#{$scale} { .mx-#{$scale} {
margin-right: #{$size} !important; margin-right: #{$size} !important;
@@ -32,11 +47,10 @@
margin-right: -#{$size} !important; margin-right: -#{$size} !important;
margin-left: -#{$size} !important; margin-left: -#{$size} !important;
} }
} .mx-#{$scale}-auto {
margin-right: auto !important;
.mx-auto { margin-left: auto !important;
margin-right: auto !important; }
margin-left: auto !important;
} }
@each $media-query in map-keys($media-queries) { @each $media-query in map-keys($media-queries) {
@@ -46,11 +60,21 @@
$scale: #{$i - 1}; $scale: #{$i - 1};
// .m-sm-0, .m-md-1, .m-lg-2... // .m-sm-0, .m-md-1, .m-lg-2...
.m-#{$media-query}-#{$scale} { margin: #{$size} !important; } .m-#{$media-query}-#{$scale} {
.mt-#{$media-query}-#{$scale} { margin-top: #{$size} !important; } margin: #{$size} !important;
.mr-#{$media-query}-#{$scale} { margin-right: #{$size} !important; } }
.mb-#{$media-query}-#{$scale} { margin-bottom: #{$size} !important; } .mt-#{$media-query}-#{$scale} {
.ml-#{$media-query}-#{$scale} { margin-left: #{$size} !important; } margin-top: #{$size} !important;
}
.mr-#{$media-query}-#{$scale} {
margin-right: #{$size} !important;
}
.mb-#{$media-query}-#{$scale} {
margin-bottom: #{$size} !important;
}
.ml-#{$media-query}-#{$scale} {
margin-left: #{$size} !important;
}
.mx-#{$media-query}-#{$scale} { .mx-#{$media-query}-#{$scale} {
margin-right: #{$size} !important; margin-right: #{$size} !important;
@@ -77,11 +101,21 @@
$scale: #{$i - 1}; $scale: #{$i - 1};
// .p-0, .p-1, .p-2... // .p-0, .p-1, .p-2...
.p-#{$scale} { padding: #{$size} !important; } .p-#{$scale} {
.pt-#{$scale} { padding-top: #{$size} !important; } padding: #{$size} !important;
.pr-#{$scale} { padding-right: #{$size} !important; } }
.pb-#{$scale} { padding-bottom: #{$size} !important; } .pt-#{$scale} {
.pl-#{$scale} { padding-left: #{$size} !important; } padding-top: #{$size} !important;
}
.pr-#{$scale} {
padding-right: #{$size} !important;
}
.pb-#{$scale} {
padding-bottom: #{$size} !important;
}
.pl-#{$scale} {
padding-left: #{$size} !important;
}
.px-#{$scale} { .px-#{$scale} {
padding-right: #{$size} !important; padding-right: #{$size} !important;
@@ -101,11 +135,21 @@
$scale: #{$i - 1}; $scale: #{$i - 1};
// .p-sm-0, .p-md-1, .p-lg-2... // .p-sm-0, .p-md-1, .p-lg-2...
.p-#{$media-query}-#{$scale} { padding: #{$size} !important; } .p-#{$media-query}-#{$scale} {
.pt-#{$media-query}-#{$scale} { padding-top: #{$size} !important; } padding: #{$size} !important;
.pr-#{$media-query}-#{$scale} { padding-right: #{$size} !important; } }
.pb-#{$media-query}-#{$scale} { padding-bottom: #{$size} !important; } .pt-#{$media-query}-#{$scale} {
.pl-#{$media-query}-#{$scale} { padding-left: #{$size} !important; } padding-top: #{$size} !important;
}
.pr-#{$media-query}-#{$scale} {
padding-right: #{$size} !important;
}
.pb-#{$media-query}-#{$scale} {
padding-bottom: #{$size} !important;
}
.pl-#{$media-query}-#{$scale} {
padding-left: #{$size} !important;
}
.px-#{$media-query}-#{$scale} { .px-#{$media-query}-#{$scale} {
padding-right: #{$size} !important; padding-right: #{$size} !important;

View File

@@ -1,41 +0,0 @@
---
# this ensures Jekyll reads the file to be transformed into CSS later
# only Main files contain this front matter, not partials.
---
//
// Import external dependencies
//
@import "./vendor/normalize.scss/normalize.scss";
//
// Import Just the Docs scss
//
// Support
@import "./support/support";
//
// Import custom color scheme scss
//
@import "./color_schemes/dark.scss";
// Modules
@import "./base";
@import "./layout";
@import "./content";
@import "./navigation";
@import "./typography";
@import "./labels";
@import "./buttons";
@import "./search";
@import "./tables";
@import "./code";
@import "./utilities/utilities";
//
// Import custom overrides
//
@import "./custom/custom";

View File

@@ -0,0 +1,3 @@
---
---
{% include css/just-the-docs.scss.liquid color_scheme="dark" %}

View File

@@ -0,0 +1,8 @@
---
---
{% if site.color_scheme and site.color_scheme != "nil" %}
{% assign color_scheme = site.color_scheme %}
{% else %}
{% assign color_scheme = "light" %}
{% endif %}
{% include css/just-the-docs.scss.liquid color_scheme=color_scheme %}

View File

@@ -0,0 +1,3 @@
---
---
{% include css/just-the-docs.scss.liquid color_scheme="light" %}

View File

@@ -1,44 +0,0 @@
---
# this ensures Jekyll reads the file to be transformed into CSS later
# only Main files contain this front matter, not partials.
---
//
// Import external dependencies
//
@import "./vendor/normalize.scss/normalize.scss";
//
// Import Just the Docs scss
//
// Support
@import "./support/support";
//
// Import custom overrides
//
@import "./custom/custom";
//
// Import custom color scheme scss
//
{% if site.color_scheme == "dark" %}
@import "./color_schemes/dark.scss";
{% endif %}
// Modules
@import "./base";
@import "./layout";
@import "./content";
@import "./navigation";
@import "./typography";
@import "./labels";
@import "./buttons";
@import "./search";
@import "./tables";
@import "./code";
@import "./utilities/utilities";

View File

@@ -1,176 +1,471 @@
---
---
(function (jtd, undefined) {
// Event handling // Event handling
function addEvent(el, type, handler) { jtd.addEvent = function(el, type, handler) {
if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler); if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
} }
function removeEvent(el, type, handler) { jtd.removeEvent = function(el, type, handler) {
if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler); if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
}
jtd.onReady = function(ready) {
// in case the document is already rendered
if (document.readyState!='loading') ready();
// modern browsers
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready);
// IE <= 8
else document.attachEvent('onreadystatechange', function(){
if (document.readyState=='complete') ready();
});
} }
// Show/hide mobile menu // Show/hide mobile menu
function toggleNav(){ function initNav() {
const nav = document.querySelector('.js-main-nav'); jtd.addEvent(document, 'click', function(e){
const auxNav = document.querySelector('.js-aux-nav'); var target = e.target;
const navTrigger = document.querySelector('.js-main-nav-trigger'); while (target && !(target.classList && target.classList.contains('nav-list-expander'))) {
const search = document.querySelector('.js-search'); target = target.parentNode;
}
if (target) {
e.preventDefault();
target.parentNode.classList.toggle('active');
}
});
addEvent(navTrigger, 'click', function(){ const siteNav = document.getElementById('site-nav');
var text = navTrigger.innerText; const mainHeader = document.getElementById('main-header');
var textToggle = navTrigger.getAttribute('data-text-toggle'); const menuButton = document.getElementById('menu-button');
nav.classList.toggle('nav-open'); jtd.addEvent(menuButton, 'click', function(e){
auxNav.classList.toggle('nav-open'); e.preventDefault();
navTrigger.classList.toggle('nav-open');
search.classList.toggle('nav-open'); if (menuButton.classList.toggle('nav-open')) {
navTrigger.innerText = textToggle; siteNav.classList.add('nav-open');
navTrigger.setAttribute('data-text-toggle', text); mainHeader.classList.add('nav-open');
textToggle = text; } else {
}) siteNav.classList.remove('nav-open');
mainHeader.classList.remove('nav-open');
}
});
{%- if site.search_enabled != false and site.search.button %}
const searchInput = document.getElementById('search-input');
const searchButton = document.getElementById('search-button');
jtd.addEvent(searchButton, 'click', function(e){
e.preventDefault();
mainHeader.classList.add('nav-open');
searchInput.focus();
});
{%- endif %}
} }
{%- if site.search_enabled != false %}
// Site search // Site search
function initSearch() { function initSearch() {
var index = lunr(function () {
this.ref('id');
this.field('title', { boost: 20 });
this.field('content', { boost: 10 });
this.field('url');
});
// Get the generated search_data.json file so lunr.js can search it locally.
sc = document.getElementsByTagName("script");
source = '';
for(idx = 0; idx < sc.length; idx++)
{
s = sc.item(idx);
if(s.src && s.src.match(/just-the-docs\.js$/))
{ source = s.src; }
}
jsPath = source.replace('just-the-docs.js', '');
jsonPath = jsPath + 'search-data.json';
var request = new XMLHttpRequest(); var request = new XMLHttpRequest();
request.open('GET', jsonPath, true); request.open('GET', '{{ "assets/js/search-data.json" | absolute_url }}', true);
request.onload = function() { request.onload = function(){
if (request.status >= 200 && request.status < 400) { if (request.status >= 200 && request.status < 400) {
// Success! var docs = JSON.parse(request.responseText);
var data = JSON.parse(request.responseText);
var keys = Object.keys(data); lunr.tokenizer.separator = {{ site.search.tokenizer_separator | default: site.search_tokenizer_separator | default: "/[\s\-/]+/" }}
for(var i in data) { var index = lunr(function(){
index.add({ this.ref('id');
id: data[i].id, this.field('title', { boost: 200 });
title: data[i].title, this.field('content', { boost: 2 });
content: data[i].content, {%- if site.search.rel_url != false %}
url: data[i].url this.field('relUrl');
}); {%- endif %}
} this.metadataWhitelist = ['position']
searchResults(data);
for (var i in docs) {
this.add({
id: i,
title: docs[i].title,
content: docs[i].content,
{%- if site.search.rel_url != false %}
relUrl: docs[i].relUrl
{%- endif %}
});
}
});
searchLoaded(index, docs);
} else { } else {
// We reached our target server, but it returned an error
console.log('Error loading ajax request. Request status:' + request.status); console.log('Error loading ajax request. Request status:' + request.status);
} }
}; };
request.onerror = function() { request.onerror = function(){
// There was a connection error of some sort
console.log('There was a connection error'); console.log('There was a connection error');
}; };
request.send(); request.send();
}
function searchResults(dataStore) { function searchLoaded(index, docs) {
var searchInput = document.querySelector('.js-search-input'); var index = index;
var searchResults = document.querySelector('.js-search-results'); var docs = docs;
var store = dataStore; var searchInput = document.getElementById('search-input');
var searchResults = document.getElementById('search-results');
var mainHeader = document.getElementById('main-header');
var currentInput;
var currentSearchIndex = 0;
function hideResults() { function showSearch() {
searchResults.innerHTML = ''; document.documentElement.classList.add('search-active');
searchResults.classList.remove('active'); }
function hideSearch() {
document.documentElement.classList.remove('search-active');
}
function update() {
currentSearchIndex++;
var input = searchInput.value;
if (input === '') {
hideSearch();
} else {
showSearch();
// scroll search input into view, workaround for iOS Safari
window.scroll(0, -1);
setTimeout(function(){ window.scroll(0, 0); }, 0);
}
if (input === currentInput) {
return;
}
currentInput = input;
searchResults.innerHTML = '';
if (input === '') {
return;
} }
addEvent(searchInput, 'keyup', function(e){ var results = index.query(function (query) {
var query = this.value; var tokens = lunr.tokenizer(input)
query.term(tokens, {
boost: 10
});
query.term(tokens, {
wildcard: lunr.Query.wildcard.TRAILING
});
});
searchResults.innerHTML = ''; if ((results.length == 0) && (input.length > 2)) {
searchResults.classList.remove('active'); var tokens = lunr.tokenizer(input).filter(function(token, i) {
return token.str.length < 20;
})
if (tokens.length > 0) {
results = index.query(function (query) {
query.term(tokens, {
editDistance: Math.round(Math.sqrt(input.length / 2 - 1))
});
});
}
}
if (query === '') { if (results.length == 0) {
hideResults(); var noResultsDiv = document.createElement('div');
} else { noResultsDiv.classList.add('search-no-result');
var results = index.search(query); noResultsDiv.innerText = 'No results found';
searchResults.appendChild(noResultsDiv);
if (results.length > 0) { } else {
searchResults.classList.add('active'); var resultsList = document.createElement('ul');
var resultsList = document.createElement('ul'); resultsList.classList.add('search-results-list');
searchResults.appendChild(resultsList); searchResults.appendChild(resultsList);
for (var i in results) { addResults(resultsList, results, 0, 10, 100, currentSearchIndex);
var resultsListItem = document.createElement('li'); }
var resultsLink = document.createElement('a');
var resultsUrlDesc = document.createElement('span');
var resultsUrl = store[results[i].ref].url;
var resultsRelUrl = store[results[i].ref].relUrl;
var resultsTitle = store[results[i].ref].title;
resultsLink.setAttribute('href', resultsUrl); function addResults(resultsList, results, start, batchSize, batchMillis, searchIndex) {
resultsLink.innerText = resultsTitle; if (searchIndex != currentSearchIndex) {
resultsUrlDesc.innerText = resultsRelUrl; return;
}
for (var i = start; i < (start + batchSize); i++) {
if (i == results.length) {
return;
}
addResult(resultsList, results[i]);
}
setTimeout(function() {
addResults(resultsList, results, start + batchSize, batchSize, batchMillis, searchIndex);
}, batchMillis);
}
resultsList.classList.add('search-results-list'); function addResult(resultsList, result) {
resultsListItem.classList.add('search-results-list-item'); var doc = docs[result.ref];
resultsLink.classList.add('search-results-link');
resultsUrlDesc.classList.add('fs-2','text-grey-dk-000','d-block');
resultsList.appendChild(resultsListItem); var resultsListItem = document.createElement('li');
resultsListItem.appendChild(resultsLink); resultsListItem.classList.add('search-results-list-item');
resultsLink.appendChild(resultsUrlDesc); resultsList.appendChild(resultsListItem);
var resultLink = document.createElement('a');
resultLink.classList.add('search-result');
resultLink.setAttribute('href', doc.url);
resultsListItem.appendChild(resultLink);
var resultTitle = document.createElement('div');
resultTitle.classList.add('search-result-title');
resultLink.appendChild(resultTitle);
var resultDoc = document.createElement('div');
resultDoc.classList.add('search-result-doc');
resultDoc.innerHTML = '<svg viewBox="0 0 24 24" class="search-result-icon"><use xlink:href="#svg-doc"></use></svg>';
resultTitle.appendChild(resultDoc);
var resultDocTitle = document.createElement('div');
resultDocTitle.classList.add('search-result-doc-title');
resultDocTitle.innerHTML = doc.doc;
resultDoc.appendChild(resultDocTitle);
var resultDocOrSection = resultDocTitle;
if (doc.doc != doc.title) {
resultDoc.classList.add('search-result-doc-parent');
var resultSection = document.createElement('div');
resultSection.classList.add('search-result-section');
resultSection.innerHTML = doc.title;
resultTitle.appendChild(resultSection);
resultDocOrSection = resultSection;
}
var metadata = result.matchData.metadata;
var titlePositions = [];
var contentPositions = [];
for (var j in metadata) {
var meta = metadata[j];
if (meta.title) {
var positions = meta.title.position;
for (var k in positions) {
titlePositions.push(positions[k]);
}
}
if (meta.content) {
var positions = meta.content.position;
for (var k in positions) {
var position = positions[k];
var previewStart = position[0];
var previewEnd = position[0] + position[1];
var ellipsesBefore = true;
var ellipsesAfter = true;
for (var k = 0; k < {{ site.search.preview_words_before | default: 5 }}; k++) {
var nextSpace = doc.content.lastIndexOf(' ', previewStart - 2);
var nextDot = doc.content.lastIndexOf('. ', previewStart - 2);
if ((nextDot >= 0) && (nextDot > nextSpace)) {
previewStart = nextDot + 1;
ellipsesBefore = false;
break;
}
if (nextSpace < 0) {
previewStart = 0;
ellipsesBefore = false;
break;
}
previewStart = nextSpace + 1;
}
for (var k = 0; k < {{ site.search.preview_words_after | default: 10 }}; k++) {
var nextSpace = doc.content.indexOf(' ', previewEnd + 1);
var nextDot = doc.content.indexOf('. ', previewEnd + 1);
if ((nextDot >= 0) && (nextDot < nextSpace)) {
previewEnd = nextDot;
ellipsesAfter = false;
break;
}
if (nextSpace < 0) {
previewEnd = doc.content.length;
ellipsesAfter = false;
break;
}
previewEnd = nextSpace;
}
contentPositions.push({
highlight: position,
previewStart: previewStart, previewEnd: previewEnd,
ellipsesBefore: ellipsesBefore, ellipsesAfter: ellipsesAfter
});
}
}
}
if (titlePositions.length > 0) {
titlePositions.sort(function(p1, p2){ return p1[0] - p2[0] });
resultDocOrSection.innerHTML = '';
addHighlightedText(resultDocOrSection, doc.title, 0, doc.title.length, titlePositions);
}
if (contentPositions.length > 0) {
contentPositions.sort(function(p1, p2){ return p1.highlight[0] - p2.highlight[0] });
var contentPosition = contentPositions[0];
var previewPosition = {
highlight: [contentPosition.highlight],
previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd,
ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter
};
var previewPositions = [previewPosition];
for (var j = 1; j < contentPositions.length; j++) {
contentPosition = contentPositions[j];
if (previewPosition.previewEnd < contentPosition.previewStart) {
previewPosition = {
highlight: [contentPosition.highlight],
previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd,
ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter
}
previewPositions.push(previewPosition);
} else {
previewPosition.highlight.push(contentPosition.highlight);
previewPosition.previewEnd = contentPosition.previewEnd;
previewPosition.ellipsesAfter = contentPosition.ellipsesAfter;
} }
} }
// When esc key is pressed, hide the results and clear the field var resultPreviews = document.createElement('div');
if (e.keyCode == 27) { resultPreviews.classList.add('search-result-previews');
hideResults(); resultLink.appendChild(resultPreviews);
searchInput.value = '';
var content = doc.content;
for (var j = 0; j < Math.min(previewPositions.length, {{ site.search.previews | default: 3 }}); j++) {
var position = previewPositions[j];
var resultPreview = document.createElement('div');
resultPreview.classList.add('search-result-preview');
resultPreviews.appendChild(resultPreview);
if (position.ellipsesBefore) {
resultPreview.appendChild(document.createTextNode('... '));
}
addHighlightedText(resultPreview, content, position.previewStart, position.previewEnd, position.highlight);
if (position.ellipsesAfter) {
resultPreview.appendChild(document.createTextNode(' ...'));
}
} }
} }
});
addEvent(searchInput, 'blur', function(){ {%- if site.search.rel_url != false %}
setTimeout(function(){ hideResults() }, 300); var resultRelUrl = document.createElement('span');
}); resultRelUrl.classList.add('search-result-rel-url');
resultRelUrl.innerText = doc.relUrl;
resultTitle.appendChild(resultRelUrl);
{%- endif %}
}
function addHighlightedText(parent, text, start, end, positions) {
var index = start;
for (var i in positions) {
var position = positions[i];
var span = document.createElement('span');
span.innerHTML = text.substring(index, position[0]);
parent.appendChild(span);
index = position[0] + position[1];
var highlight = document.createElement('span');
highlight.classList.add('search-result-highlight');
highlight.innerHTML = text.substring(position[0], index);
parent.appendChild(highlight);
}
var span = document.createElement('span');
span.innerHTML = text.substring(index, end);
parent.appendChild(span);
}
} }
jtd.addEvent(searchInput, 'focus', function(){
setTimeout(update, 0);
});
jtd.addEvent(searchInput, 'keyup', function(e){
switch (e.keyCode) {
case 27: // When esc key is pressed, hide the results and clear the field
searchInput.value = '';
break;
case 38: // arrow up
case 40: // arrow down
case 13: // enter
e.preventDefault();
return;
}
update();
});
jtd.addEvent(searchInput, 'keydown', function(e){
switch (e.keyCode) {
case 38: // arrow up
e.preventDefault();
var active = document.querySelector('.search-result.active');
if (active) {
active.classList.remove('active');
if (active.parentElement.previousSibling) {
var previous = active.parentElement.previousSibling.querySelector('.search-result');
previous.classList.add('active');
}
}
return;
case 40: // arrow down
e.preventDefault();
var active = document.querySelector('.search-result.active');
if (active) {
if (active.parentElement.nextSibling) {
var next = active.parentElement.nextSibling.querySelector('.search-result');
active.classList.remove('active');
next.classList.add('active');
}
} else {
var next = document.querySelector('.search-result');
if (next) {
next.classList.add('active');
}
}
return;
case 13: // enter
e.preventDefault();
var active = document.querySelector('.search-result.active');
if (active) {
active.click();
} else {
var first = document.querySelector('.search-result');
if (first) {
first.click();
}
}
return;
}
});
jtd.addEvent(document, 'click', function(e){
if (e.target != searchInput) {
hideSearch();
}
});
}
{%- endif %}
// Switch theme
jtd.getTheme = function() {
var cssFileHref = document.querySelector('[rel="stylesheet"]').getAttribute('href');
return cssFileHref.substring(cssFileHref.lastIndexOf('-') + 1, cssFileHref.length - 4);
} }
function pageFocus() { jtd.setTheme = function(theme) {
var mainContent = document.querySelector('.js-main-content'); var cssFile = document.querySelector('[rel="stylesheet"]');
mainContent.focus(); cssFile.setAttribute('href', '{{ "assets/css/just-the-docs-" | absolute_url }}' + theme + '.css');
} }
// Document ready // Document ready
function ready(){ jtd.onReady(function(){
toggleNav(); initNav();
pageFocus(); {%- if site.search_enabled != false %}
if (typeof lunr !== 'undefined') { initSearch();
initSearch(); {%- endif %}
}
}
// in case the document is already rendered
if (document.readyState!='loading') ready();
// modern browsers
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready);
// IE <= 8
else document.attachEvent('onreadystatechange', function(){
if (document.readyState=='complete') ready();
}); });
})(window.jtd = window.jtd || {});
{% include js/custom.js %}

View File

@@ -1,12 +0,0 @@
---
---
{
{% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
"id": "{{ forloop.index0 }}",
"title": "{{ page.title | replace: '&amp;', '&' }}",
"content": "{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\', ' ' | normalize_whitespace }}",
"url": "{{ page.url | absolute_url }}",
"relUrl": "{{ page.url }}"
}{% unless forloop.last %},{% endunless %}
{% endif %}{% endfor %}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,58 @@
---
permalink: /assets/js/search-data.json
---
{
{%- assign i = 0 -%}
{% for page in site.html_pages %}
{%- if page.title and page.search_exclude != true -%}
{%- assign page_content = page.content -%}
{%- assign heading_level = site.search.heading_level | default: 2 -%}
{%- for j in (2..heading_level) -%}
{%- assign tag = '<h' | append: j -%}
{%- assign closing_tag = '</h' | append: j -%}
{%- assign page_content = page_content | replace: tag, '<h1' | replace: closing_tag, '</h1' -%}
{%- endfor -%}
{%- assign parts = page_content | split: '<h1' -%}
{%- assign title_found = false -%}
{% for part in parts offset: 1 %}
{%- assign titleAndContent = part | split: '</h1>' -%}
{%- assign title = titleAndContent[0] | replace_first: '>', '<h1>' | split: '<h1>' -%}
{%- assign title = title[1] | strip_html -%}
{%- assign content = titleAndContent[1] -%}
{%- assign url = page.url -%}
{%- if title == page.title and parts[0] == '' -%}
{%- assign title_found = true -%}
{%- else -%}
{%- assign id = titleAndContent[0] -%}
{%- assign id = id | split: 'id="' -%}
{%- if id.size == 2 -%}
{%- assign id = id[1] -%}
{%- assign id = id | split: '"' -%}
{%- assign id = id[0] -%}
{%- capture url -%}{{ url | append: '#' | append: id }}{%- endcapture -%}
{%- endif -%}
{%- endif -%}
{%- unless i == 0 -%},{%- endunless -%}
"{{ i }}": {
"doc": {{ page.title | jsonify }},
"title": {{ title | jsonify }},
"content": {{ content | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '<ul', ' . <ul' | replace: '</ul', ' . </ul' | replace: '<ol', ' . <ol' | replace: '</ol', ' . </ol' | replace: '</tr', ' . </tr' | replace: '<li', ' | <li' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | replace: '<td', ' | <td' | replace: '</th', ' | </th' | replace: '<th', ' | <th' | strip_html | remove: 'Table of contents' | normalize_whitespace | replace: '. . .', '.' | replace: '. .', '.' | replace: '| |', '|' | append: ' ' | jsonify }},
"url": "{{ url | absolute_url }}",
"relUrl": "{{ url }}"
}
{%- assign i = i | plus: 1 -%}
{%- endfor -%}
{%- unless title_found -%}
{%- unless i == 0 -%},{%- endunless -%}
"{{ i }}": {
"doc": {{ page.title | jsonify }},
"title": {{ page.title | jsonify }},
"content": {{ parts[0] | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '<ul', ' . <ul' | replace: '</ul', ' . </ul' | replace: '<ol', ' . <ol' | replace: '</ol', ' . </ol' | replace: '</tr', ' . </tr' | replace: '<li', ' | <li' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | replace: '<td', ' | <td' | replace: '</th', ' | </th' | replace: '<th', ' | <th' | strip_html | remove: 'Table of contents' | normalize_whitespace | replace: '. . .', '.' | replace: '. .', '.' | replace: '| |', '|' | append: ' ' | jsonify }},
"url": "{{ page.url | absolute_url }}",
"relUrl": "{{ page.url }}"
}
{%- assign i = i | plus: 1 -%}
{%- endunless -%}
{%- endif -%}
{% endfor %}
}

View File

@@ -22,11 +22,43 @@ Just the Docs has some specific configuration parameters that can be defined in
View this site's [_config.yml](https://github.com/pmarsceill/just-the-docs/tree/master/_config.yml) file as an example. View this site's [_config.yml](https://github.com/pmarsceill/just-the-docs/tree/master/_config.yml) file as an example.
## Search enabled ## 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
```yaml ```yaml
# Enable or disable the site search # Enable or disable the site search
# Supports true (default) or false
search_enabled: true 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
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
``` ```
## Aux links ## Aux links
@@ -34,31 +66,68 @@ search_enabled: true
```yaml ```yaml
# Aux links for the upper right navigation # Aux links for the upper right navigation
aux_links: aux_links:
"Just the Docs on GitHub": "Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs" - "//github.com/pmarsceill/just-the-docs"
# Makes Aux links open in a new tab. Default is false
aux_links_new_tab: false
``` ```
## Heading anchor links
```yaml
# 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.
#
# Supports true (default) or false
heading_anchors: true
```
## Footer content
```yaml
# Footer content
# appears at the bottom of every page's main content
footer_content: "Copyright &copy; 2017-2019 Patrick Marsceill. Distributed by an <a href=\"https://github.com/pmarsceill/just-the-docs/tree/master/LICENSE.txt\">MIT license.</a>"
# Footer last edited timestamp
last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
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
gh_edit_branch: "master" # the branch that your docs is served from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately
```
- 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_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
## Color scheme ## Color scheme
```yaml ```yaml
# Color scheme currently only supports "dark" or nil (default) # Color scheme supports "light" (default) and "dark"
color_scheme: "dark" color_scheme: dark
``` ```
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button> <button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script> <script>
const toggleDarkMode = document.querySelector('.js-toggle-dark-mode') const toggleDarkMode = document.querySelector('.js-toggle-dark-mode');
const cssFile = document.querySelector('[rel="stylesheet"]')
const originalCssRef = cssFile.getAttribute('href')
const darkModeCssRef = originalCssRef.replace('just-the-docs.css', 'dark-mode-preview.css')
addEvent(toggleDarkMode, 'click', function(){ jtd.addEvent(toggleDarkMode, 'click', function(){
if (cssFile.getAttribute('href') === originalCssRef) { if (jtd.getTheme() === 'dark') {
cssFile.setAttribute('href', darkModeCssRef) jtd.setTheme('light');
toggleDarkMode.textContent = 'Preview dark color scheme';
} else { } else {
cssFile.setAttribute('href', originalCssRef) jtd.setTheme('dark');
toggleDarkMode.textContent = 'Return to the light side';
} }
}) });
</script> </script>
See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more information. See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more information.
@@ -69,4 +138,5 @@ See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more
# Google Analytics Tracking (optional) # Google Analytics Tracking (optional)
# e.g, UA-1234567-89 # e.g, UA-1234567-89
ga_tracking: UA-5555555-55 ga_tracking: UA-5555555-55
ga_tracking_anonymize_ip: true # Use GDPR compliant Google Analytics settings (true by default)
``` ```

View File

@@ -29,45 +29,87 @@ To enable a color scheme, set the `color_scheme` parameter in your site's `_conf
{: .no_toc } {: .no_toc }
```yaml ```yaml
# Color scheme currently only supports "dark" or nil (default) # Color scheme supports "light" (default) and "dark"
color_scheme: "dark" color_scheme: dark
``` ```
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button> <button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script> <script>
const toggleDarkMode = document.querySelector('.js-toggle-dark-mode') const toggleDarkMode = document.querySelector('.js-toggle-dark-mode');
const cssFile = document.querySelector('[rel="stylesheet"]')
const originalCssRef = cssFile.getAttribute('href')
const darkModeCssRef = originalCssRef.replace('just-the-docs.css', 'dark-mode-preview.css')
addEvent(toggleDarkMode, 'click', function(){ jtd.addEvent(toggleDarkMode, 'click', function(){
if (cssFile.getAttribute('href') === originalCssRef) { if (jtd.getTheme() === 'dark') {
cssFile.setAttribute('href', darkModeCssRef) jtd.setTheme('light');
toggleDarkMode.textContent = 'Preview dark color scheme';
} else { } else {
cssFile.setAttribute('href', originalCssRef) jtd.setTheme('dark');
toggleDarkMode.textContent = 'Return to the light side';
} }
}) });
</script> </script>
## Specific visual customization ## Custom schemes
To customize your sites aesthetic, open `_sass/custom/custom.scss` in your editor to see if there is a variable that you can override. Most styles like fonts, colors, spacing, etc. are derived from these variables. To override a specific variable, uncomment its line and change its value. ### Define a custom scheme
For example, to change the link color from the purple default to blue, open `_sass/custom/custom.css` and find the `$link-color` variable on line `50`. Uncomment it, and change its value to our `$blue-000` variable, or another shade of your choosing. You can add custom schemes.
If you want to add a scheme named `foo` (can be any name) just add a file `_sass/color_schemes/foo.scss` (replace `foo` by your scheme name)
where you override theme variables to change colors, fonts, spacing, etc.
Available variables are listed in the [_variables.scss](https://github.com/pmarsceill/just-the-docs/tree/master/_sass/support/_variables.scss) file.
For example, to change the link color from the purple default to blue, include the following inside your scheme file:
#### Example #### Example
{: .no_toc } {: .no_toc }
```scss ```scss
// ...
//
// $body-text-color: $grey-dk-100;
// $body-heading-color: $grey-dk-300;
$link-color: $blue-000; $link-color: $blue-000;
//
// ...
``` ```
_Note:_ Editing the variables directly in `_sass/support/variables.scss` is not recommended and can cause other dependencies to fail. _Note:_ Editing the variables directly in `_sass/support/variables.scss` is not recommended and can cause other dependencies to fail.
Please use scheme files.
--- ### Use a custom scheme
To use the custom color scheme, only set the `color_scheme` parameter in your site's `_config.yml` file:
```yaml
color_scheme: foo
```
### Switchable custom scheme
If you want to be able to change the scheme dynamically, for example via javascript, just add a file `assets/css/just-the-docs-foo.scss` (replace `foo` by your scheme name)
with the following content:`
{% raw %}
---
---
{% include css/just-the-docs.scss.liquid color_scheme="foo" %}
{% endraw %}
This allows you to switch the scheme via the following javascript.
```js
jtd.setTheme('foo');
```
## Override and completely custom styles
For styles that aren't defined as variables, you may want to modify specific CSS classes.
Additionally, you may want to add completely custom CSS specific to your content.
To do this, put your styles in the file `_sass/custom/custom.scss`.
This will allow for all overrides to be kept in a single file, and for any upstream changes to still be applied.
For example, if you'd like to add your own styles for printing a page, you could add the following styles.
#### Example
{: .no_toc }
```scss
// Print-only styles.
@media print {
.side-bar, .page-header { display: none; }
.main-content { max-width: auto; margin: 1em;}
}
```

View File

@@ -38,6 +38,13 @@ nav_order: 4
--- ---
``` ```
The specified `nav_order` parameters on a site should be all integers or all strings.
Pages without a `nav_order` parameter are ordered alphabetically by their `title`,
and appear after the explicitly-ordered pages at each level.
By default, all Capital letters are sorted before all lowercase letters;
adding `nav_sort: case_insensitive` in the configuration file ignores case
when sorting strings (but also sorts numbers lexicographically: `10` comes before `1`).
--- ---
## Excluding pages ## Excluding pages
@@ -67,7 +74,7 @@ Sometimes you will want to create a page with many children (a section). First,
| |
|-- docs |-- docs
| |-- ui-components | |-- ui-components
| | |-- ui-components.md (parent page) | | |-- index.md (parent page)
| | |-- buttons.md | | |-- buttons.md
| | |-- code.md | | |-- code.md
| | |-- labels.md | | |-- labels.md
@@ -75,7 +82,7 @@ Sometimes you will want to create a page with many children (a section). First,
| | +-- typography.md | | +-- typography.md
| | | |
| |-- utilities | |-- utilities
| | |-- utilities.md (parent page) | | |-- index.md (parent page)
| | |-- color.md | | |-- color.md
| | |-- layout.md | | |-- layout.md
| | |-- responsive-modifiers.md | | |-- responsive-modifiers.md
@@ -88,9 +95,8 @@ Sometimes you will want to create a page with many children (a section). First,
+-- .. +-- ..
``` ```
On the parent pages, add 2 YAML front matter parameters: On the parent pages, add this YAML front matter parameter:
- `has_children: true` (tells us that this is a parent page) - `has_children: true` (tells us that this is a parent page)
- `permalink:` set this to the site directory that contains the child pages
#### Example #### Example
{: .no_toc } {: .no_toc }
@@ -101,7 +107,6 @@ layout: default
title: UI Components title: UI Components
nav_order: 2 nav_order: 2
has_children: true has_children: true
permalink: /docs/ui-components
--- ---
``` ```
@@ -140,7 +145,6 @@ title: UI Components
nav_order: 2 nav_order: 2
has_children: true has_children: true
has_toc: false has_toc: false
permalink: /docs/ui-components
--- ---
``` ```
@@ -193,9 +197,9 @@ This would create the following navigation structure:
--- ---
## Auxiliary Navigation ## Auxiliary Links
To add a auxiliary navigation item to your site (in the upper right on all pages), add it to the `aux_nav` [configuration option]({{ site.baseurl }}{% link docs/configuration.md %}#aux-nav) in your site's `_config.yml` file. To add auxiliary links to your site (in the upper right on all pages), add it to the `aux_links` [configuration option]({{ site.baseurl }}{% link docs/configuration.md %}#aux-links) in your site's `_config.yml` file.
#### Example #### Example
{: .no_toc } {: .no_toc }
@@ -227,4 +231,21 @@ To generate a Table of Contents on your docs pages, you can use the `{:toc}` met
{:toc} {:toc}
``` ```
This example skips the page name heading (`#`) from the TOC, as well as the heading for the Table of Contents itself (`##`) because it is redundant, followed by the table of contents itself. This example skips the page name heading (`#`) from the TOC, as well as the heading for the Table of Contents itself (`##`) because it is redundant, followed by the table of contents itself. To get an unordered list, replace `1. TOC` above by `- TOC`.
### Collapsible Table of Contents
The Table of Contents can be made collapsible using the `<details>` and `<summary>` elements , as in the following example. The attribute `open` (expands the Table of Contents by default) and the styling with `{: .text-delta }` are optional.
```markdown
<details open markdown="block">
<summary>
Table of contents
</summary>
{: .text-delta }
1. TOC
{:toc}
</details>
```
The result is shown at [the top of this page](#navigation-structure) (`{:toc}` can be used only once on each page).

View File

@@ -15,53 +15,90 @@ nav_order: 7
--- ---
Just the Docs uses [lunr.js](http://lunrjs.com) to add a client-side search interface powered by a JSON index that Jekyll generates. All search results are shown in an auto-complete style interface (there is no search results page). By default, all generated HTML pages are indexed using the following data points: Just the Docs uses [lunr.js](http://lunrjs.com) to add a client-side search interface powered by a JSON index that Jekyll generates.
All search results are shown in an auto-complete style interface (there is no search results page).
By default, all generated HTML pages are indexed using the following data points:
- Page title - Page title
- Page content - Page content
- Page URL - Page URL
## Set up search ## Enable search in configuration
### Generate search index
Before you can use search, you must initialize the feature by running this `rake` command that comes with `just-the-docs`:
```bash
$ bundle exec just-the-docs rake search:init
```
This command creates the `search-data.json` file that Jekyll uses to create your search index. Alternatively, you can create the file manually in the `assets/js/` directory of your Jekyll site with this content:
```liquid
{% raw %}---
---
{
{% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
"id": "{{ forloop.index0 }}",
"title": "{{ page.title | replace: '&amp;', '&' }}",
"content": "{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\', ' ' | normalize_whitespace }}",
"url": "{{ page.url | absolute_url }}",
"relUrl": "{{ page.url }}"
}{% unless forloop.last %},{% endunless %}
{% endif %}{% endfor %}
}{% endraw %}
```
_Note: If you don't run this rake command or create this file manually, search will not work (or it will use the search index data from this docs site, not your site's content)._
### Enable search in configuration
In your site's `_config.yml`, enable search: In your site's `_config.yml`, enable search:
```yaml ```yaml
# Enable or disable the site search # Enable or disable the site search
# Supports true (default) or false
search_enabled: true search_enabled: true
``` ```
### Search granularity
Pages are split into sections that can be searched individually.
The sections are defined by the headings on the page.
Each section is displayed in a separate search result.
```yaml
# Split pages into sections that can be searched individually
# Supports 1 - 6, default: 2
search.heading_level: 2
```
### Search previews
A search result can contain previews that show where the search words are found in the specific section.
```yaml
# Maximum amount of previews per search result
# Default: 3
search.previews: 3
# Maximum amount of words to display before a matched word in the preview
# Default: 5
search.preview_words_before: 5
# Maximum amount of words to display after a matched word in the preview
# Default: 10
search.preview_words_after: 10
```
### Search tokenizer
The default is for hyphens to separate tokens in search terms:
`gem-based` is equivalent to `gem based`, matching either word.
To allow search for hyphenated words:
```yaml
# Set the search token separator
# Default: /[\s\-/]+/
# Example: enable support for hyphenated search words
search.tokenizer_separator: /[\s/]+/
```
### Display URL in search results
```yaml
# Display the relative url in search results
# Supports true (default) or false
search.rel_url: false
```
### Display search button
The search button displays in the bottom right corner of the screen and triggers the search input when clicked.
```yaml
# Enable or disable the search button that appears in the bottom right corner of every page
# Supports true or false (default)
search.button: true
```
## Hiding pages from search ## Hiding pages from search
Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g, a 404 page. To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter: Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g, a 404 page.
To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter:
#### Example #### Example
{: .no_toc } {: .no_toc }
@@ -74,3 +111,17 @@ nav_exclude: true
search_exclude: true search_exclude: true
--- ---
``` ```
## Generate search index when used as a gem
If you use Just the Docs as a remote theme, you do not need the following steps.
If you use the theme as a gem, you must initialize the search by running this `rake` command that comes with `just-the-docs`:
```bash
$ bundle exec just-the-docs rake search:init
```
This command creates the `assets/js/zzzz-search-data.json` file that Jekyll uses to create your search index.
Alternatively, you can create the file manually with [this content]({{ site.github.repository_url }}/blob/master/assets/js/zzzz-search-data.json).

View File

@@ -22,9 +22,14 @@ Code can be rendered inline by wrapping it in single back ticks.
<div class="code-example" markdown="1"> <div class="code-example" markdown="1">
Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
## Heading with `<inline code snippet>` in it.
{: .no_toc }
</div> </div>
```markdown ```markdown
Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
## Heading with `<inline code snippet>` in it.
``` ```
--- ---

View File

@@ -2,7 +2,6 @@
layout: default layout: default
title: Color title: Color
parent: Utilities parent: Utilities
nav_order: 3
--- ---
# Color Utilities # Color Utilities

View File

@@ -2,7 +2,6 @@
layout: default layout: default
title: Layout title: Layout
parent: Utilities parent: Utilities
nav_order: 2
--- ---
# Layout Utilities # Layout Utilities
@@ -52,6 +51,9 @@ Spacing values are based on a `1rem = 16px` spacing scale, broken down into thes
| `6` | 2rem | 32px | | `6` | 2rem | 32px |
| `7` | 2.5rem | 40px | | `7` | 2.5rem | 40px |
| `8` | 3rem | 48px | | `8` | 3rem | 48px |
| `auto` | auto | auto |
Use `mx-auto` to horizontally center elements.
#### Examples #### Examples
{: .no_toc } {: .no_toc }
@@ -66,6 +68,19 @@ This paragraph will have 2rem/32px of padding on the right and left at all scree
{: .px-6 } {: .px-6 }
``` ```
## Horizontal Alignment
| Classname | What it does |
|:------------------------|:---------------------------------|
| `.float-left` | `float: left` |
| `.float-right` | `float: right` |
| `.flex-justify-start` | `justify-content: flex-start` |
| `.flex-justify-end` | `justify-content: flex-end` |
| `.flex-justify-between` | `justify-content: space-between` |
| `.flex-justify-around` | `justify-content: space-around` |
_Note: any of the `flex-` classes must be used on a parent element that has `d-flex` applied to it._
## Vertical Alignment ## Vertical Alignment
| Classname | What it does | | Classname | What it does |

View File

@@ -2,7 +2,6 @@
layout: default layout: default
title: Responsive Modifiers title: Responsive Modifiers
parent: Utilities parent: Utilities
nav_order: 1
--- ---
# Responsive modifiers # Responsive modifiers

View File

@@ -2,7 +2,6 @@
layout: default layout: default
title: Typography title: Typography
parent: Utilities parent: Utilities
nav_order: 4
--- ---
# Typography Utilities # Typography Utilities
@@ -145,3 +144,13 @@ Default line height
Default line height Default line height
{: .fh-default } {: .fh-default }
``` ```
## Text justification
By default text is justified left. Use these `text-` classes to override settings:
| Class | What it does |
|:---------------|:---------------------|
| `.text-left` | `text-align: left` |
| `.text-right` | `text-align: right` |
| `.text-center` | `text-align: center` |

View File

@@ -4,6 +4,7 @@ title: Home
nav_order: 1 nav_order: 1
description: "Just the Docs is a responsive Jekyll theme with built-in search that is easily customizable and hosted on GitHub Pages." description: "Just the Docs is a responsive Jekyll theme with built-in search that is easily customizable and hosted on GitHub Pages."
permalink: / permalink: /
last_modified_date: 2020-04-27T17:54:08+0000
--- ---
# Focus on writing good documentation # Focus on writing good documentation
@@ -20,7 +21,7 @@ Just the Docs gives your documentation a jumpstart with a responsive Jekyll them
### Dependencies ### Dependencies
Just the Docs is built for [Jekyll](https://jekyllrb.com), a static site generator. View the [quick start guide](https://jekyllrb.com/docs/) for more information. Just the Docs requires no special Jekyll plugins and can run on GitHub Pages' standard Jekyll compiler. Just the Docs is built for [Jekyll](https://jekyllrb.com), a static site generator. View the [quick start guide](https://jekyllrb.com/docs/) for more information. Just the Docs requires no special plugins and can run on GitHub Pages' standard Jekyll compiler. The [Jekyll SEO Tag plugin](https://github.com/jekyll/jekyll-seo-tag) is included by default (no need to run any special installation) to inject SEO and open graph metadata on docs pages. For information on how to configure SEO and open graph metadata visit the [Jekyll SEO Tag usage guide](https://jekyll.github.io/jekyll-seo-tag/usage/).
### Quick start: Use as a GitHub Pages remote theme ### Quick start: Use as a GitHub Pages remote theme
@@ -68,7 +69,7 @@ If you're hosting your site on GitHub Pages, [set up GitHub Pages and Jekyll loc
## About the project ## About the project
Just the Docs is &copy; 2017-2019 by [Patrick Marsceill](http://patrickmarsceill.com). Just the Docs is &copy; 2017-{{ "now" | date: "%Y" }} by [Patrick Marsceill](http://patrickmarsceill.com).
### License ### License
@@ -79,6 +80,16 @@ Just the Docs is distributed by an [MIT license](https://github.com/pmarsceill/j
When contributing to this repository, please first discuss the change you wish to make via issue, When contributing to this repository, please first discuss the change you wish to make via issue,
email, or any other method with the owners of this repository before making a change. Read more about becoming a contributor in [our GitHub repo](https://github.com/pmarsceill/just-the-docs#contributing). email, or any other method with the owners of this repository before making a change. Read more about becoming a contributor in [our GitHub repo](https://github.com/pmarsceill/just-the-docs#contributing).
#### Thank you to the contributors of Just the Docs!
<ul class="list-style-none">
{% for contributor in site.github.contributors %}
<li class="d-inline-block mr-1">
<a href="{{ contributor.html_url }}"><img src="{{ contributor.avatar_url }}" width="32" height="32" alt="{{ contributor.login }}"/></a>
</li>
{% endfor %}
</ul>
### Code of Conduct ### Code of Conduct
Just the Docs is committed to fostering a welcoming community. Just the Docs is committed to fostering a welcoming community.

View File

@@ -2,20 +2,20 @@
Gem::Specification.new do |spec| Gem::Specification.new do |spec|
spec.name = "just-the-docs" spec.name = "just-the-docs"
spec.version = "0.2.5" spec.version = "0.3.1"
spec.authors = ["Patrick Marsceill"] spec.authors = ["Patrick Marsceill"]
spec.email = ["patrick.marsceill@gmail.com"] spec.email = ["patrick.marsceill@gmail.com"]
spec.summary = %q{A modern, high customizable, responsive Jekyll theme for documention with built-in search.} spec.summary = %q{A modern, highly customizable, and responsive Jekyll theme for documention with built-in search.}
spec.homepage = "https://github.com/pmarsceill/just-the-docs" spec.homepage = "https://github.com/pmarsceill/just-the-docs"
spec.license = "MIT" spec.license = "MIT"
spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README)}i) } spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|bin|_layouts|_includes|lib|Rakefile|_sass|LICENSE|README)}i) }
spec.executables << 'just-the-docs' spec.executables << 'just-the-docs'
spec.add_runtime_dependency "jekyll", "~> 3.8.5" spec.add_development_dependency "bundler", "~> 2.1.4"
spec.add_runtime_dependency "jekyll", ">= 3.8.5"
spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.0" spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.0"
spec.add_runtime_dependency "rake", "~> 12.3.1" spec.add_runtime_dependency "rake", ">= 12.3.1", "< 13.1.0"
spec.add_development_dependency "bundler", "~> 2.0.1"
end end

View File

@@ -3,23 +3,68 @@ namespace :search do
task :init do task :init do
puts 'Creating search data json file...' puts 'Creating search data json file...'
mkdir_p 'assets/js' mkdir_p 'assets/js'
touch 'assets/js/search-data.json' touch 'assets/js/zzzz-search-data.json'
content = %Q[{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\\', ' ' | normalize_whitespace }}]
puts 'Done.' puts 'Done.'
puts 'Generating content...' puts 'Generating content...'
File.open('assets/js/search-data.json', 'w') do |f| File.open('assets/js/zzzz-search-data.json', 'w') do |f|
f.puts '--- f.puts '---
permalink: /assets/js/search-data.json
--- ---
{ {
{% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": { {%- assign i = 0 -%}
"id": "{{ forloop.index0 }}", {% for page in site.html_pages %}
"title": "{{ page.title | replace: \'&amp;\', \'&\' }}", {%- if page.title and page.search_exclude != true -%}
"content": "'+content+'", {%- assign page_content = page.content -%}
{%- assign heading_level = site.search.heading_level | default: 2 -%}
{%- for j in (2..heading_level) -%}
{%- assign tag = \'<h\' | append: j -%}
{%- assign closing_tag = \'</h\' | append: j -%}
{%- assign page_content = page_content | replace: tag, \'<h1\' | replace: closing_tag, \'</h1\' -%}
{%- endfor -%}
{%- assign parts = page_content | split: \'<h1\' -%}
{%- assign title_found = false -%}
{% for part in parts offset: 1 %}
{%- assign titleAndContent = part | split: \'</h1>\' -%}
{%- assign title = titleAndContent[0] | replace_first: \'>\', \'<h1>\' | split: \'<h1>\' -%}
{%- assign title = title[1] | strip_html -%}
{%- assign content = titleAndContent[1] -%}
{%- assign url = page.url -%}
{%- if title == page.title and parts[0] == \'\' -%}
{%- assign title_found = true -%}
{%- else -%}
{%- assign id = titleAndContent[0] -%}
{%- assign id = id | split: \'id="\' -%}
{%- if id.size == 2 -%}
{%- assign id = id[1] -%}
{%- assign id = id | split: \'"\' -%}
{%- assign id = id[0] -%}
{%- capture url -%}{{ url | append: \'#\' | append: id }}{%- endcapture -%}
{%- endif -%}
{%- endif -%}
{%- unless i == 0 -%},{%- endunless -%}
"{{ i }}": {
"doc": {{ page.title | jsonify }},
"title": {{ title | jsonify }},
"content": {{ content | replace: \'</h\', \' . </h\' | replace: \'<hr\', \' . <hr\' | replace: \'</p\', \' . </p\' | replace: \'<ul\', \' . <ul\' | replace: \'</ul\', \' . </ul\' | replace: \'<ol\', \' . <ol\' | replace: \'</ol\', \' . </ol\' | replace: \'</tr\', \' . </tr\' | replace: \'<li\', \' | <li\' | replace: \'</li\', \' | </li\' | replace: \'</td\', \' | </td\' | replace: \'<td\', \' | <td\' | replace: \'</th\', \' | </th\' | replace: \'<th\', \' | <th\' | strip_html | remove: \'Table of contents\' | normalize_whitespace | replace: \'. . .\', \'.\' | replace: \'. .\', \'.\' | replace: \'| |\', \'|\' | append: \' \' | jsonify }},
"url": "{{ url | absolute_url }}",
"relUrl": "{{ url }}"
}
{%- assign i = i | plus: 1 -%}
{%- endfor -%}
{%- unless title_found -%}
{%- unless i == 0 -%},{%- endunless -%}
"{{ i }}": {
"doc": {{ page.title | jsonify }},
"title": {{ page.title | jsonify }},
"content": {{ parts[0] | replace: \'</h\', \' . </h\' | replace: \'<hr\', \' . <hr\' | replace: \'</p\', \' . </p\' | replace: \'<ul\', \' . <ul\' | replace: \'</ul\', \' . </ul\' | replace: \'<ol\', \' . <ol\' | replace: \'</ol\', \' . </ol\' | replace: \'</tr\', \' . </tr\' | replace: \'<li\', \' | <li\' | replace: \'</li\', \' | </li\' | replace: \'</td\', \' | </td\' | replace: \'<td\', \' | <td\' | replace: \'</th\', \' | </th\' | replace: \'<th\', \' | <th\' | strip_html | remove: \'Table of contents\' | normalize_whitespace | replace: \'. . .\', \'.\' | replace: \'. .\', \'.\' | replace: \'| |\', \'|\' | append: \' \' | jsonify }},
"url": "{{ page.url | absolute_url }}", "url": "{{ page.url | absolute_url }}",
"relUrl": "{{ page.url }}" "relUrl": "{{ page.url }}"
}{% unless forloop.last %},{% endunless %} }
{% endif %}{% endfor %} {%- assign i = i | plus: 1 -%}
{%- endunless -%}
{%- endif -%}
{% endfor %}
}' }'
end end
puts 'Done.' puts 'Done.'

2256
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,23 @@
{ {
"name": "just-the-docs", "name": "just-the-docs",
"version": "0.2.5", "version": "0.3.1",
"description": "A modern Jekyll theme for documentation", "description": "A modern Jekyll theme for documentation",
"repository": "pmarsceill/just-the-docs", "repository": "pmarsceill/just-the-docs",
"license": "MIT", "license": "MIT",
"bugs": "https://github.com/pmarsceill/just-the-docs/issues", "bugs": "https://github.com/pmarsceill/just-the-docs/issues",
"devDependencies": { "devDependencies": {
"stylelint": "^10.0.1", "@primer/css": "^14.4.0",
"stylelint-config-primer": "^7.0.0", "prettier": "^2.0.5",
"stylelint": "^13.6.1",
"stylelint-config-prettier": "^8.0.2",
"stylelint-config-primer": "^9.0.0",
"stylelint-prettier": "^1.1.2",
"stylelint-selector-no-utility": "^4.0.0" "stylelint-selector-no-utility": "^4.0.0"
}, },
"dependencies": {
"@primer/css": "^12.3.1"
},
"scripts": { "scripts": {
"test": "stylelint '**/*.scss'" "test": "stylelint '**/*.scss'",
} "format": "prettier --write '**/*.{scss,js,json}'",
"stylelint-check": "stylelint-config-prettier-check"
},
"dependencies": {}
} }