Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f8c4e6bdc | ||
|
|
db81998d57 | ||
|
|
30c69ad7fc | ||
|
|
36271d15f5 | ||
|
|
0ce3ef6bd8 | ||
|
|
e675044d29 | ||
|
|
a59342a068 | ||
|
|
b7e170c5cf | ||
|
|
cf6c261061 | ||
|
|
6de27253e7 | ||
|
|
61ae48d92a | ||
|
|
2d4e1e1ed1 | ||
|
|
918d04fa43 | ||
|
|
126f71694f | ||
|
|
8193f6071e | ||
|
|
903ad6596c | ||
|
|
90ab9d28b9 | ||
|
|
d90b7e5b3e | ||
|
|
af81ee840f | ||
|
|
cb140fc5e6 | ||
|
|
1c6bd0d9e2 | ||
|
|
8f02ec7714 | ||
|
|
ef464c868e | ||
|
|
85e1ba131e | ||
|
|
1ae32a42cb | ||
|
|
6f5e6f4391 | ||
|
|
bc0c83c0c4 | ||
|
|
cff0e2a387 | ||
|
|
844812b4f4 | ||
|
|
5fd703674b | ||
|
|
a3e2b33c5e | ||
|
|
6be43f77a5 | ||
|
|
075fad74cb | ||
|
|
7d212bc310 | ||
|
|
96149caa54 | ||
|
|
b939edc600 | ||
|
|
3d44327497 | ||
|
|
b0b2698d35 | ||
|
|
6e83c1acd5 | ||
|
|
66949b5c4c | ||
|
|
959d5fe1f9 | ||
|
|
7a7c8022ad | ||
|
|
33c6dbd1be | ||
|
|
d27cc9c132 | ||
|
|
922440cd55 | ||
|
|
9ffaf41d20 | ||
|
|
ded2d87b2b | ||
|
|
97f0f35498 | ||
|
|
621529aaf2 | ||
|
|
ef5018ee6f | ||
|
|
12ae094b8a | ||
|
|
93022d6432 | ||
|
|
1e6bcecb5a | ||
|
|
784efffcd1 | ||
|
|
b82680b103 | ||
|
|
7b6b45055c | ||
|
|
02342c919a | ||
|
|
5b203f46c4 | ||
|
|
ff56bc2bd6 | ||
|
|
4efb8638c4 | ||
|
|
536e89d174 | ||
|
|
1a85a28685 | ||
|
|
be3c046acf | ||
|
|
573f286971 | ||
|
|
70462d0e16 | ||
|
|
9dce68d58a | ||
|
|
4c3ada478a | ||
|
|
438710da82 | ||
|
|
4f76c2546a | ||
|
|
14e3fa2b28 | ||
|
|
dc965c5bbe | ||
|
|
accc82a03b | ||
|
|
148349b029 | ||
|
|
0527e17354 | ||
|
|
c76813f6f5 | ||
|
|
4364fb73f5 | ||
|
|
dfaac405f0 | ||
|
|
9c386c5509 | ||
|
|
2f5e771072 | ||
|
|
16103c6d49 | ||
|
|
bf66a5c345 | ||
|
|
ceeda03132 | ||
|
|
f1ffad4b5e | ||
|
|
162f659f61 | ||
|
|
adae207d17 | ||
|
|
4b08acb115 | ||
|
|
d240efaa7c | ||
|
|
0378a31f53 | ||
|
|
d47d62f695 | ||
|
|
64b1d429a4 | ||
|
|
244eff763a | ||
|
|
25ce47de8c | ||
|
|
256e626503 | ||
|
|
1d3fd5d7d6 | ||
|
|
f8ea22fdb8 | ||
|
|
7e7b901974 | ||
|
|
f33349c2ee | ||
|
|
ed883ea2d4 | ||
|
|
ab42c3ba1d | ||
|
|
b278dac7fb | ||
|
|
0b8b5230f9 | ||
|
|
6165d896a0 | ||
|
|
bde92b6d4a | ||
|
|
271b5da8e5 | ||
|
|
bce2b50556 | ||
|
|
7daa7aceb3 | ||
|
|
3ed92f5ea8 | ||
|
|
dc41016c62 | ||
|
|
7ef6af66e4 | ||
|
|
4b0c8bd1b9 | ||
|
|
9ac9602e22 | ||
|
|
f3c617f7de | ||
|
|
753ccbbd03 | ||
|
|
1b06aff3bc | ||
|
|
7ea8510d4f | ||
|
|
7d61488f5e | ||
|
|
a7af9b0ad2 | ||
|
|
4310b5459c | ||
|
|
f8f6e589ac | ||
|
|
172a5169f1 | ||
|
|
48ed1444b9 | ||
|
|
409bc92868 | ||
|
|
f8527e7916 | ||
|
|
a179735103 | ||
|
|
60b9565277 | ||
|
|
7746db6f7e | ||
|
|
5e3d1406d2 | ||
|
|
a0aa8f80a7 | ||
|
|
6308789788 | ||
|
|
c7ef8c0fd0 | ||
|
|
ada1b6184e | ||
|
|
9b9d2c66e2 | ||
|
|
6693a4a8cc | ||
|
|
aca6648bd4 |
@@ -1,68 +0,0 @@
|
|||||||
---
|
|
||||||
name: "Bug Report"
|
|
||||||
about: "Is something not working as expected?"
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Before opening a new issue please:
|
|
||||||
|
|
||||||
- Verify you have the latest versions of Jekyll and Minimal Mistakes
|
|
||||||
installed by running `bundle update`.
|
|
||||||
- Thoroughly read the theme's documentation at
|
|
||||||
https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/
|
|
||||||
- Search all issues at https://github.com/mmistakes/minimal-mistakes/issues
|
|
||||||
for solutions and to avoid duplication.
|
|
||||||
- Ask for help at http://talk.jekyllrb.com/
|
|
||||||
|
|
||||||
If none of the above solved your problem, you can continue below.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Environment
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Please include theme version, Jekyll version, public git repository, whether
|
|
||||||
you are hosting with GitHub Pages, and the operating system you tested with.
|
|
||||||
|
|
||||||
Issues without a link to a public repository or ZIP file will likely go ignored.
|
|
||||||
Being able to see your actual files is necessary to troubleshoot, as most
|
|
||||||
issues stem from invalid/missing YAML Front Matter, a mis-configured _config.yml
|
|
||||||
file, or problematic site content.
|
|
||||||
-->
|
|
||||||
|
|
||||||
- Minimal Mistakes version:
|
|
||||||
- Ruby gem or remote theme version:
|
|
||||||
- Jekyll version:
|
|
||||||
- Git repository URL:
|
|
||||||
- Hosted on GitHub Pages (if yes provide URL to site):
|
|
||||||
- Operating system:
|
|
||||||
|
|
||||||
## Expected behavior
|
|
||||||
|
|
||||||
<!--
|
|
||||||
What is it you expected to happen? This should be a description of how the
|
|
||||||
functionality you tried to use is supposed to work.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Steps to reproduce the behavior
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Describe the steps you took for this problem to come up. Such as: you installed
|
|
||||||
the theme, customized _config.yml, added your own posts, and started up a
|
|
||||||
Jekyll server locally.
|
|
||||||
|
|
||||||
If an error occurred on GitHub Pages when pushing, please test a local version
|
|
||||||
following these setup instructions:
|
|
||||||
https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/
|
|
||||||
|
|
||||||
Then provide a complete log by running `bundle exec jekyll build --trace --verbose`
|
|
||||||
and include this output in the filed issue.
|
|
||||||
|
|
||||||
Screenshots can also be included if they help illustrate a behavior.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Other
|
|
||||||
|
|
||||||
<!--
|
|
||||||
NOTE: Please provide a code repository, gist, code snippet, sample files,
|
|
||||||
screenshots, or anything else you think will aid in reproducing the issue.
|
|
||||||
-->
|
|
||||||
@@ -19,7 +19,7 @@ body:
|
|||||||
- type: textarea
|
- type: textarea
|
||||||
id: environment
|
id: environment
|
||||||
attributes:
|
attributes:
|
||||||
label: What happened?
|
label: Theme version and system environment
|
||||||
description: |
|
description: |
|
||||||
Please include theme version, Jekyll version, public git repository, whether
|
Please include theme version, Jekyll version, public git repository, whether
|
||||||
you are hosting with GitHub Pages, and the operating system you tested with.
|
you are hosting with GitHub Pages, and the operating system you tested with.
|
||||||
@@ -33,8 +33,21 @@ body:
|
|||||||
- Ruby gem or remote theme version:
|
- Ruby gem or remote theme version:
|
||||||
- Jekyll version:
|
- Jekyll version:
|
||||||
- Git repository URL:
|
- Git repository URL:
|
||||||
- Hosted on GitHub Pages (if yes provide URL to site):
|
- URL to the page with the problem:
|
||||||
- Operating system:
|
- Operating system:
|
||||||
|
- Browser version:
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: what-happened
|
||||||
|
attributes:
|
||||||
|
label: What happened?
|
||||||
|
description: |
|
||||||
|
Describe the problem **in detail**. For example:
|
||||||
|
|
||||||
|
- What is missing?
|
||||||
|
- What error do you see? Attach the error log if available.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
---
|
|
||||||
name: "Documentation"
|
|
||||||
about: "Found a typo or something that needs clarification?"
|
|
||||||
---
|
|
||||||
|
|
||||||
<!-- Thanks for taking the time to open an issue and help make the docs better -->
|
|
||||||
|
|
||||||
## Motivation
|
|
||||||
|
|
||||||
<!-- Why should we update our docs? -->
|
|
||||||
|
|
||||||
<!-- What should we do instead? -->
|
|
||||||
|
|
||||||
## Suggestion
|
|
||||||
|
|
||||||
<!-- What should we do instead? -->
|
|
||||||
@@ -4,14 +4,22 @@ on:
|
|||||||
pull_request_target:
|
pull_request_target:
|
||||||
types: [opened, reopened]
|
types: [opened, reopened]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
close-pr:
|
close-pr:
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: "contains(github.event.pull_request.body, 'by deleting this comment block') || github.event.pull_request.body == ''"
|
if: "contains(github.event.pull_request.body, 'by deleting this comment block') || github.event.pull_request.body == ''"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions-ecosystem/action-add-labels@v1
|
- uses: actions-ecosystem/action-add-labels@v1
|
||||||
with:
|
with:
|
||||||
labels: 'Type: Invalid'
|
labels: 'Type: Invalid'
|
||||||
|
- uses: actions-ecosystem/action-add-labels@v1
|
||||||
|
with:
|
||||||
|
labels: 'Type: Spam'
|
||||||
- uses: superbrothers/close-pull-request@v3
|
- uses: superbrothers/close-pull-request@v3
|
||||||
with:
|
with:
|
||||||
# Optional. Post an issue comment just before closing a pull request.
|
# Optional. Post an issue comment just before closing a pull request.
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
repository_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
if: github.repository == 'mmistakes/minimal-mistakes'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
ruby-version: '3.2'
|
||||||
|
- name: Setup cache for Bundler
|
||||||
|
id: cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
docs/Gemfile.lock
|
||||||
|
docs/vendor/bundle
|
||||||
|
key: ${{ runner.os }}-bundler-${{ hashFiles('docs/Gemfile') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-bundler-
|
||||||
|
|
||||||
|
- name: Install - Bundler
|
||||||
|
env:
|
||||||
|
MAKE: make -j2
|
||||||
|
working-directory: docs/
|
||||||
|
run: |
|
||||||
|
bundle config set path vendor/bundle
|
||||||
|
bundle install --jobs=4 --retry=3
|
||||||
|
bundle clean
|
||||||
|
|
||||||
|
- name: Update Algolia index
|
||||||
|
working-directory: docs/
|
||||||
|
run: bundle exec jekyll algolia push
|
||||||
|
env:
|
||||||
|
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||||
|
continue-on-error: true
|
||||||
@@ -2,6 +2,9 @@
|
|||||||
*~
|
*~
|
||||||
*.sw[p_]
|
*.sw[p_]
|
||||||
|
|
||||||
|
# IntelliJ IDEA
|
||||||
|
*.idea
|
||||||
|
|
||||||
# Sublime Text
|
# Sublime Text
|
||||||
*.sublime-project
|
*.sublime-project
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
|
|||||||
+148
-10
@@ -1,5 +1,138 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Hide page__footer-follow if there are no links nor atom feed. (#5279)
|
||||||
|
- Add HTML escaping for some titles, labels and metada that was missing. (#5276)
|
||||||
|
- Add optional `footer.since` for copyright time range. (#5275)
|
||||||
|
|
||||||
|
## [4.27.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.27.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add a "Share on Bluesky" button (#5179)
|
||||||
|
- Add preset variables for modern font stack (#5033)
|
||||||
|
- Update X share button to match brand color (#5245)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix wrong icon and color for X share button.
|
||||||
|
|
||||||
|
## [4.27.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.27.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add RTL Support. [#4886](https://github.com/mmistakes/minimal-mistakes/pull/4886)
|
||||||
|
- Add missing Polish translation. [#4890](https://github.com/mmistakes/minimal-mistakes/pull/4890)
|
||||||
|
- Rewrite most directions with [CSS logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).
|
||||||
|
- Remove unnecessary "type" attribute (#4956)
|
||||||
|
- The "if" means the default is never used (#4955)
|
||||||
|
- For pages without a title, show the site title only once (#4959)
|
||||||
|
- Use `documents-collection.html` partial in `home` layout.
|
||||||
|
- Add Bulgarian translation. [#5003](https://github.com/mmistakes/minimal-mistakes/pull/5003)
|
||||||
|
- Add provider and comments info to `single.html` layout for non-production. (#5068)
|
||||||
|
- Tweak contrast skin $primary-color to adhere to WCAG guidelines. (#5126)
|
||||||
|
- Update social share buttons to reflect Twitter rebranding to X (#5210)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Replace a redirected link to MadeMistakes in footer. [#4882](https://github.com/mmistakes/minimal-mistakes/pull/4882)
|
||||||
|
- Fix wrong float direction for `feature_row` with `type="right"`. [#4061](https://github.com/mmistakes/minimal-mistakes/issues/4061)
|
||||||
|
- Fix reset stylesheet overruling `$doc-font-size`. [#4983](https://github.com/mmistakes/minimal-mistakes/issues/4983)
|
||||||
|
- Fix JavaScript null error on home and splash layouts. [#4938](https://github.com/mmistakes/minimal-mistakes/issues/4938), [#4939](https://github.com/mmistakes/minimal-mistakes/pull/4939)
|
||||||
|
- Fix bad <figure> HTML if "alt" contains quotes.
|
||||||
|
- Fix extra newline generated in `_includes/post_pagination.html`.
|
||||||
|
- Hide hidden links & remove the overlay when one is clicked. [#5042](https://github.com/mmistakes/minimal-mistakes/pull/5042)
|
||||||
|
- Fix typo in "Configuration" (#5106)
|
||||||
|
- bundle exec jekyll serve will fail if more than once (#5193)
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Automatically update Algolia search index with GitHub Actions.
|
||||||
|
|
||||||
|
## [4.26.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.26.2)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add Czech localization. [#4866](https://github.com/mmistakes/minimal-mistakes/pull/4866)
|
||||||
|
- Allow overriding HTML `lang` attribute on a per-page basis. [#4862](https://github.com/mmistakes/minimal-mistakes/pull/4862)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Figure helper breaks when using code markup in caption with `popup=true`. [#4841](https://github.com/mmistakes/minimal-mistakes/issues/4841)
|
||||||
|
|
||||||
|
## [4.26.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.26.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Disable copy button on invalid syntax highlighting blocks to avoid positioning issues.
|
||||||
|
- Fix typo for `fa-dribbble` in `_utilities.scss`.
|
||||||
|
- Restrict "auto scroll sticky ToC to content" feature to Chromium browsers for now. [#4826](https://github.com/mmistakes/minimal-mistakes/issues/4826)
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Rewrite social icons SCSS with a loop.
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Change the icon of a copy button into a tick for 1.5 seconds on successful copy.
|
||||||
|
|
||||||
|
## [4.26.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.26.0)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix an unclosed `<p>` tag in `page__hero.html`, near `page.header.actions`.
|
||||||
|
- Remove overlay and revert X to hamburger icon when popup disappears. [#3958](https://github.com/mmistakes/minimal-mistakes/pull/3958)
|
||||||
|
- Fix SEO title when it contains a vertical bar. [#3094](https://github.com/mmistakes/minimal-mistakes/pull/3094) [#3113](https://github.com/mmistakes/minimal-mistakes/pull/3113)
|
||||||
|
- Remove "sticky sidebar" JS as it's now completely based on CSS media queries. [#4245](https://github.com/mmistakes/minimal-mistakes/issues/4245) [#4645](https://github.com/mmistakes/minimal-mistakes/pull/4645)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add support for [Jekyll Paginate V2](https://github.com/sverrirs/jekyll-paginate-v2) 🎉 [#2636](https://github.com/mmistakes/minimal-mistakes/pull/2636)
|
||||||
|
- Add "copy to clipboard" button for code blocks 🎉 [#2812](https://github.com/mmistakes/minimal-mistakes/pull/2812)
|
||||||
|
- Auto scroll sticky ToC with content. [#3115](https://github.com/mmistakes/minimal-mistakes/pull/3115)
|
||||||
|
- Replace "hidden" check in Liquid templates with `where_exp: "item", "item.hidden != true"`.
|
||||||
|
- Remove deprecated `page.header.cta_url` setting. [#4821](https://github.com/mmistakes/minimal-mistakes/pull/4821)
|
||||||
|
- Allow multiple nav lists in sidebar. [#2843](https://github.com/mmistakes/minimal-mistakes/pull/2843)
|
||||||
|
- Add popup parameter to `{% include figure %}` to enable Magnific Popup. [#3119](https://github.com/mmistakes/minimal-mistakes/pull/3119)
|
||||||
|
- Add target attribute for navigation link. [#3056](https://github.com/mmistakes/minimal-mistakes/pull/3056)
|
||||||
|
- Split schema to a separate include file. [#3085](https://github.com/mmistakes/minimal-mistakes/pull/3085)
|
||||||
|
- Cleanup `_includes/seo.html`.
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Rewrite skin previews on `05-configuration.md` in Liquid template.
|
||||||
|
- Remove unused classes from `_layouts/single.html`.
|
||||||
|
- Migrate npm run scripts to Ruby Rake tasks.
|
||||||
|
- Add Rake task `version` for updating all hard-coded version numbers from `package.json` all at once.
|
||||||
|
- Merge `categories` and `tags` layout into `_includes/posts-taxonomy.html`.
|
||||||
|
- Update Social Sharing links section. [#4066](https://github.com/mmistakes/minimal-mistakes/pull/4066)
|
||||||
|
|
||||||
|
## [4.25.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.25.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- "You may also enjoy" no longer recommends hidden posts. [#4653](https://github.com/mmistakes/minimal-mistakes/issues/4653)
|
||||||
|
- Replaced dead link to "Viewport and Media Queries" slides. [#4421](https://github.com/mmistakes/minimal-mistakes/discussions/4421)
|
||||||
|
- Fix broken `where_exp` in `lunr-store.js` for Jekyll < 4.0. [#4808](https://github.com/mmistakes/minimal-mistakes/issues/4808)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add Ukrainian translations. [#4273](https://github.com/mmistakes/minimal-mistakes/pull/4273)
|
||||||
|
- Add more configuration for Giscus. [#4274](https://github.com/mmistakes/minimal-mistakes/pull/4274)
|
||||||
|
- Bump jekyll-toc to [v1.2.1](https://github.com/allejo/jekyll-toc/releases/tag/v1.2.1).
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Bump shell-quote from 1.7.1 to 1.7.3 [#3692](https://github.com/mmistakes/minimal-mistakes/issues/3692)
|
||||||
|
- Add `after-content.html` and `before-related.html` includes to ease docs site overrides.
|
||||||
|
- GitHub Workflows security hardening [#3884](https://github.com/mmistakes/minimal-mistakes/issues/3884)
|
||||||
|
- Replace Font Awesome v5 search page with v6.
|
||||||
|
- Try adding an FAQ page.
|
||||||
|
- Update remote theme reference in Quick-Start Guide to point to 4.25.0. [#4809](https://github.com/mmistakes/minimal-mistakes/issues/4809)
|
||||||
|
|
||||||
## [4.25.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.25.0)
|
## [4.25.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.25.0)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
@@ -10,14 +143,9 @@
|
|||||||
- Remove JS and other files from search index [#4000](https://github.com/mmistakes/minimal-mistakes/pull/4000)
|
- Remove JS and other files from search index [#4000](https://github.com/mmistakes/minimal-mistakes/pull/4000)
|
||||||
- Fix unlisted YouTube video embeds in documentation/test sites. [#3649](https://github.com/mmistakes/minimal-mistakes/issues/3649)
|
- Fix unlisted YouTube video embeds in documentation/test sites. [#3649](https://github.com/mmistakes/minimal-mistakes/issues/3649)
|
||||||
- Fix error in Algolia search script when returning a hit that without `html` and `hightlight.html`. [#3101](https://github.com/mmistakes/minimal-mistakes/issues/3101) [#3102](https://github.com/mmistakes/minimal-mistakes/pull/3102)
|
- Fix error in Algolia search script when returning a hit that without `html` and `hightlight.html`. [#3101](https://github.com/mmistakes/minimal-mistakes/issues/3101) [#3102](https://github.com/mmistakes/minimal-mistakes/pull/3102)
|
||||||
- Fix links to Font Awesome gallery. [#3599](https://github.com/mmistakes/minimal-mistakes/pull/3599)
|
|
||||||
- Fix GreedyNav.js attribution link. [#3553](https://github.com/mmistakes/minimal-mistakes/pull/3553)
|
|
||||||
- Fix typo about loading JavaScript in layout documentation. [#3350](https://github.com/mmistakes/minimal-mistakes/pull/3350)
|
|
||||||
- Fix inline code style not applied to stylized text. [#3253](https://github.com/mmistakes/minimal-mistakes/pull/3253)
|
- Fix inline code style not applied to stylized text. [#3253](https://github.com/mmistakes/minimal-mistakes/pull/3253)
|
||||||
- Fix documentation typos. [#3232](https://github.com/mmistakes/minimal-mistakes/pull/3232) [#3318](https://github.com/mmistakes/minimal-mistakes/pull/3318)
|
|
||||||
- Fix Keybase icon in author sidebar. [#3221](https://github.com/mmistakes/minimal-mistakes/pull/3221)
|
- Fix Keybase icon in author sidebar. [#3221](https://github.com/mmistakes/minimal-mistakes/pull/3221)
|
||||||
- Fix sort order of Staticman comments when data files aren't named alphabetically. [#3184](https://github.com/mmistakes/minimal-mistakes/pull/3184)
|
- Fix sort order of Staticman comments when data files aren't named alphabetically. [#3184](https://github.com/mmistakes/minimal-mistakes/pull/3184)
|
||||||
- Fix broken documentation link and add Baidu site verification to `_config.yml` files. [#3139](https://github.com/mmistakes/minimal-mistakes/pull/3139)
|
|
||||||
- Fix `layout: compress` issue with HTML comment in video include. [#3117](https://github.com/mmistakes/minimal-mistakes/pull/3117)
|
- Fix `layout: compress` issue with HTML comment in video include. [#3117](https://github.com/mmistakes/minimal-mistakes/pull/3117)
|
||||||
- Add Magnific Popup class to anchors that only contain an `img` element. [#3111](https://github.com/mmistakes/minimal-mistakes/issues/3111) [#3114](https://github.com/mmistakes/minimal-mistakes/pull/3114)
|
- Add Magnific Popup class to anchors that only contain an `img` element. [#3111](https://github.com/mmistakes/minimal-mistakes/issues/3111) [#3114](https://github.com/mmistakes/minimal-mistakes/pull/3114)
|
||||||
- Fix heading level of related posts section from `h4` to `h2` to improve accessibility and SEO. [#3064](https://github.com/mmistakes/minimal-mistakes/pull/3064)
|
- Fix heading level of related posts section from `h4` to `h2` to improve accessibility and SEO. [#3064](https://github.com/mmistakes/minimal-mistakes/pull/3064)
|
||||||
@@ -26,10 +154,10 @@
|
|||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
|
|
||||||
- Add site.copyright and site.copyright_url config options [#4313](https://github.com/mmistakes/minimal-mistakes/pull/4313)
|
- Add `site.copyright` and `site.copyright_url` config options [#4313](https://github.com/mmistakes/minimal-mistakes/pull/4313)
|
||||||
- Lazy-load InstantSearch scripts and stylesheets [#3691](https://github.com/mmistakes/minimal-mistakes/pull/3691)
|
- Lazy-load InstantSearch scripts and stylesheets [#3691](https://github.com/mmistakes/minimal-mistakes/pull/3691)
|
||||||
- Improve Finnish translations [#4595](https://github.com/mmistakes/minimal-mistakes/pull/4595)
|
- Improve Finnish translations [#4595](https://github.com/mmistakes/minimal-mistakes/pull/4595)
|
||||||
- Remove redundant downcase from _layouts/categories.html. [#4531](https://github.com/mmistakes/minimal-mistakes/pull/4531)
|
- Remove redundant downcase from \_layouts/categories.html. [#4531](https://github.com/mmistakes/minimal-mistakes/pull/4531)
|
||||||
- Load latest Font Awesome package. [#3765](https://github.com/mmistakes/minimal-mistakes/pull/3765)
|
- Load latest Font Awesome package. [#3765](https://github.com/mmistakes/minimal-mistakes/pull/3765)
|
||||||
- Add missing Polish missing UI text strings. [#3969](https://github.com/mmistakes/minimal-mistakes/pull/3969)
|
- Add missing Polish missing UI text strings. [#3969](https://github.com/mmistakes/minimal-mistakes/pull/3969)
|
||||||
- Update breadcrumbs conditional to enable/disable them via Front Matter on pages using `layout: single`. [#3096](https://github.com/mmistakes/minimal-mistakes/pull/3096) [#3669](https://github.com/mmistakes/minimal-mistakes/pull/3669)
|
- Update breadcrumbs conditional to enable/disable them via Front Matter on pages using `layout: single`. [#3096](https://github.com/mmistakes/minimal-mistakes/pull/3096) [#3669](https://github.com/mmistakes/minimal-mistakes/pull/3669)
|
||||||
@@ -40,16 +168,26 @@
|
|||||||
- Update jQuery to v3.6.0. [#3254](https://github.com/mmistakes/minimal-mistakes/pull/3254)
|
- Update jQuery to v3.6.0. [#3254](https://github.com/mmistakes/minimal-mistakes/pull/3254)
|
||||||
- Use notice `<a>` colors for blockquotes that have `notice--` classes applied. [#3140](https://github.com/mmistakes/minimal-mistakes/pull/3140) [#3068](https://github.com/mmistakes/minimal-mistakes/issues/3068)
|
- Use notice `<a>` colors for blockquotes that have `notice--` classes applied. [#3140](https://github.com/mmistakes/minimal-mistakes/pull/3140) [#3068](https://github.com/mmistakes/minimal-mistakes/issues/3068)
|
||||||
- Add sameAs itemprop to author link. [#3087](https://github.com/mmistakes/minimal-mistakes/pull/3087)
|
- Add sameAs itemprop to author link. [#3087](https://github.com/mmistakes/minimal-mistakes/pull/3087)
|
||||||
- Automatically close invalid PRs using GitHub Actions. [#3313](https://github.com/mmistakes/minimal-mistakes/pull/3313)
|
|
||||||
- Update and add missing Brazilian Portuguese translations. [#3204](https://github.com/mmistakes/minimal-mistakes/pull/3204)
|
- Update and add missing Brazilian Portuguese translations. [#3204](https://github.com/mmistakes/minimal-mistakes/pull/3204)
|
||||||
- Add link to documentation clarifying how to add plugins. [#3181](https://github.com/mmistakes/minimal-mistakes/pull/3181)
|
|
||||||
- Add optional label attribute for utterances comments. [#3128](https://github.com/mmistakes/minimal-mistakes/pull/3128)
|
- Add optional label attribute for utterances comments. [#3128](https://github.com/mmistakes/minimal-mistakes/pull/3128)
|
||||||
- Bump path-parse from 1.0.6 to 1.0.7. [#3116](https://github.com/mmistakes/minimal-mistakes/pull/3116)
|
|
||||||
- Add missing Danish translations. [#3095](https://github.com/mmistakes/minimal-mistakes/pull/3095)
|
- Add missing Danish translations. [#3095](https://github.com/mmistakes/minimal-mistakes/pull/3095)
|
||||||
- Add ARIA role to search forms. [#3086](https://github.com/mmistakes/minimal-mistakes/pull/3086)
|
- Add ARIA role to search forms. [#3086](https://github.com/mmistakes/minimal-mistakes/pull/3086)
|
||||||
- Add overflow scroll bar to sticky table of contents that are taller than the viewport's height. [#2874](https://github.com/mmistakes/minimal-mistakes/pull/2874)
|
- Add overflow scroll bar to sticky table of contents that are taller than the viewport's height. [#2874](https://github.com/mmistakes/minimal-mistakes/pull/2874)
|
||||||
- Add Microformats markup. [#3052](https://github.com/mmistakes/minimal-mistakes/pull/3052)
|
- Add Microformats markup. [#3052](https://github.com/mmistakes/minimal-mistakes/pull/3052)
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Fix links to Font Awesome gallery. [#3599](https://github.com/mmistakes/minimal-mistakes/pull/3599)
|
||||||
|
- Fix GreedyNav.js attribution link. [#3553](https://github.com/mmistakes/minimal-mistakes/pull/3553)
|
||||||
|
- Fix typo about loading JavaScript in layout documentation. [#3350](https://github.com/mmistakes/minimal-mistakes/pull/3350)
|
||||||
|
- Fix documentation typos. [#3232](https://github.com/mmistakes/minimal-mistakes/pull/3232) [#3318](https://github.com/mmistakes/minimal-mistakes/pull/3318)
|
||||||
|
- Add link to documentation clarifying how to add plugins. [#3181](https://github.com/mmistakes/minimal-mistakes/pull/3181)
|
||||||
|
- Fix broken documentation link and add Baidu site verification to `_config.yml` files. [#3139](https://github.com/mmistakes/minimal-mistakes/pull/3139)
|
||||||
|
- Bump path-parse from 1.0.6 to 1.0.7. [#3116](https://github.com/mmistakes/minimal-mistakes/pull/3116)
|
||||||
|
- Automatically close invalid PRs using GitHub Actions. [#3313](https://github.com/mmistakes/minimal-mistakes/pull/3313)
|
||||||
- Add instructions on how to unminify `main.js` for easier browser debugging. [#3055](https://github.com/mmistakes/minimal-mistakes/pull/3055)
|
- Add instructions on how to unminify `main.js` for easier browser debugging. [#3055](https://github.com/mmistakes/minimal-mistakes/pull/3055)
|
||||||
|
- Consolidate hard-coded version numbers where possible.
|
||||||
|
- Add Rakefile for automatically syncing CHANGELOG with history and synched them.
|
||||||
|
|
||||||
## [4.24.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.24.0)
|
## [4.24.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.24.0)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2013-2020 Michael Rose and contributors
|
Copyright (c) 2013-2024 Michael Rose and contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ Minimal Mistakes is a flexible two-column Jekyll theme, perfect for building per
|
|||||||
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
||||||
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman](https://staticman.net/), [utterances](https://utteranc.es/), and [giscus](https://giscus.app/)).
|
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman](https://staticman.net/), [utterances](https://utteranc.es/), and [giscus](https://giscus.app/)).
|
||||||
- [Google Analytics](https://www.google.com/analytics/) support.
|
- [Google Analytics](https://www.google.com/analytics/) support.
|
||||||
- UI localized text in English (default), Arabic (عربي), Brazilian Portuguese (Português brasileiro), Catalan, Chinese, Danish, Dutch, Finnish, French (Français), German (Deutsch), Greek, Hebrew, Hindi (हिंदी), Hungarian, Indonesian, Irish (Gaeilge), Italian (Italiano), Japanese, Kiswahili, Korean, Malayalam, Myanmar (Burmese), Nepali (Nepalese), Norwegian (Norsk), Persian (فارسی), Polish, Punjabi (ਪੰਜਾਬੀ), Romanian, Russian, Slovak, Spanish (Español), Swedish, Thai, Turkish (Türkçe), and Vietnamese.
|
- UI localized text in English (default), Arabic (عربي), Brazilian Portuguese (Português brasileiro), Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, Finnish, French (Français), German (Deutsch), Greek, Hebrew, Hindi (हिंदी), Hungarian, Indonesian, Irish (Gaeilge), Italian (Italiano), Japanese, Kiswahili, Korean, Malayalam, Myanmar (Burmese), Nepali (Nepalese), Norwegian (Norsk), Persian (فارسی), Polish, Punjabi (ਪੰਜਾਬੀ), Romanian, Russian, Slovak, Spanish (Español), Swedish, Thai, Turkish (Türkçe), Ukrainian (Українська) and Vietnamese.
|
||||||
|
|
||||||
## Skins (color variations)
|
## Skins (color variations)
|
||||||
|
|
||||||
@@ -121,28 +121,30 @@ To install:
|
|||||||
bundle
|
bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.25.0"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.27.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Dev note: The version number is currently hard-coded in these files:
|
Dev note: The version number is currently hard-coded in these files:
|
||||||
|
|
||||||
- README.md (this file)
|
|
||||||
- package.json
|
- package.json
|
||||||
- docs/_config.yml (as theme_version)
|
- README.md (this file)
|
||||||
|
- docs/_data/theme.yml
|
||||||
- docs/_pages/home.md (in Front Matter "excerpt")
|
- docs/_pages/home.md (in Front Matter "excerpt")
|
||||||
|
|
||||||
For every release, files listed above should be manually updated with the new version number.
|
`package.json` holds the authoritative version number, and the others can be updated with `bundle exec rake version`.
|
||||||
|
|
||||||
Additionally, the license year is hard-coded in these files:
|
|
||||||
|
|
||||||
- README.md (this file, near the end)
|
|
||||||
- LICENSE
|
|
||||||
|
|
||||||
The following files should also be regenerated:
|
The following files should also be regenerated:
|
||||||
|
|
||||||
- _includes/copyright.html, _includes/copyright.js, _sass/minimal-mistakes/_copyright.scss
|
- _includes/copyright.html, _includes/copyright.js, _sass/minimal-mistakes/_copyright.scss
|
||||||
(Run `bundle exec rake clean` then `bundle exec rake copyright` - all three references `package.json`)
|
(Run `bundle exec rake clean` then `bundle exec rake copyright` - all three references `package.json`)
|
||||||
- assets/js/main.min.js (Run `npm run build:js`, references `_includes/copyright.js`)
|
- assets/js/main.min.js (Run `bundle exec rake js`, references `_includes/copyright.js`)
|
||||||
|
|
||||||
|
*Tip*: The default Rake task will update all of the above files at once.
|
||||||
|
|
||||||
|
Additionally, the license year is hard-coded in these files and are NOT covered by a Rake task:
|
||||||
|
|
||||||
|
- README.md (this file, near the end)
|
||||||
|
- LICENSE
|
||||||
-->
|
-->
|
||||||
|
|
||||||
**Looking for an example?** Use the [Minimal Mistakes remote theme starter](https://github.com/mmistakes/mm-github-pages-starter/generate) for the quickest method of getting a GitHub Pages hosted site up and running. Generate a new repository from the starter, replace sample content with your own, and configure as needed.
|
**Looking for an example?** Use the [Minimal Mistakes remote theme starter](https://github.com/mmistakes/mm-github-pages-starter/generate) for the quickest method of getting a GitHub Pages hosted site up and running. Generate a new repository from the starter, replace sample content with your own, and configure as needed.
|
||||||
@@ -202,12 +204,13 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
|
|||||||
- [Gumshoe](https://github.com/cferdinandi/gumshoe)
|
- [Gumshoe](https://github.com/cferdinandi/gumshoe)
|
||||||
- [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/)
|
- [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/)
|
||||||
- [Lunr](http://lunrjs.com)
|
- [Lunr](http://lunrjs.com)
|
||||||
|
- [Clipboard.js](https://clipboardjs.com)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2013-2020 Michael Rose and contributors
|
Copyright (c) 2013-2024 Michael Rose and contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -280,3 +283,7 @@ Pure Liquid Jekyll Table of Contents is distributed under the terms of the [MIT
|
|||||||
Minimal Mistakes incorporates [Lunr](http://lunrjs.com),
|
Minimal Mistakes incorporates [Lunr](http://lunrjs.com),
|
||||||
Copyright (c) 2018 Oliver Nightingale.
|
Copyright (c) 2018 Oliver Nightingale.
|
||||||
Lunr is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
Lunr is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
|
Minimal Mistakes incorporates [clipboard.js](https://clipboardjs.com/),
|
||||||
|
Copyright (c) 2021 Zeno Rocha.
|
||||||
|
Clipboard.js is distributed under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
||||||
|
|||||||
@@ -3,9 +3,12 @@ require "jekyll"
|
|||||||
require "json"
|
require "json"
|
||||||
require "listen"
|
require "listen"
|
||||||
require "rake/clean"
|
require "rake/clean"
|
||||||
|
require "shellwords"
|
||||||
require "time"
|
require "time"
|
||||||
require "yaml"
|
require "yaml"
|
||||||
|
|
||||||
|
task :default => %i[copyright changelog js version]
|
||||||
|
|
||||||
package_json = JSON.parse(File.read("package.json"))
|
package_json = JSON.parse(File.read("package.json"))
|
||||||
|
|
||||||
def listen_ignore_paths(base, options)
|
def listen_ignore_paths(base, options)
|
||||||
@@ -71,8 +74,7 @@ task :preview do
|
|||||||
puts " Halting auto-regeneration."
|
puts " Halting auto-regeneration."
|
||||||
exit 0
|
exit 0
|
||||||
end
|
end
|
||||||
|
sleep
|
||||||
loop { sleep 1000 }
|
|
||||||
end
|
end
|
||||||
rescue ThreadError
|
rescue ThreadError
|
||||||
# You pressed Ctrl-C, oh my!
|
# You pressed Ctrl-C, oh my!
|
||||||
@@ -81,6 +83,7 @@ task :preview do
|
|||||||
Jekyll::Commands::Serve.process(options)
|
Jekyll::Commands::Serve.process(options)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
task :history => :changelog
|
||||||
task :changelog => "docs/_docs/18-history.md"
|
task :changelog => "docs/_docs/18-history.md"
|
||||||
file "docs/_docs/18-history.md" => "CHANGELOG.md" do |t|
|
file "docs/_docs/18-history.md" => "CHANGELOG.md" do |t|
|
||||||
front_matter = {
|
front_matter = {
|
||||||
@@ -100,9 +103,16 @@ file "docs/_docs/18-history.md" => "CHANGELOG.md" do |t|
|
|||||||
f.puts front_matter.to_yaml
|
f.puts front_matter.to_yaml
|
||||||
f.puts "---"
|
f.puts "---"
|
||||||
f.puts ""
|
f.puts ""
|
||||||
f.puts "<!-- Sourced from CHANGELOG.md -->"
|
f.puts "<!--\n Sourced from CHANGELOG.md\n See Rakefile `task :changelog` for details\n-->"
|
||||||
|
f.puts ""
|
||||||
f.puts "{% raw %}"
|
f.puts "{% raw %}"
|
||||||
f.write File.read(t.prerequisites.first)
|
# Remove H1
|
||||||
|
changelog = File.read(t.prerequisites.first)
|
||||||
|
.gsub(/^# [^\n]*$/m, "")
|
||||||
|
.gsub(/\(#(\d+)\)$/m, "[#\\1](https://github.com/mmistakes/minimal-mistakes/issues/\\1)")
|
||||||
|
.strip
|
||||||
|
f.write changelog
|
||||||
|
f.puts ""
|
||||||
f.puts "{% endraw %}"
|
f.puts "{% endraw %}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -130,18 +140,72 @@ def genenerate_copyright_file(filename, header, prefix, footer)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
file "_includes/copyright.html" do |t|
|
file "_includes/copyright.html" => "package.json" do |t|
|
||||||
genenerate_copyright_file(t.name, "<!--", " ", "-->")
|
genenerate_copyright_file(t.name, "<!--", " ", "-->")
|
||||||
end
|
end
|
||||||
|
|
||||||
file "_includes/copyright.js" do |t|
|
file "_includes/copyright.js" => "package.json" do |t|
|
||||||
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
||||||
end
|
end
|
||||||
|
|
||||||
file "_sass/minimal-mistakes/_copyright.scss" do |t|
|
file "_sass/minimal-mistakes/_copyright.scss" => "package.json" do |t|
|
||||||
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
||||||
end
|
end
|
||||||
|
|
||||||
task :copyright => COPYRIGHT_FILES
|
task :copyright => COPYRIGHT_FILES
|
||||||
|
|
||||||
CLEAN.include(*COPYRIGHT_FILES)
|
CLEAN.include(*COPYRIGHT_FILES)
|
||||||
|
|
||||||
|
JS_FILES = ["assets/js/vendor/jquery/jquery-3.6.0.js"] + Dir.glob("assets/js/plugins/*.js") + ["assets/js/_main.js"]
|
||||||
|
JS_TARGET = "assets/js/main.min.js"
|
||||||
|
task :js => JS_TARGET
|
||||||
|
file JS_TARGET => ["_includes/copyright.js"] + JS_FILES do |t|
|
||||||
|
sh Shellwords.join(%w[npx uglifyjs -c --comments /@mmistakes/ --source-map -m -o] +
|
||||||
|
[t.name] + t.prerequisites)
|
||||||
|
end
|
||||||
|
|
||||||
|
task :watch_js do
|
||||||
|
listener = Listen.to(
|
||||||
|
"assets/js",
|
||||||
|
ignore: /main\.min\.js$/,
|
||||||
|
) do |modified, added, removed|
|
||||||
|
Rake::Task[:js].invoke
|
||||||
|
end
|
||||||
|
|
||||||
|
trap("INT") do
|
||||||
|
listener.stop
|
||||||
|
exit 0
|
||||||
|
end
|
||||||
|
|
||||||
|
begin
|
||||||
|
listener.start
|
||||||
|
sleep
|
||||||
|
rescue ThreadError
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
task :version => ["docs/_data/theme.yml", "README.md", "docs/_pages/home.md"]
|
||||||
|
|
||||||
|
file "docs/_data/theme.yml" => "package.json" do |t|
|
||||||
|
theme = { "version" => package_json["version"] }
|
||||||
|
File.open(t.name, "w") do |f|
|
||||||
|
f.puts "# for use with in-page templates"
|
||||||
|
f.puts theme.to_yaml
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
file "README.md" => "package.json" do |t|
|
||||||
|
content = File.read(t.name)
|
||||||
|
content = content.gsub(/(mmistakes\/minimal-mistakes@)[\d.]+/, '\1' + package_json["version"])
|
||||||
|
File.write(t.name, content)
|
||||||
|
end
|
||||||
|
|
||||||
|
file "docs/_pages/home.md" => "package.json" do |t|
|
||||||
|
content = File.read(t.name)
|
||||||
|
content = content.gsub(/(\breleases\/tag\/|Latest release v)[\d.]+/, '\1' + package_json["version"])
|
||||||
|
File.write(t.name, content)
|
||||||
|
end
|
||||||
|
|
||||||
|
task :gem do
|
||||||
|
sh 'gem build minimal-mistakes-jekyll.gemspec'
|
||||||
|
end
|
||||||
|
|||||||
+36
-3
@@ -16,6 +16,7 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
|
|||||||
|
|
||||||
# Site Settings
|
# Site Settings
|
||||||
locale : "en-US"
|
locale : "en-US"
|
||||||
|
rtl : # true, false (default) # turns direction of the page into right to left for RTL languages
|
||||||
title : "Site Title"
|
title : "Site Title"
|
||||||
title_separator : "-"
|
title_separator : "-"
|
||||||
subtitle : # site tagline that appears below site title in masthead
|
subtitle : # site tagline that appears below site title in masthead
|
||||||
@@ -27,8 +28,9 @@ repository : # GitHub username/repo-name e.g. "mmistakes/minimal-m
|
|||||||
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
|
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
|
||||||
logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
|
logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
|
||||||
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
|
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
|
||||||
# breadcrumbs : false # true, false (default)
|
breadcrumbs : # true, false (default)
|
||||||
words_per_minute : 200
|
words_per_minute : 200
|
||||||
|
enable_copy_code_button : # true, false (default)
|
||||||
copyright : # "copyright" name, defaults to site.title
|
copyright : # "copyright" name, defaults to site.title
|
||||||
copyright_url : # "copyright" URL, defaults to site.url
|
copyright_url : # "copyright" URL, defaults to site.url
|
||||||
comments:
|
comments:
|
||||||
@@ -52,6 +54,11 @@ comments:
|
|||||||
discussion_term : # "pathname" (default), "url", "title", "og:title"
|
discussion_term : # "pathname" (default), "url", "title", "og:title"
|
||||||
reactions_enabled : # '1' for enabled (default), '0' for disabled
|
reactions_enabled : # '1' for enabled (default), '0' for disabled
|
||||||
theme : # "light" (default), "dark", "dark_dimmed", "transparent_dark", "preferred_color_scheme"
|
theme : # "light" (default), "dark", "dark_dimmed", "transparent_dark", "preferred_color_scheme"
|
||||||
|
strict : # 1 for enabled, 0 for disabled (default)
|
||||||
|
input_position : # "top", "bottom" # The comment input box will be placed above or below the comments
|
||||||
|
emit_metadata : # 1 for enabled, 0 for disabled (default) # https://github.com/giscus/giscus/blob/main/ADVANCED-USAGE.md#imetadatamessage
|
||||||
|
lang : # "en" (default)
|
||||||
|
lazy : # true, false # Loading of the comments will be deferred until the user scrolls near the comments container.
|
||||||
staticman:
|
staticman:
|
||||||
branch : # "master"
|
branch : # "master"
|
||||||
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
|
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
|
||||||
@@ -98,7 +105,7 @@ social:
|
|||||||
|
|
||||||
# Analytics
|
# Analytics
|
||||||
analytics:
|
analytics:
|
||||||
provider : false # false (default), "google", "google-universal", "google-gtag", "custom"
|
provider : # false (default), "google", "google-universal", "google-gtag", "custom"
|
||||||
google:
|
google:
|
||||||
tracking_id :
|
tracking_id :
|
||||||
anonymize_ip : # true, false (default)
|
anonymize_ip : # true, false (default)
|
||||||
@@ -152,6 +159,7 @@ footer:
|
|||||||
- label: "Instagram"
|
- label: "Instagram"
|
||||||
icon: "fab fa-fw fa-instagram"
|
icon: "fab fa-fw fa-instagram"
|
||||||
# url:
|
# url:
|
||||||
|
since: "2013"
|
||||||
|
|
||||||
|
|
||||||
# Reading Files
|
# Reading Files
|
||||||
@@ -177,6 +185,7 @@ exclude:
|
|||||||
- gulpfile.js
|
- gulpfile.js
|
||||||
- LICENSE
|
- LICENSE
|
||||||
- log
|
- log
|
||||||
|
- minimal-mistakes-jekyll.gemspec
|
||||||
- node_modules
|
- node_modules
|
||||||
- package.json
|
- package.json
|
||||||
- package-lock.json
|
- package-lock.json
|
||||||
@@ -220,9 +229,33 @@ sass:
|
|||||||
|
|
||||||
# Outputting
|
# Outputting
|
||||||
permalink: /:categories/:title/
|
permalink: /:categories/:title/
|
||||||
|
timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
|
||||||
|
|
||||||
|
# Pagination with jekyll-paginate
|
||||||
paginate: 5 # amount of posts to show
|
paginate: 5 # amount of posts to show
|
||||||
paginate_path: /page:num/
|
paginate_path: /page:num/
|
||||||
timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
||||||
|
# Pagination with jekyll-paginate-v2
|
||||||
|
# See https://github.com/sverrirs/jekyll-paginate-v2/blob/master/README-GENERATOR.md#site-configuration
|
||||||
|
# for configuration details
|
||||||
|
pagination:
|
||||||
|
# Set enabled to true to use paginate v2
|
||||||
|
# enabled: true
|
||||||
|
debug: false
|
||||||
|
collection: 'posts'
|
||||||
|
per_page: 10
|
||||||
|
permalink: '/page/:num/'
|
||||||
|
title: ':title - page :num'
|
||||||
|
limit: 0
|
||||||
|
sort_field: 'date'
|
||||||
|
sort_reverse: true
|
||||||
|
category: 'posts'
|
||||||
|
tag: ''
|
||||||
|
locale: ''
|
||||||
|
trail:
|
||||||
|
before: 2
|
||||||
|
after: 2
|
||||||
|
|
||||||
|
|
||||||
# Plugins (previously gems:)
|
# Plugins (previously gems:)
|
||||||
|
|||||||
+167
-9
@@ -1070,17 +1070,17 @@ da-DK:
|
|||||||
# Polish
|
# Polish
|
||||||
# ------
|
# ------
|
||||||
pl: &DEFAULT_PL
|
pl: &DEFAULT_PL
|
||||||
skip_links :
|
skip_links : "Pomiń linki"
|
||||||
skip_primary_nav :
|
skip_primary_nav : "Przejdź do nawigacji"
|
||||||
skip_content :
|
skip_content : "Przejdź do treści"
|
||||||
skip_footer :
|
skip_footer : "Przejdź do stopki"
|
||||||
page : "Strona"
|
page : "Strona"
|
||||||
pagination_previous : "Poprzednia"
|
pagination_previous : "Poprzednia"
|
||||||
pagination_next : "Następna"
|
pagination_next : "Następna"
|
||||||
breadcrumb_home_label : "Strona główna"
|
breadcrumb_home_label : "Strona główna"
|
||||||
breadcrumb_separator : "/"
|
breadcrumb_separator : "/"
|
||||||
menu_label : "Przełącz menu"
|
menu_label : "Przełącz menu"
|
||||||
search_label :
|
search_label : "Przełącz wyszukiwanie"
|
||||||
toc_label : "Spis treści"
|
toc_label : "Spis treści"
|
||||||
ext_link_label : "Link bezpośredni"
|
ext_link_label : "Link bezpośredni"
|
||||||
less_than : "mniej niż"
|
less_than : "mniej niż"
|
||||||
@@ -1101,7 +1101,7 @@ pl: &DEFAULT_PL
|
|||||||
email_label : "Email"
|
email_label : "Email"
|
||||||
recent_posts : "Najnowsze wpisy"
|
recent_posts : "Najnowsze wpisy"
|
||||||
undefined_wpm : "Parametr words_per_minute nie został zdefiniowany w _config.yml."
|
undefined_wpm : "Parametr words_per_minute nie został zdefiniowany w _config.yml."
|
||||||
comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone"
|
comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone."
|
||||||
comment_form_comment_label : "Skomentuj"
|
comment_form_comment_label : "Skomentuj"
|
||||||
comment_form_md_info : "Markdown jest wspierany"
|
comment_form_md_info : "Markdown jest wspierany"
|
||||||
comment_form_name_label : "Imię"
|
comment_form_name_label : "Imię"
|
||||||
@@ -1400,7 +1400,7 @@ fa: &DEFAULT_FA
|
|||||||
toc_label : "در این صفحه"
|
toc_label : "در این صفحه"
|
||||||
ext_link_label : "لینک مستقیم"
|
ext_link_label : "لینک مستقیم"
|
||||||
less_than : " "
|
less_than : " "
|
||||||
minute_read : "(طول مطالعه (دقیقه"
|
minute_read : "دقیقه، طول مطالعه"
|
||||||
share_on_label : "اشتراک گذاری در"
|
share_on_label : "اشتراک گذاری در"
|
||||||
meta_label :
|
meta_label :
|
||||||
tags_label : "تگ ها: "
|
tags_label : "تگ ها: "
|
||||||
@@ -1427,9 +1427,9 @@ fa: &DEFAULT_FA
|
|||||||
comment_btn_submitted : "ارسال شد"
|
comment_btn_submitted : "ارسال شد"
|
||||||
comment_success_msg : ".باتشکر از ارسال دیدگاه! پس از تأیید، این دیدگاه در سایت نشان داده خواهد شد"
|
comment_success_msg : ".باتشکر از ارسال دیدگاه! پس از تأیید، این دیدگاه در سایت نشان داده خواهد شد"
|
||||||
comment_error_msg : ".متاسفانه در ارسال شما خطایی بود. لطفا مطمئن شوید تمام فیلدهای مورد نیاز تکمیل شده و دوباره امتحان کنید"
|
comment_error_msg : ".متاسفانه در ارسال شما خطایی بود. لطفا مطمئن شوید تمام فیلدهای مورد نیاز تکمیل شده و دوباره امتحان کنید"
|
||||||
loading_label : "...بارگذاری"
|
loading_label : "بارگذاری..."
|
||||||
search_label_text :
|
search_label_text :
|
||||||
search_placeholder_text : "...عبارت جستجوی خود را وارد کنید"
|
search_placeholder_text : "عبارت جستجوی خود را وارد کنید..."
|
||||||
search_algolia_no_results :
|
search_algolia_no_results :
|
||||||
results_found : "نتایج"
|
results_found : "نتایج"
|
||||||
back_to_top : "بازگشت به بالا"
|
back_to_top : "بازگشت به بالا"
|
||||||
@@ -2022,6 +2022,164 @@ sw-KE:
|
|||||||
sw-TZ:
|
sw-TZ:
|
||||||
<<: *DEFAULT_SW
|
<<: *DEFAULT_SW
|
||||||
|
|
||||||
|
# Ukrainian / Українська
|
||||||
|
# -----------------
|
||||||
|
uk: &DEFAULT_UK
|
||||||
|
skip_links : "Посилання для переходу"
|
||||||
|
skip_primary_nav : "Перейти до основної навігації"
|
||||||
|
skip_content : "Перейти до змісту"
|
||||||
|
skip_footer : "Перейти до нижнього колонтитула"
|
||||||
|
page : "Сторінка"
|
||||||
|
pagination_previous : "Попередня"
|
||||||
|
pagination_next : "Наступна"
|
||||||
|
breadcrumb_home_label : "Головна"
|
||||||
|
breadcrumb_separator : "/"
|
||||||
|
menu_label : "Випадаюче меню"
|
||||||
|
search_label : "Пошук"
|
||||||
|
toc_label : "Зміст"
|
||||||
|
ext_link_label : "Пряме посилання"
|
||||||
|
less_than : "менше ніж"
|
||||||
|
minute_read : "хв. на чітання"
|
||||||
|
share_on_label : "Поділитися"
|
||||||
|
meta_label :
|
||||||
|
tags_label : "Мітки:"
|
||||||
|
categories_label : "Розділи:"
|
||||||
|
date_label : "Дата зміни:"
|
||||||
|
comments_label : "Залишити коментар"
|
||||||
|
comments_title : "Коментарі"
|
||||||
|
more_label : "Читати далі"
|
||||||
|
related_label : "Вам також може сподобатись"
|
||||||
|
follow_label : "Зв'язатися зі мною:"
|
||||||
|
feed_label : "RSS-стрічка"
|
||||||
|
powered_by : "Сайт працює на"
|
||||||
|
website_label : "Сайт"
|
||||||
|
email_label : "Электронна пошта"
|
||||||
|
recent_posts : "Останні записи"
|
||||||
|
undefined_wpm : "Не визначено параметр words_per_minute в _config.yml"
|
||||||
|
comment_form_info : "Вашу адресу електронної пошти не буде опубліковано. Обов'язкові поля позначені"
|
||||||
|
comment_form_comment_label : "Коментар"
|
||||||
|
comment_form_md_info : "Підтримується синтаксис Markdown."
|
||||||
|
comment_form_name_label : "Ім'я"
|
||||||
|
comment_form_email_label : "Електронна пошта"
|
||||||
|
comment_form_website_label : "Посилання на сайт (необов'язково)"
|
||||||
|
comment_btn_submit : "Залишити коментар"
|
||||||
|
comment_btn_submitted : "Відправлено"
|
||||||
|
comment_success_msg : "Дякую за Ваш коментар! Його буде опубліковано на сайті після перевірки."
|
||||||
|
comment_error_msg : "На жаль, сталася помилка з надсиланням коментаря. Будь ласка, переконайтеся, що всі обов'язкові поля заповнені та спробуйте знову."
|
||||||
|
loading_label : "Відправка..."
|
||||||
|
search_label_text : "Введіть пошуковий запит..."
|
||||||
|
search_placeholder_text : "Введіть пошуковий запит..."
|
||||||
|
search_algolia_no_results :
|
||||||
|
results_found : "Знайдено"
|
||||||
|
uk-UA:
|
||||||
|
<<: *DEFAULT_UK
|
||||||
|
|
||||||
|
# Czech / čeština
|
||||||
|
# -----------------
|
||||||
|
cs: &DEFAULT_CS
|
||||||
|
skip_links : "Rychlé odkazy"
|
||||||
|
skip_primary_nav : "Přejít na hlavní navigace"
|
||||||
|
skip_content : "Přejít na obsah"
|
||||||
|
skip_footer : "Přejít na zápatí"
|
||||||
|
page : "Stránka"
|
||||||
|
pagination_previous : "Předchozí"
|
||||||
|
pagination_next : "Další"
|
||||||
|
breadcrumb_home_label : "Domů"
|
||||||
|
breadcrumb_separator : "/"
|
||||||
|
menu_label : "Přepnout zobrazení menu"
|
||||||
|
search_label : "Přepnout zobrazení vyhledávání"
|
||||||
|
toc_label : "Na této stránce"
|
||||||
|
ext_link_label : "Přímý odkaz"
|
||||||
|
less_than : "méně než"
|
||||||
|
minute_read : "minut"
|
||||||
|
share_on_label : "Sdílet"
|
||||||
|
meta_label :
|
||||||
|
tags_label : "Štítky:"
|
||||||
|
categories_label : "Rubriky:"
|
||||||
|
date_label : "Aktualizováno:"
|
||||||
|
comments_label : "Okomentovat"
|
||||||
|
comments_title : "Komentáře"
|
||||||
|
more_label : "Zjistit více"
|
||||||
|
related_label : "Může se vám také líbit"
|
||||||
|
follow_label : "Sledovat:"
|
||||||
|
feed_label : "Zdroj"
|
||||||
|
powered_by : "Používáme"
|
||||||
|
website_label : "Web"
|
||||||
|
email_label : "E-mail"
|
||||||
|
recent_posts : "Nejnovější příspěvky"
|
||||||
|
undefined_wpm : "V souboru _config.yml chybí parametr words_per_minute"
|
||||||
|
comment_form_info : "Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena"
|
||||||
|
comment_form_comment_label : "Komentář"
|
||||||
|
comment_form_md_info : "Podporuje markdown."
|
||||||
|
comment_form_name_label : "Jméno"
|
||||||
|
comment_form_email_label : "E-mailová adresa"
|
||||||
|
comment_form_website_label : "Web (volitelné)"
|
||||||
|
comment_btn_submit : "Odeslat komentář"
|
||||||
|
comment_btn_submitted : "Odesláno"
|
||||||
|
comment_success_msg : "Děkujeme za komentář. Na stránce se objeví jakmile projde schválením."
|
||||||
|
comment_error_msg : "Odeslání se nezdařilo. Zkontrolujte, že jste vyplnili všechna povinná pole a zkuste to znovu."
|
||||||
|
loading_label : "Načítání..."
|
||||||
|
search_label_text : "Zadejte vyhledávání..."
|
||||||
|
search_placeholder_text : "Zadejte vyhledávání..."
|
||||||
|
search_algolia_no_results : "Žádné výsledky"
|
||||||
|
results_found : "Nalezené výsledky"
|
||||||
|
back_to_top : "Na začátek stránky"
|
||||||
|
cs-CZ:
|
||||||
|
<<: *DEFAULT_CS
|
||||||
|
|
||||||
|
# Bulgarian
|
||||||
|
# -----------------
|
||||||
|
bg: &DEFAULT_BG
|
||||||
|
skip_links : "Пропуснете връзките"
|
||||||
|
skip_primary_nav : "Преминете към основната навигация"
|
||||||
|
skip_content : "Преминете към съдържанието"
|
||||||
|
skip_footer : "Преминете към долния колонтитул"
|
||||||
|
page : "Страница"
|
||||||
|
pagination_previous : "Предишна"
|
||||||
|
pagination_next : "Следваща"
|
||||||
|
breadcrumb_home_label : "Начало"
|
||||||
|
breadcrumb_separator : "/"
|
||||||
|
menu_label : "Превключване на меню"
|
||||||
|
search_label : "Превключване на търсене"
|
||||||
|
toc_label : "На тази страница"
|
||||||
|
ext_link_label : "Пряка връзка"
|
||||||
|
less_than : "по-малко от"
|
||||||
|
minute_read : "минута четене"
|
||||||
|
share_on_label : "Споделете"
|
||||||
|
meta_label :
|
||||||
|
tags_label : "Етикети:"
|
||||||
|
categories_label : "Категории:"
|
||||||
|
date_label : "Обновено:"
|
||||||
|
comments_label : "Оставете коментар"
|
||||||
|
comments_title : "Коментари"
|
||||||
|
more_label : "Научете повече"
|
||||||
|
related_label : "Може да са ви интересни"
|
||||||
|
follow_label : "Последвайте:"
|
||||||
|
feed_label : "Емисия"
|
||||||
|
powered_by : "Осъществено чрез"
|
||||||
|
website_label : "Уебсайт"
|
||||||
|
email_label : "Е-поща"
|
||||||
|
recent_posts : "Последни публикации"
|
||||||
|
undefined_wpm : "Недефиниран параметър words_per_minute в _config.yml"
|
||||||
|
comment_form_info : "Вашият адрес за е-поща няма да бъде публикуван. Задължителните полета са обозначени"
|
||||||
|
comment_form_comment_label : "Коментар"
|
||||||
|
comment_form_md_info : "Поддържа се Маркдаун."
|
||||||
|
comment_form_name_label : "Име"
|
||||||
|
comment_form_email_label : "Адрес за е-поща"
|
||||||
|
comment_form_website_label : "Уебсайт (по желание)"
|
||||||
|
comment_btn_submit : "Изпращане на коментар"
|
||||||
|
comment_btn_submitted : "Изпратено"
|
||||||
|
comment_success_msg : "Благодарности за коментара! Ще се покаже на сайта, след като бъде одобрен."
|
||||||
|
comment_error_msg : "Съжаляваме, възникна грешка с изпращането. Моля, уверете се, че всички задължителни полета са попълнени и опитайте отново."
|
||||||
|
loading_label : "Зареждане..."
|
||||||
|
search_label_text : "Въведете термин за търсене..."
|
||||||
|
search_placeholder_text : "Въведете термин за търсене..."
|
||||||
|
search_algolia_no_results : "Няма резултати"
|
||||||
|
results_found : "Намерени резултати"
|
||||||
|
back_to_top : "Обратно към началото"
|
||||||
|
bg-BG:
|
||||||
|
<<: *DEFAULT_BG
|
||||||
|
|
||||||
# Another locale
|
# Another locale
|
||||||
# --------------
|
# --------------
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="{{ include.type | default: 'list' }}__item">
|
<div class="{{ include.type | default: 'list' }}__item">
|
||||||
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork"{% if post.locale %} lang="{{ post.locale }}"{% endif %}>
|
||||||
{% if include.type == "grid" and teaser %}
|
{% if include.type == "grid" and teaser %}
|
||||||
<div class="archive__item-teaser">
|
<div class="archive__item-teaser">
|
||||||
<img src="{{ teaser | relative_url }}" alt="">
|
<img src="{{ teaser | relative_url }}" alt="">
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if forloop.last %}
|
{% if forloop.last %}
|
||||||
<li class="current">{{ page.title }}</li>
|
<li class="current"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
{% assign i = i | plus: 1 %}
|
{% assign i = i | plus: 1 %}
|
||||||
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||||
|
|||||||
@@ -9,16 +9,26 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
var script = document.createElement('script');
|
var script = document.createElement('script');
|
||||||
|
|
||||||
script.setAttribute('src', 'https://giscus.app/client.js');
|
script.setAttribute('src', 'https://giscus.app/client.js');
|
||||||
script.setAttribute('data-repo', '{{ site.repository | downcase }}');
|
script.setAttribute('data-repo', '{{ site.repository | downcase }}');
|
||||||
script.setAttribute('data-repo-id', '{{ site.comments.giscus.repo_id }}');
|
script.setAttribute('data-repo-id', '{{ site.comments.giscus.repo_id }}');
|
||||||
script.setAttribute('data-category', '{{ site.comments.giscus.category_name }}');
|
script.setAttribute('data-category', '{{ site.comments.giscus.category_name }}');
|
||||||
script.setAttribute('data-category-id', '{{ site.comments.giscus.category_id }}');
|
script.setAttribute('data-category-id', '{{ site.comments.giscus.category_id }}');
|
||||||
script.setAttribute('data-mapping', '{{ site.comments.giscus.discussion_term | default: "pathname" }}');
|
script.setAttribute('data-mapping', '{{ site.comments.giscus.discussion_term | default: "pathname" }}');
|
||||||
|
script.setAttribute('data-strict', '{{ site.comments.giscus.strict | default: 0 }}');
|
||||||
script.setAttribute('data-reactions-enabled', '{{ site.comments.giscus.reactions_enabled | default: 1 }}');
|
script.setAttribute('data-reactions-enabled', '{{ site.comments.giscus.reactions_enabled | default: 1 }}');
|
||||||
|
script.setAttribute('data-emit-metadata', '{{ site.comments.giscus.emit_metadata | default: 0 }}');
|
||||||
|
script.setAttribute('data-input-position', '{{ site.comments.giscus.input_position | default: "top" }}');
|
||||||
script.setAttribute('data-theme', '{{ site.comments.giscus.theme | default: "light" }}');
|
script.setAttribute('data-theme', '{{ site.comments.giscus.theme | default: "light" }}');
|
||||||
|
script.setAttribute('data-lang', '{{ site.comments.giscus.lang | default: "en" }}');
|
||||||
|
{% if site.comments.giscus.lazy %}
|
||||||
|
script.setAttribute('data-loading', 'lazy');
|
||||||
|
{% endif %}
|
||||||
script.setAttribute('crossorigin', 'anonymous');
|
script.setAttribute('crossorigin', 'anonymous');
|
||||||
|
|
||||||
|
script.setAttribute('async', '');
|
||||||
|
|
||||||
commentContainer.appendChild(script);
|
commentContainer.appendChild(script);
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<!--
|
<!--
|
||||||
Minimal Mistakes Jekyll Theme 4.25.0 by Michael Rose
|
Minimal Mistakes Jekyll Theme 4.27.1 by Michael Rose
|
||||||
Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
|
Copyright 2013-2025 Michael Rose - mademistakes.com | @mmistakes
|
||||||
Free for personal and commercial use under the MIT license
|
Free for personal and commercial use under the MIT license
|
||||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
-->
|
-->
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*!
|
/*!
|
||||||
* Minimal Mistakes Jekyll Theme 4.25.0 by Michael Rose
|
* Minimal Mistakes Jekyll Theme 4.27.1 by Michael Rose
|
||||||
* Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
|
* Copyright 2013-2025 Michael Rose - mademistakes.com | @mmistakes
|
||||||
* Free for personal and commercial use under the MIT license
|
* Free for personal and commercial use under the MIT license
|
||||||
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{% assign entries = site[include.collection] %}
|
{% assign entries = include.entries | default: site[include.collection] | where_exp: "post", "post.hidden != true" %}
|
||||||
|
|
||||||
{% if include.sort_by %}
|
{% if include.sort_by %}
|
||||||
{% assign entries = entries | sort: include.sort_by %}
|
{% assign entries = entries | sort: include.sort_by %}
|
||||||
@@ -9,7 +9,5 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{%- for post in entries -%}
|
{%- for post in entries -%}
|
||||||
{%- unless post.hidden -%}
|
{% include archive-single.html type=include.type %}
|
||||||
{% include archive-single.html %}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
+3
-1
@@ -1,6 +1,8 @@
|
|||||||
<figure class="{{ include.class }}">
|
<figure class="{{ include.class }}">
|
||||||
|
{%- if include.popup -%}<a href="{{ include.image_path | relative_url }}" class="image-popup"{% if include.caption %} title="{{ include.caption | markdownify | strip_html }}"{% endif %}>{%- endif -%}
|
||||||
<img src="{{ include.image_path | relative_url }}"
|
<img src="{{ include.image_path | relative_url }}"
|
||||||
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
|
alt="{% if include.alt %}{{ include.alt | escape_once }}{% endif %}">
|
||||||
|
{%- if include.popup -%}</a>{%- endif -%}
|
||||||
{%- if include.caption -%}
|
{%- if include.caption -%}
|
||||||
<figcaption>
|
<figcaption>
|
||||||
{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
|
{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
{% unless site.atom_feed.hide %}
|
||||||
|
{% assign show_atom = true %}
|
||||||
|
{% endunless %}
|
||||||
|
{% if site.footer.links or show_atom %}
|
||||||
<div class="page__footer-follow">
|
<div class="page__footer-follow">
|
||||||
<ul class="social-icons">
|
<ul class="social-icons">
|
||||||
{% if site.data.ui-text[site.locale].follow_label %}
|
{% if site.data.ui-text[site.locale].follow_label %}
|
||||||
@@ -7,7 +11,7 @@
|
|||||||
{% if site.footer.links %}
|
{% if site.footer.links %}
|
||||||
{% for link in site.footer.links %}
|
{% for link in site.footer.links %}
|
||||||
{% if link.label and link.url %}
|
{% if link.label and link.url %}
|
||||||
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i> {{ link.label }}</a></li>
|
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i> {{ link.label | escape_once | strip }}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -17,5 +21,6 @@
|
|||||||
{% endunless %}
|
{% endunless %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} <a href="{{ site.copyright_url | default: site.url }}">{{ site.copyright | default: site.title }}</a>. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
<div class="page__footer-copyright">© {% assign site_time = site.time | date: '%Y' %}{% if site.footer.since and site_time != site.footer.since %}{{ site.footer.since }} - {% endif %}{{ site_time }} <a href="{{ site.copyright_url | default: site.url }}">{{ site.copyright | default: site.title | escape_once | strip }}</a>. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/jekyll-themes/minimal-mistakes/" rel="nofollow">Minimal Mistakes</a>.</div>
|
||||||
|
|||||||
+4
-1
@@ -6,11 +6,14 @@
|
|||||||
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
|
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
<!-- https://t.co/dKP3o1e -->
|
{%- comment %} https://docs.google.com/presentation/d/1rmxwWa9P6_xHqonmh5ONXRS-jPc5XKbnv99Rjkhe04s/present {% endcomment -%}
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
|
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
|
||||||
|
{% if site.enable_copy_code_button -%}
|
||||||
|
window.enable_copy_code_button = true;
|
||||||
|
{%- endif %}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- For all browsers -->
|
<!-- For all browsers -->
|
||||||
|
|||||||
@@ -8,13 +8,17 @@
|
|||||||
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt="{{ site.masthead_title | default: site.title }}"></a>
|
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt="{{ site.masthead_title | default: site.title }}"></a>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
<a class="site-title" href="{{ '/' | relative_url }}">
|
<a class="site-title" href="{{ '/' | relative_url }}">
|
||||||
{{ site.masthead_title | default: site.title }}
|
{{ site.masthead_title | default: site.title | escape_once | strip }}
|
||||||
{% if site.subtitle %}<span class="site-subtitle">{{ site.subtitle }}</span>{% endif %}
|
{% if site.subtitle %}<span class="site-subtitle">{{ site.subtitle | escape_once | strip }}</span>{% endif %}
|
||||||
</a>
|
</a>
|
||||||
<ul class="visible-links">
|
<ul class="visible-links">
|
||||||
{%- for link in site.data.navigation.main -%}
|
{%- for link in site.data.navigation.main -%}
|
||||||
<li class="masthead__menu-item">
|
<li class="masthead__menu-item">
|
||||||
<a href="{{ link.url | relative_url }}"{% if link.description %} title="{{ link.description }}"{% endif %}>{{ link.title }}</a>
|
<a
|
||||||
|
href="{{ link.url | relative_url }}"
|
||||||
|
{% if link.description %} title="{{ link.description }}"{% endif %}
|
||||||
|
{% if link.target %} target="{{ link.target }}"{% endif %}
|
||||||
|
>{{ link.title }}</a>
|
||||||
</li>
|
</li>
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
+3
-2
@@ -1,10 +1,10 @@
|
|||||||
{% assign navigation = site.data.navigation[include.nav] %}
|
|
||||||
|
|
||||||
<nav class="nav__list">
|
<nav class="nav__list">
|
||||||
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
|
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
|
||||||
<input id="ac-toc" name="accordion-toc" type="checkbox" />
|
<input id="ac-toc" name="accordion-toc" type="checkbox" />
|
||||||
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
|
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
|
||||||
<ul class="nav__items">
|
<ul class="nav__items">
|
||||||
|
{% for navname in include.nav %}
|
||||||
|
{% assign navigation = site.data.navigation[navname] %}
|
||||||
{% for nav in navigation %}
|
{% for nav in navigation %}
|
||||||
<li>
|
<li>
|
||||||
{% if nav.url %}
|
{% if nav.url %}
|
||||||
@@ -22,5 +22,6 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
@@ -36,14 +36,12 @@
|
|||||||
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% include page__meta.html %}
|
{% include page__meta.html %}
|
||||||
{% if page.header.cta_url %}
|
|
||||||
<p><a href="{{ page.header.cta_url | relative_url }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
|
|
||||||
{% endif %}
|
|
||||||
{% if page.header.actions %}
|
{% if page.header.actions %}
|
||||||
<p>
|
<p>
|
||||||
{% for action in page.header.actions %}
|
{% for action in page.header.actions %}
|
||||||
<a href="{{ action.url | relative_url }}" class="btn btn--light-outline btn--large">{{ action.label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a>
|
<a href="{{ action.url | relative_url }}" class="btn btn--light-outline btn--large">{{ action.label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{% assign posts = include.posts | where_exp: "post", "post.hidden != true" %}
|
||||||
|
<div class="page__related">
|
||||||
|
{% include before-related.html %}
|
||||||
|
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
||||||
|
<div class="grid__wrapper">
|
||||||
|
{% for post in posts limit:4 %}
|
||||||
|
{% if post.id == page.id %}{% continue %}{% endif %}
|
||||||
|
{% include archive-single.html type="grid" %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
{% if paginator.total_pages > 1 %}
|
||||||
|
<nav class="pagination">
|
||||||
|
{% assign paginate_path_last = site.paginate_path | split: '/' | last %}
|
||||||
|
{% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: paginate_path_last, '' | replace: '//', '/' | relative_url %}
|
||||||
|
<ul>
|
||||||
|
{% comment %} Link for previous page {% endcomment %}
|
||||||
|
{% if paginator.previous_page %}
|
||||||
|
{% if paginator.previous_page == 1 %}
|
||||||
|
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} First page {% endcomment %}
|
||||||
|
{% if paginator.page == 1 %}
|
||||||
|
<li><a href="#" class="disabled current">1</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ first_page_path }}">1</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign page_start = 2 %}
|
||||||
|
{% if paginator.page > 4 %}
|
||||||
|
{% assign page_start = paginator.page | minus: 2 %}
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign page_end = paginator.total_pages | minus: 1 %}
|
||||||
|
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
|
||||||
|
{% if pages_to_end > 4 %}
|
||||||
|
{% assign page_end = paginator.page | plus: 2 %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% for index in (page_start..page_end) %}
|
||||||
|
{% if index == paginator.page %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
{% comment %} Distance from current page and this link {% endcomment %}
|
||||||
|
{% assign dist = paginator.page | minus: index %}
|
||||||
|
{% if dist < 0 %}
|
||||||
|
{% comment %} Distance must be a positive value {% endcomment %}
|
||||||
|
{% assign dist = 0 | minus: dist %}
|
||||||
|
{% endif %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
{% if pages_to_end > 3 %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if paginator.page == paginator.total_pages %}
|
||||||
|
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} Link next page {% endcomment %}
|
||||||
|
{% if paginator.next_page %}
|
||||||
|
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
<nav class="pagination">
|
||||||
|
<ul>
|
||||||
|
{% comment %} Link for previous page {% endcomment %}
|
||||||
|
{% if paginator.previous_page %}
|
||||||
|
{% if paginator.previous_page == 1 %}
|
||||||
|
<li><a href="{{ paginator.first_page_path | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ paginator.previous_page_path | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} Determine whether the first page and the last page are already included in trail {% endcomment %}
|
||||||
|
{% for trail in paginator.page_trail %}
|
||||||
|
{% if trail.num == paginator.first_page %}
|
||||||
|
{% assign has_first_page = true %}
|
||||||
|
{% elsif trail.num == paginator.last_page %}
|
||||||
|
{% assign has_last_page = true %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% comment %} First page {% endcomment %}
|
||||||
|
{% unless has_first_page %}
|
||||||
|
{% if paginator.page == 1 %}
|
||||||
|
<li><a href="#" class="disabled current">1</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ paginator.first_page_path | relative_url }}">1</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
{% assign ellipsis_start = paginator.first_page | plus: 1 %}
|
||||||
|
{% if paginator.page_trail.first.num > ellipsis_start %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% comment %} Main pagination trail {% endcomment %}
|
||||||
|
{% for trail in paginator.page_trail %}
|
||||||
|
{% if paginator.page == trail.num %}
|
||||||
|
<li><a href="{{ trail.path | remove: 'index.html' | relative_url }}" class="disabled current">{{ trail.num }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ trail.path | remove: 'index.html' | relative_url }}">{{ trail.num }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||||
|
{% assign ellipsis_end = paginator.last_page | minus: 1 %}
|
||||||
|
{% if paginator.page_trail.last.num < ellipsis_end %}
|
||||||
|
<li><a href="#" class="disabled">…</a></li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% unless has_last_page %}
|
||||||
|
{% if paginator.page == paginator.total_pages %}
|
||||||
|
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="{{ paginator.last_page_path | remove: 'index.html' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
||||||
|
{% endif %}
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
{% comment %} Link next page {% endcomment %}
|
||||||
|
{% if paginator.next_page %}
|
||||||
|
<li><a href="{{ paginator.next_page_path | remove: 'index.html' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
||||||
|
{% else %}
|
||||||
|
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
@@ -1,70 +1,7 @@
|
|||||||
{% if paginator.total_pages > 1 %}
|
{% if paginator.total_pages > 1 %}
|
||||||
<nav class="pagination">
|
{% if site.paginate %}
|
||||||
{% assign paginate_path_last = site.paginate_path | split: '/' | last %}
|
{% include paginator-v1.html %}
|
||||||
{% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: paginate_path_last, '' | replace: '//', '/' | relative_url %}
|
{% elsif site.pagination.enabled %}
|
||||||
<ul>
|
{% include paginator-v2.html %}
|
||||||
{% comment %} Link for previous page {% endcomment %}
|
|
||||||
{% if paginator.previous_page %}
|
|
||||||
{% if paginator.previous_page == 1 %}
|
|
||||||
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
|
||||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% comment %} First page {% endcomment %}
|
|
||||||
{% if paginator.page == 1 %}
|
|
||||||
<li><a href="#" class="disabled current">1</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="{{ first_page_path }}">1</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign page_start = 2 %}
|
|
||||||
{% if paginator.page > 4 %}
|
|
||||||
{% assign page_start = paginator.page | minus: 2 %}
|
|
||||||
{% comment %} Ellipsis for truncated links {% endcomment %}
|
|
||||||
<li><a href="#" class="disabled">…</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign page_end = paginator.total_pages | minus: 1 %}
|
|
||||||
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
|
|
||||||
{% if pages_to_end > 4 %}
|
|
||||||
{% assign page_end = paginator.page | plus: 2 %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% for index in (page_start..page_end) %}
|
|
||||||
{% if index == paginator.page %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
{% comment %} Distance from current page and this link {% endcomment %}
|
|
||||||
{% assign dist = paginator.page | minus: index %}
|
|
||||||
{% if dist < 0 %}
|
|
||||||
{% comment %} Distance must be a positive value {% endcomment %}
|
|
||||||
{% assign dist = 0 | minus: dist %}
|
|
||||||
{% endif %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% comment %} Ellipsis for truncated links {% endcomment %}
|
|
||||||
{% if pages_to_end > 3 %}
|
|
||||||
<li><a href="#" class="disabled">…</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if paginator.page == paginator.total_pages %}
|
|
||||||
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% comment %} Link next page {% endcomment %}
|
|
||||||
{% if paginator.next_page %}
|
|
||||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
|
||||||
{% else %}
|
|
||||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
|
||||||
{% endif %}
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{% if page.previous or page.next %}
|
{% if page.previous or page.next %}
|
||||||
<nav class="pagination">
|
<nav class="pagination">
|
||||||
{% if page.previous %}
|
{% if page.previous %}
|
||||||
<a href="{{ page.previous.url | relative_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
<a href="{{ page.previous.url | relative_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html | strip}}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if page.next %}
|
{% if page.next %}
|
||||||
<a href="{{ page.next.url | relative_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
<a href="{{ page.next.url | relative_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html | strip}}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{%- for post in site.categories[include.taxonomy] -%}
|
{% assign posts = site.categories[include.taxonomy] | where_exp: "post", "post.hidden != true" %}
|
||||||
{%- unless post.hidden -%}
|
{%- for post in posts -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
{%- endunless -%}
|
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{%- for post in site.tags[include.taxonomy] -%}
|
{% assign posts = site.tags[include.taxonomy] | where_exp: "post", "post.hidden != true" %}
|
||||||
{%- unless post.hidden -%}
|
{%- for post in posts -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
{%- endunless -%}
|
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
{% assign items_max = 0 %}
|
||||||
|
{% for item in include.taxonomies %}
|
||||||
|
{% if item[1].size > items_max %}
|
||||||
|
{% assign items_max = item[1].size %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<ul class="taxonomy__index">
|
||||||
|
{% for i in (1..items_max) reversed %}
|
||||||
|
{% for item in include.taxonomies %}
|
||||||
|
{% if item[1].size == i %}
|
||||||
|
<li>
|
||||||
|
<a href="#{{ item[0] | slugify }}">
|
||||||
|
<strong>{{ item[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
|
{% for i in (1..items_max) reversed %}
|
||||||
|
{% for taxonomy in include.taxonomies %}
|
||||||
|
{% if taxonomy[1].size == i %}
|
||||||
|
<section id="{{ taxonomy[0] | slugify }}" class="taxonomy__section">
|
||||||
|
<h2 class="archive__subtitle">{{ taxonomy[0] }}</h2>
|
||||||
|
<div class="entries-{{ entries_layout }}">
|
||||||
|
{% for post in taxonomy.last %}
|
||||||
|
{% include archive-single.html type=entries_layout %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
||||||
|
</section>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
{% if site.social.type == "Organization" -%}
|
||||||
|
"@type": "Organization",
|
||||||
|
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
||||||
|
"logo": {{ site_og_image | jsonify }}{% endif %}{% if site.social.links %},
|
||||||
|
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
||||||
|
{%- else -%}
|
||||||
|
"@type": "Person",
|
||||||
|
"name": {{ site.social.name | default: site.name | jsonify }},
|
||||||
|
"url": {{ '/' | absolute_url | jsonify }}{% if site.social.links %},
|
||||||
|
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
||||||
|
{%- endif %}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
+19
-43
@@ -1,24 +1,17 @@
|
|||||||
<!-- begin _includes/seo.html -->
|
<!-- begin _includes/seo.html -->
|
||||||
{%- if site.url -%}
|
{%- assign title_separator = site.title_separator | default: '-' -%}
|
||||||
{%- assign seo_url = site.url | append: site.baseurl -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- assign seo_url = seo_url | default: site.github.url -%}
|
|
||||||
|
|
||||||
{% assign title_separator = site.title_separator | default: '-' | replace: '|', '|' %}
|
{%- assign page_title = page.title | default: site.title | replace: '|', '|' -%}
|
||||||
|
{%- if page_title contains site.title -%}
|
||||||
{%- if page.title -%}
|
{%- assign seo_title = page_title | replace: '|', '|' -%}
|
||||||
{%- assign seo_title = page.title | append: " " | append: title_separator | append: " " | append: site.title -%}
|
{%- else -%}
|
||||||
|
{%- assign seo_title = page_title | append: " " | append: title_separator | append: " " | append: site.title | replace: '|', '|' -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if seo_title -%}
|
{%- assign page_title = page_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
||||||
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
{% if page.canonical_url %}
|
{%- assign canonical_url = page.canonical_url | default: page.url | replace: "/index.html", "/" | absolute_url %}
|
||||||
{%- assign canonical_url = page.canonical_url %}
|
|
||||||
{% else %}
|
|
||||||
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
||||||
{%- if seo_description -%}
|
{%- if seo_description -%}
|
||||||
@@ -32,14 +25,9 @@
|
|||||||
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url -%}
|
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url | escape -%}
|
||||||
{%- assign page_large_image = page_large_image | escape -%}
|
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url | escape -%}
|
||||||
|
{%- assign site_og_image = site.og_image | absolute_url | escape -%}
|
||||||
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url -%}
|
|
||||||
{%- assign page_teaser_image = page_teaser_image | escape -%}
|
|
||||||
|
|
||||||
{%- assign site_og_image = site.og_image | absolute_url -%}
|
|
||||||
{%- assign site_og_image = site_og_image | escape -%}
|
|
||||||
|
|
||||||
{%- if page.date -%}
|
{%- if page.date -%}
|
||||||
{%- assign og_type = "article" -%}
|
{%- assign og_type = "article" -%}
|
||||||
@@ -47,20 +35,20 @@
|
|||||||
{%- assign og_type = "website" -%}
|
{%- assign og_type = "website" -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
<title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
|
<title>{{ seo_title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
|
||||||
<meta name="description" content="{{ seo_description }}">
|
<meta name="description" content="{{ seo_description }}">
|
||||||
|
|
||||||
{% if author.name %}
|
{% if author.name %}
|
||||||
<meta name="author" content="{{ author.name | default: author }}">
|
<meta name="author" content="{{ author.name | default: author | escape_once | strip }}">
|
||||||
{% if og_type == "article" %}
|
{% if og_type == "article" %}
|
||||||
<meta property="article:author" content="{{ author.name | default: author }}">
|
<meta property="article:author" content="{{ author.name | default: author | escape_once | strip }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<meta property="og:type" content="{{ og_type }}">
|
<meta property="og:type" content="{{ og_type }}">
|
||||||
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
||||||
<meta property="og:site_name" content="{{ site.title }}">
|
<meta property="og:site_name" content="{{ site.title | escape_once | strip }}">
|
||||||
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
<meta property="og:title" content="{{ page_title }}">
|
||||||
<meta property="og:url" content="{{ canonical_url }}">
|
<meta property="og:url" content="{{ canonical_url }}">
|
||||||
|
|
||||||
{% if seo_description %}
|
{% if seo_description %}
|
||||||
@@ -75,7 +63,7 @@
|
|||||||
|
|
||||||
{% if site.twitter.username %}
|
{% if site.twitter.username %}
|
||||||
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
||||||
<meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
<meta name="twitter:title" content="{{ page_title }}">
|
||||||
<meta name="twitter:description" content="{{ seo_description }}">
|
<meta name="twitter:description" content="{{ seo_description }}">
|
||||||
<meta name="twitter:url" content="{{ canonical_url }}">
|
<meta name="twitter:url" content="{{ canonical_url }}">
|
||||||
|
|
||||||
@@ -121,21 +109,9 @@
|
|||||||
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<script type="application/ld+json">
|
{% if page.url == '/' %}
|
||||||
{
|
{% include schema.html %}
|
||||||
"@context": "https://schema.org",
|
|
||||||
{% if site.social.type == "Organization" %}
|
|
||||||
"@type": "Organization",
|
|
||||||
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
|
||||||
"logo": {{ site_og_image | jsonify }}{% endif %}
|
|
||||||
{% else %}
|
|
||||||
"@type": "Person",
|
|
||||||
"name": {{ site.social.name | default: site.name | jsonify }},
|
|
||||||
"url": {{ '/' | absolute_url |jsonify }}{% if site.social.links %},
|
|
||||||
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
{% if site.google_site_verification %}
|
{% if site.google_site_verification %}
|
||||||
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
||||||
|
|||||||
@@ -1,11 +1,19 @@
|
|||||||
<section class="page__share">
|
<section class="page__share">
|
||||||
{% if site.data.ui-text[site.locale].share_on_label %}
|
|
||||||
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
|
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fab fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
|
<a href="https://x.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--x" aria-label="Share on X" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} X">
|
||||||
|
<i class="fab fa-fw fa-x-twitter" aria-hidden="true"></i><span> X</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
|
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" aria-label="Share on Facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook">
|
||||||
|
<i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
|
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url }}" class="btn btn--linkedin" aria-label="Share on LinkedIn" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn">
|
||||||
|
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="https://bsky.app/intent/compose?text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--bluesky" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Bluesky">
|
||||||
|
<i class="fab fa-fw fa-bluesky" aria-hidden="true"></i><span> Bluesky</span>
|
||||||
|
</a>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
+11
-4
@@ -24,7 +24,7 @@
|
|||||||
OTHER DEALINGS IN THE SOFTWARE.
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
Version 1.1.0
|
Version 1.2.1
|
||||||
https://github.com/allejo/jekyll-toc
|
https://github.com/allejo/jekyll-toc
|
||||||
|
|
||||||
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
||||||
@@ -47,6 +47,7 @@
|
|||||||
* base_url (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
|
* base_url (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
|
||||||
* anchor_class (string) : '' - add custom class(es) for each anchor element
|
* anchor_class (string) : '' - add custom class(es) for each anchor element
|
||||||
* skip_no_ids (bool) : false - skip headers that do not have an `id` attribute
|
* skip_no_ids (bool) : false - skip headers that do not have an `id` attribute
|
||||||
|
* flat_toc (bool) : false - when set to true, the TOC will be a single level list
|
||||||
|
|
||||||
Output:
|
Output:
|
||||||
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
|
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
|
||||||
@@ -69,6 +70,7 @@
|
|||||||
|
|
||||||
{% capture jekyll_toc %}{% endcapture %}
|
{% capture jekyll_toc %}{% endcapture %}
|
||||||
{% assign orderedList = include.ordered | default: false %}
|
{% assign orderedList = include.ordered | default: false %}
|
||||||
|
{% assign flatToc = include.flat_toc | default: false %}
|
||||||
{% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
|
{% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
|
||||||
{% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
|
{% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
|
||||||
{% assign minHeader = include.h_min | default: 1 %}
|
{% assign minHeader = include.h_min | default: 1 %}
|
||||||
@@ -138,9 +140,9 @@
|
|||||||
{% capture listItem %}{{ anchorBody }}{% endcapture %}
|
{% capture listItem %}{{ anchorBody }}{% endcapture %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if currLevel > lastLevel %}
|
{% if currLevel > lastLevel and flatToc == false %}
|
||||||
{% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
|
{% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
|
||||||
{% elsif currLevel < lastLevel %}
|
{% elsif currLevel < lastLevel and flatToc == false %}
|
||||||
{% assign repeatCount = lastLevel | minus: currLevel %}
|
{% assign repeatCount = lastLevel | minus: currLevel %}
|
||||||
|
|
||||||
{% for i in (1..repeatCount) %}
|
{% for i in (1..repeatCount) %}
|
||||||
@@ -158,8 +160,13 @@
|
|||||||
{% assign firstHeader = false %}
|
{% assign firstHeader = false %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if flatToc == true %}
|
||||||
|
{% assign repeatCount = 1 %}
|
||||||
|
{% else %}
|
||||||
{% assign repeatCount = minHeader | minus: 1 %}
|
{% assign repeatCount = minHeader | minus: 1 %}
|
||||||
{% assign repeatCount = lastLevel | minus: repeatCount %}
|
{% assign repeatCount = lastLevel | minus: repeatCount %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% for i in (1..repeatCount) %}
|
{% for i in (1..repeatCount) %}
|
||||||
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
|
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@@ -179,4 +186,4 @@
|
|||||||
{% capture jekyll_toc %}<{{ listModifier }}{{ rootAttributes }}>{{ nodes | shift | join: '>' }}>{% endcapture %}
|
{% capture jekyll_toc %}<{{ listModifier }}{{ rootAttributes }}>{{ nodes | shift | join: '>' }}>{% endcapture %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc }}
|
{% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc -}}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ author_profile: false
|
|||||||
|
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
|
<h1 id="page-title" class="page__title"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</h1>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
{% for post in page.posts %}
|
{% for post in page.posts %}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ layout: default
|
|||||||
|
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
|
<h1 id="page-title" class="page__title"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</h1>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
{{ content }}
|
{{ content }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,40 +4,4 @@ layout: archive
|
|||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
{% assign categories_max = 0 %}
|
{% include posts-taxonomy.html taxonomies=site.categories %}
|
||||||
{% for category in site.categories %}
|
|
||||||
{% if category[1].size > categories_max %}
|
|
||||||
{% assign categories_max = category[1].size %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<ul class="taxonomy__index">
|
|
||||||
{% for i in (1..categories_max) reversed %}
|
|
||||||
{% for category in site.categories %}
|
|
||||||
{% if category[1].size == i %}
|
|
||||||
<li>
|
|
||||||
<a href="#{{ category[0] | slugify }}">
|
|
||||||
<strong>{{ category[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
|
||||||
{% for i in (1..categories_max) reversed %}
|
|
||||||
{% for category in site.categories %}
|
|
||||||
{% if category[1].size == i %}
|
|
||||||
<section id="{{ category[0] | slugify }}" class="taxonomy__section">
|
|
||||||
<h2 class="archive__subtitle">{{ category[0] }}</h2>
|
|
||||||
<div class="entries-{{ entries_layout }}">
|
|
||||||
{% for post in category.last %}
|
|
||||||
{% include archive-single.html type=entries_layout %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
|
||||||
</section>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|||||||
@@ -3,18 +3,19 @@
|
|||||||
|
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
{% include copyright.html %}
|
{% include copyright.html %}
|
||||||
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
|
<html lang="{{ site.locale | replace: "_", "-" | default: "en" }}" class="no-js">
|
||||||
<head>
|
<head>
|
||||||
{% include head.html %}
|
{% include head.html %}
|
||||||
{% include head/custom.html %}
|
{% include head/custom.html %}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}" dir="{% if site.rtl %}rtl{% else %}ltr{% endif %}">
|
||||||
{% include_cached skip-links.html %}
|
{% include_cached skip-links.html %}
|
||||||
{% include_cached masthead.html %}
|
{% include_cached masthead.html %}
|
||||||
|
|
||||||
<div class="initial-content">
|
<div class="initial-content">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
{% include after-content.html %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if site.search == true %}
|
{% if site.search == true %}
|
||||||
@@ -31,6 +32,5 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% include scripts.html %}
|
{% include scripts.html %}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+1
-3
@@ -14,9 +14,7 @@ layout: archive
|
|||||||
|
|
||||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||||
<div class="entries-{{ entries_layout }}">
|
<div class="entries-{{ entries_layout }}">
|
||||||
{% for post in posts %}
|
{% include documents-collection.html entries=posts type=entries_layout %}
|
||||||
{% include archive-single.html type=entries_layout %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% include paginator.html %}
|
{% include paginator.html %}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ layout: default
|
|||||||
|
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
|
<h1 id="page-title" class="page__title"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>{{ page.title }}</h1>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|||||||
+18
-26
@@ -21,8 +21,8 @@ layout: default
|
|||||||
<div id="main" role="main">
|
<div id="main" role="main">
|
||||||
{% include sidebar.html %}
|
{% include sidebar.html %}
|
||||||
|
|
||||||
<article class="page h-entry" itemscope itemtype="https://schema.org/CreativeWork">
|
<article class="page" itemscope itemtype="https://schema.org/CreativeWork"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>
|
||||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.title %}<meta itemprop="headline" content="{{ page.title | replace: '|', '|' | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
||||||
@@ -30,14 +30,16 @@ layout: default
|
|||||||
<div class="page__inner-wrap">
|
<div class="page__inner-wrap">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<header>
|
<header>
|
||||||
{% if page.title %}<h1 id="page-title" class="page__title p-name" itemprop="headline">
|
{% if page.title -%}
|
||||||
<a href="{{ page.url | absolute_url }}" class="u-url" itemprop="url">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</a>
|
<h1 id="page-title" class="page__title" itemprop="headline">
|
||||||
</h1>{% endif %}
|
<a href="{{ page.url | absolute_url }}" itemprop="url">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</a>
|
||||||
|
</h1>
|
||||||
|
{%- endif %}
|
||||||
{% include page__meta.html %}
|
{% include page__meta.html %}
|
||||||
</header>
|
</header>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
<section class="page__content e-content" itemprop="text">
|
<section class="page__content" itemprop="text">
|
||||||
{% if page.toc %}
|
{% if page.toc %}
|
||||||
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
||||||
<nav class="toc">
|
<nav class="toc">
|
||||||
@@ -63,33 +65,23 @@ layout: default
|
|||||||
{% include post_pagination.html %}
|
{% include post_pagination.html %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if jekyll.environment == 'production' and site.comments.provider and page.comments %}
|
{% if site.comments.provider and page.comments %}
|
||||||
|
{% if jekyll.environment == 'production' %}
|
||||||
{% include comments.html %}
|
{% include comments.html %}
|
||||||
|
{% else %}
|
||||||
|
<p>
|
||||||
|
Comments are configured with provider: <strong>{{ site.comments.provider }}</strong>,
|
||||||
|
but are disabled in non-production environments.
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
||||||
{% if page.id and page.related and site.related_posts.size > 0 %}
|
{% if page.id and page.related and site.related_posts.size > 0 %}
|
||||||
<div class="page__related">
|
{% include page__related.html posts=site.related_posts %}
|
||||||
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.related_posts limit:4 %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
||||||
{% elsif page.id and page.related %}
|
{% elsif page.id and page.related %}
|
||||||
<div class="page__related">
|
{% include page__related.html posts=site.posts %}
|
||||||
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.posts limit:4 %}
|
|
||||||
{% if post.id == page.id %}
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ layout: default
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div id="main" role="main">
|
<div id="main" role="main">
|
||||||
<article class="splash" itemscope itemtype="https://schema.org/CreativeWork">
|
<article class="splash" itemscope itemtype="https://schema.org/CreativeWork"{% if page.locale %} lang="{{ page.locale }}"{% endif %}>
|
||||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||||
|
|||||||
+1
-37
@@ -4,40 +4,4 @@ layout: archive
|
|||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
{% assign tags_max = 0 %}
|
{% include posts-taxonomy.html taxonomies=site.tags %}
|
||||||
{% for tag in site.tags %}
|
|
||||||
{% if tag[1].size > tags_max %}
|
|
||||||
{% assign tags_max = tag[1].size %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<ul class="taxonomy__index">
|
|
||||||
{% for i in (1..tags_max) reversed %}
|
|
||||||
{% for tag in site.tags %}
|
|
||||||
{% if tag[1].size == i %}
|
|
||||||
<li>
|
|
||||||
<a href="#{{ tag[0] | slugify }}">
|
|
||||||
<strong>{{ tag[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
|
||||||
{% for i in (1..tags_max) reversed %}
|
|
||||||
{% for tag in site.tags %}
|
|
||||||
{% if tag[1].size == i %}
|
|
||||||
<section id="{{ tag[0] | slugify | downcase }}" class="taxonomy__section">
|
|
||||||
<h2 class="archive__subtitle">{{ tag[0] }}</h2>
|
|
||||||
<div class="entries-{{ entries_layout }}">
|
|
||||||
{% for post in tag.last %}
|
|
||||||
{% include archive-single.html type=entries_layout %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑</a>
|
|
||||||
</section>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|||||||
@@ -7,14 +7,14 @@
|
|||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
padding-right: $right-sidebar-width-narrow;
|
padding-inline-end: $right-sidebar-width-narrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
width: calc(100% - #{$right-sidebar-width});
|
width: calc(100% - #{$right-sidebar-width});
|
||||||
padding-right: $right-sidebar-width;
|
padding-inline-end: $right-sidebar-width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,10 +53,7 @@
|
|||||||
a[rel="permalink"]::before {
|
a[rel="permalink"]::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
inset: 0;
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a + a {
|
a + a {
|
||||||
@@ -98,14 +95,14 @@
|
|||||||
.archive__item-caption {
|
.archive__item-caption {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: $caption-font-family;
|
font-family: $caption-font-family;
|
||||||
font-size: $type-size-8;
|
font-size: $type-size-8;
|
||||||
background: #000;
|
background: #000;
|
||||||
text-align: right;
|
text-align: end;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
border-radius: $border-radius 0 0 0;
|
border-radius: $border-radius 0 0 0;
|
||||||
@@ -140,11 +137,11 @@
|
|||||||
/* extend grid elements to the right */
|
/* extend grid elements to the right */
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
margin-right: -1 * $right-sidebar-width-narrow;
|
margin-inline-end: -1 * $right-sidebar-width-narrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
margin-right: -1 * $right-sidebar-width;
|
margin-inline-end: -1 * $right-sidebar-width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -153,23 +150,22 @@
|
|||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: span(5 of 10);
|
width: span(5 of 10);
|
||||||
|
|
||||||
&:nth-child(2n + 1) {
|
&:nth-child(2n + 1) {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(2n + 2) {
|
&:nth-child(2n + 2) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(of 10);
|
margin-inline-start: gutter(of 10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($medium) {
|
@include breakpoint($medium) {
|
||||||
margin-left: 0; /* override margin*/
|
margin-inline: 0; /* override margin*/
|
||||||
margin-right: 0; /* override margin*/
|
|
||||||
width: span(3 of 12);
|
width: span(3 of 12);
|
||||||
|
|
||||||
&:nth-child(2n + 1) {
|
&:nth-child(2n + 1) {
|
||||||
@@ -182,17 +178,17 @@
|
|||||||
|
|
||||||
&:nth-child(4n + 2) {
|
&:nth-child(4n + 2) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(1 of 12);
|
margin-inline-start: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(4n + 3) {
|
&:nth-child(4n + 3) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(1 of 12);
|
margin-inline-start: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(4n + 4) {
|
&:nth-child(4n + 4) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(1 of 12);
|
margin-inline-start: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,23 +250,23 @@
|
|||||||
font-size: 1.125em;
|
font-size: 1.125em;
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
width: span(4 of 12);
|
width: span(4 of 12);
|
||||||
|
|
||||||
&:nth-child(3n + 1) {
|
&:nth-child(3n + 1) {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3n + 2) {
|
&:nth-child(3n + 2) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(of 12);
|
margin-inline-start: gutter(of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3n + 3) {
|
&:nth-child(3n + 3) {
|
||||||
clear: none;
|
clear: none;
|
||||||
margin-left: gutter(of 12);
|
margin-inline-start: gutter(of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.feature__item-teaser {
|
.feature__item-teaser {
|
||||||
@@ -280,114 +276,89 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-body {
|
.archive__item-body {
|
||||||
padding-left: gutter(1 of 12);
|
padding-inline: gutter(1 of 12);
|
||||||
padding-right: gutter(1 of 12);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a.btn::before {
|
a.btn::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
inset: 0;
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&--left {
|
&--left, &--right {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: left;
|
margin-inline: 0;
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
font-size: 1.125em;
|
font-size: 1.125em;
|
||||||
|
|
||||||
.archive__item {
|
a.btn::before {
|
||||||
float: left;
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
a.btn::before {
|
&--left {
|
||||||
content: '';
|
float: inline-start;
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
.archive__item {
|
||||||
top: 0;
|
float: inline-start;
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: span(5 of 12);
|
width: span(5 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-body {
|
.archive__item-body {
|
||||||
float: right;
|
float: inline-end;
|
||||||
padding-left: gutter(0.5 of 12);
|
|
||||||
padding-right: gutter(1 of 12);
|
|
||||||
width: span(7 of 12);
|
width: span(7 of 12);
|
||||||
|
padding-inline-start: gutter(0.5 of 12);
|
||||||
|
padding-inline-end: gutter(1 of 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&--right {
|
&--right {
|
||||||
position: relative;
|
float: inline-end;
|
||||||
float: left;
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
|
||||||
clear: both;
|
|
||||||
font-size: 1.125em;
|
|
||||||
|
|
||||||
.archive__item {
|
.archive__item {
|
||||||
float: left;
|
float: inline-end;
|
||||||
}
|
|
||||||
|
|
||||||
.archive__item-teaser {
|
|
||||||
margin-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.btn::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
text-align: right;
|
text-align: end;
|
||||||
|
|
||||||
.archive__item-teaser {
|
.archive__item-teaser {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: span(5 of 12);
|
width: span(5 of 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-body {
|
.archive__item-body {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: span(7 of 12);
|
width: span(7 of 12);
|
||||||
padding-left: gutter(0.5 of 12);
|
padding-inline-start: gutter(1 of 12);
|
||||||
padding-right: gutter(1 of 12);
|
padding-inline-end: gutter(0.5 of 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&--center {
|
&--center {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
font-size: 1.125em;
|
font-size: 1.125em;
|
||||||
|
|
||||||
.archive__item {
|
.archive__item {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,10 +369,7 @@
|
|||||||
a.btn::before {
|
a.btn::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
inset: 0;
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
@@ -445,11 +413,11 @@
|
|||||||
.wide {
|
.wide {
|
||||||
.archive {
|
.archive {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ html {
|
|||||||
/* sticky footer fix */
|
/* sticky footer fix */
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
@@ -107,18 +109,18 @@ abbr[data-original-title] {
|
|||||||
/* blockquotes */
|
/* blockquotes */
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
margin: 2em 1em 2em 0;
|
margin-block: 2em;
|
||||||
padding-left: 1em;
|
margin-inline-end: 1em;
|
||||||
padding-right: 1em;
|
padding-inline: 1em;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
border-left: 0.25em solid $primary-color;
|
border-inline-start: 0.25em solid $primary-color;
|
||||||
|
|
||||||
cite {
|
cite {
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
|
|
||||||
&:before {
|
&::before {
|
||||||
content: "\2014";
|
content: "\2014";
|
||||||
padding-right: 5px;
|
padding-inline-end: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,11 +21,11 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
margin-right: 0.5em;
|
margin-inline-end: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon + .hidden {
|
.icon + .hidden {
|
||||||
margin-left: -0.5em; /* override for hidden text*/
|
margin-inline-start: -0.5em; /* override for hidden text*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* button colors */
|
/* button colors */
|
||||||
@@ -37,9 +37,13 @@
|
|||||||
(warning, $warning-color),
|
(warning, $warning-color),
|
||||||
(danger, $danger-color),
|
(danger, $danger-color),
|
||||||
(info, $info-color),
|
(info, $info-color),
|
||||||
|
/* brands */
|
||||||
|
(bluesky, $bluesky-color),
|
||||||
(facebook, $facebook-color),
|
(facebook, $facebook-color),
|
||||||
|
(linkedin, $linkedin-color),
|
||||||
|
(mastodon, $mastodon-color),
|
||||||
(twitter, $twitter-color),
|
(twitter, $twitter-color),
|
||||||
(linkedin, $linkedin-color);
|
(x, $x-color);
|
||||||
|
|
||||||
@each $buttoncolor, $color in $buttoncolors {
|
@each $buttoncolor, $color in $buttoncolors {
|
||||||
&--#{$buttoncolor} {
|
&--#{$buttoncolor} {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*!
|
/*!
|
||||||
* Minimal Mistakes Jekyll Theme 4.25.0 by Michael Rose
|
* Minimal Mistakes Jekyll Theme 4.27.1 by Michael Rose
|
||||||
* Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
|
* Copyright 2013-2025 Michael Rose - mademistakes.com | @mmistakes
|
||||||
* Free for personal and commercial use under the MIT license
|
* Free for personal and commercial use under the MIT license
|
||||||
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -4,9 +4,8 @@
|
|||||||
|
|
||||||
.page__footer {
|
.page__footer {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 3em;
|
margin-top: 3em;
|
||||||
color: $muted-text-color;
|
color: $muted-text-color;
|
||||||
@@ -18,8 +17,7 @@
|
|||||||
|
|
||||||
footer {
|
footer {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
margin-top: 2em;
|
margin-top: 2em;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
padding: 0 1em 2em;
|
padding: 0 1em 2em;
|
||||||
@@ -67,13 +65,13 @@
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
li + li:before {
|
li + li::before {
|
||||||
content: "";
|
content: "";
|
||||||
padding-right: 5px;
|
padding-inline-end: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
padding-right: 10px;
|
padding-inline-end: 10px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
form {
|
form {
|
||||||
margin: 0 0 5px 0;
|
margin-bottom: 5px;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
background-color: $form-background-color;
|
background-color: $form-background-color;
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ form {
|
|||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 5px * 2;
|
margin-bottom: 5px * 2;
|
||||||
*margin-left: -7px;
|
margin-inline-start: -7px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
color: $text-color;
|
color: $text-color;
|
||||||
border: 0;
|
border: 0;
|
||||||
@@ -45,7 +45,6 @@ button,
|
|||||||
select,
|
select,
|
||||||
textarea {
|
textarea {
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
*vertical-align: middle;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input,
|
input,
|
||||||
@@ -102,7 +101,6 @@ input[type="radio"] {
|
|||||||
height: auto;
|
height: auto;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 3px 0;
|
margin: 3px 0;
|
||||||
*margin-top: 0;
|
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
@@ -114,8 +112,6 @@ input[type="checkbox"],
|
|||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
*width: 13px;
|
|
||||||
*height: 13px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="image"] {
|
input[type="image"] {
|
||||||
@@ -138,12 +134,6 @@ input[type="submit"] {
|
|||||||
width: auto;
|
width: auto;
|
||||||
height: auto;
|
height: auto;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
*overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
select,
|
|
||||||
input[type="file"] {
|
|
||||||
*margin-top: 4px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
@@ -173,14 +163,14 @@ input[type="hidden"] {
|
|||||||
|
|
||||||
.radio,
|
.radio,
|
||||||
.checkbox {
|
.checkbox {
|
||||||
padding-left: 18px;
|
padding-inline-start: 18px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio input[type="radio"],
|
.radio input[type="radio"],
|
||||||
.checkbox input[type="checkbox"] {
|
.checkbox input[type="checkbox"] {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: -18px;
|
margin-inline-start: -18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio.inline,
|
.radio.inline,
|
||||||
@@ -193,7 +183,7 @@ input[type="hidden"] {
|
|||||||
|
|
||||||
.radio.inline + .radio.inline,
|
.radio.inline + .radio.inline,
|
||||||
.checkbox.inline + .checkbox.inline {
|
.checkbox.inline + .checkbox.inline {
|
||||||
margin-left: 10px;
|
margin-inline-start: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -248,7 +238,7 @@ select:focus {
|
|||||||
.help-inline {
|
.help-inline {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
padding-left: 5px;
|
padding-inline-start: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -279,16 +269,16 @@ select:focus {
|
|||||||
.form-inline .radio,
|
.form-inline .radio,
|
||||||
.form-inline .checkbox,
|
.form-inline .checkbox,
|
||||||
.form-inline .radio {
|
.form-inline .radio {
|
||||||
padding-left: 0;
|
padding-inline-start: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-inline .radio input[type="radio"],
|
.form-inline .radio input[type="radio"],
|
||||||
.form-inline .checkbox input[type="checkbox"] {
|
.form-inline .checkbox input[type="checkbox"] {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
margin-right: 3px;
|
margin-inline-end: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -303,8 +293,7 @@ select:focus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.form-search .search-query {
|
.form-search .search-query {
|
||||||
padding-left: 14px;
|
padding-inline: 14px;
|
||||||
padding-right: 14px;
|
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
border-radius: 14px;
|
border-radius: 14px;
|
||||||
}
|
}
|
||||||
@@ -316,23 +305,23 @@ select:focus {
|
|||||||
.form-search .radio,
|
.form-search .radio,
|
||||||
.form-search .checkbox,
|
.form-search .checkbox,
|
||||||
.form-inline .radio {
|
.form-inline .radio {
|
||||||
padding-left: 0;
|
padding-inline-start: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-search .radio input[type="radio"],
|
.form-search .radio input[type="radio"],
|
||||||
.form-search .checkbox input[type="checkbox"] {
|
.form-search .checkbox input[type="checkbox"] {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
margin-right: 3px;
|
margin-inline-end: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
.form--loading
|
.form--loading
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.form--loading:before {
|
.form--loading::before {
|
||||||
content: "";
|
content: "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,10 +329,10 @@ select:focus {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form:before {
|
.form::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: rgba(255, 255, 255, 0.7);
|
background-color: rgba(255, 255, 255, 0.7);
|
||||||
@@ -354,6 +343,6 @@ select:focus {
|
|||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
inset-inline-start: 50%;
|
||||||
z-index: 11;
|
z-index: 11;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,8 +13,7 @@
|
|||||||
|
|
||||||
&__inner-wrap {
|
&__inner-wrap {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@@ -59,17 +58,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.masthead__menu {
|
.masthead__menu {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
|
||||||
.site-nav {
|
.site-nav {
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +85,7 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
||||||
&--lg {
|
&--lg {
|
||||||
padding-right: 2em;
|
padding-inline-end: 2em;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,8 +10,7 @@
|
|||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
padding-left: 1em;
|
padding-inline: 1em;
|
||||||
padding-right: 1em;
|
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
-webkit-animation: $intro-transition;
|
-webkit-animation: $intro-transition;
|
||||||
animation: $intro-transition;
|
animation: $intro-transition;
|
||||||
@@ -28,7 +27,7 @@
|
|||||||
font-size: $type-size-6;
|
font-size: $type-size-6;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +51,7 @@
|
|||||||
|
|
||||||
.pagination {
|
.pagination {
|
||||||
@include clearfix();
|
@include clearfix();
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -66,8 +65,8 @@
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
display: block;
|
display: block;
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: -1px;
|
margin-inline-start: -1px;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -101,18 +100,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
border-top-left-radius: $border-radius;
|
border-start-start-radius: $border-radius;
|
||||||
border-bottom-left-radius: $border-radius;
|
border-end-start-radius: $border-radius;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
a {
|
a {
|
||||||
border-top-right-radius: $border-radius;
|
border-start-end-radius: $border-radius;
|
||||||
border-bottom-right-radius: $border-radius;
|
border-end-end-radius: $border-radius;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -121,7 +120,7 @@
|
|||||||
&--pager {
|
&--pager {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 1em 2em;
|
padding: 1em 2em;
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
font-size: $type-size-5;
|
font-size: $type-size-5;
|
||||||
@@ -137,14 +136,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
border-top-right-radius: 0;
|
border-start-end-radius: 0;
|
||||||
border-bottom-right-radius: 0;
|
border-end-end-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-left: -1px;
|
margin-inline-start: -1px;
|
||||||
border-top-left-radius: 0;
|
border-start-start-radius: 0;
|
||||||
border-bottom-left-radius: 0;
|
border-end-start-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.disabled {
|
&.disabled {
|
||||||
@@ -192,12 +191,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.site-logo {
|
&.site-logo {
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
margin-right: 0.5rem;
|
margin-inline-end: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.site-title {
|
&.site-title {
|
||||||
margin-left: 0;
|
margin-inline-start: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,7 +239,7 @@
|
|||||||
&:before {
|
&:before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
height: 4px;
|
height: 4px;
|
||||||
background: $primary-color;
|
background: $primary-color;
|
||||||
@@ -262,7 +261,7 @@
|
|||||||
.hidden-links {
|
.hidden-links {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 100%;
|
top: 100%;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid $border-color;
|
border: 1px solid $border-color;
|
||||||
@@ -287,11 +286,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -11px;
|
top: -11px;
|
||||||
right: 10px;
|
inset-inline-end: 10px;
|
||||||
width: 0;
|
width: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 0 10px 10px;
|
border-width: 0 10px 10px;
|
||||||
@@ -300,11 +299,11 @@
|
|||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -10px;
|
top: -10px;
|
||||||
right: 10px;
|
inset-inline-end: 10px;
|
||||||
width: 0;
|
width: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 0 10px 10px;
|
border-width: 0 10px 10px;
|
||||||
@@ -361,11 +360,11 @@
|
|||||||
transition: 0.2s ease-out;
|
transition: 0.2s ease-out;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&:before,
|
&::before,
|
||||||
&:after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 1em;
|
inset-inline-end: 1em;
|
||||||
top: 1.25em;
|
top: 1.25em;
|
||||||
width: 0.75em;
|
width: 0.75em;
|
||||||
height: 0.125em;
|
height: 0.125em;
|
||||||
@@ -446,9 +445,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
margin-left: -0.5em;
|
margin-inline-start: -0.5em;
|
||||||
padding-left: 0.5em;
|
padding-inline: 0.5em;
|
||||||
padding-right: 0.5em;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,8 +514,8 @@
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: $type-size-6;
|
font-size: $type-size-6;
|
||||||
background: $primary-color;
|
background: $primary-color;
|
||||||
border-top-left-radius: $border-radius;
|
border-start-start-radius: $border-radius;
|
||||||
border-top-right-radius: $border-radius;
|
border-start-end-radius: $border-radius;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scrollspy marks toc items as .active when they are in focus
|
// Scrollspy marks toc items as .active when they are in focus
|
||||||
@@ -551,23 +549,23 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
li ul > li a {
|
li ul > li a {
|
||||||
padding-left: 1.25rem;
|
padding-inline-start: 1.25rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
li ul li ul > li a {
|
li ul li ul > li a {
|
||||||
padding-left: 1.75rem;
|
padding-inline-start: 1.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
li ul li ul li ul > li a {
|
li ul li ul li ul > li a {
|
||||||
padding-left: 2.25rem;
|
padding-inline-start: 2.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
li ul li ul li ul li ul > li a {
|
li ul li ul li ul li ul > li a {
|
||||||
padding-left: 2.75rem;
|
padding-inline-start: 2.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
li ul li ul li ul li ul li ul > li a {
|
li ul li ul li ul li ul li ul > li a {
|
||||||
padding-left: 3.25rem
|
padding-inline-start: 3.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@at-root #{selector-unify(&, "blockquote")} {
|
@at-root #{selector-unify(&, "blockquote")} {
|
||||||
border-left-color: mix(#000, $notice-color, 10%);
|
border-inline-start-color: mix(#000, $notice-color, 10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
|
|||||||
@@ -4,10 +4,8 @@
|
|||||||
|
|
||||||
#main {
|
#main {
|
||||||
@include clearfix;
|
@include clearfix;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
padding-inline: 1em;
|
||||||
padding-left: 1em;
|
|
||||||
padding-right: 1em;
|
|
||||||
-webkit-animation: $intro-transition;
|
-webkit-animation: $intro-transition;
|
||||||
animation: $intro-transition;
|
animation: $intro-transition;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
@@ -37,21 +35,20 @@ body {
|
|||||||
|
|
||||||
.page {
|
.page {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
padding-right: $right-sidebar-width-narrow;
|
padding-inline-end: $right-sidebar-width-narrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
width: calc(100% - #{$right-sidebar-width});
|
width: calc(100% - #{$right-sidebar-width});
|
||||||
padding-right: $right-sidebar-width;
|
padding-inline-end: $right-sidebar-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page__inner-wrap {
|
.page__inner-wrap {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
|
||||||
@@ -59,9 +56,8 @@ body {
|
|||||||
.page__meta,
|
.page__meta,
|
||||||
.page__share {
|
.page__share {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
@@ -96,7 +92,7 @@ body {
|
|||||||
h1, h2, h3, h4, h5, h6 {
|
h1, h2, h3, h4, h5, h6 {
|
||||||
.header-link {
|
.header-link {
|
||||||
position: relative;
|
position: relative;
|
||||||
left: 0.5em;
|
inset-inline-start: 0.5em;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
-webkit-transition: opacity 0.2s ease-in-out 0.1s;
|
-webkit-transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
@@ -160,7 +156,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dd {
|
dd {
|
||||||
margin-left: 1em;
|
margin-inline-start: 1em;
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
font-size: $type-size-6;
|
font-size: $type-size-6;
|
||||||
}
|
}
|
||||||
@@ -172,7 +168,7 @@ body {
|
|||||||
/* blockquote citations */
|
/* blockquote citations */
|
||||||
blockquote + .small {
|
blockquote + .small {
|
||||||
margin-top: -1.5em;
|
margin-top: -1.5em;
|
||||||
padding-left: 1.25rem;
|
padding-inline-start: 1.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,8 +199,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
padding-left: 1em;
|
padding-inline: 1em;
|
||||||
padding-right: 1em;
|
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $x-large;
|
||||||
@@ -242,14 +237,14 @@ body {
|
|||||||
.page__hero-caption {
|
.page__hero-caption {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: $caption-font-family;
|
font-family: $caption-font-family;
|
||||||
font-size: $type-size-7;
|
font-size: $type-size-7;
|
||||||
background: #000;
|
background: #000;
|
||||||
text-align: right;
|
text-align: end;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
border-radius: $border-radius 0 0 0;
|
border-radius: $border-radius 0 0 0;
|
||||||
@@ -320,8 +315,7 @@ body {
|
|||||||
|
|
||||||
.page__meta-sep::before {
|
.page__meta-sep::before {
|
||||||
content: "\2022";
|
content: "\2022";
|
||||||
padding-left: 0.5em;
|
padding-inline: 0.5em;
|
||||||
padding-right: 0.5em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -334,13 +328,13 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
strong {
|
strong {
|
||||||
margin-right: 10px;
|
margin-inline-end: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.page__taxonomy-item {
|
.page__taxonomy-item {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 5px;
|
margin-inline-end: 5px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -417,7 +411,7 @@ body {
|
|||||||
color: $muted-text-color;
|
color: $muted-text-color;
|
||||||
font-size: 0.6em;
|
font-size: 0.6em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
text-align: right;
|
text-align: end;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -426,9 +420,8 @@ body {
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.page__comments {
|
.page__comments {
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-left: 0;
|
margin-inline: 0;
|
||||||
margin-right: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
@@ -470,7 +463,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment__avatar-wrapper {
|
.comment__avatar-wrapper {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
|
|
||||||
@@ -494,7 +487,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment__content-wrapper {
|
.comment__content-wrapper {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - 60px);
|
width: calc(100% - 60px);
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
@@ -525,13 +518,13 @@ body {
|
|||||||
|
|
||||||
.page__related {
|
.page__related {
|
||||||
@include clearfix();
|
@include clearfix();
|
||||||
float: left;
|
float: inline-start;
|
||||||
margin-top: 2em;
|
margin-top: 2em;
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
border-top: 1px solid $border-color;
|
border-top: 1px solid $border-color;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: inline-end;
|
||||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -556,23 +549,13 @@ body {
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.wide {
|
.wide {
|
||||||
.page {
|
.page, .page__related {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
padding-right: 0;
|
padding-inline-end: 0;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.page__related {
|
|
||||||
@include breakpoint($large) {
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,18 +8,18 @@ html {
|
|||||||
/* apply a natural box layout model to all elements */
|
/* apply a natural box layout model to all elements */
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-color: $background-color;
|
background-color: $background-color;
|
||||||
font-size: 16px;
|
font-size: $doc-font-size;
|
||||||
|
|
||||||
@include breakpoint($medium) {
|
@include breakpoint($medium) {
|
||||||
font-size: 18px;
|
font-size: $doc-font-size-medium;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
font-size: 20px;
|
font-size: $doc-font-size-large;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
font-size: 22px;
|
font-size: $doc-font-size-x-large;
|
||||||
}
|
}
|
||||||
|
|
||||||
-webkit-text-size-adjust: 100%;
|
-webkit-text-size-adjust: 100%;
|
||||||
@@ -64,8 +64,6 @@ audio,
|
|||||||
canvas,
|
canvas,
|
||||||
video {
|
video {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
*display: inline;
|
|
||||||
*zoom: 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Prevents modern browsers from displaying 'audio' without controls */
|
/* Prevents modern browsers from displaying 'audio' without controls */
|
||||||
@@ -142,7 +140,6 @@ textarea {
|
|||||||
|
|
||||||
button,
|
button,
|
||||||
input {
|
input {
|
||||||
*overflow: visible; /* inner spacing ie IE6/7*/
|
|
||||||
line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/
|
line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.search__toggle {
|
.search__toggle {
|
||||||
margin-left: 1rem;
|
margin-inline: 1rem;
|
||||||
margin-right: 1rem;
|
|
||||||
height: $nav-toggle-height;
|
height: $nav-toggle-height;
|
||||||
border: 0;
|
border: 0;
|
||||||
outline: none;
|
outline: none;
|
||||||
@@ -38,10 +37,8 @@
|
|||||||
|
|
||||||
&__inner-wrap {
|
&__inner-wrap {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
padding-inline: 1em;
|
||||||
padding-left: 1em;
|
|
||||||
padding-right: 1em;
|
|
||||||
-webkit-animation: $intro-transition;
|
-webkit-animation: $intro-transition;
|
||||||
animation: $intro-transition;
|
animation: $intro-transition;
|
||||||
-webkit-animation-delay: 0.15s;
|
-webkit-animation-delay: 0.15s;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: left;
|
float: inline-start;
|
||||||
width: calc(#{$right-sidebar-width-narrow} - 1em);
|
width: calc(#{$right-sidebar-width-narrow} - 1em);
|
||||||
opacity: 0.75;
|
opacity: 0.75;
|
||||||
-webkit-transition: opacity 0.2s ease-in-out;
|
-webkit-transition: opacity 0.2s ease-in-out;
|
||||||
@@ -77,10 +77,10 @@
|
|||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
width: $right-sidebar-width-narrow;
|
width: $right-sidebar-width-narrow;
|
||||||
margin-right: -1 * $right-sidebar-width-narrow;
|
margin-inline-end: -1 * $right-sidebar-width-narrow;
|
||||||
padding-left: 1em;
|
padding-inline-start: 1em;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
|
|
||||||
&.sticky {
|
&.sticky {
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
position: -webkit-sticky;
|
position: -webkit-sticky;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 2em;
|
top: 2em;
|
||||||
float: right;
|
float: inline-end;
|
||||||
|
|
||||||
.toc {
|
.toc {
|
||||||
.toc__menu {
|
.toc__menu {
|
||||||
@@ -101,19 +101,19 @@
|
|||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
width: $right-sidebar-width;
|
width: $right-sidebar-width;
|
||||||
margin-right: -1 * $right-sidebar-width;
|
margin-inline-end: -1 * $right-sidebar-width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.splash .sidebar__right {
|
.splash .sidebar__right {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: right;
|
float: inline-end;
|
||||||
margin-right: 0;
|
margin-inline-end: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
margin-right: 0;
|
margin-inline-end: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,15 +147,13 @@
|
|||||||
.author__content {
|
.author__content {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
padding-left: 15px;
|
padding-inline: 15px 25px;
|
||||||
padding-right: 25px;
|
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding-left: 0;
|
padding-inline: 0;
|
||||||
padding-right: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
@@ -202,7 +200,7 @@
|
|||||||
|
|
||||||
.author__urls {
|
.author__urls {
|
||||||
span.label {
|
span.label {
|
||||||
padding-left: 5px;
|
padding-inline-start: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -219,7 +217,7 @@
|
|||||||
content: '';
|
content: '';
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
@@ -241,7 +239,7 @@
|
|||||||
.author__urls {
|
.author__urls {
|
||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
inset-inline-end: 0;
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
@@ -265,12 +263,12 @@
|
|||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:before {
|
&::before {
|
||||||
display: block;
|
display: block;
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -11px;
|
top: -11px;
|
||||||
left: calc(50% - 10px);
|
inset-inline-start: calc(50% - 10px);
|
||||||
width: 0;
|
width: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 0 10px 10px;
|
border-width: 0 10px 10px;
|
||||||
@@ -287,7 +285,7 @@
|
|||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -10px;
|
top: -10px;
|
||||||
left: calc(50% - 10px);
|
inset-inline-start: calc(50% - 10px);
|
||||||
width: 0;
|
width: 0;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 0 10px 10px;
|
border-width: 0 10px 10px;
|
||||||
@@ -311,9 +309,8 @@
|
|||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
padding-right: 5px;
|
padding-block: 2px;
|
||||||
padding-top: 2px;
|
padding-inline-end: 5px;
|
||||||
padding-bottom: 2px;
|
|
||||||
color: inherit;
|
color: inherit;
|
||||||
font-size: $type-size-5;
|
font-size: $type-size-5;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -334,10 +331,10 @@
|
|||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
position: initial;
|
position: initial;
|
||||||
top: initial;
|
top: initial;
|
||||||
right: initial;
|
inset-inline-end: initial;
|
||||||
width: initial;
|
width: initial;
|
||||||
margin-right: initial;
|
margin-inline-end: initial;
|
||||||
padding-left: initial;
|
padding-inline-start: initial;
|
||||||
z-index: initial;
|
z-index: initial;
|
||||||
|
|
||||||
&.sticky {
|
&.sticky {
|
||||||
@@ -347,7 +344,6 @@
|
|||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
width: initial;
|
width: initial;
|
||||||
margin-right: initial;
|
margin-inline-end: initial;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,11 @@ figure.highlight {
|
|||||||
line-height: 1.8;
|
line-height: 1.8;
|
||||||
border-radius: $border-radius;
|
border-radius: $border-radius;
|
||||||
|
|
||||||
|
[dir=rtl] & {
|
||||||
|
direction: ltr;
|
||||||
|
text-align: start;
|
||||||
|
}
|
||||||
|
|
||||||
> pre,
|
> pre,
|
||||||
pre.highlight {
|
pre.highlight {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -33,17 +38,17 @@ figure.highlight {
|
|||||||
/* line numbers*/
|
/* line numbers*/
|
||||||
&.gutter,
|
&.gutter,
|
||||||
&.rouge-gutter {
|
&.rouge-gutter {
|
||||||
padding-right: 1em;
|
padding-inline-end: 1em;
|
||||||
width: 1em;
|
width: 1em;
|
||||||
color: $base04;
|
color: $base04;
|
||||||
border-right: 1px solid $base04;
|
border-inline-end: 1px solid $base04;
|
||||||
text-align: right;
|
text-align: end;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* code */
|
/* code */
|
||||||
&.code,
|
&.code,
|
||||||
&.rouge-code {
|
&.rouge-code {
|
||||||
padding-left: 1em;
|
padding-inline-start: 1em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ thead {
|
|||||||
th {
|
th {
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
text-align: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
|
|||||||
@@ -83,20 +83,11 @@ body:hover .visually-hidden button {
|
|||||||
Type
|
Type
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.text-left {
|
$text-alignments: left, right, start, end, center, justify;
|
||||||
text-align: left;
|
@each $alignment in $text-alignments {
|
||||||
|
.text-#{$alignment} {
|
||||||
|
text-align: $alignment;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-nowrap {
|
.text-nowrap {
|
||||||
@@ -115,13 +106,13 @@ body:hover .visually-hidden button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.task-list-item-checkbox {
|
.task-list-item-checkbox {
|
||||||
margin-right: 0.5em;
|
margin-inline-end: 0.5em;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.task-list .task-list {
|
.task-list .task-list {
|
||||||
margin-left: 1em;
|
margin-inline-start: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -135,8 +126,7 @@ body:hover .visually-hidden button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,8 +138,7 @@ body:hover .visually-hidden button {
|
|||||||
|
|
||||||
.align-left {
|
.align-left {
|
||||||
display: block;
|
display: block;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: left;
|
float: left;
|
||||||
@@ -161,8 +150,7 @@ body:hover .visually-hidden button {
|
|||||||
|
|
||||||
.align-right {
|
.align-right {
|
||||||
display: block;
|
display: block;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
|
|
||||||
@include breakpoint($small) {
|
@include breakpoint($small) {
|
||||||
float: right;
|
float: right;
|
||||||
@@ -174,15 +162,14 @@ body:hover .visually-hidden button {
|
|||||||
|
|
||||||
.align-center {
|
.align-center {
|
||||||
display: block;
|
display: block;
|
||||||
margin-left: auto;
|
margin-inline: auto;
|
||||||
margin-right: auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* file page content container */
|
/* file page content container */
|
||||||
|
|
||||||
.full {
|
.full {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
margin-right: -1 * span(2.5 of 12) !important;
|
margin-inline-end: -1 * span(2.5 of 12) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,118 +198,36 @@ body:hover .visually-hidden button {
|
|||||||
color: $text-color;
|
color: $text-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fa-behance,
|
@each $color, $icons in (
|
||||||
.fa-behance-square {
|
$behance-color: ".fa-behance, .fa-behance-square",
|
||||||
color: $behance-color;
|
$bitbucket-color: ".fa-bitbucket",
|
||||||
|
$dribbble-color: ".fa-dribbble, .fa-dribbble-square",
|
||||||
|
$facebook-color: ".fa-facebook, .fa-facebook-square, .fa-facebook-f",
|
||||||
|
$flickr-color: ".fa-flickr",
|
||||||
|
$foursquare-color: ".fa-foursquare",
|
||||||
|
$github-color: ".fa-github, .fa-github-alt, .fa-github-square",
|
||||||
|
$gitlab-color: ".fa-gitlab",
|
||||||
|
$instagram-color: ".fa-instagram",
|
||||||
|
$keybase-color: ".fa-keybase",
|
||||||
|
$lastfm-color: ".fa-lastfm, .fa-lastfm-square",
|
||||||
|
$linkedin-color: ".fa-linkedin, .fa-linkedin-in",
|
||||||
|
$mastodon-color: ".fa-mastodon, .fa-mastodon-square",
|
||||||
|
$pinterest-color: ".fa-pinterest, .fa-pinterest-p, .fa-pinterest-square",
|
||||||
|
$reddit-color: ".fa-reddit",
|
||||||
|
$rss-color: ".fa-rss, .fa-rss-square",
|
||||||
|
$soundcloud-color: ".fa-soundcloud",
|
||||||
|
$stackoverflow-color: ".fa-stack-exchange, .fa-stack-overflow",
|
||||||
|
$tumblr-color: ".fa-tumblr, .fa-tumblr-square",
|
||||||
|
$twitter-color: ".fa-twitter, .fa-twitter-square",
|
||||||
|
$x-color: ".fa-x-twitter, .fa-square-x-twitter",
|
||||||
|
$vimeo-color: ".fa-vimeo, .fa-vimeo-square, .fa-vimeo-v",
|
||||||
|
$vine-color: ".fa-vine",
|
||||||
|
$xing-color: ".fa-xing, .fa-xing-square",
|
||||||
|
$youtube-color: ".fa-youtube",
|
||||||
|
) {
|
||||||
|
#{$icons} {
|
||||||
|
color: $color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fa-bitbucket {
|
|
||||||
color: $bitbucket-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-dribbble,
|
|
||||||
.fa-dribble-square {
|
|
||||||
color: $dribbble-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-facebook,
|
|
||||||
.fa-facebook-square,
|
|
||||||
.fa-facebook-f {
|
|
||||||
color: $facebook-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-flickr {
|
|
||||||
color: $flickr-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-foursquare {
|
|
||||||
color: $foursquare-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-github,
|
|
||||||
.fa-github-alt,
|
|
||||||
.fa-github-square {
|
|
||||||
color: $github-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-gitlab {
|
|
||||||
color: $gitlab-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-instagram {
|
|
||||||
color: $instagram-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-keybase {
|
|
||||||
color: $keybase-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-lastfm,
|
|
||||||
.fa-lastfm-square {
|
|
||||||
color: $lastfm-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-linkedin,
|
|
||||||
.fa-linkedin-in {
|
|
||||||
color: $linkedin-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-mastodon,
|
|
||||||
.fa-mastodon-square {
|
|
||||||
color: $mastodon-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-pinterest,
|
|
||||||
.fa-pinterest-p,
|
|
||||||
.fa-pinterest-square {
|
|
||||||
color: $pinterest-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-reddit {
|
|
||||||
color: $reddit-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-rss,
|
|
||||||
.fa-rss-square {
|
|
||||||
color: $rss-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-soundcloud {
|
|
||||||
color: $soundcloud-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-stack-exchange,
|
|
||||||
.fa-stack-overflow {
|
|
||||||
color: $stackoverflow-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-tumblr,
|
|
||||||
.fa-tumblr-square {
|
|
||||||
color: $tumblr-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-twitter,
|
|
||||||
.fa-twitter-square {
|
|
||||||
color: $twitter-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-vimeo,
|
|
||||||
.fa-vimeo-square,
|
|
||||||
.fa-vimeo-v {
|
|
||||||
color: $vimeo-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-vine {
|
|
||||||
color: $vine-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-youtube {
|
|
||||||
color: $youtube-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-xing,
|
|
||||||
.fa-xing-square {
|
|
||||||
color: $xing-color;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -339,11 +244,11 @@ body:hover .visually-hidden button {
|
|||||||
-webkit-transition: 0.3s;
|
-webkit-transition: 0.3s;
|
||||||
transition: 0.3s;
|
transition: 0.3s;
|
||||||
|
|
||||||
&:before,
|
&::before,
|
||||||
&:after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
width: $navicon-width;
|
width: $navicon-width;
|
||||||
height: $navicon-height;
|
height: $navicon-height;
|
||||||
background: $primary-color;
|
background: $primary-color;
|
||||||
@@ -391,7 +296,7 @@ body:hover .visually-hidden button {
|
|||||||
content: '';
|
content: '';
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
@@ -465,11 +370,11 @@ body:hover .visually-hidden button {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&:before {
|
&::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
content: "";
|
content: "";
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
@@ -486,8 +391,8 @@ body:hover .visually-hidden button {
|
|||||||
position: fixed;
|
position: fixed;
|
||||||
width: 300px;
|
width: 300px;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
inset-inline-start: 50%;
|
||||||
margin-left: -150px;
|
margin-inline-start: -150px;
|
||||||
margin-top: -150px;
|
margin-top: -150px;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
@@ -578,7 +483,7 @@ a.reversefootnote {
|
|||||||
embed {
|
embed {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
inset-inline-start: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
@@ -591,3 +496,74 @@ a.reversefootnote {
|
|||||||
position: static;
|
position: static;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copy <pre> block to clipboard
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
// a <textarea> to hold text for document.execCommand("copy")
|
||||||
|
.clipboard-helper {
|
||||||
|
// Prevent zooming on iOS
|
||||||
|
font-size: 12pt !important;
|
||||||
|
border: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
outline: none !important;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
&.highlight .clipboard-copy-button {
|
||||||
|
color: #ffffca;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clipboard-copy-button {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: 0.6em;
|
||||||
|
inset-inline-end: 0.5em;
|
||||||
|
width: 1.8em;
|
||||||
|
height: 1.5em;
|
||||||
|
z-index: 1;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
padding: 0.2em 0.5em;
|
||||||
|
opacity: 0.4;
|
||||||
|
transition: color 0.25s linear -0.25s, opacity 0.25s linear;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
i {
|
||||||
|
position: absolute;
|
||||||
|
top: 0.25em;
|
||||||
|
inset-inline-end: 0.25em;
|
||||||
|
&.copied {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.copied i {
|
||||||
|
opacity: 0;
|
||||||
|
&.copied {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@at-root {
|
||||||
|
.no-copy & {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover .clipboard-copy-button {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -6,29 +6,65 @@
|
|||||||
Typography
|
Typography
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
$doc-font-size: 16 !default;
|
$doc-font-size: 16px !default;
|
||||||
|
$doc-font-size-medium: $doc-font-size * 1.125 !default;
|
||||||
|
$doc-font-size-large: $doc-font-size * 1.25 !default;
|
||||||
|
$doc-font-size-x-large: $doc-font-size * 1.375 !default;
|
||||||
|
|
||||||
/* paragraph indention */
|
/* paragraph indention */
|
||||||
$paragraph-indent: false !default; // true, false (default)
|
$paragraph-indent: false !default; // true, false (default)
|
||||||
$indent-var: 1.3em !default;
|
$indent-var: 1.3em !default;
|
||||||
|
|
||||||
/* system typefaces */
|
/* Modern font stack */
|
||||||
$serif: Georgia, Times, serif !default;
|
/* https://github.com/system-fonts/modern-font-stacks */
|
||||||
$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI",
|
|
||||||
"Helvetica Neue", "Lucida Grande", Arial, sans-serif !default;
|
|
||||||
$monospace: Monaco, Consolas, "Lucida Console", monospace !default;
|
|
||||||
|
|
||||||
/* sans serif typefaces */
|
/* Sans serif - modern font stack */
|
||||||
$sans-serif-narrow: $sans-serif !default;
|
$system-ui: system-ui, sans-serif;
|
||||||
|
$humanist: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
|
||||||
|
$geometric-humanist: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif;
|
||||||
|
$classical-humanist: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;
|
||||||
|
$neo-grotesque: Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif;
|
||||||
|
$industrial: Bahnschrift, 'DIN Alternate', 'Franklin Gothic Medium', 'Nimbus Sans Narrow', sans-serif-condensed, sans-serif;
|
||||||
|
$rounded-sans: ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa, Manjari, 'Arial Rounded MT', 'Arial Rounded MT Bold', Calibri, source-sans-pro, sans-serif;
|
||||||
|
|
||||||
|
/* sans serif typefaces - defined in Minimal Mistakes */
|
||||||
$helvetica: Helvetica, "Helvetica Neue", Arial, sans-serif !default;
|
$helvetica: Helvetica, "Helvetica Neue", Arial, sans-serif !default;
|
||||||
|
|
||||||
/* serif typefaces */
|
/* Serif - modern font stack */
|
||||||
|
$transitional: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif;
|
||||||
|
$old-style: 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;;
|
||||||
|
$monospace-slab-serif: 'Nimbus Mono PS', 'Courier New', monospace;
|
||||||
|
$slab-serif: Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif;
|
||||||
|
$antique: Superclarendon, 'Bookman Old Style', 'URW Bookman', 'URW Bookman L', 'Georgia Pro', Georgia, serif;
|
||||||
|
$didone: Didot, 'Bodoni MT', 'Noto Serif Display', 'URW Palladio L', P052, Sylfaen, serif;
|
||||||
|
|
||||||
|
/* serif typefaces - defined in Minimal Mistakes */
|
||||||
$georgia: Georgia, serif !default;
|
$georgia: Georgia, serif !default;
|
||||||
$times: Times, serif !default;
|
$times: Times, serif !default;
|
||||||
$bodoni: "Bodoni MT", serif !default;
|
$bodoni: "Bodoni MT", serif !default;
|
||||||
$calisto: "Calisto MT", serif !default;
|
$calisto: "Calisto MT", serif !default;
|
||||||
$garamond: Garamond, serif !default;
|
$garamond: Garamond, serif !default;
|
||||||
|
|
||||||
|
/* Monospace - modern font stack */
|
||||||
|
$monospace-code: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
|
||||||
|
|
||||||
|
/* Handwritten - modern font stack */
|
||||||
|
$handwritten: 'Segoe Print', 'Bradley Hand', Chilanka, TSCu_Comic, casual, cursive;
|
||||||
|
|
||||||
|
/* Defaults used in Minimal mistakes */
|
||||||
|
$default-sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif;
|
||||||
|
$default-serif: Georgia, Times, serif;
|
||||||
|
$default-monospace: Monaco, Consolas, "Lucida Console", monospace;
|
||||||
|
|
||||||
|
/* Emoji native from modern font stack - add to the end of the font-face for native emojis */
|
||||||
|
$emoji-native: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
||||||
|
|
||||||
|
/* system typefaces */
|
||||||
|
$serif: $default-serif !default;
|
||||||
|
$sans-serif: $default-sans-serif !default;
|
||||||
|
$sans-serif-narrow: $sans-serif !default;
|
||||||
|
$monospace: $default-monospace !default;
|
||||||
|
|
||||||
$global-font-family: $sans-serif !default;
|
$global-font-family: $sans-serif !default;
|
||||||
$header-font-family: $sans-serif !default;
|
$header-font-family: $sans-serif !default;
|
||||||
$caption-font-family: $serif !default;
|
$caption-font-family: $serif !default;
|
||||||
@@ -87,6 +123,7 @@ $yiq-debug: false !default;
|
|||||||
/* brands */
|
/* brands */
|
||||||
$behance-color: #1769ff !default;
|
$behance-color: #1769ff !default;
|
||||||
$bitbucket-color: #205081 !default;
|
$bitbucket-color: #205081 !default;
|
||||||
|
$bluesky-color: #1083fe !default;
|
||||||
$dribbble-color: #ea4c89 !default;
|
$dribbble-color: #ea4c89 !default;
|
||||||
$facebook-color: #3b5998 !default;
|
$facebook-color: #3b5998 !default;
|
||||||
$flickr-color: #ff0084 !default;
|
$flickr-color: #ff0084 !default;
|
||||||
@@ -105,6 +142,7 @@ $soundcloud-color: #ff3300 !default;
|
|||||||
$stackoverflow-color: #fe7a15 !default;
|
$stackoverflow-color: #fe7a15 !default;
|
||||||
$tumblr-color: #32506d !default;
|
$tumblr-color: #32506d !default;
|
||||||
$twitter-color: #55acee !default;
|
$twitter-color: #55acee !default;
|
||||||
|
$x-color: #0f1419 !default;
|
||||||
$vimeo-color: #1ab7ea !default;
|
$vimeo-color: #1ab7ea !default;
|
||||||
$vine-color: #00bf8f !default;
|
$vine-color: #00bf8f !default;
|
||||||
$youtube-color: #bb0000 !default;
|
$youtube-color: #bb0000 !default;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
/* Colors */
|
/* Colors */
|
||||||
$text-color: #000 !default;
|
$text-color: #000 !default;
|
||||||
$muted-text-color: $text-color !default;
|
$muted-text-color: $text-color !default;
|
||||||
$primary-color: #ff0000 !default;
|
$primary-color: #b60000 !default;
|
||||||
$border-color: mix(#fff, $text-color, 75%) !default;
|
$border-color: mix(#fff, $text-color, 75%) !default;
|
||||||
$footer-background-color: #000 !default;
|
$footer-background-color: #000 !default;
|
||||||
$link-color: #0000ff !default;
|
$link-color: #0000ff !default;
|
||||||
|
|||||||
+134
-36
@@ -2,33 +2,12 @@
|
|||||||
jQuery plugin settings and other scripts
|
jQuery plugin settings and other scripts
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
$(function() {
|
$(document).ready(function () {
|
||||||
// FitVids init
|
// FitVids init
|
||||||
$("#main").fitVids();
|
$("#main").fitVids();
|
||||||
|
|
||||||
// Sticky sidebar
|
|
||||||
var stickySideBar = function() {
|
|
||||||
var show =
|
|
||||||
$(".author__urls-wrapper").find("button").length === 0
|
|
||||||
? $(window).width() > 1024 // width should match $large Sass variable
|
|
||||||
: !$(".author__urls-wrapper").find("button").is(":visible");
|
|
||||||
if (show) {
|
|
||||||
// fix
|
|
||||||
$(".sidebar").addClass("sticky");
|
|
||||||
} else {
|
|
||||||
// unfix
|
|
||||||
$(".sidebar").removeClass("sticky");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
stickySideBar();
|
|
||||||
|
|
||||||
$(window).resize(function() {
|
|
||||||
stickySideBar();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Follow menu drop down
|
// Follow menu drop down
|
||||||
$(".author__urls-wrapper").find("button").on("click", function() {
|
$(".author__urls-wrapper button").on("click", function () {
|
||||||
$(".author__urls").toggleClass("is--visible");
|
$(".author__urls").toggleClass("is--visible");
|
||||||
$(".author__urls-wrapper").find("button").toggleClass("open");
|
$(".author__urls-wrapper").find("button").toggleClass("open");
|
||||||
});
|
});
|
||||||
@@ -49,7 +28,7 @@ $(function() {
|
|||||||
$(".initial-content").toggleClass("is--hidden");
|
$(".initial-content").toggleClass("is--hidden");
|
||||||
// set focus on input
|
// set focus on input
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
$(".search-content").find("input").focus();
|
$(".search-content input").focus();
|
||||||
}, 400);
|
}, 400);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -58,7 +37,7 @@ $(function() {
|
|||||||
offset: 20,
|
offset: 20,
|
||||||
speed: 400,
|
speed: 400,
|
||||||
speedAsDuration: true,
|
speedAsDuration: true,
|
||||||
durationMax: 500
|
durationMax: 500,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Gumshoe scroll spy init
|
// Gumshoe scroll spy init
|
||||||
@@ -77,10 +56,32 @@ $(function() {
|
|||||||
reflow: true, // if true, listen for reflows
|
reflow: true, // if true, listen for reflows
|
||||||
|
|
||||||
// Event support
|
// Event support
|
||||||
events: true // if true, emit custom events
|
events: true, // if true, emit custom events
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Auto scroll sticky ToC with content
|
||||||
|
const scrollTocToContent = function (event) {
|
||||||
|
var target = event.target;
|
||||||
|
var scrollOptions = { behavior: "auto", block: "nearest", inline: "start" };
|
||||||
|
|
||||||
|
var tocElement = document.querySelector("aside.sidebar__right.sticky");
|
||||||
|
if (!tocElement) return;
|
||||||
|
if (window.getComputedStyle(tocElement).position !== "sticky") return;
|
||||||
|
|
||||||
|
if (target.parentElement.classList.contains("toc__menu") && target == target.parentElement.firstElementChild) {
|
||||||
|
// Scroll to top instead
|
||||||
|
document.querySelector("nav.toc header").scrollIntoView(scrollOptions);
|
||||||
|
} else {
|
||||||
|
target.scrollIntoView(scrollOptions);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Has issues on Firefox, whitelist Chrome for now
|
||||||
|
if (!!window.chrome) {
|
||||||
|
document.addEventListener("gumshoeActivate", scrollTocToContent);
|
||||||
|
}
|
||||||
|
|
||||||
// add lightbox class to all image links
|
// add lightbox class to all image links
|
||||||
$(
|
$(
|
||||||
"a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif'],a[href$='.webp']"
|
"a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif'],a[href$='.webp']"
|
||||||
@@ -99,10 +100,10 @@ $(function() {
|
|||||||
gallery: {
|
gallery: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
navigateByImgClick: true,
|
navigateByImgClick: true,
|
||||||
preload: [0, 1] // Will preload 0 - before current, and 1 after the current image
|
preload: [0, 1], // Will preload 0 - before current, and 1 after the current image
|
||||||
},
|
},
|
||||||
image: {
|
image: {
|
||||||
tError: '<a href="%url%">Image #%curr%</a> could not be loaded.'
|
tError: '<a href="%url%">Image #%curr%</a> could not be loaded.',
|
||||||
},
|
},
|
||||||
removalDelay: 500, // Delay in milliseconds before popup is removed
|
removalDelay: 500, // Delay in milliseconds before popup is removed
|
||||||
// Class that is added to body when popup is open.
|
// Class that is added to body when popup is open.
|
||||||
@@ -115,22 +116,119 @@ $(function() {
|
|||||||
"mfp-figure",
|
"mfp-figure",
|
||||||
"mfp-figure mfp-with-anim"
|
"mfp-figure mfp-with-anim"
|
||||||
);
|
);
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
closeOnContentClick: true,
|
closeOnContentClick: true,
|
||||||
midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source.
|
midClick: true, // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source.
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add anchors for headings
|
// Add anchors for headings
|
||||||
$('.page__content').find('h1, h2, h3, h4, h5, h6').each(function() {
|
(function () {
|
||||||
var id = $(this).attr('id');
|
var pageContentElement = document.querySelector(".page__content");
|
||||||
|
if (!pageContentElement) return;
|
||||||
|
|
||||||
|
pageContentElement
|
||||||
|
.querySelectorAll("h1, h2, h3, h4, h5, h6")
|
||||||
|
.forEach(function (element) {
|
||||||
|
var id = element.getAttribute("id");
|
||||||
if (id) {
|
if (id) {
|
||||||
var anchor = document.createElement("a");
|
var anchor = document.createElement("a");
|
||||||
anchor.className = 'header-link';
|
anchor.className = "header-link";
|
||||||
anchor.href = '#' + id;
|
anchor.href = "#" + id;
|
||||||
anchor.innerHTML = '<span class=\"sr-only\">Permalink</span><i class=\"fas fa-link\"></i>';
|
anchor.innerHTML =
|
||||||
|
'<span class="sr-only">Permalink</span><i class="fas fa-link"></i>';
|
||||||
anchor.title = "Permalink";
|
anchor.title = "Permalink";
|
||||||
$(this).append(anchor);
|
element.appendChild(anchor);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
|
// Add copy button for <pre> blocks
|
||||||
|
var copyText = function (text) {
|
||||||
|
if (document.queryCommandEnabled("copy") && navigator.clipboard) {
|
||||||
|
navigator.clipboard.writeText(text).then(
|
||||||
|
() => true,
|
||||||
|
() => console.error("Failed to copy text to clipboard: " + text)
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
var isRTL = document.documentElement.getAttribute("dir") === "rtl";
|
||||||
|
|
||||||
|
var textarea = document.createElement("textarea");
|
||||||
|
textarea.className = "clipboard-helper";
|
||||||
|
textarea.style[isRTL ? "right" : "left"] = "-9999px";
|
||||||
|
// Move element to the same position vertically
|
||||||
|
var yPosition = window.pageYOffset || document.documentElement.scrollTop;
|
||||||
|
textarea.style.top = yPosition + "px";
|
||||||
|
|
||||||
|
textarea.setAttribute("readonly", "");
|
||||||
|
textarea.value = text;
|
||||||
|
document.body.appendChild(textarea);
|
||||||
|
|
||||||
|
var success = true;
|
||||||
|
try {
|
||||||
|
textarea.select();
|
||||||
|
success = document.execCommand("copy");
|
||||||
|
} catch (e) {
|
||||||
|
success = false;
|
||||||
|
}
|
||||||
|
textarea.parentNode.removeChild(textarea);
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var copyButtonEventListener = function (event) {
|
||||||
|
var thisButton = event.target;
|
||||||
|
|
||||||
|
// Locate the <code> element
|
||||||
|
var codeBlock = thisButton.nextElementSibling;
|
||||||
|
while (codeBlock && codeBlock.tagName.toLowerCase() !== "code") {
|
||||||
|
codeBlock = codeBlock.nextElementSibling;
|
||||||
|
}
|
||||||
|
if (!codeBlock) {
|
||||||
|
// No <code> found - wtf?
|
||||||
|
console.warn(thisButton);
|
||||||
|
throw new Error("No code block found for this button.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Skip line numbers if present (i.e. {% highlight lineno %})
|
||||||
|
var realCodeBlock = codeBlock.querySelector("td.code, td.rouge-code");
|
||||||
|
if (realCodeBlock) {
|
||||||
|
codeBlock = realCodeBlock;
|
||||||
|
}
|
||||||
|
var result = copyText(codeBlock.innerText);
|
||||||
|
// Restore the focus to the button
|
||||||
|
thisButton.focus();
|
||||||
|
if (result) {
|
||||||
|
if (thisButton.interval !== null) {
|
||||||
|
clearInterval(thisButton.interval);
|
||||||
|
}
|
||||||
|
thisButton.classList.add('copied');
|
||||||
|
thisButton.interval = setTimeout(function () {
|
||||||
|
thisButton.classList.remove('copied');
|
||||||
|
clearInterval(thisButton.interval);
|
||||||
|
thisButton.interval = null;
|
||||||
|
}, 1500);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (window.enable_copy_code_button) {
|
||||||
|
document
|
||||||
|
.querySelectorAll(".page__content pre.highlight > code")
|
||||||
|
.forEach(function (element, index, parentList) {
|
||||||
|
// Locate the <pre> element
|
||||||
|
var container = element.parentElement;
|
||||||
|
// Sanity check - don't add an extra button if there's already one
|
||||||
|
if (container.firstElementChild.tagName.toLowerCase() !== "code") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var copyButton = document.createElement("button");
|
||||||
|
copyButton.title = "Copy to clipboard";
|
||||||
|
copyButton.className = "clipboard-copy-button";
|
||||||
|
copyButton.innerHTML = '<span class="sr-only">Copy code</span><i class="far fa-fw fa-copy"></i><i class="fas fa-fw fa-check copied"></i>';
|
||||||
|
copyButton.addEventListener("click", copyButtonEventListener);
|
||||||
|
container.prepend(copyButton);
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Vendored
+1
-1
@@ -47,7 +47,7 @@ var store = [
|
|||||||
}{%- unless forloop.last and l -%},{%- endunless -%}
|
}{%- unless forloop.last and l -%},{%- endunless -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{%- endfor -%}{%- if site.lunr.search_within_pages -%},
|
{%- endfor -%}{%- if site.lunr.search_within_pages -%},
|
||||||
{%- assign pages = site.pages | where_exp:'doc','doc.search != false and doc.title != null' -%}
|
{%- assign pages = site.pages | where_exp: 'doc', 'doc.search != false' | where_exp: 'doc', 'doc.title != null' -%}
|
||||||
{%- for doc in pages -%}
|
{%- for doc in pages -%}
|
||||||
{%- if forloop.last -%}
|
{%- if forloop.last -%}
|
||||||
{%- assign l = true -%}
|
{%- assign l = true -%}
|
||||||
|
|||||||
Vendored
+3
-3
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+6
-1
@@ -103,10 +103,15 @@ $(function() {
|
|||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
});
|
});
|
||||||
|
|
||||||
$hlinks.on('mouseleave', function() {
|
$hlinks.on("click", function () {
|
||||||
|
// Hide the hidden links & remove the overlay when one is clicked.
|
||||||
|
$hlinks.addClass("hidden");
|
||||||
|
$btn.removeClass("close");
|
||||||
|
}).on('mouseleave', function() {
|
||||||
// Mouse has left, start the timer
|
// Mouse has left, start the timer
|
||||||
timer = setTimeout(function() {
|
timer = setTimeout(function() {
|
||||||
$hlinks.addClass('hidden');
|
$hlinks.addClass('hidden');
|
||||||
|
$('.greedy-nav__toggle').removeClass('close');
|
||||||
}, closingTime);
|
}, closingTime);
|
||||||
}).on('mouseenter', function() {
|
}).on('mouseenter', function() {
|
||||||
// Mouse is back, cancel the timer
|
// Mouse is back, cancel the timer
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
const fs = require("fs");
|
|
||||||
const filename = "assets/js/main.min.js"
|
|
||||||
const script = fs.readFileSync(filename);
|
|
||||||
const banner = fs.readFileSync("_includes/copyright.js");
|
|
||||||
|
|
||||||
if (script.slice(0, 3) != "/*!") {
|
|
||||||
fs.writeFileSync(filename, banner + script);
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "github-pages", group: :jekyll_plugins
|
gem "github-pages", group: :jekyll_plugins
|
||||||
|
gem "minimal-mistakes-jekyll", path: ".."
|
||||||
|
gem "rake"
|
||||||
|
|
||||||
gem "tzinfo-data"
|
gem "tzinfo-data"
|
||||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
task :default => %i[build]
|
||||||
|
|
||||||
|
task :build do
|
||||||
|
sh 'jekyll build --profile --trace --config _config.yml,_config.dev.yml'
|
||||||
|
end
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
# Develop override settings
|
# Develop override settings
|
||||||
|
|
||||||
|
theme: minimal-mistakes-jekyll
|
||||||
|
remote_theme: null
|
||||||
url: http://localhost:4000
|
url: http://localhost:4000
|
||||||
|
|
||||||
analytics:
|
analytics:
|
||||||
|
|||||||
+3
-1
@@ -6,7 +6,6 @@
|
|||||||
# `jekyll serve`. If you change this file, please restart the server process.
|
# `jekyll serve`. If you change this file, please restart the server process.
|
||||||
|
|
||||||
remote_theme : "mmistakes/minimal-mistakes@master"
|
remote_theme : "mmistakes/minimal-mistakes@master"
|
||||||
theme_version : "4.24.0"
|
|
||||||
|
|
||||||
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
||||||
|
|
||||||
@@ -25,6 +24,7 @@ logo : # path of logo image to display in the masthead, e.g.
|
|||||||
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
|
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
|
||||||
# breadcrumbs : false # true, false (default)
|
# breadcrumbs : false # true, false (default)
|
||||||
words_per_minute : 200
|
words_per_minute : 200
|
||||||
|
enable_copy_code_button : true
|
||||||
comments:
|
comments:
|
||||||
provider : "false" # false (default), "disqus", "discourse", "facebook", "staticman_v2", "staticman", "utterances", "giscus", "custom"
|
provider : "false" # false (default), "disqus", "discourse", "facebook", "staticman_v2", "staticman", "utterances", "giscus", "custom"
|
||||||
disqus:
|
disqus:
|
||||||
@@ -129,6 +129,7 @@ footer:
|
|||||||
- label: "Instagram"
|
- label: "Instagram"
|
||||||
icon: "fab fa-fw fa-instagram"
|
icon: "fab fa-fw fa-instagram"
|
||||||
url: "https://instagram.com/mmistakes"
|
url: "https://instagram.com/mmistakes"
|
||||||
|
since: "2013"
|
||||||
|
|
||||||
|
|
||||||
# Reading Files
|
# Reading Files
|
||||||
@@ -232,6 +233,7 @@ defaults:
|
|||||||
author_profile: false
|
author_profile: false
|
||||||
share: false
|
share: false
|
||||||
comments: false
|
comments: false
|
||||||
|
toc_sticky: true
|
||||||
sidebar:
|
sidebar:
|
||||||
nav: "docs"
|
nav: "docs"
|
||||||
# _recipes
|
# _recipes
|
||||||
|
|||||||
@@ -78,6 +78,8 @@ docs:
|
|||||||
url: /docs/javascript/
|
url: /docs/javascript/
|
||||||
- title: Meta
|
- title: Meta
|
||||||
children:
|
children:
|
||||||
|
- title: "FAQ"
|
||||||
|
url: /docs/faq/
|
||||||
- title: "History"
|
- title: "History"
|
||||||
url: /docs/history/
|
url: /docs/history/
|
||||||
- title: "Contributing"
|
- title: "Contributing"
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# for use with in-page templates
|
||||||
|
---
|
||||||
|
version: 4.27.1
|
||||||
@@ -78,7 +78,7 @@ To install as a remote theme:
|
|||||||
bundle
|
bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@{{ site.theme_version }}"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
4. Add `remote_theme: "mmistakes/minimal-mistakes@{{ site.data.theme.version }}"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
||||||
|
|
||||||
You may also optionally specify a branch, [tag](https://github.com/mmistakes/minimal-mistakes/tags), or commit to use by appending an @ and the Git ref (e.g., `mmistakes/minimal-mistakes@4.9.0` or `mmistakes/minimal-mistakes@bbf3cbc5fd64a3e1885f3f99eb90ba92af84063d`). This is useful when rolling back to older versions of the theme. If you don't specify a Git ref, the latest on `master` will be used.
|
You may also optionally specify a branch, [tag](https://github.com/mmistakes/minimal-mistakes/tags), or commit to use by appending an @ and the Git ref (e.g., `mmistakes/minimal-mistakes@4.9.0` or `mmistakes/minimal-mistakes@bbf3cbc5fd64a3e1885f3f99eb90ba92af84063d`). This is useful when rolling back to older versions of the theme. If you don't specify a Git ref, the latest on `master` will be used.
|
||||||
|
|
||||||
|
|||||||
@@ -20,19 +20,21 @@ At the top of every `.html` file, `/assets/css/main.css`, and `/assets/js/main.m
|
|||||||
|
|
||||||
Simply run `bundle update` if you're using Bundler (have a `Gemfile`) or `gem update minimal-mistakes-jekyll` if you're not.
|
Simply run `bundle update` if you're using Bundler (have a `Gemfile`) or `gem update minimal-mistakes-jekyll` if you're not.
|
||||||
|
|
||||||
When using Bundler you can downgrade or lock the theme to a specific release ([tag](https://github.com/mmistakes/minimal-mistakes/tags)), branch, or commit. Instead of `gem "minimal-mistakes-jekyll"` you'd add the following to your `Gemfile`:
|
When using Bundler you can downgrade or lock the theme to a specific release ([tag][tag]), branch, or commit. Instead of `gem "minimal-mistakes-jekyll"` you'd add the following to your `Gemfile`:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "{{ site.theme_version }}"
|
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "{{ site.data.theme.version }}"
|
||||||
```
|
```
|
||||||
|
|
||||||
For more information on [installing gems from git repositories](http://bundler.io/v1.16/guides/git.html) consult Bundler's documentation.
|
[tag]: https://github.com/mmistakes/minimal-mistakes/tags
|
||||||
|
|
||||||
|
For more information on [installing gems from Git repositories](https://bundler.io/guides/git.html) consult Bundler's documentation.
|
||||||
|
|
||||||
## Remote theme
|
## Remote theme
|
||||||
|
|
||||||
When setting `remote_theme: "mmistakes/minimal-mistakes@{{ site.theme_version }}"` in your `_config.yml` you may also optionally specify a branch, [tag](https://github.com/mmistakes/minimal-mistakes/tags), or commit to use by appending an @ and the Git ref.
|
When setting `remote_theme: "mmistakes/minimal-mistakes@{{ site.data.theme.version }}"` in your `_config.yml` you may also optionally specify a branch, [tag][tag], or commit to use by appending an @ and the Git ref.
|
||||||
|
|
||||||
For example you can roll back to release 4.8.1 with `mmistakes/minimal-mistakes@4.8.1` or a specific commit with `mmistakes/minimal-mistakes@bbf3cbc5fd64a3e1885f3f99eb90ba92af84063d`). For a complete list of theme versions consult the [releases page](https://github.com/mmistakes/minimal-mistakes/releases).
|
For example, you can roll back to release 4.8.1 with `mmistakes/minimal-mistakes@4.8.1` or a specific commit with `mmistakes/minimal-mistakes@bbf3cbc5fd64a3e1885f3f99eb90ba92af84063d`). For a complete list of theme versions consult the [releases page](https://github.com/mmistakes/minimal-mistakes/releases).
|
||||||
|
|
||||||
To update the theme on GitHub Pages you'll need to push up a commit to force a rebuild. An empty commit works well if you don't have anything to push at the moment:
|
To update the theme on GitHub Pages you'll need to push up a commit to force a rebuild. An empty commit works well if you don't have anything to push at the moment:
|
||||||
|
|
||||||
|
|||||||
+174
-98
@@ -4,6 +4,26 @@ permalink: /docs/configuration/
|
|||||||
excerpt: "Settings for configuring and customizing the theme."
|
excerpt: "Settings for configuring and customizing the theme."
|
||||||
last_modified_at: 2021-05-11T10:40:42-04:00
|
last_modified_at: 2021-05-11T10:40:42-04:00
|
||||||
toc: true
|
toc: true
|
||||||
|
|
||||||
|
skins:
|
||||||
|
- name: air
|
||||||
|
description: Calm and blue.
|
||||||
|
- name: aqua
|
||||||
|
description: Just like water.
|
||||||
|
- name: contrast
|
||||||
|
description: Retro feel with bold blue links and inverted footer.
|
||||||
|
- name: dark
|
||||||
|
description: Inverted palette, white text on a dark background.
|
||||||
|
- name: dirt
|
||||||
|
description: Earthy tones.
|
||||||
|
- name: mint
|
||||||
|
description: Minty fresh green.
|
||||||
|
- name: neon
|
||||||
|
description: Inverted palette, white text on a dark background.
|
||||||
|
- name: plum
|
||||||
|
description: Purple reigns supreme.
|
||||||
|
- name: sunrise
|
||||||
|
description: Oranges and red.
|
||||||
---
|
---
|
||||||
|
|
||||||
Settings that affect your entire site can be changed in [Jekyll's configuration file](https://jekyllrb.com/docs/configuration/): `_config.yml`, found in the root of your project. If you don't have this file you'll need to copy or create one using the theme's [default `_config.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_config.yml) as a base.
|
Settings that affect your entire site can be changed in [Jekyll's configuration file](https://jekyllrb.com/docs/configuration/): `_config.yml`, found in the root of your project. If you don't have this file you'll need to copy or create one using the theme's [default `_config.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_config.yml) as a base.
|
||||||
@@ -31,90 +51,35 @@ Easily change the color scheme of the theme using one of the provided "skins":
|
|||||||
minimal_mistakes_skin: "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
minimal_mistakes_skin: "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** If you have made edits to the theme's CSS files be sure to update [`/assets/css/main.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/assets/css/main.scss) to include `@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin` before the `minimal-mistakes` import.
|
**Note:** If you have made edits to the theme's CSS files be sure to update [`/assets/css/main.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/assets/css/main.scss) to include {% raw %}`@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin`{% endraw %} before the `minimal-mistakes` import.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
#### Air skin: `air`
|
{% for skin in page.skins %}
|
||||||
|
#### {{ skin.name | capitalize }} skin: `{{ skin.name }}`
|
||||||
{:.no_toc}
|
{:.no_toc}
|
||||||
|
|
||||||
<figure class="half">
|
<figure class="half">
|
||||||
<a href="{{ site.baseurl }}/assets/images/air-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/air-skin-archive.png"></a>
|
<a href="{{ skin.name | prepend: "/assets/images/" | append: "-skin-archive-large.png" | relative_url }}">
|
||||||
<a href="{{ site.baseurl }}/assets/images/air-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/air-skin-post.png"></a>
|
<img
|
||||||
<figcaption>Calm and blue.</figcaption>
|
src="{{ skin.name | prepend: "/assets/images/" | append: "-skin-archive.png" | relative_url }}"
|
||||||
</figure>
|
alt="Archive page of {{ skin.name | capitalize }} skin"
|
||||||
|
/>
|
||||||
#### Aqua skin: `aqua`
|
</a>
|
||||||
|
<a href="{{ skin.name | prepend: "/assets/images/" | append: "-skin-post-large.png" | relative_url }}">
|
||||||
<figure class="half">
|
<img
|
||||||
<a href="{{ site.baseurl }}/assets/images/aqua-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/aqua-skin-archive.png"></a>
|
src="{{ skin.name | prepend: "/assets/images/" | append: "-skin-post.png" | relative_url }}"
|
||||||
<a href="{{ site.baseurl }}/assets/images/aqua-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/aqua-skin-post.png"></a>
|
alt="Posts page of {{ skin.name | capitalize }} skin"
|
||||||
<figcaption>Just like water.</figcaption>
|
/>
|
||||||
</figure>
|
</a>
|
||||||
|
<figcaption>{{ skin.description }}</figcaption>
|
||||||
#### Contrast skin: `contrast`
|
|
||||||
|
|
||||||
<figure class="half">
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/contrast-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/contrast-skin-archive.png"></a>
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/contrast-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/contrast-skin-post.png"></a>
|
|
||||||
<figcaption>Retro feel with bold blue links and inverted footer.</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
#### Dark skin: `dark`
|
|
||||||
|
|
||||||
<figure class="half">
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/dark-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/dark-skin-archive.png"></a>
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/dark-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/dark-skin-post.png"></a>
|
|
||||||
<figcaption>Inverted palette, white text on a dark background.</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
#### Dirt skin: `dirt`
|
|
||||||
|
|
||||||
<figure class="half">
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/dirt-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/dirt-skin-archive.png"></a>
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/dirt-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/dirt-skin-post.png"></a>
|
|
||||||
<figcaption>Earthy tones.</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
#### Mint skin: `mint`
|
|
||||||
|
|
||||||
{:.no_toc}
|
|
||||||
|
|
||||||
<figure class="half">
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/mint-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/mint-skin-archive.png"></a>
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/mint-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/mint-skin-post.png"></a>
|
|
||||||
<figcaption>Minty fresh green.</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
#### Neon skin: `neon`
|
|
||||||
|
|
||||||
<figure class="half">
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/neon-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/neon-skin-archive.png"></a>
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/neon-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/neon-skin-post.png"></a>
|
|
||||||
<figcaption>Inverted palette, white text on a dark background.</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
#### Neon skin: `plum`
|
|
||||||
|
|
||||||
<figure class="half">
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/plum-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/plum-skin-archive.png"></a>
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/plum-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/plum-skin-post.png"></a>
|
|
||||||
<figcaption>Purple reigns supreme.</figcaption>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
#### Sunrise skin: `sunrise`
|
|
||||||
|
|
||||||
<figure class="half">
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/sunrise-skin-archive-large.png"><img src="{{ site.baseurl }}/assets/images/sunrise-skin-archive.png"></a>
|
|
||||||
<a href="{{ site.baseurl }}/assets/images/sunrise-skin-post-large.png"><img src="{{ site.baseurl }}/assets/images/sunrise-skin-post.png"></a>
|
|
||||||
<figcaption>Oranges and red.</figcaption>
|
|
||||||
</figure>
|
</figure>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
### Site locale
|
### Site locale
|
||||||
|
|
||||||
`site.locale` is used to declare the primary language for each web page within the site.
|
`site.locale` is used to declare the primary language for each web page within the site.
|
||||||
|
|
||||||
_Example:_ `locale: "en-US"` sets the `lang` attribute for the site to the _United States_ flavor of English, while `en-GB` would be for the `United Kingdom` style of English. Country codes are optional and the shorter variation `locale: "en"` is also acceptable. To find your language and country codes check this [reference table](<https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx>).
|
_Example:_ `locale: "en-US"` sets the `lang` attribute for the site to the _United States_ flavor of English, while `en-GB` would be for the _United Kingdom_ style of English. Country codes are optional and the shorter variation `locale: "en"` is also acceptable. To find your language and country codes check this [reference table](<https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx>).
|
||||||
|
|
||||||
Properly setting the locale is important for associating localized text found in the [**UI Text**]({{ "/docs/ui-text/" | relative_url }}) data file. An improper match will cause parts of the UI to disappear (eg. button labels, section headings, etc).
|
Properly setting the locale is important for associating localized text found in the [**UI Text**]({{ "/docs/ui-text/" | relative_url }}) data file. An improper match will cause parts of the UI to disappear (eg. button labels, section headings, etc).
|
||||||
|
|
||||||
@@ -131,7 +96,7 @@ You also have the option of customizing the separation character used in SEO-fri
|
|||||||
|
|
||||||
_Example:_ `title_separator: "|"` would produce page titles like `Sample Page | My Awesome Site`.
|
_Example:_ `title_separator: "|"` would produce page titles like `Sample Page | My Awesome Site`.
|
||||||
|
|
||||||
**Note:** Long site titles have been known to break the masthead layout. Avoid adding a long "tagline" to the title prevent this from happening eg. `My Awesome Site is the Best Because I Say So`.
|
**Note:** Long site titles have been known to break the masthead layout. Avoid adding a long "tagline" to the title to prevent this from happening, e.g. `My Awesome Site is the Best Because I Say So`.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
### Site subtitle
|
### Site subtitle
|
||||||
@@ -157,7 +122,7 @@ _Example:_ `description: "A flexible Jekyll theme for your blog or site with a m
|
|||||||
|
|
||||||
### Site URL
|
### Site URL
|
||||||
|
|
||||||
The base hostname and protocol for your site. If you're hosting with GitHub Pages this will be something like `url: "https://mmistakes.github.io"` or `url: "https://mademistakes.com"` if you have a custom domain name.
|
The base hostname and protocol for your site. If you're hosting on GitHub Pages this will be something like `url: "https://mmistakes.github.io"` or `url: "https://mademistakes.com"` if you have a custom domain name.
|
||||||
|
|
||||||
GitHub Pages now [forces `https://` for new sites](https://help.github.com/articles/securing-your-github-pages-site-with-https/) so be mindful of that when setting your URL to avoid mixed-content warnings.
|
GitHub Pages now [forces `https://` for new sites](https://help.github.com/articles/securing-your-github-pages-site-with-https/) so be mindful of that when setting your URL to avoid mixed-content warnings.
|
||||||
|
|
||||||
@@ -183,9 +148,9 @@ Add your repository name with organization to your site's configuration file, `_
|
|||||||
repository: "username/repo-name"
|
repository: "username/repo-name"
|
||||||
```
|
```
|
||||||
|
|
||||||
"NWO" stands for "name with owner." It is GitHub lingo for the username of the owner of the repository plus a forward slash plus the name of the repository, e.g. `mmistakes/minimal-mistakes`, where **mmistakes** is the owner and **minimal-mistakes** is the repository name.
|
"NWO" stands for "**n**ame **w**ith **o**wner." It is GitHub lingo for the username of the owner of the repository plus a forward slash plus the name of the repository, e.g. `mmistakes/minimal-mistakes`, where **mmistakes** is the owner and **minimal-mistakes** is the repository name.
|
||||||
|
|
||||||
Your `site.github.*` fields should fill in like normal. If you run Jekyll with the --verbose flag, you should be able to see all the API calls made.
|
Your `site.github.*` fields should be filled in like normal. If you run Jekyll with the `--verbose` flag, you should be able to see all the API calls made.
|
||||||
|
|
||||||
If you don't set `repository` correctly you may see the following error when trying to `serve` or `build` your Jekyll site:
|
If you don't set `repository` correctly you may see the following error when trying to `serve` or `build` your Jekyll site:
|
||||||
|
|
||||||
@@ -250,6 +215,12 @@ By default your site title is used in the masthead. You can override this text b
|
|||||||
masthead_title: "My Custom Title"
|
masthead_title: "My Custom Title"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Site RTL direction
|
||||||
|
|
||||||
|
`site.rtl` is used to turn the direction of the page into right to left. This option can be used for RTL languages (like Arabic, Persian, etc)
|
||||||
|
|
||||||
|
_Example:_ `rtl: true` sets the direction of the page to right to left. By default this option is `rtl: false`.
|
||||||
|
|
||||||
### Breadcrumb navigation (beta)
|
### Breadcrumb navigation (beta)
|
||||||
|
|
||||||
Enable breadcrumb links to help visitors better navigate deep sites. Because of the fragile method of implementing them they don't always produce accurate links reliably. For best results:
|
Enable breadcrumb links to help visitors better navigate deep sites. Because of the fragile method of implementing them they don't always produce accurate links reliably. For best results:
|
||||||
@@ -311,7 +282,7 @@ defaults:
|
|||||||
|
|
||||||
To disable reading time for a post, add `read_time: false` to its YAML Front Matter to override what was set in `_config.yml`.
|
To disable reading time for a post, add `read_time: false` to its YAML Front Matter to override what was set in `_config.yml`.
|
||||||
|
|
||||||
`words_per_minute` can also be adjusted per-page basis by adding to its YAML Front Matter. This is useful for sites with multi-lingual content where you'd like specify a different value from the site config.
|
`words_per_minute` can also be adjusted on a per-page basis by adding to its YAML Front Matter. This is useful for sites with multi-lingual content where you'd like specify a different value from the site config.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
words_per_minute: 250
|
words_per_minute: 250
|
||||||
@@ -331,6 +302,32 @@ For example,
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Code block copy button
|
||||||
|
|
||||||
|
*New in v4.26.0*
|
||||||
|
|
||||||
|
To enable a copy button on code blocks, add the following to `_config.yml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
enable_copy_code_button: true
|
||||||
|
```
|
||||||
|
|
||||||
|
When enabled site-wide, the button can be disabled on individual code blocks by adding `no-copy` to the code block's class list.
|
||||||
|
|
||||||
|
````markdown
|
||||||
|
```
|
||||||
|
Hey, I have a "copy to clipboard" button!
|
||||||
|
```
|
||||||
|
````
|
||||||
|
|
||||||
|
````markdown
|
||||||
|
```
|
||||||
|
But I don't have one.
|
||||||
|
```
|
||||||
|
{: .no-copy}
|
||||||
|
````
|
||||||
|
{: .no-copy}
|
||||||
|
|
||||||
### Comments
|
### Comments
|
||||||
|
|
||||||
[**Disqus**](https://disqus.com/), [**Discourse**](https://www.discourse.org/), [**Facebook**](https://developers.facebook.com/docs/plugins/comments), [**utterances**](https://utteranc.es/), [**giscus**](https://giscus.app/) and static-based commenting via [**Staticman**](https://staticman.net/) are built into the theme. First set the comment provider you'd like to use:
|
[**Disqus**](https://disqus.com/), [**Discourse**](https://www.discourse.org/), [**Facebook**](https://developers.facebook.com/docs/plugins/comments), [**utterances**](https://utteranc.es/), [**giscus**](https://giscus.app/) and static-based commenting via [**Staticman**](https://staticman.net/) are built into the theme. First set the comment provider you'd like to use:
|
||||||
@@ -362,7 +359,7 @@ defaults:
|
|||||||
|
|
||||||
If you add `comments: false` to a post's YAML Front Matter it will override the default and disable comments for just that post.
|
If you add `comments: false` to a post's YAML Front Matter it will override the default and disable comments for just that post.
|
||||||
|
|
||||||
**Note:** Comments are disabled by default in `development`. To enable when testing/building locally be sure to set
|
**Note:** Comments are disabled in `development`. To enable when testing/building locally be sure to set
|
||||||
`JEKYLL_ENV=production` to [force the environment](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time) to production.
|
`JEKYLL_ENV=production` to [force the environment](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time) to production.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
@@ -795,7 +792,7 @@ twitter:
|
|||||||
|
|
||||||
And if I assign `@mmistakes` as an author account it will appear in the Twitter Card along with `@mmistakes-theme`, attributed as a creator of the page being shared.
|
And if I assign `@mmistakes` as an author account it will appear in the Twitter Card along with `@mmistakes-theme`, attributed as a creator of the page being shared.
|
||||||
|
|
||||||
**Note**: You need to validate cards are working and have Twitter [approve Player Cards](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/player-card) before they will begin showing up.
|
**Note**: You need to validate cards are working and have Twitter [approve Player Cards](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/player-card) before they begin showing up.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
##### Facebook Open Graph
|
##### Facebook Open Graph
|
||||||
@@ -826,22 +823,25 @@ For pages that don't have a `header.image` assigned in their YAML Front Matter,
|
|||||||
og_image: /assets/images/site-logo.png
|
og_image: /assets/images/site-logo.png
|
||||||
```
|
```
|
||||||
|
|
||||||
<figure>
|
{% include figure
|
||||||
<img src="{{ '/assets/images/mm-twitter-card-summary-image.jpg' | relative_url }}" alt="Twitter Card summary example">
|
image_path="/assets/images/mm-twitter-card-summary-image.jpg"
|
||||||
<figcaption>Example of a image placed in a Summary Card.</figcaption>
|
alt="Twitter Card summary example"
|
||||||
</figure>
|
caption="Example of an image placed in a Summary Card."
|
||||||
|
%}
|
||||||
|
|
||||||
Documents who have a `header.image` assigned in their YAML Front Matter will appear like this when shared on Twitter and Facebook.
|
Documents who have a `header.image` assigned in their YAML Front Matter will appear like this when shared on Twitter and Facebook.
|
||||||
|
|
||||||
<figure>
|
{% include figure
|
||||||
<img src="{{ '/assets/images/mm-twitter-card-summary-large.jpg' | relative_url }}" alt="page shared on Twitter">
|
image_path="/assets/images/mm-twitter-card-summary-large.jpg"
|
||||||
<figcaption>Shared page on Twitter with header image assigned.</figcaption>
|
alt="page shared on Twitter"
|
||||||
</figure>
|
caption="Shared page on Twitter with header image assigned."
|
||||||
|
%}
|
||||||
|
|
||||||
<figure>
|
{% include figure
|
||||||
<img src="{{ '/assets/images/facebook-share-example.jpg' | relative_url }}" alt="page shared on Facebook">
|
image_path="/assets/images/facebook-share-example.jpg"
|
||||||
<figcaption>Shared page on Facebook with header image assigned.</figcaption>
|
alt="page shared on Facebook"
|
||||||
</figure>
|
caption="Shared page on Facebook with header image assigned."
|
||||||
|
%}
|
||||||
|
|
||||||
##### Include your social profile in search results
|
##### Include your social profile in search results
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ analytics:
|
|||||||
|
|
||||||
To use another provider not included with the theme set `provider: "custom"` then add their embed code to `_includes/analytics-providers/custom.html`.
|
To use another provider not included with the theme set `provider: "custom"` then add their embed code to `_includes/analytics-providers/custom.html`.
|
||||||
|
|
||||||
**Note:** Analytics are disabled by default in `development`. To enable when testing/building locally be sure to set
|
**Note:** Analytics are disabled in `development`. To enable when testing/building locally be sure to set
|
||||||
`JEKYLL_ENV=production` to [force the environment](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time) to production.
|
`JEKYLL_ENV=production` to [force the environment](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time) to production.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
@@ -907,7 +907,7 @@ Author links are all optional, include the ones you want visible under the `auth
|
|||||||
| Name | Description |
|
| Name | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| **label** | Link label (e.g. `"Twitter"`) |
|
| **label** | Link label (e.g. `"Twitter"`) |
|
||||||
| **icon** | [Font Awesome icon](https://fontawesome.com/v5/search) classes (e.g. `"fab fa-fw fa-twitter-square"`) |
|
| **icon** | [Font Awesome icon](https://fontawesome.com/v6/search) classes (e.g. `"fab fa-fw fa-twitter-square"`) |
|
||||||
| **url** | Link URL (e.g. `"https://twitter.com/mmistakes"`) |
|
| **url** | Link URL (e.g. `"https://twitter.com/mmistakes"`) |
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -940,7 +940,7 @@ Footer links can be added under the `footer.links` array.
|
|||||||
| Name | Description |
|
| Name | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| **label** | Link label (e.g. `"Twitter"`) |
|
| **label** | Link label (e.g. `"Twitter"`) |
|
||||||
| **icon** | [Font Awesome icon](https://fontawesome.com/v5/search) classes (e.g. `"fab fa-fw fa-twitter-square"`) |
|
| **icon** | [Font Awesome icon](https://fontawesome.com/v6/search) classes (e.g. `"fab fa-fw fa-twitter-square"`) |
|
||||||
| **url** | Link URL (e.g. `"https://twitter.com/mmistakes"`) |
|
| **url** | Link URL (e.g. `"https://twitter.com/mmistakes"`) |
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -962,13 +962,22 @@ footer:
|
|||||||
|
|
||||||
To change "Follow:" text that precedes footer links, edit the `follow_label` key in `_data/ui-text.yml`.
|
To change "Follow:" text that precedes footer links, edit the `follow_label` key in `_data/ui-text.yml`.
|
||||||
|
|
||||||
|
The copyright notice in the footer shows the year the site has been generated. This can be overridden with `time` in `_config.yml`. If `footer.since` is added and the value is not equal to the current year or the optional value of `time`, then a time range will be shown.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
footer:
|
||||||
|
since: "2013"
|
||||||
|
```
|
||||||
|
|
||||||
|
The above will result for example in `© 2013 - 2025 Minimal ...`. Note that `time` and `footer.since` also support values other than year numbers.
|
||||||
|
|
||||||
## Reading files
|
## Reading files
|
||||||
|
|
||||||
Nothing out of the ordinary here. `include` and `exclude` may be the only things you need to alter.
|
Nothing out of the ordinary here. `include` and `exclude` may be the only things you need to alter.
|
||||||
|
|
||||||
## Conversion and Markdown processing
|
## Conversion and Markdown processing
|
||||||
|
|
||||||
Again nothing out of the ordinary here as the theme adheres to the defaults used by GitHub Pages. [**Kramdown**](http://kramdown.gettalong.org/) for Markdown conversion, [**Rouge**](http://rouge.jneen.net/) syntax highlighting, and incremental building disabled. Change them if you need to.
|
Again nothing out of the ordinary here as the theme adheres to the defaults used by GitHub Pages. [**Kramdown**](http://kramdown.gettalong.org/) for Markdown conversion, [**Rouge**](https://rouge.jneen.net/) syntax highlighting, and incremental building disabled. Change them if you need to.
|
||||||
|
|
||||||
## Front Matter Defaults
|
## Front Matter Defaults
|
||||||
|
|
||||||
@@ -1040,9 +1049,76 @@ The paginator only works on files with name `index.html`. To use pagination in a
|
|||||||
paginate_path: /recent/page:num/
|
paginate_path: /recent/page:num/
|
||||||
```
|
```
|
||||||
|
|
||||||
**Please note:** When using Jekyll's default [pagination plugin](https://jekyllrb.com/docs/pagination/) `paginator.posts` can only be called once. If you're looking for something more powerful that can paginate category, tag, and collection pages I suggest [**jekyll-paginate-v2**](https://github.com/sverrirs/jekyll-paginate-v2).
|
**Please note:** When using Jekyll's default [pagination plugin](https://jekyllrb.com/docs/pagination/) `paginator.posts` can only be called once. If you're looking for something more powerful that can paginate category, tag, and collection pages I suggest **[jekyll-paginate-v2][jekyll-paginate-v2]**.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
|
[jekyll-paginate-v2]: https://github.com/sverrirs/jekyll-paginate-v2
|
||||||
|
|
||||||
|
### Paginate V2
|
||||||
|
|
||||||
|
*New in v4.26.0*
|
||||||
|
|
||||||
|
If you're using [Jekyll Paginate V2][jekyll-paginate-v2], you can enjoy its powerful features by removing `paginate` and `paginate_path` and adding the following configuration to your `_config.yml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
pagination:
|
||||||
|
enabled: true
|
||||||
|
collection: 'posts'
|
||||||
|
per_page: 5
|
||||||
|
permalink: '/page/:num/' # Pages are index.html inside this folder (default)
|
||||||
|
title: ':title - page :num'
|
||||||
|
limit: 0
|
||||||
|
sort_field: 'date'
|
||||||
|
sort_reverse: true
|
||||||
|
trail:
|
||||||
|
before: 2
|
||||||
|
after: 2
|
||||||
|
```
|
||||||
|
|
||||||
|
Then, create `/posts/index.html` with the following content:
|
||||||
|
|
||||||
|
```html
|
||||||
|
---
|
||||||
|
title: "Posts"
|
||||||
|
layout: home
|
||||||
|
permalink: /posts/
|
||||||
|
pagination:
|
||||||
|
enabled: true
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
Your posts will be paginated at `/posts/`, `/posts/page/2/` and `/posts/page/3/` etc.
|
||||||
|
|
||||||
|
Similarly, if you want to paginate a collection or a tag, you can create another `index.html` at an appropriate location, and add configuration to the `pagination` key in the front matter, like this:
|
||||||
|
|
||||||
|
```html
|
||||||
|
---
|
||||||
|
title: "Lovely pets"
|
||||||
|
layout: home
|
||||||
|
permalink: /pets/
|
||||||
|
pagination:
|
||||||
|
enabled: true
|
||||||
|
collection:
|
||||||
|
- cat
|
||||||
|
- dog
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
<div class="notice--danger" markdown="1">
|
||||||
|
**Note:** There are two more configuration options from Jekyll Paginate V2 that this theme doesn't support yet. You should either leave them out or use their default values as shown below. Changing them may lead to unexpected results and you're on your own.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
pagination:
|
||||||
|
# Optional, the default file extension for generated pages (e.g html, json, xml).
|
||||||
|
# Internally this is set to html by default
|
||||||
|
extension: html
|
||||||
|
|
||||||
|
# Optional, the default name of the index file for generated pages (e.g. 'index.html')
|
||||||
|
# Without file extension
|
||||||
|
indexpage: 'index'
|
||||||
|
```
|
||||||
|
</div>
|
||||||
|
|
||||||
### Timezone
|
### Timezone
|
||||||
|
|
||||||
This sets the timezone environment variable, which Ruby uses to handle time and date creation and manipulation. Any entry from the [IANA Time Zone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) is valid. The default is the local time zone, as set by your operating system.
|
This sets the timezone environment variable, which Ruby uses to handle time and date creation and manipulation. Any entry from the [IANA Time Zone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) is valid. The default is the local time zone, as set by your operating system.
|
||||||
@@ -1165,7 +1241,7 @@ If you care at all about performance (and really who doesn't) compressing the HT
|
|||||||
|
|
||||||
If you're hosting with GitHub Pages there aren't many options afforded to you for optimizing the HTML Jekyll generates. Thankfully there is some Liquid wizardry you can use to strip whitespace and comments to reduce file size.
|
If you're hosting with GitHub Pages there aren't many options afforded to you for optimizing the HTML Jekyll generates. Thankfully there is some Liquid wizardry you can use to strip whitespace and comments to reduce file size.
|
||||||
|
|
||||||
There's a variety of configurations and caveats to using the `compress` layout, so be sure to read through the [documentation](http://jch.penibelst.de/) if you decide to make change the defaults set in the theme's `_config.yml`.
|
There's a variety of configurations and caveats to using the `compress` layout, so be sure to read through the [documentation](http://jch.penibelst.de/) if you decide to change the defaults set in the theme's `_config.yml`.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
compress_html:
|
compress_html:
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ main:
|
|||||||
url: /collection-archive/
|
url: /collection-archive/
|
||||||
- title: "External Link"
|
- title: "External Link"
|
||||||
url: https://google.com
|
url: https://google.com
|
||||||
|
target: _blank
|
||||||
```
|
```
|
||||||
|
|
||||||
Which will give you a responsive masthead similar to this:
|
Which will give you a responsive masthead similar to this:
|
||||||
|
|||||||
@@ -11,8 +11,10 @@ The English[^yaml-anchors] main keys in [`_data/ui-text.yml`](https://github.com
|
|||||||
|
|
||||||
- Arabic (عربي)
|
- Arabic (عربي)
|
||||||
- Brazilian Portuguese (Português brasileiro)
|
- Brazilian Portuguese (Português brasileiro)
|
||||||
|
- Bulgarian
|
||||||
- Catalan
|
- Catalan
|
||||||
- Chinese
|
- Chinese
|
||||||
|
- Czech
|
||||||
- Danish
|
- Danish
|
||||||
- Dutch
|
- Dutch
|
||||||
- Finnish
|
- Finnish
|
||||||
|
|||||||
+17
-10
@@ -128,7 +128,7 @@ Auto-generated table of contents list for your posts and pages can be enabled by
|
|||||||
| --------- | -------- | ----------- | ------- |
|
| --------- | -------- | ----------- | ------- |
|
||||||
| **toc** | Optional | Show table of contents. (boolean) | `false` |
|
| **toc** | Optional | Show table of contents. (boolean) | `false` |
|
||||||
| **toc_label** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
| **toc_label** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
||||||
| **toc_icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fontawesome.com/v5/search?s=solid&m=free) <i class="fas fa-file-alt"></i> **file-alt** icon. Other FA icons can be used instead. |
|
| **toc_icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fontawesome.com/v6/search?s=solid&m=free) <i class="fas fa-file-alt"></i> **file-alt** icon. Other FA icons can be used instead. |
|
||||||
| **toc_sticky** | Optional | Stick table of contents to top of screen. | `false` |
|
| **toc_sticky** | Optional | Stick table of contents to top of screen. | `false` |
|
||||||
|
|
||||||
**TOC example with custom title and icon**
|
**TOC example with custom title and icon**
|
||||||
@@ -365,7 +365,7 @@ Then adjust the `paginate_path` in **_config.yml** to match.
|
|||||||
paginate_path: /blog/page:num
|
paginate_path: /blog/page:num
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Jekyll can only paginate a single `index.html` file. If you'd like to paginate more pages (e.g. category indexes) you'll need the help of a custom plugin. For more pagination related settings check the [**Configuration**]({{ "/docs/configuration/#paginate" | relative_url }}) section.
|
**Note:** The default Jekyll Paginate plugin can only paginate a single `index.html` file. If you'd like to paginate more pages (e.g. category indexes) you'll need the help of a custom plugin. For more pagination-related settings check the [**Configuration**]({{ "/docs/configuration/#paginate" | relative_url }}) section, including settings for [Jekyll Paginate V2](https://github.com/sverrirs/jekyll-paginate-v2).
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
**Note:** By default, documents are shown in a list view. To change to a grid view add `entries_layout: grid` to the page's front matter. To increase the width of the main container, giving more space to the grid items also add `classes: wide` to the home page's YAML Front Matter.
|
**Note:** By default, documents are shown in a list view. To change to a grid view add `entries_layout: grid` to the page's front matter. To increase the width of the main container, giving more space to the grid items also add `classes: wide` to the home page's YAML Front Matter.
|
||||||
@@ -463,8 +463,6 @@ To overlay text on top of a header image you have a few more options:
|
|||||||
| **excerpt** | Auto-generated page excerpt is added to the overlay text or can be overridden. | |
|
| **excerpt** | Auto-generated page excerpt is added to the overlay text or can be overridden. | |
|
||||||
| **tagline** | Overrides page excerpt. Useful when header text needs to be different from excerpt in archive views. | |
|
| **tagline** | Overrides page excerpt. Useful when header text needs to be different from excerpt in archive views. | |
|
||||||
| **actions** | Call to action button links (`actions` array: `label` and `url`). More than one button link can be assigned. | |
|
| **actions** | Call to action button links (`actions` array: `label` and `url`). More than one button link can be assigned. | |
|
||||||
| **cta_label** | Deprecated, use `actions` instead. Call to action button text label. | `more_label` in UI Text data file |
|
|
||||||
| **cta_url** | Deprecated, use `actions` instead. Call to action button URL. | |
|
|
||||||
|
|
||||||
[mdn-linear-gradient]: https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient()
|
[mdn-linear-gradient]: https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient()
|
||||||
|
|
||||||
@@ -593,7 +591,7 @@ defaults:
|
|||||||
**Note:** To disable the author sidebar profile for a specific post or page, add `author_profile: false` to the YAML Front Matter instead.
|
**Note:** To disable the author sidebar profile for a specific post or page, add `author_profile: false` to the YAML Front Matter instead.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
To assign more author links, add to the `author.links` array in [`_config.yml`]({{ "/docs/configuration/" | relative_url }}) link so. Any of [Font Awesome's icons](https://fontawesome.com/v5/search) are available for use.
|
To assign more author links, add to the `author.links` array in [`_config.yml`]({{ "/docs/configuration/" | relative_url }}) link so. Any of [Font Awesome's icons](https://fontawesome.com/v6/search) are available for use.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
author:
|
author:
|
||||||
@@ -749,6 +747,15 @@ defaults:
|
|||||||
nav: "docs"
|
nav: "docs"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
*New in v4.26.0*: If you have multiple sidebar navs defined and want to include more than one on a page, the sidebar nav can also be a list.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
sidebar:
|
||||||
|
nav:
|
||||||
|
- main
|
||||||
|
- docs
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Social sharing links
|
## Social sharing links
|
||||||
@@ -778,23 +785,23 @@ The important parts to change are:
|
|||||||
|
|
||||||
To change the color of the button use one of the built in [utility classes]({{ "/docs/utility-classes/#buttons" | relative_url }}). Or you can create a new button class to match whatever color you want.
|
To change the color of the button use one of the built in [utility classes]({{ "/docs/utility-classes/#buttons" | relative_url }}). Or you can create a new button class to match whatever color you want.
|
||||||
|
|
||||||
Under the `$social` color map in `assets/_scss/_buttons.scss` simply add a name (this will be appened to `btn--`) that matches the new button class. In our case `reddit` ~> `.btn--reddit`.
|
Under the `$buttoncolors:` color map in `_sass/minimal-mistakes/_buttons.scss` simply add a name (this will be appended to `btn--`) that matches the new button class. In our case `reddit` ~> `.btn--reddit`.
|
||||||
|
|
||||||
```scss
|
```scss
|
||||||
$social:
|
$buttoncolors:
|
||||||
(facebook, $facebook-color),
|
(facebook, $facebook-color),
|
||||||
(twitter, $twitter-color),
|
(twitter, $twitter-color),
|
||||||
(linkedin, $linkedin-color),
|
(linkedin, $linkedin-color),
|
||||||
(reddit, #ff4500);
|
(reddit, $reddit-color);
|
||||||
```
|
```
|
||||||
|
|
||||||
**ProTip:** For bonus points you can add it as a Sass `$variable` that you set in `_variables.scss` like the other ["brand" colors](http://brandcolors.net/).
|
**ProTip:** For bonus points you can modify the Sass variable `$reddit-color` that is set in `_variables.scss` [or use a different "brand" color](http://brandcolors.net/).
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
Add the new `.btn--reddit` class to the `<a>` element from earlier, [compile `main.css`]({{ "/docs/stylesheets/" | relative_url }}) and away you go.
|
Add the new `.btn--reddit` class to the `<a>` element from earlier, [compile `main.css`]({{ "/docs/stylesheets/" | relative_url }}) and away you go.
|
||||||
|
|
||||||
```html
|
```html
|
||||||
{% raw %}<a href="https://www.reddit.com/submit?url={{ page.url | relative_url }}&title={{ page.title }}" class="btn btn--reddit" title="{{ site.data.ui-text[site.locale].share_on_label }} Reddit"><i class="fab fa-fw fa-reddit" aria-hidden="true"></i><span> Reddit</span></a>{% endraw %}
|
{% raw %}<a href="https://www.reddit.com/submit?url={{ page.url | absolute_url | url_encode }}&title={{ page.title }}" class="btn btn--reddit" title="{{ site.data.ui-text[site.locale].share_on_label }} Reddit"><i class="fab fa-fw fa-reddit" aria-hidden="true"></i><span> Reddit</span></a>{% endraw %}
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -53,20 +53,23 @@ Generate a `<figure>` element with a single image and caption.
|
|||||||
| **image_path** | **Required** | Full path to image eg: `/assets/images/filename.jpg`. Use absolute URLS for those hosted externally. |
|
| **image_path** | **Required** | Full path to image eg: `/assets/images/filename.jpg`. Use absolute URLS for those hosted externally. |
|
||||||
| **alt** | Optional | Alternate text for image. |
|
| **alt** | Optional | Alternate text for image. |
|
||||||
| **caption** | Optional | Figure caption text. Markdown is allowed. |
|
| **caption** | Optional | Figure caption text. Markdown is allowed. |
|
||||||
|
| **popup** | Optional | Enable Magnific Popup on the image. |
|
||||||
|
|
||||||
Using the `figure` include like so:
|
Using the `figure` include like so:
|
||||||
|
|
||||||
```liquid
|
```liquid
|
||||||
{% raw %}{% include figure image_path="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image" caption="This is a figure caption." %}{% endraw %}
|
{% raw %}{% include figure popup=true image_path="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image" caption="This is a figure caption." %}{% endraw %}
|
||||||
```
|
```
|
||||||
|
|
||||||
Will output the following:
|
Will output the following:
|
||||||
|
|
||||||
{% include figure image_path="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image" caption="This is a figure caption." %}
|
{% include figure popup=true image_path="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image" caption="This is a figure caption." %}
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<figure>
|
<figure>
|
||||||
|
<a href="/assets/images/unsplash-image-10.jpg" class="image-popup" title="This is a figure caption.">
|
||||||
<img src="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image">
|
<img src="/assets/images/unsplash-image-10.jpg" alt="this is a placeholder image">
|
||||||
|
</a>
|
||||||
<figcaption>This is a figure caption.</figcaption>
|
<figcaption>This is a figure caption.</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
```
|
```
|
||||||
@@ -279,7 +282,7 @@ Add `toc: true` to the YAML Front Matter of any post or page.
|
|||||||
| -------------- | -------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------- | -------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **toc** | Optional | Show table of contents. (boolean) | `false` |
|
| **toc** | Optional | Show table of contents. (boolean) | `false` |
|
||||||
| **toc_label** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
| **toc_label** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
||||||
| **toc_icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fontawesome.com/v5/search?s=solid&m=free) <i class="fas fa-file-alt"></i> **file-alt** icon. Other FA icons can be used instead. |
|
| **toc_icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fontawesome.com/v6/search?s=solid&m=free) <i class="fas fa-file-alt"></i> **file-alt** icon. Other FA icons can be used instead. |
|
||||||
| **toc_sticky** | Optional | Stick table of contents to top of screen. | `false` |
|
| **toc_sticky** | Optional | Stick table of contents to top of screen. | `false` |
|
||||||
|
|
||||||
**TOC example with custom title and icon**
|
**TOC example with custom title and icon**
|
||||||
@@ -337,7 +340,7 @@ To include a Kramdown [auto-generated table of contents](https://kramdown.gettal
|
|||||||
| Parameter | Required | Description | Default |
|
| Parameter | Required | Description | Default |
|
||||||
| --------- | -------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------- | -------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **title** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
| **title** | Optional | Table of contents title. (string) | `toc_label` in UI Text data file. |
|
||||||
| **icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fontawesome.com/v5/search?s=solid&m=free) <i class="fas fa-file-alt"></i> **file-alt** icon. Other FA icons can be used instead. |
|
| **icon** | Optional | Table of contents icon, displays before the title. (string) | [Font Awesome](https://fontawesome.com/v6/search?s=solid&m=free) <i class="fas fa-file-alt"></i> **file-alt** icon. Other FA icons can be used instead. |
|
||||||
|
|
||||||
**TOC example with custom title and icon**
|
**TOC example with custom title and icon**
|
||||||
|
|
||||||
|
|||||||
+153
-13
@@ -5,13 +5,148 @@ permalink: "/docs/history/"
|
|||||||
excerpt: Change log of enhancements and bug fixes made to the theme.
|
excerpt: Change log of enhancements and bug fixes made to the theme.
|
||||||
sidebar:
|
sidebar:
|
||||||
nav: docs
|
nav: docs
|
||||||
last_modified_at: '2024-04-23T01:30:41+08:00'
|
last_modified_at: '2025-07-11T09:48:51+08:00'
|
||||||
toc: false
|
toc: false
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- Sourced from CHANGELOG.md -->
|
<!--
|
||||||
|
Sourced from CHANGELOG.md
|
||||||
|
See Rakefile `task :changelog` for details
|
||||||
|
-->
|
||||||
|
|
||||||
{% raw %}
|
{% raw %}
|
||||||
# Changelog
|
## Unreleased
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Hide page__footer-follow if there are no links nor atom feed. [#5279](https://github.com/mmistakes/minimal-mistakes/issues/5279)
|
||||||
|
- Add HTML escaping for some titles, labels and metada that was missing. [#5276](https://github.com/mmistakes/minimal-mistakes/issues/5276)
|
||||||
|
- Add optional `footer.since` for copyright time range. [#5275](https://github.com/mmistakes/minimal-mistakes/issues/5275)
|
||||||
|
|
||||||
|
## [4.27.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.27.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add a "Share on Bluesky" button [#5179](https://github.com/mmistakes/minimal-mistakes/issues/5179)
|
||||||
|
- Add preset variables for modern font stack [#5033](https://github.com/mmistakes/minimal-mistakes/issues/5033)
|
||||||
|
- Update X share button to match brand color [#5245](https://github.com/mmistakes/minimal-mistakes/issues/5245)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix wrong icon and color for X share button.
|
||||||
|
|
||||||
|
## [4.27.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.27.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add RTL Support. [#4886](https://github.com/mmistakes/minimal-mistakes/pull/4886)
|
||||||
|
- Add missing Polish translation. [#4890](https://github.com/mmistakes/minimal-mistakes/pull/4890)
|
||||||
|
- Rewrite most directions with [CSS logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).
|
||||||
|
- Remove unnecessary "type" attribute [#4956](https://github.com/mmistakes/minimal-mistakes/issues/4956)
|
||||||
|
- The "if" means the default is never used [#4955](https://github.com/mmistakes/minimal-mistakes/issues/4955)
|
||||||
|
- For pages without a title, show the site title only once [#4959](https://github.com/mmistakes/minimal-mistakes/issues/4959)
|
||||||
|
- Use `documents-collection.html` partial in `home` layout.
|
||||||
|
- Add Bulgarian translation. [#5003](https://github.com/mmistakes/minimal-mistakes/pull/5003)
|
||||||
|
- Add provider and comments info to `single.html` layout for non-production. [#5068](https://github.com/mmistakes/minimal-mistakes/issues/5068)
|
||||||
|
- Tweak contrast skin $primary-color to adhere to WCAG guidelines. [#5126](https://github.com/mmistakes/minimal-mistakes/issues/5126)
|
||||||
|
- Update social share buttons to reflect Twitter rebranding to X [#5210](https://github.com/mmistakes/minimal-mistakes/issues/5210)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Replace a redirected link to MadeMistakes in footer. [#4882](https://github.com/mmistakes/minimal-mistakes/pull/4882)
|
||||||
|
- Fix wrong float direction for `feature_row` with `type="right"`. [#4061](https://github.com/mmistakes/minimal-mistakes/issues/4061)
|
||||||
|
- Fix reset stylesheet overruling `$doc-font-size`. [#4983](https://github.com/mmistakes/minimal-mistakes/issues/4983)
|
||||||
|
- Fix JavaScript null error on home and splash layouts. [#4938](https://github.com/mmistakes/minimal-mistakes/issues/4938), [#4939](https://github.com/mmistakes/minimal-mistakes/pull/4939)
|
||||||
|
- Fix bad <figure> HTML if "alt" contains quotes.
|
||||||
|
- Fix extra newline generated in `_includes/post_pagination.html`.
|
||||||
|
- Hide hidden links & remove the overlay when one is clicked. [#5042](https://github.com/mmistakes/minimal-mistakes/pull/5042)
|
||||||
|
- Fix typo in "Configuration" [#5106](https://github.com/mmistakes/minimal-mistakes/issues/5106)
|
||||||
|
- bundle exec jekyll serve will fail if more than once [#5193](https://github.com/mmistakes/minimal-mistakes/issues/5193)
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Automatically update Algolia search index with GitHub Actions.
|
||||||
|
|
||||||
|
## [4.26.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.26.2)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add Czech localization. [#4866](https://github.com/mmistakes/minimal-mistakes/pull/4866)
|
||||||
|
- Allow overriding HTML `lang` attribute on a per-page basis. [#4862](https://github.com/mmistakes/minimal-mistakes/pull/4862)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Figure helper breaks when using code markup in caption with `popup=true`. [#4841](https://github.com/mmistakes/minimal-mistakes/issues/4841)
|
||||||
|
|
||||||
|
## [4.26.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.26.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Disable copy button on invalid syntax highlighting blocks to avoid positioning issues.
|
||||||
|
- Fix typo for `fa-dribbble` in `_utilities.scss`.
|
||||||
|
- Restrict "auto scroll sticky ToC to content" feature to Chromium browsers for now. [#4826](https://github.com/mmistakes/minimal-mistakes/issues/4826)
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Rewrite social icons SCSS with a loop.
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Change the icon of a copy button into a tick for 1.5 seconds on successful copy.
|
||||||
|
|
||||||
|
## [4.26.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.26.0)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix an unclosed `<p>` tag in `page__hero.html`, near `page.header.actions`.
|
||||||
|
- Remove overlay and revert X to hamburger icon when popup disappears. [#3958](https://github.com/mmistakes/minimal-mistakes/pull/3958)
|
||||||
|
- Fix SEO title when it contains a vertical bar. [#3094](https://github.com/mmistakes/minimal-mistakes/pull/3094) [#3113](https://github.com/mmistakes/minimal-mistakes/pull/3113)
|
||||||
|
- Remove "sticky sidebar" JS as it's now completely based on CSS media queries. [#4245](https://github.com/mmistakes/minimal-mistakes/issues/4245) [#4645](https://github.com/mmistakes/minimal-mistakes/pull/4645)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add support for [Jekyll Paginate V2](https://github.com/sverrirs/jekyll-paginate-v2) 🎉 [#2636](https://github.com/mmistakes/minimal-mistakes/pull/2636)
|
||||||
|
- Add "copy to clipboard" button for code blocks 🎉 [#2812](https://github.com/mmistakes/minimal-mistakes/pull/2812)
|
||||||
|
- Auto scroll sticky ToC with content. [#3115](https://github.com/mmistakes/minimal-mistakes/pull/3115)
|
||||||
|
- Replace "hidden" check in Liquid templates with `where_exp: "item", "item.hidden != true"`.
|
||||||
|
- Remove deprecated `page.header.cta_url` setting. [#4821](https://github.com/mmistakes/minimal-mistakes/pull/4821)
|
||||||
|
- Allow multiple nav lists in sidebar. [#2843](https://github.com/mmistakes/minimal-mistakes/pull/2843)
|
||||||
|
- Add popup parameter to `{% include figure %}` to enable Magnific Popup. [#3119](https://github.com/mmistakes/minimal-mistakes/pull/3119)
|
||||||
|
- Add target attribute for navigation link. [#3056](https://github.com/mmistakes/minimal-mistakes/pull/3056)
|
||||||
|
- Split schema to a separate include file. [#3085](https://github.com/mmistakes/minimal-mistakes/pull/3085)
|
||||||
|
- Cleanup `_includes/seo.html`.
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Rewrite skin previews on `05-configuration.md` in Liquid template.
|
||||||
|
- Remove unused classes from `_layouts/single.html`.
|
||||||
|
- Migrate npm run scripts to Ruby Rake tasks.
|
||||||
|
- Add Rake task `version` for updating all hard-coded version numbers from `package.json` all at once.
|
||||||
|
- Merge `categories` and `tags` layout into `_includes/posts-taxonomy.html`.
|
||||||
|
- Update Social Sharing links section. [#4066](https://github.com/mmistakes/minimal-mistakes/pull/4066)
|
||||||
|
|
||||||
|
## [4.25.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.25.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- "You may also enjoy" no longer recommends hidden posts. [#4653](https://github.com/mmistakes/minimal-mistakes/issues/4653)
|
||||||
|
- Replaced dead link to "Viewport and Media Queries" slides. [#4421](https://github.com/mmistakes/minimal-mistakes/discussions/4421)
|
||||||
|
- Fix broken `where_exp` in `lunr-store.js` for Jekyll < 4.0. [#4808](https://github.com/mmistakes/minimal-mistakes/issues/4808)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add Ukrainian translations. [#4273](https://github.com/mmistakes/minimal-mistakes/pull/4273)
|
||||||
|
- Add more configuration for Giscus. [#4274](https://github.com/mmistakes/minimal-mistakes/pull/4274)
|
||||||
|
- Bump jekyll-toc to [v1.2.1](https://github.com/allejo/jekyll-toc/releases/tag/v1.2.1).
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Bump shell-quote from 1.7.1 to 1.7.3 [#3692](https://github.com/mmistakes/minimal-mistakes/issues/3692)
|
||||||
|
- Add `after-content.html` and `before-related.html` includes to ease docs site overrides.
|
||||||
|
- GitHub Workflows security hardening [#3884](https://github.com/mmistakes/minimal-mistakes/issues/3884)
|
||||||
|
- Replace Font Awesome v5 search page with v6.
|
||||||
|
- Try adding an FAQ page.
|
||||||
|
- Update remote theme reference in Quick-Start Guide to point to 4.25.0. [#4809](https://github.com/mmistakes/minimal-mistakes/issues/4809)
|
||||||
|
|
||||||
## [4.25.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.25.0)
|
## [4.25.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.25.0)
|
||||||
|
|
||||||
@@ -23,14 +158,9 @@ toc: false
|
|||||||
- Remove JS and other files from search index [#4000](https://github.com/mmistakes/minimal-mistakes/pull/4000)
|
- Remove JS and other files from search index [#4000](https://github.com/mmistakes/minimal-mistakes/pull/4000)
|
||||||
- Fix unlisted YouTube video embeds in documentation/test sites. [#3649](https://github.com/mmistakes/minimal-mistakes/issues/3649)
|
- Fix unlisted YouTube video embeds in documentation/test sites. [#3649](https://github.com/mmistakes/minimal-mistakes/issues/3649)
|
||||||
- Fix error in Algolia search script when returning a hit that without `html` and `hightlight.html`. [#3101](https://github.com/mmistakes/minimal-mistakes/issues/3101) [#3102](https://github.com/mmistakes/minimal-mistakes/pull/3102)
|
- Fix error in Algolia search script when returning a hit that without `html` and `hightlight.html`. [#3101](https://github.com/mmistakes/minimal-mistakes/issues/3101) [#3102](https://github.com/mmistakes/minimal-mistakes/pull/3102)
|
||||||
- Fix links to Font Awesome gallery. [#3599](https://github.com/mmistakes/minimal-mistakes/pull/3599)
|
|
||||||
- Fix GreedyNav.js attribution link. [#3553](https://github.com/mmistakes/minimal-mistakes/pull/3553)
|
|
||||||
- Fix typo about loading JavaScript in layout documentation. [#3350](https://github.com/mmistakes/minimal-mistakes/pull/3350)
|
|
||||||
- Fix inline code style not applied to stylized text. [#3253](https://github.com/mmistakes/minimal-mistakes/pull/3253)
|
- Fix inline code style not applied to stylized text. [#3253](https://github.com/mmistakes/minimal-mistakes/pull/3253)
|
||||||
- Fix documentation typos. [#3232](https://github.com/mmistakes/minimal-mistakes/pull/3232) [#3318](https://github.com/mmistakes/minimal-mistakes/pull/3318)
|
|
||||||
- Fix Keybase icon in author sidebar. [#3221](https://github.com/mmistakes/minimal-mistakes/pull/3221)
|
- Fix Keybase icon in author sidebar. [#3221](https://github.com/mmistakes/minimal-mistakes/pull/3221)
|
||||||
- Fix sort order of Staticman comments when data files aren't named alphabetically. [#3184](https://github.com/mmistakes/minimal-mistakes/pull/3184)
|
- Fix sort order of Staticman comments when data files aren't named alphabetically. [#3184](https://github.com/mmistakes/minimal-mistakes/pull/3184)
|
||||||
- Fix broken documentation link and add Baidu site verification to `_config.yml` files. [#3139](https://github.com/mmistakes/minimal-mistakes/pull/3139)
|
|
||||||
- Fix `layout: compress` issue with HTML comment in video include. [#3117](https://github.com/mmistakes/minimal-mistakes/pull/3117)
|
- Fix `layout: compress` issue with HTML comment in video include. [#3117](https://github.com/mmistakes/minimal-mistakes/pull/3117)
|
||||||
- Add Magnific Popup class to anchors that only contain an `img` element. [#3111](https://github.com/mmistakes/minimal-mistakes/issues/3111) [#3114](https://github.com/mmistakes/minimal-mistakes/pull/3114)
|
- Add Magnific Popup class to anchors that only contain an `img` element. [#3111](https://github.com/mmistakes/minimal-mistakes/issues/3111) [#3114](https://github.com/mmistakes/minimal-mistakes/pull/3114)
|
||||||
- Fix heading level of related posts section from `h4` to `h2` to improve accessibility and SEO. [#3064](https://github.com/mmistakes/minimal-mistakes/pull/3064)
|
- Fix heading level of related posts section from `h4` to `h2` to improve accessibility and SEO. [#3064](https://github.com/mmistakes/minimal-mistakes/pull/3064)
|
||||||
@@ -39,10 +169,10 @@ toc: false
|
|||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
|
|
||||||
- Add site.copyright and site.copyright_url config options [#4313](https://github.com/mmistakes/minimal-mistakes/pull/4313)
|
- Add `site.copyright` and `site.copyright_url` config options [#4313](https://github.com/mmistakes/minimal-mistakes/pull/4313)
|
||||||
- Lazy-load InstantSearch scripts and stylesheets [#3691](https://github.com/mmistakes/minimal-mistakes/pull/3691)
|
- Lazy-load InstantSearch scripts and stylesheets [#3691](https://github.com/mmistakes/minimal-mistakes/pull/3691)
|
||||||
- Improve Finnish translations [#4595](https://github.com/mmistakes/minimal-mistakes/pull/4595)
|
- Improve Finnish translations [#4595](https://github.com/mmistakes/minimal-mistakes/pull/4595)
|
||||||
- Remove redundant downcase from _layouts/categories.html. [#4531](https://github.com/mmistakes/minimal-mistakes/pull/4531)
|
- Remove redundant downcase from \_layouts/categories.html. [#4531](https://github.com/mmistakes/minimal-mistakes/pull/4531)
|
||||||
- Load latest Font Awesome package. [#3765](https://github.com/mmistakes/minimal-mistakes/pull/3765)
|
- Load latest Font Awesome package. [#3765](https://github.com/mmistakes/minimal-mistakes/pull/3765)
|
||||||
- Add missing Polish missing UI text strings. [#3969](https://github.com/mmistakes/minimal-mistakes/pull/3969)
|
- Add missing Polish missing UI text strings. [#3969](https://github.com/mmistakes/minimal-mistakes/pull/3969)
|
||||||
- Update breadcrumbs conditional to enable/disable them via Front Matter on pages using `layout: single`. [#3096](https://github.com/mmistakes/minimal-mistakes/pull/3096) [#3669](https://github.com/mmistakes/minimal-mistakes/pull/3669)
|
- Update breadcrumbs conditional to enable/disable them via Front Matter on pages using `layout: single`. [#3096](https://github.com/mmistakes/minimal-mistakes/pull/3096) [#3669](https://github.com/mmistakes/minimal-mistakes/pull/3669)
|
||||||
@@ -53,16 +183,26 @@ toc: false
|
|||||||
- Update jQuery to v3.6.0. [#3254](https://github.com/mmistakes/minimal-mistakes/pull/3254)
|
- Update jQuery to v3.6.0. [#3254](https://github.com/mmistakes/minimal-mistakes/pull/3254)
|
||||||
- Use notice `<a>` colors for blockquotes that have `notice--` classes applied. [#3140](https://github.com/mmistakes/minimal-mistakes/pull/3140) [#3068](https://github.com/mmistakes/minimal-mistakes/issues/3068)
|
- Use notice `<a>` colors for blockquotes that have `notice--` classes applied. [#3140](https://github.com/mmistakes/minimal-mistakes/pull/3140) [#3068](https://github.com/mmistakes/minimal-mistakes/issues/3068)
|
||||||
- Add sameAs itemprop to author link. [#3087](https://github.com/mmistakes/minimal-mistakes/pull/3087)
|
- Add sameAs itemprop to author link. [#3087](https://github.com/mmistakes/minimal-mistakes/pull/3087)
|
||||||
- Automatically close invalid PRs using GitHub Actions. [#3313](https://github.com/mmistakes/minimal-mistakes/pull/3313)
|
|
||||||
- Update and add missing Brazilian Portuguese translations. [#3204](https://github.com/mmistakes/minimal-mistakes/pull/3204)
|
- Update and add missing Brazilian Portuguese translations. [#3204](https://github.com/mmistakes/minimal-mistakes/pull/3204)
|
||||||
- Add link to documentation clarifying how to add plugins. [#3181](https://github.com/mmistakes/minimal-mistakes/pull/3181)
|
|
||||||
- Add optional label attribute for utterances comments. [#3128](https://github.com/mmistakes/minimal-mistakes/pull/3128)
|
- Add optional label attribute for utterances comments. [#3128](https://github.com/mmistakes/minimal-mistakes/pull/3128)
|
||||||
- Bump path-parse from 1.0.6 to 1.0.7. [#3116](https://github.com/mmistakes/minimal-mistakes/pull/3116)
|
|
||||||
- Add missing Danish translations. [#3095](https://github.com/mmistakes/minimal-mistakes/pull/3095)
|
- Add missing Danish translations. [#3095](https://github.com/mmistakes/minimal-mistakes/pull/3095)
|
||||||
- Add ARIA role to search forms. [#3086](https://github.com/mmistakes/minimal-mistakes/pull/3086)
|
- Add ARIA role to search forms. [#3086](https://github.com/mmistakes/minimal-mistakes/pull/3086)
|
||||||
- Add overflow scroll bar to sticky table of contents that are taller than the viewport's height. [#2874](https://github.com/mmistakes/minimal-mistakes/pull/2874)
|
- Add overflow scroll bar to sticky table of contents that are taller than the viewport's height. [#2874](https://github.com/mmistakes/minimal-mistakes/pull/2874)
|
||||||
- Add Microformats markup. [#3052](https://github.com/mmistakes/minimal-mistakes/pull/3052)
|
- Add Microformats markup. [#3052](https://github.com/mmistakes/minimal-mistakes/pull/3052)
|
||||||
|
|
||||||
|
### Documentation & Maintenance
|
||||||
|
|
||||||
|
- Fix links to Font Awesome gallery. [#3599](https://github.com/mmistakes/minimal-mistakes/pull/3599)
|
||||||
|
- Fix GreedyNav.js attribution link. [#3553](https://github.com/mmistakes/minimal-mistakes/pull/3553)
|
||||||
|
- Fix typo about loading JavaScript in layout documentation. [#3350](https://github.com/mmistakes/minimal-mistakes/pull/3350)
|
||||||
|
- Fix documentation typos. [#3232](https://github.com/mmistakes/minimal-mistakes/pull/3232) [#3318](https://github.com/mmistakes/minimal-mistakes/pull/3318)
|
||||||
|
- Add link to documentation clarifying how to add plugins. [#3181](https://github.com/mmistakes/minimal-mistakes/pull/3181)
|
||||||
|
- Fix broken documentation link and add Baidu site verification to `_config.yml` files. [#3139](https://github.com/mmistakes/minimal-mistakes/pull/3139)
|
||||||
|
- Bump path-parse from 1.0.6 to 1.0.7. [#3116](https://github.com/mmistakes/minimal-mistakes/pull/3116)
|
||||||
|
- Automatically close invalid PRs using GitHub Actions. [#3313](https://github.com/mmistakes/minimal-mistakes/pull/3313)
|
||||||
- Add instructions on how to unminify `main.js` for easier browser debugging. [#3055](https://github.com/mmistakes/minimal-mistakes/pull/3055)
|
- Add instructions on how to unminify `main.js` for easier browser debugging. [#3055](https://github.com/mmistakes/minimal-mistakes/pull/3055)
|
||||||
|
- Consolidate hard-coded version numbers where possible.
|
||||||
|
- Add Rakefile for automatically syncing CHANGELOG with history and synched them.
|
||||||
|
|
||||||
## [4.24.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.24.0)
|
## [4.24.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.24.0)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: Frequently Asked Questions
|
||||||
|
classes: wide
|
||||||
|
permalink: "/docs/faq/"
|
||||||
|
sidebar:
|
||||||
|
nav: docs
|
||||||
|
last_modified_at: '2024-04-24T00:51:32+08:00'
|
||||||
|
toc: false
|
||||||
|
---
|
||||||
|
|
||||||
|
This page is still under construction. Meanwhile, check out existing [issues](https://github.com/mmistakes/minimal-mistakes/issues) and [discussions](https://github.com/mmistakes/minimal-mistakes/discussions) to see if your question has already been asked before.
|
||||||
|
{: .notice--primary }
|
||||||
|
|
||||||
|
- `'require': cannot load such file -- webrick (LoadError)`
|
||||||
|
|
||||||
|
This error occurs when you run `jekyll serve` on Ruby 3.0+.
|
||||||
|
|
||||||
|
Ruby 3.0 no longer comes with Webrick by default. To fix this, add `gem "webrick"` to your `Gemfile` and run `bundle install`. See [jekyll/jekyll#8523](https://github.com/jekyll/jekyll/issues/8523)
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<div align="center" style="margin: 1em 0;">
|
||||||
|
<ins class="adsbygoogle"
|
||||||
|
style="display:block; border-bottom: initial;"
|
||||||
|
data-ad-client="ca-pub-7328585512091257"
|
||||||
|
data-ad-slot="3049671934"
|
||||||
|
data-ad-format="auto"
|
||||||
|
data-full-width-responsive="true"></ins>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{% include after-content.html %}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{% comment %}
|
||||||
|
Repurposing this file as "after-scripts.html" snippet,
|
||||||
|
since the docs site isn't using comments anyway.
|
||||||
|
{% endcomment %}
|
||||||
|
<style>
|
||||||
|
.google-auto-placed {
|
||||||
|
margin: 2em auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||||
|
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
---
|
|
||||||
---
|
|
||||||
|
|
||||||
<!doctype html>
|
|
||||||
{% include copyright.html %}
|
|
||||||
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
|
|
||||||
<head>
|
|
||||||
{% include head.html %}
|
|
||||||
{% include head/custom.html %}
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
|
||||||
{% include_cached skip-links.html %}
|
|
||||||
{% include masthead.html %}
|
|
||||||
|
|
||||||
<div class="initial-content">
|
|
||||||
{{ content }}
|
|
||||||
<div align="center" style="margin: 1em 0;">
|
|
||||||
<ins class="adsbygoogle"
|
|
||||||
style="display:block; border-bottom: initial;"
|
|
||||||
data-ad-client="ca-pub-7328585512091257"
|
|
||||||
data-ad-slot="3049671934"
|
|
||||||
data-ad-format="auto"
|
|
||||||
data-full-width-responsive="true"></ins>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% if site.search == true %}
|
|
||||||
<div class="search-content">
|
|
||||||
{% include search/search_form.html %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="page__footer">
|
|
||||||
<footer>
|
|
||||||
{% include footer/custom.html %}
|
|
||||||
{% include footer.html %}
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% include scripts.html %}
|
|
||||||
<style>
|
|
||||||
.google-auto-placed {
|
|
||||||
margin: 2em auto;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
|
||||||
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
---
|
|
||||||
layout: default
|
|
||||||
---
|
|
||||||
|
|
||||||
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
|
||||||
{% include page__hero.html %}
|
|
||||||
{% elsif page.header.video.id and page.header.video.provider %}
|
|
||||||
{% include page__hero_video.html %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.url != "/" and site.breadcrumbs %}
|
|
||||||
{% unless paginator %}
|
|
||||||
{% include breadcrumbs.html %}
|
|
||||||
{% endunless %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div id="main" role="main">
|
|
||||||
{% include sidebar.html %}
|
|
||||||
|
|
||||||
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
|
|
||||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
|
||||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
|
||||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
|
||||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
|
||||||
|
|
||||||
<div class="page__inner-wrap">
|
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
|
||||||
<header>
|
|
||||||
{% if page.title %}<h1 id="page-title" class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
|
|
||||||
{% include page__meta.html %}
|
|
||||||
</header>
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
<section class="page__content" itemprop="text">
|
|
||||||
{% if page.toc %}
|
|
||||||
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
|
||||||
<nav class="toc">
|
|
||||||
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label | default: "On this page" }}</h4></header>
|
|
||||||
{% include toc.html sanitize=true html=content h_min=1 h_max=6 class="toc__menu" skip_no_ids=true %}
|
|
||||||
</nav>
|
|
||||||
</aside>
|
|
||||||
{% endif %}
|
|
||||||
{{ content }}
|
|
||||||
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<footer class="page__meta">
|
|
||||||
{% if site.data.ui-text[site.locale].meta_label %}
|
|
||||||
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
|
||||||
{% endif %}
|
|
||||||
{% include page__taxonomy.html %}
|
|
||||||
{% include page__date.html %}
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
{% if page.share %}{% include social-share.html %}{% endif %}
|
|
||||||
|
|
||||||
{% include post_pagination.html %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% if jekyll.environment == 'production' and site.comments.provider and page.comments %}
|
|
||||||
{% include comments.html %}
|
|
||||||
{% endif %}
|
|
||||||
</article>
|
|
||||||
|
|
||||||
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
|
||||||
{% if page.id and page.related and site.related_posts.size > 0 %}
|
|
||||||
<div class="page__related">
|
|
||||||
<div align="center" style="margin: 1em 0;">
|
|
||||||
<ins class="adsbygoogle"
|
|
||||||
style="display:block; border-bottom: initial;"
|
|
||||||
data-ad-client="ca-pub-7328585512091257"
|
|
||||||
data-ad-slot="3049671934"
|
|
||||||
data-ad-format="auto"
|
|
||||||
data-full-width-responsive="true"></ins>
|
|
||||||
</div>
|
|
||||||
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.related_posts limit:4 %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
|
||||||
{% elsif page.id and page.related %}
|
|
||||||
<div class="page__related">
|
|
||||||
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.posts limit:4 %}
|
|
||||||
{% if post.id == page.id %}
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
@@ -33,7 +33,7 @@ Minimal Mistakes is a flexible two-column Jekyll theme. Perfect for hosting your
|
|||||||
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
||||||
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), [Discourse](https://www.discourse.org/), [utterances](https://utteranc.es/), [giscus](https://giscus.app/), static-based via [Staticman v1 and v2](https://staticman.net/), and custom).
|
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), [Discourse](https://www.discourse.org/), [utterances](https://utteranc.es/), [giscus](https://giscus.app/), static-based via [Staticman v1 and v2](https://staticman.net/), and custom).
|
||||||
- [Google Analytics](https://www.google.com/analytics/) support.
|
- [Google Analytics](https://www.google.com/analytics/) support.
|
||||||
- UI localized text in English (default), Arabic (عربي), Brazilian Portuguese (Português brasileiro), Catalan, Chinese, Danish, Dutch, Finnish, French (Français), German (Deutsch), Greek, Hebrew, Hindi (हिंदी), Hungarian, Indonesian, Irish (Gaeilge), Italian (Italiano), Japanese, Kiswahili, Korean, Malayalam, Myanmar (Burmese), Nepali (Nepalese), Norwegian (Norsk), Persian (فارسی), Polish, Punjabi (ਪੰਜਾਬੀ), Romanian, Russian, Slovak, Spanish (Español), Swedish, Thai, Turkish (Türkçe), and Vietnamese.
|
- UI localized text in English (default), Arabic (عربي), Brazilian Portuguese (Português brasileiro), Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, Finnish, French (Français), German (Deutsch), Greek, Hebrew, Hindi (हिंदी), Hungarian, Indonesian, Irish (Gaeilge), Italian (Italiano), Japanese, Kiswahili, Korean, Malayalam, Myanmar (Burmese), Nepali (Nepalese), Norwegian (Norsk), Persian (فارسی), Polish, Punjabi (ਪੰਜਾਬੀ), Romanian, Russian, Slovak, Spanish (Español), Swedish, Thai, Turkish (Türkçe), and Vietnamese.
|
||||||
|
|
||||||
## Demo Pages
|
## Demo Pages
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ header:
|
|||||||
url: "/docs/quick-start-guide/"
|
url: "/docs/quick-start-guide/"
|
||||||
excerpt: >
|
excerpt: >
|
||||||
A flexible two-column Jekyll theme. Perfect for building personal sites, blogs, and portfolios.<br />
|
A flexible two-column Jekyll theme. Perfect for building personal sites, blogs, and portfolios.<br />
|
||||||
<small><a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.25.0">Latest release v4.25.0</a></small>
|
<small><a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.27.1">Latest release v4.27.1</a></small>
|
||||||
feature_row:
|
feature_row:
|
||||||
- image_path: /assets/images/mm-customizable-feature.png
|
- image_path: /assets/images/mm-customizable-feature.png
|
||||||
alt: "customizable"
|
alt: "customizable"
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ permalink: /page-archive/
|
|||||||
author_profile: false
|
author_profile: false
|
||||||
---
|
---
|
||||||
|
|
||||||
{% for post in site.pages %}
|
{% assign posts = site.pages | where_exp: "post", "post.hidden != true" %}
|
||||||
{% unless post.hidden %}
|
{% for post in posts %}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
{% endunless %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
title: "Edge Case: Invalid syntax highlight languages"
|
||||||
|
categories:
|
||||||
|
- Edge Case
|
||||||
|
tags:
|
||||||
|
- content
|
||||||
|
- css
|
||||||
|
- edge case
|
||||||
|
---
|
||||||
|
|
||||||
|
Good highlighting:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
str = ARGV.first
|
||||||
|
if str
|
||||||
|
str = str.b[/\A_(.*)_\z/, 1]
|
||||||
|
if str and Gem::Version.correct?(str)
|
||||||
|
version = str
|
||||||
|
ARGV.shift
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
Good (but dumb) highlighting:
|
||||||
|
|
||||||
|
```
|
||||||
|
str = ARGV.first
|
||||||
|
if str
|
||||||
|
str = str.b[/\A_(.*)_\z/, 1]
|
||||||
|
if str and Gem::Version.correct?(str)
|
||||||
|
version = str
|
||||||
|
ARGV.shift
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
Bad highlighting:
|
||||||
|
|
||||||
|
```invalid
|
||||||
|
str = ARGV.first
|
||||||
|
if str
|
||||||
|
str = str.b[/\A_(.*)_\z/, 1]
|
||||||
|
if str and Gem::Version.correct?(str)
|
||||||
|
version = str
|
||||||
|
ARGV.shift
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
Generated
+7
-1510
File diff suppressed because it is too large
Load Diff
+2
-10
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "minimal-mistakes",
|
"name": "minimal-mistakes",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "4.25.0",
|
"version": "4.27.1",
|
||||||
"description": "Minimal Mistakes 2 column Jekyll theme.",
|
"description": "Minimal Mistakes 2 column Jekyll theme.",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -22,14 +22,6 @@
|
|||||||
"node": ">= 0.10.0"
|
"node": ">= 0.10.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"npm-run-all": "^4.1.5",
|
"uglify-js": "^3.17.4"
|
||||||
"onchange": "^7.1.0",
|
|
||||||
"uglify-js": "^3.13.6"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"uglify": "uglifyjs assets/js/vendor/jquery/jquery-3.6.0.js assets/js/plugins/jquery.fitvids.js assets/js/plugins/jquery.greedy-navigation.js assets/js/plugins/jquery.magnific-popup.js assets/js/plugins/jquery.ba-throttle-debounce.js assets/js/plugins/smooth-scroll.js assets/js/plugins/gumshoe.js assets/js/_main.js -c -m -o assets/js/main.min.js",
|
|
||||||
"add-banner": "node banner.js",
|
|
||||||
"watch:js": "onchange \"assets/js/**/*.js\" -e \"assets/js/main.min.js\" -- npm run build:js",
|
|
||||||
"build:js": "npm run uglify && npm run add-banner"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,6 +122,7 @@ footer:
|
|||||||
- label: "Instagram"
|
- label: "Instagram"
|
||||||
icon: "fab fa-fw fa-instagram"
|
icon: "fab fa-fw fa-instagram"
|
||||||
url: "https://instagram.com/"
|
url: "https://instagram.com/"
|
||||||
|
since: "2013"
|
||||||
|
|
||||||
|
|
||||||
# Reading Files
|
# Reading Files
|
||||||
|
|||||||
Reference in New Issue
Block a user