Compare commits

...

186 Commits

Author SHA1 Message Date
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
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
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
Patrick Marsceill
3d01578c7d Update main.workflow 2019-05-13 17:23:16 -04:00
Patrick Marsceill
9663d4cba3 try this 2019-05-13 17:16:01 -04:00
Patrick Marsceill
552bf46bc9 not sure what happened here 2019-05-13 17:07:00 -04:00
Patrick Marsceill
6c5d550fa5 update deps 2019-05-13 17:04:16 -04:00
Patrick Marsceill
0f2de675b6 wrong layout 2019-05-13 17:04:06 -04:00
Patrick Marsceill
38521bd845 Put that back, wont build on GH page without it 2019-05-13 16:57:56 -04:00
Patrick Marsceill
a4da666d2a Add new liting rule disables 2019-05-13 16:55:22 -04:00
Patrick Marsceill
f1dcbec0a9 Merge pull request #123 from pmarsceill/dependabot/npm_and_yarn/stylelint-config-primer-7.0.0
Bump stylelint-config-primer from 6.0.0 to 7.0.0
2019-05-13 16:44:48 -04:00
Patrick Marsceill
e6f6001960 Merge pull request #129 from pmarsceill/dependabot/npm_and_yarn/@primer/css-12.3.1
Bump @primer/css from 12.2.3 to 12.3.1
2019-05-13 16:44:24 -04:00
Patrick Marsceill
501bd0169c Merge branch 'v0.2.5-release' of github.com:pmarsceill/just-the-docs into v0.2.5-release 2019-05-13 16:42:40 -04:00
Patrick Marsceill
f06cf593ff bump versions 2019-05-13 16:42:29 -04:00
Patrick Marsceill
460e9ae236 No title if SEO is enbaled 2019-05-13 16:40:28 -04:00
Patrick Marsceill
4d3375a834 Favicon file 2019-05-13 16:40:14 -04:00
Patrick Marsceill
3a3c4a83fa Fix subpath to avoid double slash 2019-05-13 16:40:01 -04:00
Patrick Marsceill
0254d9961a Update main.workflow 2019-05-13 16:37:01 -04:00
dependabot[bot]
d2b3d57eb9 Bump @primer/css from 12.2.3 to 12.3.1
Bumps [@primer/css](https://github.com/primer/css) from 12.2.3 to 12.3.1.
- [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.2.3...v12.3.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-10 10:21:45 +00:00
dependabot[bot]
32401d05a3 Bump stylelint-config-primer from 6.0.0 to 7.0.0
Bumps [stylelint-config-primer](https://github.com/primer/stylelint-config-primer) from 6.0.0 to 7.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/v6.0.0...v7.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-01 10:21:16 +00:00
Patrick Marsceill
9a076b48ac Merge pull request #122 from pmarsceill/v0.2.4-release
v0.2.4 release branch
2019-04-30 18:17:36 -07:00
Patrick Marsceill
2c789d408c Merge branch 'master' into v0.2.4-release 2019-04-30 18:14:27 -07:00
Patrick Marsceill
4fb036ebac Update main.workflow 2019-04-30 18:14:13 -07:00
Patrick Marsceill
f255c07c7f update for latest stylint config 2019-04-30 18:00:56 -07:00
Patrick Marsceill
ce2d213dbe Merge pull request #105 from pmarsceill/dependabot/npm_and_yarn/stylelint-config-primer-6.0.0
Bump stylelint-config-primer from 3.0.1 to 6.0.0
2019-04-30 17:41:34 -07:00
Patrick Marsceill
95b76010c2 Merge branch 'v0.2.4-release' into dependabot/npm_and_yarn/stylelint-config-primer-6.0.0 2019-04-30 17:40:42 -07:00
Patrick Marsceill
ca0af1795a Merge pull request #115 from pmarsceill/dependabot/npm_and_yarn/stylelint-10.0.1
Bump stylelint from 9.10.1 to 10.0.1
2019-04-30 17:38:20 -07:00
Patrick Marsceill
f9e03e1248 Merge pull request #95 from gebeto/master
Add SEO and 'lang' param for `_config`
2019-04-30 17:35:22 -07:00
Patrick Marsceill
c83bdf853e Merge pull request #97 from montchr/montchr-50-sass-custom-import-order
Import custom Sass variable overrides before default variables are defined
2019-04-30 17:32:53 -07:00
Patrick Marsceill
af77e527d0 Merge pull request #102 from JoeNyland/patch-1
Remove unnecessary console.log()
2019-04-30 17:30:33 -07:00
Patrick Marsceill
151691eb09 Merge pull request #117 from gnarea/gh-pages-local
Explain how to use theme locally with GitHub Pages
2019-04-30 17:27:46 -07:00
Patrick Marsceill
4de1bdaf65 Update index.md 2019-04-30 20:24:46 -04:00
Gus Narea
afaa3ab225 Explain how to use theme locally with GitHub Pages 2019-04-17 23:41:04 +01:00
dependabot[bot]
e356659dbe Bump stylelint from 9.10.1 to 10.0.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 9.10.1 to 10.0.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/9.10.1...10.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-16 10:24:11 +00:00
David Darnes
9fb4bcfdc2 Make sure baseurl is appended to the logo href 2019-04-03 10:32:05 +01:00
dependabot[bot]
0ec44bd474 Bump stylelint-config-primer from 3.0.1 to 6.0.0
Bumps [stylelint-config-primer](https://github.com/primer/stylelint-config-primer) from 3.0.1 to 6.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/commits/v6.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-19 10:33:34 +00:00
Joe Nyland
839cf91428 Remove unnecessary console.log() 2019-03-15 08:20:21 +00:00
Chris Montgomery
5291de45c5 Import custom overrides Sass before variables are used 2019-03-03 23:01:10 -05:00
gebeto
92fb6d1908 add jekyll-seo-tag to dependency to fix bundle crash 2019-02-28 09:08:27 +02:00
gebeto
8597aa4cac bump version to 0.2.4 2019-02-28 08:29:06 +02:00
gebeto
0bfd125087 add dynamic html 'lang' attribute 2019-02-28 08:11:12 +02:00
gebeto
25b6455ed7 add seo 2019-02-28 08:10:48 +02:00
Patrick Marsceill
b44efbf1da Merge pull request #89 from pmarsceill/github-action-for-release
Add main.workflow
2019-02-13 15:42:18 -05:00
Patrick Marsceill
8aa5982cd5 Add main.workflow 2019-02-06 14:54:07 -05:00
Patrick Marsceill
20f21217ca Merge pull request #86 from pmarsceill/v0.2.3
v0.2.3 Release Branch
2019-02-02 15:54:40 -08:00
Patrick Marsceill
96c053bb63 Merge branch 'master' into v0.2.3 2019-02-02 15:45:59 -08:00
Patrick Marsceill
d9a5bd0a19 lint 2019-02-02 17:43:14 -06:00
Patrick Marsceill
0ac8ec23bf Support for nesting ul in ol and vice versa 2019-02-02 17:38:36 -06:00
Patrick Marsceill
c40eec1c2f Merge pull request #87 from pmarsceill/feature-request
Update issue templates
2019-02-02 15:06:32 -08:00
Patrick Marsceill
de98c2b51b Update issue templates 2019-02-02 15:06:18 -08:00
Patrick Marsceill
c70f012eee Merge pull request #76 from pmarsceill/pmarsceill-patch-1
Add issue templates
2019-02-02 15:05:00 -08:00
Patrick Marsceill
aee6d1fb8c Use analytics.js instead of tag manager 2019-02-02 13:59:41 -08:00
Patrick Marsceill
f5d6cf6222 Add site url to config 2019-02-02 13:59:20 -08:00
Patrick Marsceill
f3fc9d9dd3 Update copyright date 2019-02-02 12:32:56 -08:00
Patrick Marsceill
a8c282ae5a Add docs for GA tracking 2019-02-02 12:32:33 -08:00
Patrick Marsceill
e12408d07b Add hook for GA tracking 2019-02-02 12:32:04 -08:00
Patrick Marsceill
a44d3a8652 Bump version numbers and description 2019-02-02 11:59:34 -08:00
Patrick Marsceill
ad867e37c0 move js class top parent div to fix page offset 2019-02-02 11:52:31 -08:00
Patrick Marsceill
01b500b1b3 Dont unesape this or it wont read the content var 2019-02-02 11:46:46 -08:00
Patrick Marsceill
84f8f003ac Merge pull request #73 from pmarsceill/dependabot/npm_and_yarn/stylelint-9.10.1
Bump stylelint from 9.9.0 to 9.10.1
2019-02-02 11:35:25 -08:00
Patrick Marsceill
ab20833d17 Merge pull request #77 from woernfl/patch-1
Just fixing a typo in the layout example
2019-02-02 11:33:23 -08:00
Patrick Marsceill
b77d22cf2e Merge pull request #81 from ilivewithian/patch-1
Bug: Can now show single search result.
2019-02-02 11:31:37 -08:00
Patrick Marsceill
35d7864874 Merge pull request #84 from novelistparty/master
fix #80 - escape the single quotes in the string
2019-02-02 11:27:01 -08:00
Patrick Marsceill
c9e4284754 Merge pull request #65 from stephenedmondson/master
search-data path fix
2019-02-02 11:22:53 -08:00
John Boyle
da0762007d escape the single quotes in the string 2019-01-31 10:02:06 -08:00
Rob White
5b8ff78bb6 Bug: Can now show single search result. 2019-01-29 13:39:20 +00:00
Florian Woerner
04e81c7158 Just fixing a typo in the layout example 2019-01-26 16:28:26 +01:00
Patrick Marsceill
b7913ec5a5 Update bug_report.md 2019-01-25 16:11:12 -05:00
Patrick Marsceill
25250db5e0 Add issue templates 2019-01-25 16:08:27 -05:00
dependabot[bot]
75f0ef57e2 Bump stylelint from 9.9.0 to 9.10.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 9.9.0 to 9.10.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/9.9.0...9.10.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-23 19:07:26 +00:00
Patrick Marsceill
eaafeee675 Merge pull request #74 from pmarsceill/v0.2.2
v0.2.2
2019-01-23 14:04:51 -05:00
Patrick Marsceill
10c0f95b40 Update just-the-docs.gemspec 2019-01-23 13:56:56 -05:00
Patrick Marsceill
8da9b82d66 Update package.json 2019-01-23 13:56:15 -05:00
Patrick Marsceill
b0e1c64a5a v0.2.2 release
v0.2.2 release branch
2019-01-23 13:54:12 -05:00
Patrick Marsceill
e1d226f192 Merge pull request #69 from bmann/patch-1
page layout also used out of the box by Jekyll
2019-01-23 13:51:26 -05:00
Patrick Marsceill
2de780bb4b Merge pull request #70 from EricFromCanada/improve-search
Improve search data generation
2019-01-23 13:19:08 -05:00
EricFromCanada
60c82cb518 Allow for ampersand in title or URL
Because `page.title` (and `page.url`) is already escaped and page titles served by lunrjs do not need escaping, ampersands need to be unescaped to display properly in search results.
2019-01-16 00:31:30 -05:00
EricFromCanada
9a4ea76957 Improve search content generator 2019-01-15 22:54:30 -05:00
EricFromCanada
793ea356c3 Use unless loop for comma
and mention `search_exclude`
2019-01-15 20:48:52 -05:00
EricFromCanada
71ba32e131 Additional text fixes 2019-01-15 20:48:48 -05:00
Boris Mann
37d54f5bf2 page layout also used out of the box by Jekyll
Suggesting page, since `about.md` uses it for new Jekyll installs as well.
2019-01-15 10:52:32 -08:00
Patrick Marsceill
ce947ae543 Merge pull request #67 from EricFromCanada/doc-cleanup
Documentation cleanup
2019-01-15 10:49:04 -05:00
EricFromCanada
2218e6e565 Fix links and syntax
For pages in utilities/, reorder `nav_order` to follow `parent`.
2019-01-14 14:43:33 -05:00
EricFromCanada
ae5bcfe361 Fix grammar and capitalization 2019-01-14 14:43:29 -05:00
EricFromCanada
ff49d02f83 Make spacing consistent 2019-01-14 14:43:16 -05:00
Stephen Edmondson
d7b1adb8c7 search-data path fix 2019-01-11 12:41:00 -06:00
Patrick Marsceill
b3fb5ebd87 Merge pull request #61 from pmarsceill/dependabot/bundler/bundler-tw-2.0.1
Update bundler requirement from ~> 1.17.1 to ~> 2.0.1
2019-01-07 10:44:05 -05:00
Patrick Marsceill
79a8cda356 Merge pull request #44 from pmarsceill/dependabot/npm_and_yarn/stylelint-config-primer-3.0.1
Bump stylelint-config-primer from 3.0.0 to 3.0.1
2019-01-07 10:43:34 -05:00
Patrick Marsceill
ae3f570370 Fix some styling bugs 2019-01-06 15:51:30 -05:00
Patrick Marsceill
f17700afe3 Better search index 2019-01-06 15:51:17 -05:00
Patrick Marsceill
269271a8d7 Add a page description 2019-01-06 15:50:57 -05:00
Patrick Marsceill
09cc61c25f Moar A11y updates 2019-01-06 15:50:31 -05:00
Patrick Marsceill
06c8acc06b Lol we forgot the body tag 2019-01-06 15:50:01 -05:00
Patrick Marsceill
a3ae6ad74e A11y updates 2019-01-06 15:49:26 -05:00
Patrick Marsceill
f264034999 If page has a description use that for meta data 2019-01-06 15:48:58 -05:00
dependabot[bot]
2b0ff701fa Update bundler requirement from ~> 1.17.1 to ~> 2.0.1
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/v2.0.1/CHANGELOG.md)
- [Commits](https://github.com/bundler/bundler/commits/v2.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-04 10:18:33 +00:00
Patrick Marsceill
4a9b4fd5b1 lint 2018-12-16 15:29:06 -05:00
Patrick Marsceill
d5d1ddbd92 Docs update 2018-12-16 15:27:25 -05:00
Patrick Marsceill
39828f0775 A nicer 404 2018-12-16 15:24:00 -05:00
Patrick Marsceill
954e8941bb Accidental reversal 2018-12-16 15:23:33 -05:00
Patrick Marsceill
20970ca9e6 Better code scrolling for touch 2018-12-16 15:23:18 -05:00
Patrick Marsceill
eaf1247911 Auto focus main content for keyboard scrolling 2018-12-16 15:22:51 -05:00
Patrick Marsceill
eb0a6c328f Allow pages to be excluded from search 2018-12-16 14:47:41 -05:00
Patrick Marsceill
ed33ab18ac Exclude package-lock.json from jekyll build 2018-12-16 14:29:35 -05:00
Patrick Marsceill
555dfae410 Make TOC on parent pages optional 2018-12-16 14:27:44 -05:00
Patrick Marsceill
309b238400 Merge pull request #51 from flut1/master
Fix charset for list item content in scss
2018-12-13 11:16:27 -05:00
Floris Bernard
2caefa4e9e Fix charset for list item content in scss 2018-12-12 14:33:02 +01:00
dependabot[bot]
e4dd35083a Bump stylelint-config-primer from 3.0.0 to 3.0.1
Bumps [stylelint-config-primer](https://github.com/primer/primer) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/primer/primer/releases)
- [Changelog](https://github.com/primer/primer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/primer/compare/v3.0.0...v3.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-30 10:25:20 +00:00
Patrick Marsceill
80bbdb7be8 Merge pull request #43 from pmarsceill/v0.2.1
v0.2.1 release
2018-11-29 11:43:28 -05:00
Patrick Marsceill
c5a9be9298 Bump JTD version numbers 2018-11-29 11:33:43 -05:00
dependabot[bot]
5b9cde1dc4 Bump stylelint-config-primer from 2.2.11 to 3.0.0
Bumps [stylelint-config-primer](https://github.com/primer/primer) from 2.2.11 to 3.0.0.
- [Release notes](https://github.com/primer/primer/releases)
- [Changelog](https://github.com/primer/primer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/primer/primer/commits/v3.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-29 11:32:19 -05:00
Patrick Marsceill
1064d50f8c Merge branch 'dependabot/npm_and_yarn/stylelint-9.9.0' into v0.2.1 2018-11-29 11:28:25 -05:00
dependabot[bot]
b35b697dc2 Bump stylelint from 7.13.0 to 9.9.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 7.13.0 to 9.9.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/7.13.0...9.9.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-29 16:19:16 +00:00
dependabot[bot]
f6003ec47d [Security] Bump lodash from 4.17.4 to 4.17.11
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.4 to 4.17.11. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Changelog](https://github.com/lodash/lodash/blob/master/CHANGELOG)
- [Commits](https://github.com/lodash/lodash/compare/4.17.4...4.17.11)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-29 11:09:46 -05:00
Patrick Marsceill
dc47cec4aa Merge pull request #29 from folbert/aux-link-documentation-fix
Indented the title for aux_link
2018-11-26 11:29:59 -05:00
Patrick Marsceill
6b213c2da0 Additional ident 2018-11-26 11:26:44 -05:00
Björn Folbert
860207d13c Indented the title for aux_link
The indent is required for the aux links to work.
2018-11-24 00:21:57 +01:00
Patrick Marsceill
21990474d0 Merge pull request #23 from pmarsceill/v0.2.0
v0.2.0 release
2018-11-19 16:34:46 -05:00
Patrick Marsceill
cd55ce0089 Bumb version numbers 2018-11-19 16:33:25 -05:00
60 changed files with 5501 additions and 1636 deletions

38
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

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

@@ -0,0 +1,35 @@
on: [push]
name: CI
jobs:
jekyll:
name: Build Jekyll site
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 "chmod 777 /srv/jekyll && jekyll build"
css:
name: Stylelint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Use Node.js 10.x
uses: actions/setup-node@v1
with:
version: 10.x
- name: npm install, build, and test
run: |
npm install
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}}

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

11
404.html Normal file
View File

@@ -0,0 +1,11 @@
---
layout: default
title: Page not found
permalink: /404
nav_exclude: true
search_exclude: true
---
<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>

View File

@@ -1,15 +1,14 @@
<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"><img src="https://github.com/pmarsceill/just-the-docs/workflows/CI/badge.svg" alt="Build status"></a>
</p>
<br><br>
<p align="center">
<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"><strong><a href="https://pmarsceill.github.io/just-the-docs">See it in action!</a></strong></p>
<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"><strong><a href="https://pmarsceill.github.io/just-the-docs/">See it in action!</a></strong></p>
<br><br><br>
</p>
![jtd](https://user-images.githubusercontent.com/896475/47384541-89053c80-d6d5-11e8-98dc-dba16e192de9.gif)
## Installation
@@ -60,7 +59,7 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/pmarsc
To set up your environment to develop this theme, run `bundle install`.
Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
Your theme is set up just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
When the theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released.

View File

@@ -15,19 +15,40 @@
# in the templates via {{ site.myvariable }}.
title: Just the Docs
description: A Jekyll theme for documentation
baseurl: "/just-the-docs/" # the subpath of your site, e.g. /blog
# url: "" # the base hostname & protocol for your site, e.g. http://example.com
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
permalink: pretty
exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "package.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"]
# Enable or disable the site search
search_enabled: true
# Enable or disable heading anchors
heading_anchors: true
# Aux links for the upper right navigation
aux_links:
"Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs"
# 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>"
# Color scheme currently only supports "dark" or nil (default)
color_scheme: nil
# Google Analytics Tracking (optional)
# e.g, UA-1234567-89
ga_tracking: UA-2709176-10
plugins:
- jekyll-seo-tag
compress_html:
clippings: all
comments: all
endings: all
startings: []
blank_lines: false
profile: false

View File

@@ -2,12 +2,39 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<title>{{ page.title }} - {{ site.title }}</title>
<link rel="stylesheet" href="{{ "/assets/css/just-the-docs.css" | absolute_url }}">
{% if site.search_enabled != nil %}
<script type="text/javascript" src="{{ "/assets/js/vendor/lunr.min.js" | absolute_url }}"></script>
{% if site.plugins.jekyll-seo == nil %}
<title>{{ page.title }} - {{ site.title }}</title>
{% if page.description %}
<meta name="Description" content="{{ page.description }}">
{% endif %}
{% endif %}
<script type="text/javascript" src="{{ "/assets/js/just-the-docs.js" | absolute_url }}"></script>
<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 }}">
{% if site.ga_tracking != nil %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.ga_tracking }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', "{{ site.ga_tracking }}");
</script>
{% endif %}
{% if site.search_enabled != false %}
<script type="text/javascript" src="{{ '/assets/js/vendor/lunr.min.js' | absolute_url }}"></script>
{% endif %}
<script type="text/javascript" src="{{ '/assets/js/just-the-docs.js' | absolute_url }}"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
{% seo %}
{% include head_custom.html %}
</head>

View File

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

View File

@@ -1,44 +1,40 @@
<nav>
<nav role="navigation" aria-label="Main navigation">
<ul class="navigation-list">
{% assign pages_list = site.html_pages | sort:"nav_order" %}
{% for node in pages_list %}
{% unless node.nav_exclude %}
{% if node.parent == nil %}
{%- assign pages_list = site.html_pages | sort:"nav_order" -%}
{%- for node in pages_list -%}
{%- unless node.nav_exclude -%}
{%- if node.parent == nil -%}
<li class="navigation-list-item{% if page.url == node.url or page.parent == node.title or page.grand_parent == node.title %} active{% endif %}">
{% if page.parent == node.title or page.grand_parent == node.title %}
{% assign first_level_url = node.url | absolute_url %}
{% endif %}
{%- if page.parent == node.title or page.grand_parent == node.title -%}
{%- assign first_level_url = node.url | absolute_url -%}
{%- endif -%}
<a href="{{ node.url | absolute_url }}" class="navigation-list-link{% if page.url == node.url %} active{% endif %}">{{ node.title }}</a>
{% if node.has_children %}
{% assign children_list = site.html_pages | sort:"nav_order" %}
{%- if node.has_children -%}
{%- assign children_list = site.html_pages | where: "parent", node.title | sort:"nav_order" -%}
<ul class="navigation-list-child-list ">
{% for child in children_list %}
{% if child.parent == node.title %}
<li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
{% if page.url == child.url or page.parent == child.title %}
{% assign second_level_url = child.url | absolute_url %}
{% endif %}
<a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
{% if child.has_children %}
{% assign grand_children_list = site.html_pages | sort:"nav_order" %}
{%- for child in children_list -%}
<li class="navigation-list-item {% if page.url == child.url or page.parent == child.title %} active{% endif %}">
{%- if page.url == child.url or page.parent == child.title -%}
{%- assign second_level_url = child.url | absolute_url -%}
{%- endif -%}
<a href="{{ child.url | absolute_url }}" class="navigation-list-link{% if page.url == child.url %} active{% endif %}">{{ child.title }}</a>
{%- if child.has_children -%}
{%- assign grand_children_list = site.html_pages | where: "parent", child.title | sort:"nav_order" -%}
<ul class="navigation-list-child-list">
{% for grand_child in grand_children_list %}
{% if grand_child.parent == child.title %}
<li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}">
<a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
</li>
{% endif %}
{% endfor %}
{%- for grand_child in grand_children_list -%}
<li class="navigation-list-item {% if page.url == grand_child.url %} active{% endif %}">
<a href="{{ grand_child.url | absolute_url }}" class="navigation-list-link{% if page.url == grand_child.url %} active{% endif %}">{{ grand_child.title }}</a>
</li>
{%- endfor -%}
</ul>
{%- endif -%}
</li>
{%- endfor -%}
</ul>
{% endif %}
{%- endif -%}
</li>
{% endif %}
{% endunless %}
{% endfor %}
{%- endif -%}
{%- endunless -%}
{%- endfor -%}
</ul>
</nav>

1
_includes/title.html Normal file
View File

@@ -0,0 +1 @@
{{ site.title }}

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}}"{% 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,75 +1,96 @@
---
layout: table_wrappers
---
<!DOCTYPE html>
<html lang="en-us">
<html lang="{{ site.lang | default: "en-US" }}">
{% include head.html %}
<body>
<div class="page-wrap">
<div class="side-bar">
<a href="{{ site.url }}{{ site.baseurl }}" class="site-title fs-6 lh-tight">{{ site.title }}</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>
<div class="site-header">
<a href="{{ site.url }}{{ site.baseurl }}" class="site-title lh-tight">{% include title.html %}</a>
<button class="menu-button fs-3 js-main-nav-trigger" data-text-toggle="Hide" type="button">Menu</button>
</div>
<div class="navigation main-nav js-main-nav">
{% include nav.html %}
</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 class="site-footer">
<p class="text-small text-grey-dk-000 mb-4">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 class="main-content-wrap">
<div class="page-header">
<div class="main-content">
{% if site.search_enabled != nil %}
<div class="search js-search">
<div class="main-content-wrap js-main-content" tabindex="0">
<div class="main-content">
<div class="page-header js-page-header">
{% if site.search_enabled != false %}
<div class="search">
<div class="search-input-wrap">
<input type="text" class="js-search-input search-input" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
<input type="text" class="js-search-input search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
<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>
<div class="js-search-results search-results-wrap"></div>
</div>
{% endif %}
{% 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">
<ul class="list-style-none text-small 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 class="main-content">
{% unless page.url == "/" %}
{% if page.parent %}
<nav 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 class="page-content">
{{ content }}
<div class="page">
{% unless page.url == "/" %}
{% if page.parent %}
<nav 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="page-content" role="main">
{% if site.heading_anchors != false %}
{% include vendor/anchor_headings.html html=content beforeHeading = "true" anchorBody="<svg class=\"d-inline-block v-align-middle\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"18\" height=\"18\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg>" anchorClass="anchor-heading" %}
{% else %}
{{ content }}
{% endif %}
{% if page.has_children == true %}
<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>
{% endif %}
{% endfor %}
</ul>
{% 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>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% if site.footer_content != nil %}
<hr>
<footer role="contentinfo">
<p class="text-small text-grey-dk-000 mb-0">{{ site.footer_content }}</p>
</footer>
{% endif %}
</div>
</div>
</div>
</div>
</body>
</html>

5
_layouts/page.html Normal file
View File

@@ -0,0 +1,5 @@
---
layout: default
---
{{ content }}

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

@@ -21,7 +21,7 @@
cursor: pointer;
background-color: $base-button-color;
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);
appearance: none;

View File

@@ -11,9 +11,11 @@ code {
border-radius: $border-radius;
}
pre.highlight {
pre.highlight,
figure.highlight {
padding: $sp-3;
margin-bottom: 0;
-webkit-overflow-scrolling: touch;
background-color: $code-background-color;
code {
@@ -60,7 +62,7 @@ pre.highlight {
.highlight .ld { color: #93a1a1; } // literal.date //
.highlight .m { color: #2aa198; } // literal.number //
.highlight .s { color: #2aa198; } // literal.string //
.highlight .na { color: #93a1a1; } // name.attribute //
.highlight .na { color: #555; } // name.attribute //
.highlight .nb { color: #b58900; } // name.builtin //
.highlight .nc { color: #268bd2; } // name.class //
.highlight .no { color: #cb4b16; } // name.constant //
@@ -68,7 +70,7 @@ pre.highlight {
.highlight .ni { color: #cb4b16; } // name.entity //
.highlight .ne { color: #cb4b16; } // name.exception //
.highlight .nf { color: #268bd2; } // name.function //
.highlight .nl { color: #93a1a1; } // name.label //
.highlight .nl { color: #555; } // name.label //
.highlight .nn { color: #93a1a1; } // name.namespace //
.highlight .nx { color: #555; } // name.other //
.highlight .py { color: #93a1a1; } // name.property //
@@ -104,7 +106,7 @@ pre.highlight {
.code-example {
padding: $sp-3;
margin-bottom: $sp-3;
overflow: scroll;
overflow: auto;
border: 1px solid $border-color;
border-radius: $border-radius;

View File

@@ -6,9 +6,12 @@ $border-color: $grey-dk-200;
$body-text-color: $grey-lt-300;
$body-heading-color: $grey-lt-000;
$nav-child-link-color: $grey-dk-000;
$search-result-preview-color: $grey-dk-000;
$link-color: $blue-000;
$btn-primary-color: $blue-200;
$base-button-color: $grey-dk-250;
$code-background-color: $grey-dk-250;
$search-background-color: $grey-dk-250;
$table-background-color: $grey-dk-250;

View File

@@ -1,9 +1,13 @@
@charset "UTF-8";
//
// Styles for rendered markdown in the .main-content container
//
// stylelint-disable selector-no-type, max-nesting-depth, selector-max-compound-selectors, selector-max-type
.page-content {
line-height: $content-line-height;
a {
overflow: hidden;
text-overflow: ellipsis;
@@ -19,13 +23,13 @@
list-style-type: none;
counter-reset: step-counter;
li {
> li {
position: relative;
&::before {
position: absolute;
top: 0.2em;
left: -1.5em;
left: -1.6em;
color: $grey-dk-000;
content: counter(step-counter);
counter-increment: step-counter;
@@ -52,10 +56,10 @@
ul {
list-style: none;
li {
> li {
&::before {
position: absolute;
margin-left: -1.5em;
margin-left: -1.4em;
color: $grey-dk-000;
content: "";
}
@@ -109,4 +113,37 @@
margin-left: 1em;
font-weight: 500;
}
.anchor-heading {
position: absolute;
right: -$sp-3;
width: $sp-5;
height: 100%;
overflow: visible;
fill: $link-color;
visibility: hidden;
@include mq(md) {
right: auto;
left: -$sp-5;
}
}
h1:hover > .anchor-heading,
h2:hover > .anchor-heading,
h3:hover > .anchor-heading,
h4:hover > .anchor-heading,
h5:hover > .anchor-heading,
h6:hover > .anchor-heading {
visibility: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
position: relative;
}
}

View File

@@ -1,120 +1,129 @@
// //
// // 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;
////
//// Typography
////
// $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
// );
//$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;
//$content-line-height: 1.5;
//$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;
//$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;
//$yellow-000: #ffeb82;
//$yellow-100: #fadf50;
//$yellow-200: #f7d12e;
//$yellow-300: #e7af06;
//$red-000: #f77e7e;
//$red-100: #f96e65;
//$red-200: #e94c4c;
//$red-300: #dd2e2e;
//$body-background-color: $white;
//$sidebar-color: $grey-lt-000;
//$search-background-color: $white;
//$table-background-color: $white;
//$code-background-color: $grey-lt-000;
//$body-text-color: $grey-dk-100;
//$body-heading-color: $grey-dk-300;
//$search-result-preview-color: $grey-dk-000;
//$nav-child-link-color: $grey-dk-100;
//$link-color: $purple-000;
//$btn-primary-color: $purple-100;
//$base-button-color: #f7f7f7;
////
//// 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: 264px;
//$nav-width-md: 248px;
//$content-width: 800px;
//$header-height: 60px;
//$search-results-width: 500px;
////
//// Media queries in pixels
////
//$media-queries: (
//xs: 320px,
//sm: 500px,
//md: $content-width,
//lg: $content-width + $nav-width,
//xl: 1400px
//);

View File

@@ -19,17 +19,13 @@
z-index: 100;
display: flex;
flex-wrap: wrap;
padding-top: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
background-color: $sidebar-color;
@include mq(md) {
flex-wrap: nowrap;
position: absolute;
width: $nav-width + 16px;
width: $nav-width-md;
height: 100%;
padding-top: $gutter-spacing * 2;
padding-bottom: 0;
flex-direction: column;
border-right: $border $border-color;
align-items: flex-end;
@@ -48,7 +44,6 @@
left: 0;
width: 100%;
height: 100%;
min-height: 600px;
-webkit-overflow-scrolling: touch;
overflow-x: hidden;
overflow-y: scroll;
@@ -56,67 +51,121 @@
}
.main-content {
padding-top: $gutter-spacing-sm;
@include container;
@include mq(md) {
position: relative;
max-width: $content-width;
padding-top: $gutter-spacing;
padding-bottom: $gutter-spacing;
padding-left: $gutter-spacing * 1.5;
margin-left: $nav-width;
margin-left: $nav-width-md;
}
@include mq(lg) {
padding-left: $gutter-spacing;
margin-left: calc((100% - #{$nav-width + $content-width}) / 2 + #{$nav-width});
}
}
.js-main-content:focus {
outline: none;
}
.page {
@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 {
@include container;
display: none;
padding-top: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
background-color: $sidebar-color;
@include mq(md) {
display: flex;
justify-content: flex-end;
height: $header-height;
background-color: $body-background-color;
border-bottom: $border $border-color;
}
.main-content {
padding-top: 0;
&.nav-open {
display: block;
@include mq(md) {
display: flex;
justify-content: flex-end;
height: 60px;
padding-top: $sp-4;
padding-bottom: $sp-4;
border-bottom: $border $border-color;
}
}
}
.navigation,
.site-title,
.site-header,
.site-footer {
@include container;
width: 100%;
@include mq(lg) {
width: $nav-width + 32px;
width: $nav-width;
}
}
.navigation {
@include container;
@include mq(md) {
padding-top: $sp-8;
padding-bottom: $gutter-spacing-sm;
overflow-y: auto;
flex: 1 1 auto;
}
}
// stylelint-disable selector-no-type
.site-header {
display: flex;
align-items: center;
@include mq(md) {
z-index: 101;
height: $header-height;
min-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: $gutter-spacing-sm;
padding-bottom: $gutter-spacing-sm;
color: $body-heading-color;
@include fs-6;
}
.menu-button {
appearance: none;
display: flex;
height: 100%;
padding: $gutter-spacing-sm;
align-items: center;
color: $link-color;
text-transform: uppercase;
background: transparent;
border: 0;
@include mq(md) {
display: none;
}
}
// stylelint-disable selector-max-type
body {
position: relative;
padding-bottom: $sp-10;
@@ -126,18 +175,19 @@ body {
padding-bottom: 0;
}
}
// stylelint-enable selector-no-type
// stylelint-enable selector-max-type
.site-footer {
@include container;
position: absolute;
bottom: 0;
left: 0;
padding-top: $sp-4;
padding-bottom: $sp-4;
@include mq(md) {
position: static;
align-self: flex-end;
justify-self: end;
background-color: $sidebar-color;
}
}

View File

@@ -1,33 +1,11 @@
//
// Main nav, breadcrumb, etc...
//
.site-title {
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;
margin-top: $sp-4;
margin-top: 0;
margin-bottom: 0;
list-style: none;
@include mq(md) {
margin-top: 0;
}
}
.navigation-list-child-list {
@@ -90,8 +68,7 @@
// Small screen nav
.main-nav,
.aux-nav {
.main-nav {
display: none;
&.nav-open {
@@ -102,13 +79,8 @@
}
}
.navigation-list-toggle {
position: absolute;
right: $sp-4;
@include mq(md) {
display: none !important;
}
.aux-nav {
align-self: center;
}
// Breadcrumb nav

View File

@@ -5,60 +5,46 @@
.search {
position: relative;
z-index: 99;
display: none;
flex-grow: 1;
padding: $sp-2;
height: 100%;
margin-bottom: $sp-3;
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) {
display: block;
padding-top: $sp-1;
padding-right: 0;
padding-bottom: 0;
padding-left: 0;
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 {
display: flex;
background-color: $body-background-color;
height: 100%;
padding: $sp-2;
background-color: $search-background-color;
border-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) {
padding-top: 0;
padding-right: 0;
padding-bottom: 0;
padding-left: 0;
background-color: $body-background-color;
border-radius: 0;
box-shadow: none;
}
}
.search-input {
align-self: center;
width: 100%;
padding-top: $sp-1;
padding-bottom: $sp-1;
background-color: $body-background-color;
background-color: $search-background-color;
border-top: 0;
border-right: 0;
border-bottom: 0;
border-left: 0;
order: 2;
@include fs-4;
&:focus {
outline: 0;
@@ -69,14 +55,9 @@
}
}
@include fs-5;
@include mq(sm) {
@include fs-3;
}
@include mq(md) {
@include fs-2;
background-color: $body-background-color;
@include fs-3;
}
}
@@ -87,12 +68,34 @@
order: 1;
}
.search-results-wrap {
position: absolute;
z-index: 100;
display: none;
width: 100%;
background: $search-background-color;
border-radius: $border-radius;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
&.active {
display: block;
}
@include mq(md) {
width: $search-results-width;
}
}
.search-results-list {
padding-left: 0;
margin-top: $sp-1;
margin-bottom: $sp-1;
list-style: none;
@include fs-3;
@include fs-4;
@include mq(md) {
@include fs-3;
}
}
.search-results-list-item {
@@ -100,15 +103,65 @@
margin: 0;
}
.search-results-link {
.search-result {
display: block;
padding-top: $sp-1;
padding-right: $sp-3;
padding-bottom: $sp-1;
padding-left: $sp-3;
&:hover {
color: $body-heading-color;
background-color: darken($body-background-color, 2%);
&:hover,
&.active {
background-color: $sidebar-color;
}
@include mq(md) {
padding-right: $sp-4;
padding-left: $sp-4;
}
}
.search-result-title {
display: block;
padding-top: $sp-2;
padding-right: $sp-4;
padding-bottom: $sp-2;
@include mq(sm) {
display: inline-block;
width: 40%;
word-wrap: break-word;
vertical-align: top;
}
}
.search-result-rel-url {
display: block;
overflow: hidden;
color: $search-result-preview-color;
text-overflow: ellipsis;
white-space: nowrap;
@include fs-1;
}
.search-result-preview {
display: block;
padding-top: $sp-2;
padding-bottom: $sp-2;
padding-left: $sp-4;
color: $search-result-preview-color;
border-left: $border;
border-left-color: $border-color;
@include fs-2;
@include mq(sm) {
display: inline-block;
width: 60%;
vertical-align: top;
}
}
.search-result-highlight {
font-weight: bold;
color: $link-color;
}

View File

@@ -6,6 +6,7 @@ $body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetic
$mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace !default;
$root-font-size: 16px !default; // Base font-size for rems
$body-line-height: 1.4 !default;
$content-line-height: 1.5 !default;
$body-heading-line-height: 1.15 !default !default;
//
@@ -52,27 +53,18 @@ $red-300: #dd2e2e !default;
$body-background-color: $white !default;
$sidebar-color: $grey-lt-000 !default;
$search-background-color: $white !default;
$table-background-color: $white !default;
$code-background-color: $grey-lt-000 !default;
$body-text-color: $grey-dk-100 !default;
$body-heading-color: $grey-dk-300 !default;
$search-result-preview-color: $grey-dk-000 !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
) !default;
//
// Spacing
//
@@ -118,13 +110,20 @@ $border-color: $grey-lt-100 !default;
$gutter-spacing: $sp-6 !default;
$gutter-spacing-sm: $sp-4 !default;
$nav-width: 232px !default;
$nav-width: 264px !default;
$nav-width-md: 248px !default;
$content-width: 800px !default;
$header-height: 60px !default;
$search-results-width: 500px !default;
//
// Media queries in pixels
//
$media-queries: (
xs: 320px,
sm: 500px,
md: 740px,
lg: 800px,
xl: 1316px
md: $content-width,
lg: $content-width + $nav-width,
xl: 1400px
) !default;

View File

@@ -3,18 +3,20 @@
//
// stylelint-disable max-nesting-depth, selector-no-type, selector-max-type
table {
.table-wrapper {
display: block;
width: 100%;
max-width: 100%;
margin-bottom: $sp-5;
overflow-x: auto;
border-collapse: separate;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07), 0 4px 14px rgba(0, 0, 0, 0.05);
border-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(sm) {
display: table;
}
table {
display: table;
min-width: 100%;
border-collapse: separate;
}
th,
@@ -25,7 +27,7 @@ td {
padding-right: $sp-3;
padding-bottom: $sp-2;
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-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 {
tr {
&:last-of-type {
th,
td {
border-bottom: 0;
}
&:first-of-type {
border-bottom-left-radius: $border-radius;
}
&:last-of-type {
border-bottom-right-radius: $border-radius;
}
td {
padding-bottom: $sp-3;
}
}
}
@@ -73,6 +53,6 @@ tbody {
thead {
th {
border-bottom: 1px solid $border-color;
border-bottom: $border $border-color;
}
}

View File

@@ -1,7 +1,7 @@
//
// Typography
//
// stylelint-disable primer/selector-no-utility, selector-no-type, selector-max-type
// stylelint-disable primer/selector-no-utility, primer/no-override, selector-no-type, selector-max-type
h1,
.text-alpha {

View File

@@ -1,4 +1,4 @@
// stylelint-disable primer/selector-no-utility
// stylelint-disable primer/selector-no-utility, primer/no-override
//
// Utility classes for layout
//

View File

@@ -2,7 +2,7 @@
// Utility classes for lists
//
// stylelint-disable primer/selector-no-utility
// stylelint-disable primer/selector-no-utility, primer/no-override
.list-style-none {
padding: 0 !important;

View File

@@ -3,7 +3,7 @@
//
// scss-lint:disable SpaceAfterPropertyName
// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility
// stylelint-disable block-opening-brace-space-after, block-opening-brace-space-before, primer/selector-no-utility, primer/no-override
// Margin spacer utilities

View File

@@ -2,7 +2,7 @@
// Utility classes for typography
//
// stylelint-disable primer/selector-no-utility
// stylelint-disable primer/selector-no-utility, primer/no-override
.fs-1 {
@include fs-1;

View File

@@ -10,7 +10,7 @@
@import "./vendor/normalize.scss/normalize.scss";
//
// Import Just the docs scss
// Import Just the Docs scss
//
// Support

View File

@@ -10,12 +10,18 @@
@import "./vendor/normalize.scss/normalize.scss";
//
// Import Just the docs scss
// Import Just the Docs scss
//
// Support
@import "./support/support";
//
// Import custom overrides
//
@import "./custom/custom";
//
// Import custom color scheme scss
//
@@ -36,8 +42,3 @@
@import "./tables";
@import "./code";
@import "./utilities/utilities";
//
// Import custom overrides
//
@import "./custom/custom";

View File

@@ -1,28 +1,41 @@
---
---
(function (jtd, undefined) {
// Event handling
function addEvent(el, type, handler) {
if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
jtd.addEvent = function(el, type, handler) {
if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
}
function removeEvent(el, type, handler) {
if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
jtd.removeEvent = function(el, 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
function toggleNav(){
const nav = document.querySelector('.js-main-nav');
const auxNav = document.querySelector('.js-aux-nav');
function initNav() {
const mainNav = document.querySelector('.js-main-nav');
const pageHeader = document.querySelector('.js-page-header');
const navTrigger = document.querySelector('.js-main-nav-trigger');
const search = document.querySelector('.js-search');
addEvent(navTrigger, 'click', function(){
jtd.addEvent(navTrigger, 'click', function(e){
e.preventDefault();
var text = navTrigger.innerText;
var textToggle = navTrigger.getAttribute('data-text-toggle');
nav.classList.toggle('nav-open');
auxNav.classList.toggle('nav-open');
mainNav.classList.toggle('nav-open');
pageHeader.classList.toggle('nav-open');
navTrigger.classList.toggle('nav-open');
search.classList.toggle('nav-open');
navTrigger.innerText = textToggle;
navTrigger.setAttribute('data-text-toggle', text);
textToggle = text;
@@ -32,139 +45,250 @@ function toggleNav(){
// Site search
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();
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) {
// Success!
var data = JSON.parse(request.responseText);
var keys = Object.keys(data);
for(var i in data) {
index.add({
id: data[i].id,
title: data[i].title,
content: data[i].content,
url: data[i].url
});
}
searchResults(data);
lunr.tokenizer.separator = /[\s\-/]+/
var index = lunr(function () {
this.ref('id');
this.field('title', { boost: 200 });
this.field('content', { boost: 2 });
this.field('url');
this.metadataWhitelist = ['position']
for (var i in data) {
this.add({
id: i,
title: data[i].title,
content: data[i].content,
url: data[i].url
});
}
});
searchResults(index, data);
} else {
// We reached our target server, but it returned an error
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');
};
request.send();
function searchResults(dataStore) {
function searchResults(index, data) {
var index = index;
var docs = data;
var searchInput = document.querySelector('.js-search-input');
var searchResults = document.querySelector('.js-search-results');
var store = dataStore;
function hideResults() {
searchResults.innerHTML = '';
searchResults.classList.remove('active');
}
addEvent(searchInput, 'keyup', function(e){
var query = this.value;
searchResults.innerHTML = '';
searchResults.classList.remove('active');
if (query === '') {
hideResults();
} else {
var results = index.search(query);
if (results.length > 1) {
searchResults.classList.add('active');
var resultsList = document.createElement('ul');
searchResults.appendChild(resultsList);
for (var i in results) {
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);
resultsLink.innerText = resultsTitle;
resultsUrlDesc.innerText = resultsRelUrl;
resultsList.classList.add('search-results-list');
resultsListItem.classList.add('search-results-list-item');
resultsLink.classList.add('search-results-link');
resultsUrlDesc.classList.add('fs-2','text-grey-dk-000','d-block');
resultsList.appendChild(resultsListItem);
resultsListItem.appendChild(resultsLink);
resultsLink.appendChild(resultsUrlDesc);
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;
}
});
// When esc key is pressed, hide the results and clear the field
if (e.keyCode == 27) {
jtd.addEvent(searchInput, 'keyup', function(e){
switch (e.keyCode) {
case 27: // When esc key is pressed, hide the results and clear the field
hideResults();
searchInput.value = '';
return;
case 38: // arrow up
case 40: // arrow down
case 13: // enter
e.preventDefault();
return;
}
hideResults();
var input = this.value;
if (input === '') {
return;
}
var results = index.query(function (query) {
var tokens = lunr.tokenizer(input)
query.term(tokens, {
boost: 10
});
query.term(tokens, {
wildcard: lunr.Query.wildcard.TRAILING
});
});
if (results.length > 0) {
searchResults.classList.add('active');
var resultsList = document.createElement('ul');
resultsList.classList.add('search-results-list');
searchResults.appendChild(resultsList);
for (var i in results) {
var result = results[i];
var doc = docs[result.ref];
var resultsListItem = document.createElement('li');
resultsListItem.classList.add('search-results-list-item');
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');
resultTitle.innerText = doc.title;
resultLink.appendChild(resultTitle);
var resultRelUrl = document.createElement('span');
resultRelUrl.classList.add('search-result-rel-url');
resultRelUrl.innerText = doc.relUrl;
resultTitle.appendChild(resultRelUrl);
var metadata = result.matchData.metadata;
var contentFound = false;
for (var j in metadata) {
if (metadata[j].title) {
var position = metadata[j].title.position[0];
var start = position[0];
var end = position[0] + position[1];
resultTitle.innerHTML = doc.title.substring(0, start) + '<span class="search-result-highlight">' + doc.title.substring(start, end) + '</span>' + doc.title.substring(end, doc.title.length)+'<span class="search-result-rel-url">'+doc.relUrl+'</span>';
} else if (metadata[j].content && !contentFound) {
contentFound = true;
var position = metadata[j].content.position[0];
var start = position[0];
var end = position[0] + position[1];
var previewStart = start;
var previewEnd = end;
var ellipsesBefore = true;
var ellipsesAfter = true;
for (var k = 0; k < 3; 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 < 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;
}
var preview = doc.content.substring(previewStart, start);
if (ellipsesBefore) {
preview = '... ' + preview;
}
preview += '<span class="search-result-highlight">' + doc.content.substring(start, end) + '</span>';
preview += doc.content.substring(end, previewEnd);
if (ellipsesAfter) {
preview += ' ...';
}
var resultPreview = document.createElement('div');
resultPreview.classList.add('search-result-preview');
resultPreview.innerHTML = preview;
resultLink.appendChild(resultPreview);
}
}
}
}
});
addEvent(searchInput, 'blur', function(){
jtd.addEvent(searchInput, 'blur', function(){
setTimeout(function(){ hideResults() }, 300);
});
}
}
function pageFocus() {
var mainContent = document.querySelector('.js-main-content');
mainContent.focus();
}
// Document ready
function ready(){
toggleNav();
jtd.onReady(function(){
initNav();
pageFocus();
if (typeof lunr !== 'undefined') {
initSearch();
}
}
// 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 +1,11 @@
---
---
{
{% for page in site.html_pages %}"{{ forloop.index0 }}": {
"id": "{{ forloop.index0 }}",
"title": "{{ page.title | xml_escape }}",
"content": "{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | strip_newlines | replace: '\', ' ' }}",
"url": "{{ page.url | absolute_url | xml_escape }}",
"relUrl": "{{ page.url | xml_escape }}"
}{% if forloop.last %}{% else %},
{% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
"title": "{{ page.title | replace: '&amp;', '&' }}",
"content": "{{ page.content | markdownify | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '</ul', ' . </ul' | replace: '</tr', ' . </tr' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\', ' ' | replace: ' . . . ', ' . ' | 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

@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
gem_dir = File.expand_path("..",File.dirname(__FILE__))
$LOAD_PATH.unshift gem_dir# Look in gem directory for resources first.
$LOAD_PATH.unshift gem_dir # Look in gem directory for resources first.
exec_type = ARGV[0]
if exec_type == 'rake' then

View File

@@ -5,46 +5,87 @@ nav_order: 2
---
# Configuration
{: .no_toc }
Just the Docs has some specific configuration parameters that can be definied in your Jekyll site's `_config.yml` file.
Just the Docs has some specific configuration parameters that can be defined in your Jekyll site's _config.yml file.
{: .fs-6 .fw-300 }
## Table of contents
{: .no_toc .text-delta }
1. TOC
{:toc}
---
View this site's [_config.yml](https://github.com/pmarsceill/just-the-docs/tree/master/_config.yml) file as an example.
## Search enabled
```yml
```yaml
# Enable or disable the site search
# Support true (default) or false
search_enabled: true
```
## Aux links
```yml
```yaml
# Aux links for the upper right navigation
aux_links:
"Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs"
"Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs"
```
## 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.
#
# Supprts true (default) or false/nil
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>"
```
## Color scheme
```yml
```yaml
# Color scheme currently only supports "dark" or nil (default)
color_scheme: "dark"
```
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script>
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')
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(){
if (cssFile.getAttribute('href') === originalCssRef) {
cssFile.setAttribute('href', darkModeCssRef)
} else {
cssFile.setAttribute('href', originalCssRef)
}
jtd.addEvent(toggleDarkMode, 'click', function(){
if (cssFile.getAttribute('href') === originalCssRef) {
cssFile.setAttribute('href', darkModeCssRef);
} else {
cssFile.setAttribute('href', originalCssRef);
}
})
</script>
See [Customization]({{site.baseurl }}{% link docs/customization.md %}) for more information.
See [Customization]({{ site.baseurl }}{% link docs/customization.md %}) for more information.
## Google Analytics
```yaml
# Google Analytics Tracking (optional)
# e.g, UA-1234567-89
ga_tracking: UA-5555555-55
```

View File

@@ -5,7 +5,7 @@ nav_order: 6
---
# Customization
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -16,48 +16,47 @@ nav_order: 6
---
## Color schemes
{: .d-inline-block :}
{: .d-inline-block }
New
{: .label .label-green :}
{: .label .label-green }
Just the Docs supports two color schemes: light (default), and dark.
To enable a color scheme, set the `color_scheme` parameter in your site's `_config.yml` file:
#### Example
{: no_toc }
{: .no_toc }
```yml
```yaml
# Color scheme currently only supports "dark" or nil (default)
color_scheme: "dark"
```
<button class="btn js-toggle-dark-mode">Preview dark color scheme</button>
<script>
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')
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) {
cssFile.setAttribute('href', darkModeCssRef)
cssFile.setAttribute('href', darkModeCssRef);
} else {
cssFile.setAttribute('href', originalCssRef)
cssFile.setAttribute('href', originalCssRef);
}
})
</script>
## Specific visual customization
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 out its line and change its value.
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.
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 out, and change it's value to our `$blue-000` variable, or another shade of your choosing.
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.
#### Example
{: no_toc }
{: .no_toc }
```scss
// ...
@@ -69,7 +68,4 @@ $link-color: $blue-000;
// ...
```
_Note:_ Editing the variables directly in `_sass/support/variables.scss` is not recommended and can cause other dependancies to fail.
---
_Note:_ Editing the variables directly in `_sass/support/variables.scss` is not recommended and can cause other dependencies to fail.

View File

@@ -94,6 +94,24 @@ end
- level 2 item
- level 1 item
### Nesting an ol in ul in an ol
- level 1 item (ul)
1. level 2 item (ol)
1. level 2 item (ol)
- level 3 item (ul)
- level 3 item (ul)
- level 1 item (ul)
1. level 2 item (ol)
1. level 2 item (ol)
- level 3 item (ul)
- level 3 item (ul)
1. level 4 item (ol)
1. level 4 item (ol)
- level 3 item (ul)
- level 3 item (ul)
- level 1 item (ul)
### And a task list
- [ ] Hello, this is a TODO item

View File

@@ -25,10 +25,11 @@ By default, all pages will appear as top level pages in the main nav unless a pa
## Ordering pages
To specify a page order, use the `nav_order` variable in your pages' YAML front matter.
To specify a page order, use the `nav_order` parameter in your pages' YAML front matter.
#### Example
{: .no_toc }
```yaml
---
layout: default
@@ -41,10 +42,11 @@ nav_order: 4
## Excluding pages
For specific pages that you do not wish to include in the main navigation, e.g. a 404 page or a landing page. Use the `nav_exclude: true` parameter in the YAML front matter for that page.
For specific pages that you do not wish to include in the main navigation, e.g. a 404 page or a landing page, use the `nav_exclude: true` parameter in the YAML front matter for that page.
#### Example
{: .no_toc }
```yaml
---
layout: default
@@ -57,7 +59,7 @@ nav_exclude: true
## Pages with children
Sometimes you will want to create a page with many children (a section). First, it is recommended that you keep pages that are related in a directory together... For example, in these docs, we keep all of the written documentation in the `./docs` directory and each of the sections in subdirectories like `./docs/ui-components` and `./docs/utilities`. This gives is an organization like:
Sometimes you will want to create a page with many children (a section). First, it is recommended that you keep pages that are related in a directory together... For example, in these docs, we keep all of the written documentation in the `./docs` directory and each of the sections in subdirectories like `./docs/ui-components` and `./docs/utilities`. This gives us an organization like:
```
+-- ..
@@ -86,9 +88,9 @@ Sometimes you will want to create a page with many children (a section). First,
+-- ..
```
On the parent pages, add 2 YAML front matter variables:
- `has_children: true` (tells us that this a parent page)
- `permalink:` set this to the site directories that the contains the pages
On the parent pages, add 2 YAML front matter parameters:
- `has_children: true` (tells us that this is a parent page)
- `permalink:` set this to the site directory that contains the child pages
#### Example
{: .no_toc }
@@ -103,7 +105,7 @@ permalink: /docs/ui-components
---
```
Here we're setting up the UI Components landing page that is available at `/docs/ui-components`, it has children and is ordered second in the main nav.
Here we're setting up the UI Components landing page that is available at `/docs/ui-components`, which has children and is ordered second in the main nav.
### Child pages
{: .text-gamma }
@@ -112,6 +114,7 @@ On child pages, simply set the `parent:` YAML front matter to whatever the paren
#### Example
{: .no_toc }
```yaml
---
layout: default
@@ -121,12 +124,30 @@ nav_order: 2
---
```
The Buttons page appears a child of UI Components and appears second in the UI Components section.
The Buttons page appears as a child of UI Components and appears second in the UI Components section.
### Auto-generating Table of Contents
By default, all pages with children will automatically append a Table of Contents which lists the child pages after the parent page's content. To disable this auto Table of Contents, set `has_toc: false` in the parent page's YAML front matter.
#### Example
{: .no_toc }
```yaml
---
layout: default
title: UI Components
nav_order: 2
has_children: true
has_toc: false
permalink: /docs/ui-components
---
```
### Children with children
{: .text-gamma }
Child pages can also have children (grand children). This is achieved by using a similar pattern on the child and grand child pages.
Child pages can also have children (grandchildren). This is achieved by using a similar pattern on the child and grandchild pages.
1. Add the `has_children` attribute to the child
1. Add the `parent` and `grand_parent` attribute to the grandchild
@@ -154,7 +175,7 @@ nav_order: 1
---
```
Would create the following navigation structure:
This would create the following navigation structure:
```
+-- ..
@@ -179,10 +200,10 @@ To add a auxiliary navigation item to your site (in the upper right on all pages
#### Example
{: .no_toc }
```yml
```yaml
# Aux links for the upper right navigation
aux_links:
"Just the Docs on GitHub":
"Just the Docs on GitHub":
- "//github.com/pmarsceill/just-the-docs"
```
@@ -190,7 +211,7 @@ aux_links:
## In-page navigation with Table of Contents
To generate a Table of Contents on your docs pages, you can use the `{:toc}` method from Kramdown, immediately after an `<ol>` in markdown. This will automatically generate an ordered list of anchor links to various sections of page based on headings and heading levels. There may be occasions where you're using a heading and you don't want it to show up in the TOC, to skip a particular heading use the `{: .no_toc }` CSS class.
To generate a Table of Contents on your docs pages, you can use the `{:toc}` method from Kramdown, immediately after an `<ol>` in Markdown. This will automatically generate an ordered list of anchor links to various sections of the page based on headings and heading levels. There may be occasions where you're using a heading and you don't want it to show up in the TOC, so to skip a particular heading use the `{: .no_toc }` CSS class.
#### Example
{: .no_toc }

View File

@@ -5,8 +5,17 @@ nav_order: 7
---
# Search
{: .no_toc }
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:
## Table of contents
{: .no_toc .text-delta }
1. TOC
{:toc}
---
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 content
@@ -14,41 +23,54 @@ Just the docs uses [lunr.js](http://lunrjs.com) to add a client-side search inte
## Set up search
### 1. Generate search index
### Generate search index
Before you can use search, you must initialize the feature by running this
rake command that comes with the `just-the-docs`
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/` of your Jekyll site with this content:
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:
```{% raw %}
---
```liquid
{% raw %}---
---
{
{% for page in site.html_pages %}"{{ forloop.index0 }}": {
{% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
"id": "{{ forloop.index0 }}",
"title": "{{ page.title | xml_escape }}",
"content": "{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | remove: page.title | strip_newlines | replace: '\', ' '}}",
"url": "{{ page.url | absolute_url | xml_escape }}",
"relUrl": "{{ page.url | xml_escape }}"
}{% if forloop.last %}{% else %},
"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)._
### 2. Enable search in configuration
### Enable search in configuration
In your site's `_config.yml` enable search:
In your site's `_config.yml`, enable search:
```yml
```yaml
# Enable or disable the site search
search_enabled: true
```
## 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:
#### Example
{: .no_toc }
```yaml
---
layout: default
title: Page not found
nav_exclude: true
search_exclude: true
---
```

View File

@@ -6,7 +6,7 @@ nav_order: 2
---
# Buttons
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -28,7 +28,6 @@ nav_order: 2
[Link button](http://example.com/){: .btn .btn-green }
[Link button](http://example.com/){: .btn .btn-outline }
</div>
```markdown
[Link button](http://example.com/){: .btn }
@@ -42,13 +41,10 @@ nav_order: 2
### Button element
GitHub flavored markdown does not support the `button` element, so you'll have to use inline HTML for this:
GitHub Flavored Markdown does not support the `button` element, so you'll have to use inline HTML for this:
<div class="code-example">
<button type="button" name="button" class="btn">Button element</button>
</div>
```html
<button type="button" name="button" class="btn">Button element</button>
@@ -60,11 +56,9 @@ GitHub flavored markdown does not support the `button` element, so you'll have t
### Button size
Wrap the button in container that uses the [font-size utility classes]({{
site.baseurl }}{% link docs/utilities/typography.md %}) to scale buttons:
Wrap the button in a container that uses the [font-size utility classes]({{ site.baseurl }}{% link docs/utilities/typography.md %}) to scale buttons:
<div class="code-example" markdown="1">
<span class="fs-6">
[Big ass button](http://example.com/){: .btn }
</span>
@@ -72,7 +66,6 @@ site.baseurl }}{% link docs/utilities/typography.md %}) to scale buttons:
<span class="fs-3">
[Tiny ass button](http://example.com/){: .btn }
</span>
</div>
```markdown
<span class="fs-8">
@@ -86,20 +79,19 @@ site.baseurl }}{% link docs/utilities/typography.md %}) to scale buttons:
### Spacing between buttons
Use the [margin utility classes]({{ site.baseurl }}{% link docs/utilities/utilities.md %}#spacing) to add spacing between two buttons in the same block.
Use the [margin utility classes]({{ site.baseurl }}{% link docs/utilities/layout.md %}#spacing) to add spacing between two buttons in the same block.
<div class="code-example" markdown="1">
[Button with space](http://example.com/){: .btn .btn-purple .mr-2 }
[Button ](http://example.com/){: .btn .btn-blue .mr-2 }
[Button with space](http://example.com/){: .btn .btn-purple .mr-2}
[Button ](http://example.com/){: .btn .btn-blue .mr-2}
[Button with more space](http://example.com/){: .btn .btn-green .mr-4}
[Button with more space](http://example.com/){: .btn .btn-green .mr-4 }
[Button ](http://example.com/){: .btn .btn-blue }
</div>
```markdown
[Button with space](http://example.com/){: .btn .btn-purple .mr-2}
[Button with space](http://example.com/){: .btn .btn-purple .mr-2 }
[Button ](http://example.com/){: .btn .btn-blue }
[Button with more space](http://example.com/){: .btn .btn-green .mr-4}
[Button with more space](http://example.com/){: .btn .btn-green .mr-4 }
[Button ](http://example.com/){: .btn .btn-blue }
```

View File

@@ -6,7 +6,7 @@ nav_order: 6
---
# Code
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -18,12 +18,10 @@ nav_order: 6
## Inline code
Code can be rendered inline using single ticks by wrapping your code in single back ticks.
Code can be rendered inline by wrapping it in single back ticks.
<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.
</div>
```markdown
Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
@@ -33,7 +31,7 @@ Lorem ipsum dolor sit amet, `<inline code snippet>` adipisicing elit, sed do eiu
## Syntax highlighted code blocks
Use Jekyll's built in syntax highlighting with Rouge for code blocks by using three backticks, followed by the language name:
Use Jekyll's built-in syntax highlighting with Rouge for code blocks by using three backticks, followed by the language name:
<div class="code-example" markdown="1">
```js
@@ -58,7 +56,7 @@ var fun = function lang(l) {
## Code blocks with rendered examples
To demonstrate front end code, sometimes it useful to show a rendered example of that code. After including the styles from your project that you'll need to show the rendering, you can use a div with the `code-example` class, followed by the code block syntax. If you want to render your output with Markdown instead of HTML, use the `markdown="1"` attribute to tell Jekyll that the code you are rendering will be in Markdown format... This is about to get meta...
To demonstrate front end code, sometimes it's useful to show a rendered example of that code. After including the styles from your project that you'll need to show the rendering, you can use a `<div>` with the `code-example` class, followed by the code block syntax. If you want to render your output with Markdown instead of HTML, use the `markdown="1"` attribute to tell Jekyll that the code you are rendering will be in Markdown format... This is about to get meta...
<div class="code-example" markdown="1">

View File

@@ -10,42 +10,40 @@ nav_order: 3
Use labels as a way to add an additional mark to a section of your docs. Labels come in a few colors. By default, labels will be blue.
<div class="code-example" markdown="1">
Default label
{: .label }
Blue label
{: .label .label-blue}
{: .label .label-blue }
Stable
{: .label .label-green}
{: .label .label-green }
New release
{: .label .label-purple}
{: .label .label-purple }
Coming soon
{: .label .label-yellow}
{: .label .label-yellow }
Deprecated
{: .label .label-red}
{: .label .label-red }
</div>
```markdown
Default label
{: .label }
Blue label
{: .label .label-blue}
{: .label .label-blue }
Stable
{: .label .label-green}
{: .label .label-green }
New release
{: .label .label-purple}
{: .label .label-purple }
Coming soon
{: .label .label-yellow}
{: .label .label-yellow }
Deprecated
{: .label .label-red}
{: .label .label-red }
```

View File

@@ -6,7 +6,7 @@ nav_order: 5
---
# Lists
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -16,9 +16,10 @@ nav_order: 5
---
Most lists can be rendered with pure markdown...
Most lists can be rendered with pure Markdown.
## Unordered list
<div class="code-example" markdown="1">
- Item 1
- Item 2
@@ -42,18 +43,19 @@ _or_
* Item 3
```
## Ordered list
<div class="code-example" markdown="1">
1. Item 1
1. Item 2
1. Item 3
</div>
```markdown
```markdown
1. Item 1
1. Item 2
1. Item 3
```
```
## Task list
<div class="code-example" markdown="1">
@@ -61,15 +63,15 @@ _or_
- [ ] hello, this is another todo item
- [x] goodbye, this item is done
</div>
```markdown
```markdown
- [ ] hello, this is a todo item
- [ ] hello, this is another todo item
- [x] goodbye, this item is done
```
```
## Definition list
Definition lists require HTML syntax and aren't supported with the GitHub flavored markdown compiler.
Definition lists require HTML syntax and aren't supported with the GitHub Flavored Markdown compiler.
<div class="code-example" markdown="1">
<dl>
@@ -95,4 +97,3 @@ Definition lists require HTML syntax and aren't supported with the GitHub flavor
<dd>Green</dd>
</dl>
```

View File

@@ -6,7 +6,7 @@ nav_order: 1
---
# Typography
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -24,17 +24,17 @@ By default, Just the Docs uses a native system font stack for sans-serif fonts:
-apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif
```
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
{: .fs-5 .ls-10 .code-example }
For monospace type, like code snippets or the pre `<pre>` element, Just the Docs uses a native system font stack for monospace fonts:
For monospace type, like code snippets or the `<pre>` element, Just the Docs uses a native system font stack for monospace fonts:
```scss
"SFMono-Regular", Menlo, Consolas, Monospace
```
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
{: .fs-5 .ls-10 .text-mono .code-example }
@@ -42,7 +42,7 @@ abcdefghijklmnopqrstuvwxyz
## Responsive type scale
Just the docs uses a responsive type scale that shifts depending on the viewport size. Common elements text elements rendered from markdown use a
Just the Docs uses a responsive type scale that shifts depending on the viewport size.
| Selector | Small screen size `font-size` | Large screen size `font-size` |
|:----------------------|:---------------------------------|:------------------------------|
@@ -51,7 +51,7 @@ Just the docs uses a responsive type scale that shifts depending on the viewport
| `h3`, `.text-gamma` | 16px | 18px |
| `h4`, `.text-delta` | 14px | 16px |
| `h5`, `.text-epsilon` | 16px | 18px |
| `h6`, `.text-zeta ` | 18px | 24px |
| `h6`, `.text-zeta` | 18px | 24px |
| `body` | 14px | 16px |
---
@@ -109,6 +109,6 @@ Text can be **bold**, _italic_, or ~~strikethrough~~.
## Typographic Utilities
There are a number of specific typographic CSS classes that allow you to do override default styling for font size, font-weight, line height, and capitalization.
There are a number of specific typographic CSS classes that allow you to override default styling for font size, font weight, line height, and capitalization.
[View typography utilities]({{ site.baseurl }}{% link docs/utilities/utilities.md %}#typography){: .btn .btn-outline }

View File

@@ -1,12 +1,12 @@
---
layout: default
title: Color
nav_order: 3
parent: Utilities
nav_order: 3
---
# Color Utilities
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -16,7 +16,7 @@ parent: Utilities
---
All the colors used in Just the Docs have been systemsized into a series of variables that have been extended to both font color and background color utility classes.
All the colors used in Just the Docs have been systematized into a series of variables that have been extended to both font color and background color utility classes.
## Light Greys

View File

@@ -1,13 +1,12 @@
---
layout: default
title: Layout
nav_order: 2
parent: Utilities
has_children: true
nav_order: 2
---
# Layout Utilities
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -57,15 +56,14 @@ Spacing values are based on a `1rem = 16px` spacing scale, broken down into thes
#### Examples
{: .no_toc }
```markdown
In Markdown, use the `{: }` wrapper to apply custom classes:
```markdown
This paragraph will have a margin bottom of 1rem/16px at large screens.
{: .mb-lg-4 }
This paragraph will have 2rem/32px of padding on the right and left at all screen sizes.
{: .px-6 }
```
## Vertical Alignment
@@ -96,9 +94,9 @@ Use these classes in conjunction with the responsive modifiers.
#### Examples
{: .no_toc }
```markdown
In Markdown, use the `{: }` wrapper to apply custom classes:
```markdown
This button will be hidden until medium screen sizes:
[ A button ](#url)
@@ -107,9 +105,8 @@ This button will be hidden until medium screen sizes:
These headings will be `inline-block`:
### heading 3
{ .d-inline-block }
{: .d-inline-block }
### heading 3
{ .d-inline-block }
{: .d-inline-block }
```

View File

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

View File

@@ -1,12 +1,12 @@
---
layout: default
title: Typography
nav_order: 3
parent: Utilities
nav_order: 4
---
# Typography Utilities
{:.no_toc}
{: .no_toc }
## Table of contents
{: .no_toc .text-delta }
@@ -117,33 +117,31 @@ Use the `lh-` classes to explicitly apply line height to text.
| `.lh-tight` | 1.1 | Default for headings |
| `.lh-default` | 1.4 | Default for body (paragraphs) |
<div class="code-example" markdown="1">
No Line height
No Line height
No Line height
{: .lh-0 }
Tight line height
Tight line height
Tight line height
{: .lh-tight }
Default line height
Default line height
Default line height
{: .fh-default }
</div>
```markdown
In Markdown, use the `{: }` wrapper to apply custom classes:
No Line height
No Line height
No Line height
{: .lh-0 }
Tight line height
Tight line height
Tight line height
{: .lh-tight }
Default line height
Default line height
Default line height
{: .fh-default }
```

View File

@@ -7,7 +7,7 @@ permalink: docs/utilities
---
# Utilities
{:.no_toc}
{: .no_toc }
CSS utility classes come in handy when you to want to override default styles to give create additional whitespace (margins/padding), unexpected shifts in font-size or weight, add color, or to hide (or show) something a specific screen size.
CSS utility classes come in handy when you to want to override default styles to create additional whitespace (margins/padding), correct unexpected shifts in font size or weight, add color, or hide (or show) something at a specific screen size.
{: .fs-6 .fw-300 }

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -2,32 +2,36 @@
layout: default
title: Home
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."
permalink: /
---
# Focus on writing good documentation
{: .fs-9 }
Just the Docs gives your documentation a jumpstart with a responsive Jekyll theme that is easily customizable and hosted on GitHub pages.
Just the Docs gives your documentation a jumpstart with a responsive Jekyll theme that is easily customizable and hosted on GitHub Pages.
{: .fs-6 .fw-300 }
[Get started now](#getting-started){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } [View it on GitHub](https://github.com/pmarsceill/just-the-docs){: .btn .fs-5 }
[Get started now](#getting-started){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } [View it on GitHub](https://github.com/pmarsceill/just-the-docs){: .btn .fs-5 .mb-4 .mb-md-0 }
---
## Getting started
### Dependencies
Just the Docs is built for [Jekyll](https://jekyllrb.com), a static site generator. View the [quick start guide](https://jekyllrb.com/docs/quickstart/) 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 Jekyll plugins and can run on GitHub Pages' standard Jekyll compiler.
### Quick start: Use as a GitHub Pages remote theme
1. Add Just the Docs to your Jekyll site's `_config.yml` as a [remote theme](https://blog.github.com/2017-11-29-use-any-theme-with-github-pages/)
```yaml
remote_theme: pmarsceill/just-the-docs
```
<small>You must have GitHub pages enabled on your repo, one or more markdown files, and a `_config.yml` file. [See an example repository](https://github.com/pmarsceill/jtd-remote)</small>
<small>You must have GitHub Pages enabled on your repo, one or more Markdown files, and a `_config.yml` file. [See an example repository](https://github.com/pmarsceill/jtd-remote)</small>
### Local installation: Use the gem-based theme
1. Install the Ruby Gem
```bash
$ gem install just-the-docs
@@ -54,15 +58,17 @@ $ bundle exec jekyll serve
```
4. Point your web browser to [http://localhost:4000](http://localhost:4000)
### Configure Just the Docs
- [See configuration options]({{ site.baseurl }}{% link docs/configuration.md %})
If you're hosting your site on GitHub Pages, [set up GitHub Pages and Jekyll locally](https://help.github.com/en/articles/setting-up-your-github-pages-site-locally-with-jekyll) so that you can more easily work in your development environment.
### Configure Just the Docs
- [See configuration options]({{ site.baseurl }}{% link docs/configuration.md %})
---
## About the project
Just the Docs is &copy; 2017 by [Patrick Marsceill](http://patrickmarsceill.com).
Just the Docs is &copy; 2017-2019 by [Patrick Marsceill](http://patrickmarsceill.com).
### License
@@ -73,7 +79,6 @@ 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,
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).
### Code of Conduct
Just the Docs is committed to fostering a welcoming community.

View File

@@ -2,11 +2,11 @@
Gem::Specification.new do |spec|
spec.name = "just-the-docs"
spec.version = "0.1.6"
spec.version = "0.2.6"
spec.authors = ["Patrick Marsceill"]
spec.email = ["patrick.marsceill@gmail.com"]
spec.summary = %q{A nice looking, high customizable, responsive Jekyll theme for documention with built-in search.}
spec.summary = %q{A modern, high customizable, responsive Jekyll theme for documention with built-in search.}
spec.homepage = "https://github.com/pmarsceill/just-the-docs"
spec.license = "MIT"
@@ -14,7 +14,8 @@ Gem::Specification.new do |spec|
spec.executables << 'just-the-docs'
spec.add_runtime_dependency "jekyll", "~> 3.8.5"
spec.add_runtime_dependency "jekyll-seo-tag", "~> 2.0"
spec.add_runtime_dependency "rake", "~> 12.3.1"
spec.add_development_dependency "bundler", "~> 1.17.1"
spec.add_development_dependency "bundler", "~> 2.0.1"
end

View File

@@ -4,7 +4,7 @@ namespace :search do
puts 'Creating search data json file...'
mkdir_p 'assets/js'
touch 'assets/js/search-data.json'
content = %Q[{{ page.content | markdownify | strip_html | xml_escape | remove: 'Table of contents' | strip_newlines | replace: '\\', ' ' }}]
content = %Q[{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\\', ' ' | normalize_whitespace }}]
puts 'Done.'
puts 'Generating content...'
@@ -12,13 +12,13 @@ namespace :search do
f.puts '---
---
{
{% for page in site.html_pages %}"{{ forloop.index0 }}": {
{% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
"id": "{{ forloop.index0 }}",
"title": "{{ page.title | xml_escape }}",
"title": "{{ page.title | replace: \'&amp;\', \'&\' }}",
"content": "'+content+'",
"url": "{{ page.url | absolute_url | xml_escape }}",
"relUrl": "{{ page.url | xml_escape }}"
}{% if forloop.last %}{% else %},
"url": "{{ page.url | absolute_url }}",
"relUrl": "{{ page.url }}"
}{% unless forloop.last %},{% endunless %}
{% endif %}{% endfor %}
}'
end

5139
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,18 @@
{
"name": "just-the-docs",
"version": "0.1.6",
"description": "A Jekyll theme for documentation",
"version": "0.2.6",
"description": "A modern Jekyll theme for documentation",
"repository": "pmarsceill/just-the-docs",
"license": "MIT",
"bugs": "https://github.com/pmarsceill/just-the-docs/issues",
"devDependencies": {
"stylelint": "^7.13.0",
"stylelint-config-primer": "^2.2.11"
"stylelint": "^10.0.1",
"stylelint-config-primer": "^7.0.1",
"stylelint-selector-no-utility": "^4.0.0"
},
"dependencies": {
"@primer/css": "^12.6.0"
},
"dependencies": {},
"scripts": {
"test": "stylelint '**/*.scss'"
}