Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b06aff3bc | ||
|
|
7ea8510d4f | ||
|
|
7d61488f5e | ||
|
|
a7af9b0ad2 | ||
|
|
4310b5459c | ||
|
|
f8f6e589ac | ||
|
|
172a5169f1 | ||
|
|
48ed1444b9 | ||
|
|
409bc92868 | ||
|
|
f8527e7916 | ||
|
|
a179735103 | ||
|
|
60b9565277 | ||
|
|
7746db6f7e | ||
|
|
5e3d1406d2 | ||
|
|
a0aa8f80a7 | ||
|
|
6308789788 | ||
|
|
c7ef8c0fd0 | ||
|
|
ada1b6184e | ||
|
|
9b9d2c66e2 | ||
|
|
6693a4a8cc | ||
|
|
aca6648bd4 | ||
|
|
6e94773083 | ||
|
|
4c38bab95b | ||
|
|
6f1cbfb3be | ||
|
|
8d3592ff70 | ||
|
|
aae8dac76c | ||
|
|
b604e2a686 | ||
|
|
02d989370a | ||
|
|
2c92d34938 | ||
|
|
0d56036557 | ||
|
|
73c2ad818c | ||
|
|
495fb29b45 | ||
|
|
75841313de | ||
|
|
7aee05ce0c | ||
|
|
08b0303298 | ||
|
|
6eaee034d1 | ||
|
|
9770b663f9 | ||
|
|
2cc21c1e88 | ||
|
|
830595d967 | ||
|
|
f18799a0c9 | ||
|
|
51fcef50d0 | ||
|
|
91ab537546 | ||
|
|
23a91f8695 | ||
|
|
8a67ce8e41 | ||
|
|
18e89666a6 | ||
|
|
5946bd4ea0 | ||
|
|
3d65710bf7 | ||
|
|
c940a73b50 | ||
|
|
e44403e276 | ||
|
|
6f0ba5e363 | ||
|
|
955a19b955 | ||
|
|
de1e2b73a6 | ||
|
|
1433887f67 | ||
|
|
2f5af9050b | ||
|
|
03a26a105d | ||
|
|
65237df377 | ||
|
|
f92670442f | ||
|
|
cee4c86ee3 | ||
|
|
58d1ba8293 | ||
|
|
8dc2997d1f | ||
|
|
daf51177f8 | ||
|
|
416933d98a | ||
|
|
55f6e8fae5 | ||
|
|
bcb15f80e7 | ||
|
|
00b86b1ff8 | ||
|
|
a66bf7e317 | ||
|
|
3f36d171bb | ||
|
|
4ef57be787 | ||
|
|
df97788050 | ||
|
|
a499b0dcae | ||
|
|
3051fcd3c9 | ||
|
|
4e19f46d68 | ||
|
|
7aa8c7b5dc | ||
|
|
23e7ad2903 | ||
|
|
a19dbdbf78 | ||
|
|
8b67db3ff4 | ||
|
|
2632ff650a | ||
|
|
ad1e06633c | ||
|
|
9539e3bd84 | ||
|
|
d6c84c9508 | ||
|
|
5ef199a3eb | ||
|
|
d639c605c8 | ||
|
|
a431dd5cc3 | ||
|
|
691df116da | ||
|
|
9ab55b6c54 | ||
|
|
bdcfd791a0 | ||
|
|
9f7c0e4144 | ||
|
|
dbc9479fd5 | ||
|
|
6bd64ffd47 | ||
|
|
ebc8123d36 | ||
|
|
a6b51ed91e | ||
|
|
642ec7b20f | ||
|
|
000dc3b4a2 | ||
|
|
50d312d04c | ||
|
|
25e871c096 | ||
|
|
20cd63c05b | ||
|
|
eaef9ecd9f | ||
|
|
62c123c6b5 | ||
|
|
234d859040 | ||
|
|
c6c6bafad0 | ||
|
|
97cf6e189b | ||
|
|
9cf80336b3 | ||
|
|
ff5b354a9a | ||
|
|
0629bb770d | ||
|
|
1ca125d61b | ||
|
|
aa5dab277e | ||
|
|
f9b17c6249 | ||
|
|
084ddf8d8e | ||
|
|
9269842e9d | ||
|
|
567836e43c | ||
|
|
7e7e683801 | ||
|
|
0f06cb8225 | ||
|
|
89de4d46db | ||
|
|
65e79f5a7d | ||
|
|
42f7512702 | ||
|
|
cc18679227 | ||
|
|
5094a4092a | ||
|
|
6ade4536f7 | ||
|
|
bd46e0a1a8 | ||
|
|
14a47c9d39 | ||
|
|
2eda29dd1f | ||
|
|
26db31c52d | ||
|
|
4fcd51b9bd | ||
|
|
0491cd362b | ||
|
|
3c075fe76b | ||
|
|
00fa7be38b | ||
|
|
297989c1be | ||
|
|
8adb089a68 | ||
|
|
ad094187f7 | ||
|
|
5aeff0c01b | ||
|
|
579d1759d1 | ||
|
|
cc9d1fdaf3 | ||
|
|
3b62fcef6b | ||
|
|
8152b4cbfc | ||
|
|
3c60ebde58 | ||
|
|
b997dc5e25 | ||
|
|
7597735c73 | ||
|
|
184f4f3430 | ||
|
|
351174e494 | ||
|
|
5704e9c0ae | ||
|
|
00d9900743 | ||
|
|
d9305929cf | ||
|
|
f2461af7a8 | ||
|
|
327a7b6f62 | ||
|
|
5516883310 | ||
|
|
1f9698ce37 | ||
|
|
1f0746f2d5 | ||
|
|
b4b8369f5b | ||
|
|
1d2a1c51df | ||
|
|
e7687a8e15 | ||
|
|
edd326376b | ||
|
|
e2f65248b0 | ||
|
|
e134d13e45 | ||
|
|
5423463ca0 | ||
|
|
65eb672dcc | ||
|
|
ee67ad9743 | ||
|
|
635b1790f3 | ||
|
|
4847ce3330 | ||
|
|
b0f5370ede | ||
|
|
4e2e64989f | ||
|
|
2127655ad8 | ||
|
|
b0261f7c43 | ||
|
|
68327eb69b | ||
|
|
1ae5b070b6 | ||
|
|
4710639f05 | ||
|
|
736f77c9c6 | ||
|
|
e1fce9fc94 | ||
|
|
4259ffdd6f | ||
|
|
de6870743d | ||
|
|
99cd379c61 | ||
|
|
5ffad0d956 | ||
|
|
b1e4881c50 | ||
|
|
c521fe58df | ||
|
|
2e05b8568b | ||
|
|
2301fdf5a7 | ||
|
|
8a39b748c2 | ||
|
|
deaed193af | ||
|
|
641ca6f3d8 | ||
|
|
3d3cb58a2e | ||
|
|
6e4aa384d0 | ||
|
|
c501842db8 | ||
|
|
30ae2357c9 | ||
|
|
aaee7b0ac7 | ||
|
|
4556423b66 | ||
|
|
f734cf7e99 | ||
|
|
6282bd9221 | ||
|
|
29c403b3f6 | ||
|
|
3a2075a090 | ||
|
|
9be80f891f | ||
|
|
f189e40766 | ||
|
|
7bb68edf03 | ||
|
|
5fe4c4810d | ||
|
|
d585934803 | ||
|
|
0ec1aa1292 | ||
|
|
923aa95c97 | ||
|
|
20f45e1d01 | ||
|
|
4b29913413 | ||
|
|
0fe0d83976 | ||
|
|
784264d1e6 | ||
|
|
e243901e9f | ||
|
|
db9cff2ade | ||
|
|
08c53cb804 | ||
|
|
5d52384b85 | ||
|
|
5ef9af5fe5 | ||
|
|
fe77557d60 | ||
|
|
faf86f59e9 | ||
|
|
e61476d0a9 | ||
|
|
e3200acafc | ||
|
|
f69e6cbfc4 | ||
|
|
13a644d22c | ||
|
|
48bf0d4e6c | ||
|
|
2d813530d4 | ||
|
|
72897524d7 | ||
|
|
2e6fe02f78 | ||
|
|
d591b2b8d8 | ||
|
|
64dc575476 | ||
|
|
899050cdfa | ||
|
|
d1dd94246c | ||
|
|
010825dfca | ||
|
|
b24f69a71f | ||
|
|
144cfee5b7 | ||
|
|
d993845dfd | ||
|
|
133dffe2f9 | ||
|
|
8d162a7767 | ||
|
|
de2cf5609b | ||
|
|
2a6d2bdd13 | ||
|
|
0c8cb15210 | ||
|
|
0c9553da06 | ||
|
|
caa21efd4d | ||
|
|
a5aeef3d70 | ||
|
|
efe9f3bf94 | ||
|
|
7e3a7c1b16 | ||
|
|
f98d7de897 | ||
|
|
10a4cb116f | ||
|
|
95f3f0ac64 | ||
|
|
c70990aa70 | ||
|
|
b69acb6743 | ||
|
|
f75d8e552c | ||
|
|
11524f165e | ||
|
|
4488d4cf2b | ||
|
|
c2c05b9b67 | ||
|
|
50bd68e6d0 | ||
|
|
187752b673 | ||
|
|
052f3f786f | ||
|
|
d6444412c6 | ||
|
|
99a77e4d3a | ||
|
|
bdc8ac01e8 | ||
|
|
ab19c77ac9 | ||
|
|
526445bffe | ||
|
|
8bec01b76d | ||
|
|
e21035e62d | ||
|
|
2fcb13a8cc | ||
|
|
8cb95a7005 | ||
|
|
c6f10529a4 | ||
|
|
7a6060a55a | ||
|
|
5b5b3ad4e0 | ||
|
|
24b4585084 | ||
|
|
b75f057a5e | ||
|
|
92f94d5549 | ||
|
|
e0b0448f05 | ||
|
|
b7144931c7 | ||
|
|
5c8b220bf9 | ||
|
|
d57fe1de2c | ||
|
|
5741539e17 | ||
|
|
b4abce3b78 | ||
|
|
53ad4d343a | ||
|
|
3135099203 | ||
|
|
95ba9242bf | ||
|
|
cb18aaa7a0 | ||
|
|
6d1aea573c | ||
|
|
e4fbcf7383 | ||
|
|
eb31e33365 | ||
|
|
f15e02ea58 | ||
|
|
5d85bf1912 | ||
|
|
b093b52074 | ||
|
|
a695d7728f | ||
|
|
83b4dba2f0 | ||
|
|
1f0b50044c | ||
|
|
f099739f42 | ||
|
|
cd7aa71ffc | ||
|
|
960d80dc6d | ||
|
|
34ff24e31b | ||
|
|
d5d3863322 | ||
|
|
bae1a2eb0d | ||
|
|
a0e3387677 | ||
|
|
16bacdcc37 | ||
|
|
be9a90fa0c | ||
|
|
a89a015ce7 | ||
|
|
8a60d43b12 | ||
|
|
a0309bba05 | ||
|
|
af7805a985 | ||
|
|
adb301096f | ||
|
|
42c4df6244 | ||
|
|
8711be97c6 | ||
|
|
28edd82198 | ||
|
|
91433e72e6 | ||
|
|
82f79d3045 | ||
|
|
3af9e57c6a | ||
|
|
c980d7f079 | ||
|
|
f297fe1b51 | ||
|
|
4f8e2b48bb | ||
|
|
2ef1bfb856 | ||
|
|
776ab26ce1 | ||
|
|
a870cbddd9 |
+9
-5
@@ -1,6 +1,10 @@
|
||||
assets/fonts/* linguist-vendored
|
||||
assets/js/main.min.js linguist-vendored
|
||||
assets/js/lunr/* linguist-vendored
|
||||
assets/js/plugins/* linguist-vendored
|
||||
assets/js/vendor/* linguist-vendored
|
||||
assets/fonts/* linguist-vendored
|
||||
assets/js/main.min.js linguist-vendored
|
||||
assets/js/lunr/* linguist-vendored
|
||||
assets/js/plugins/* linguist-vendored
|
||||
assets/js/vendor/* linguist-vendored
|
||||
_sass/minimal-mistakes/vendor/* linguist-vendored
|
||||
CHANGELOG.md text merge=union
|
||||
docs/_docs/18-history.md text merge=union
|
||||
|
||||
*.md text
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
# Contributing
|
||||
|
||||
Having trouble working with the theme? Found a typo in the documentation?
|
||||
Interested in adding a feature or [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)?
|
||||
Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new)
|
||||
or [pull request](https://help.github.com/articles/using-pull-requests/).
|
||||
If this is your first pull request, it may be helpful to read up on the
|
||||
[GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
||||
Found a typo in the documentation or interested in [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
||||
|
||||
For help with using the theme or general Jekyll support questions, please use the [Jekyll Talk forums](https://talk.jekyllrb.com/).
|
||||
|
||||
Minimal Mistakes has been designed as a base for you to customize and fit your
|
||||
site's unique needs. Please keep this in mind when requesting features and/or
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
custom: https://www.paypal.me/mmistakes
|
||||
@@ -14,7 +14,7 @@ about: "Is something not working as expected?"
|
||||
for solutions and to avoid duplication.
|
||||
- Ask for help at http://talk.jekyllrb.com/
|
||||
|
||||
After exhausting these suggestions use the format below.
|
||||
If none of the above solved your problem, you can continue below.
|
||||
-->
|
||||
|
||||
## Environment
|
||||
@@ -25,7 +25,7 @@ about: "Is something not working as expected?"
|
||||
|
||||
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.sys
|
||||
issues stem from invalid/missing YAML Front Matter, a mis-configured _config.yml
|
||||
file, or problematic site content.
|
||||
-->
|
||||
|
||||
@@ -33,7 +33,7 @@ about: "Is something not working as expected?"
|
||||
- Ruby gem or remote theme version:
|
||||
- Jekyll version:
|
||||
- Git repository URL:
|
||||
- GitHub Pages hosted (if yes provide URL to site):
|
||||
- Hosted on GitHub Pages (if yes provide URL to site):
|
||||
- Operating system:
|
||||
|
||||
## Expected behavior
|
||||
@@ -46,7 +46,7 @@ about: "Is something not working as expected?"
|
||||
## Steps to reproduce the behavior
|
||||
|
||||
<!--
|
||||
Describe the steps you took for this problem to exist. Such as: you installed
|
||||
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.
|
||||
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
name: Bug Report
|
||||
description: There is something wrong with the theme. 99% of the time you should select Support below.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
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 https://talk.jekyllrb.com/
|
||||
|
||||
If none of the above solved your problem, you can continue below.
|
||||
|
||||
- type: textarea
|
||||
id: environment
|
||||
attributes:
|
||||
label: What happened?
|
||||
description: |
|
||||
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.
|
||||
value: |-
|
||||
- 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:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: |
|
||||
Please describe the expected behavior and the actual result you got.
|
||||
placeholder: >
|
||||
What is it you expected to happen? This should be a description of how the
|
||||
functionality you tried to use is supposed to work.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps-to-reproduce
|
||||
attributes:
|
||||
label: Steps to reproduce the behavior
|
||||
description: |
|
||||
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.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: other
|
||||
attributes:
|
||||
label: Other
|
||||
description: |
|
||||
Please provide a code repository, gist, code snippet, sample files,
|
||||
screenshots, or anything else you think will aid in reproducing the issue.
|
||||
validations:
|
||||
required: false
|
||||
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Support
|
||||
url: https://github.com/mmistakes/minimal-mistakes/discussions
|
||||
about: Please post your support questions in the Discussions section.
|
||||
@@ -0,0 +1,25 @@
|
||||
name: Documentation
|
||||
description: Found a typo or something that needs clarification?
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to open an issue and help make the docs better.
|
||||
|
||||
- type: textarea
|
||||
id: motivation
|
||||
attributes:
|
||||
label: Motivation
|
||||
description: |
|
||||
Why should we update our docs?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: suggestion
|
||||
attributes:
|
||||
label: Suggestion
|
||||
description: |
|
||||
What should we do instead?
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
name: "Enhancement / Feature Request"
|
||||
about: "What would make this theme better?"
|
||||
---
|
||||
|
||||
<!--
|
||||
Before opening a new issue please search all issues at
|
||||
https://github.com/mmistakes/minimal-mistakes/issues to avoid duplication.
|
||||
-->
|
||||
|
||||
## Summary
|
||||
|
||||
<!--
|
||||
A short explanation of the enhancement or feature.
|
||||
-->
|
||||
|
||||
## Motivation
|
||||
|
||||
<!--
|
||||
Why do you want to see this feature in the theme?
|
||||
What use cases does it support?
|
||||
|
||||
NOTE: This theme has been designed as a base for you to customize and fit
|
||||
your site's unique needs. If a feature is not something most people will use,
|
||||
it likely won't be considered. When in doubt ask.
|
||||
-->
|
||||
|
||||
## Drawbacks
|
||||
|
||||
<!--
|
||||
Why should this enhancement or feature **not** be considered?
|
||||
-->
|
||||
@@ -1,22 +0,0 @@
|
||||
---
|
||||
name: "Question"
|
||||
about: "Having trouble working with the theme?"
|
||||
---
|
||||
|
||||
<!--
|
||||
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/
|
||||
|
||||
After exhausting these suggestions ask your question below.
|
||||
|
||||
NOTE: Please provide a code repository, gist, code snippet, sample files, or
|
||||
screenshots to triage your issue.
|
||||
-->
|
||||
|
||||
@@ -23,4 +23,8 @@
|
||||
|
||||
<!--
|
||||
Is this related to any GitHub issue(s)?
|
||||
-->
|
||||
-->
|
||||
|
||||
<!--
|
||||
Please confirm that you want to submit this Pull Request to Minimal Mistakes, the free Jekyll theme by Michael Rose, by deleting this comment block.
|
||||
-->
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 30
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- "Status: Accepted"
|
||||
- "Status: Under Consideration"
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: "Status: Stale"
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: |
|
||||
This issue has been automatically marked as stale because it has not had recent activity.
|
||||
|
||||
If this is a **bug** and you can still reproduce this error on the `master` branch, please reply with any additional information you have about it in order to keep the issue open.
|
||||
|
||||
If this is a feature request, please consider whether it can be accomplished in another way. If it cannot, please elaborate on why it is core to this project and why you feel more than 80% of users would find this beneficial.
|
||||
|
||||
This issue will automatically be closed in 7 days if no further activity occurs. Thank you for all your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
@@ -0,0 +1,32 @@
|
||||
name: Cleanup bad PR
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
close-pr:
|
||||
permissions:
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
if: "contains(github.event.pull_request.body, 'by deleting this comment block') || github.event.pull_request.body == ''"
|
||||
steps:
|
||||
- uses: actions-ecosystem/action-add-labels@v1
|
||||
with:
|
||||
labels: 'Type: Invalid'
|
||||
- uses: superbrothers/close-pull-request@v3
|
||||
with:
|
||||
# Optional. Post an issue comment just before closing a pull request.
|
||||
comment: |
|
||||
**You have created a Pull Request to the wrong repository.** This is the repository for [Minimal Mistakes][1], the free Jekyll theme. See [GitHub Docs: About pull requests][2] if you need help.
|
||||
|
||||
[1]: https://mmistakes.github.io/minimal-mistakes/
|
||||
[2]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests
|
||||
- uses: sudo-bot/action-pull-request-lock@v1.0.5
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
number: ${{ github.event.pull_request.number }}
|
||||
lock-reason: spam
|
||||
+444
-243
File diff suppressed because it is too large
Load Diff
@@ -2,18 +2,12 @@
|
||||
|
||||
[](https://raw.githubusercontent.com/mmistakes/minimal-mistakes/master/LICENSE)
|
||||
[](https://jekyllrb.com/)
|
||||
[](https://rubygems.org/gems/minimal-mistakes-jekyll)
|
||||
[](https://www.paypal.me/mmistakes)
|
||||
|
||||
Minimal Mistakes is a flexible two-column Jekyll theme, perfect for building personal sites, blogs, and portfolios. As the name implies, styling is purposely minimalistic to be enhanced and customized by you :smile:.
|
||||
|
||||
:sparkles: See what's new in the [CHANGELOG](CHANGELOG.md).
|
||||
|
||||
**If you enjoy this theme, please consider [supporting me](https://www.paypal.me/mmistakes) to continue developing and maintaining it.**
|
||||
|
||||
[](https://www.paypal.me/mmistakes)
|
||||
|
||||
**Note:** The theme uses the [jekyll-include-cache](https://github.com/benbalter/jekyll-include-cache) plugin which will need to be installed in your `Gemfile` and added to the `plugins` array of `_config.yml`. Otherwise you'll encounter `Unknown tag 'include_cached'` errors at build.
|
||||
**Note:** The theme uses the [jekyll-include-cache](https://github.com/benbalter/jekyll-include-cache) plugin which will need to be installed in your `Gemfile` and must be retained in the `plugins` array of `_config.yml`. Otherwise you'll encounter `Unknown tag 'include_cached'` errors at build.
|
||||
|
||||
[![Minimal Mistakes live preview][2]][1]
|
||||
|
||||
@@ -31,9 +25,9 @@ Minimal Mistakes is a flexible two-column Jekyll theme, perfect for building per
|
||||
- Several responsive layout options (single, archive index, search, splash, and paginated home page).
|
||||
- Optimized for search engines with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data.
|
||||
- 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/), and [utterances](https://utteranc.es/)).
|
||||
- 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.
|
||||
- UI localized text in English (default), Brazilian Portuguese (Português brasileiro), Catalan, Chinese, Danish, Dutch, Finnish, French (Français), German (Deutsch), Greek, Hindi (हिंदी), Hungarian, Indonesian, Irish (Gaeilge), Italian (Italiano), Japanese, Korean, Malayalam, Myanmar (Burmese), Nepali (Nepalese), 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), 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), Ukrainian (Українська) and Vietnamese.
|
||||
|
||||
## Skins (color variations)
|
||||
|
||||
@@ -116,17 +110,40 @@ To install:
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
gem "jekyll-include-cache", group: :jekyll_plugins
|
||||
```
|
||||
|
||||
2. Add `jekyll-include-cache` to the `plugins` array of your `_config.yml`.
|
||||
|
||||
3. Fetch and update bundled gems by running the following [Bundler](http://bundler.io/) command:
|
||||
3. Fetch and update bundled gems by running the following [Bundler](https://bundler.io/) command:
|
||||
|
||||
```bash
|
||||
bundle
|
||||
```
|
||||
|
||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.19.3"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.25.0"` 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:
|
||||
|
||||
- README.md (this file)
|
||||
- package.json
|
||||
- docs/_config.yml (as theme_version)
|
||||
- docs/_pages/home.md (in Front Matter "excerpt")
|
||||
|
||||
For every release, files listed above should be manually updated with the new version number.
|
||||
|
||||
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:
|
||||
|
||||
- _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`)
|
||||
- assets/js/main.min.js (Run `npm run build:js`, references `_includes/copyright.js`)
|
||||
-->
|
||||
|
||||
**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.
|
||||
|
||||
@@ -134,15 +151,11 @@ To install:
|
||||
|
||||
For detailed instructions on how to configure, customize, add/migrate content, and more read the [theme's documentation](https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/).
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
Having trouble working with the theme? Found a typo in the documentation? Interested in adding a feature or [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
||||
Found a typo in the documentation or interested in [fixing a bug](https://github.com/mmistakes/minimal-mistakes/issues)? Then by all means [submit an issue](https://github.com/mmistakes/minimal-mistakes/issues/new) or [pull request](https://help.github.com/articles/using-pull-requests/). If this is your first pull request, it may be helpful to read up on the [GitHub Flow](https://guides.github.com/introduction/flow/) first.
|
||||
|
||||
Minimal Mistakes has been designed as a base for you to customize and fit your site's unique needs. Please keep this in mind when requesting features and/or submitting pull requests. If it's not something that most people will use, I probably won't consider it. When in doubt ask.
|
||||
|
||||
This goes for author sidebar links and "share button" additions -- I have no intention of merging in every possibly option, the essentials are there to get you started :smile:.
|
||||
For help with using the theme or general Jekyll support questions, please use the [Jekyll Talk forums](https://talk.jekyllrb.com/).
|
||||
|
||||
### Pull Requests
|
||||
|
||||
@@ -160,8 +173,6 @@ To set up your environment to develop this theme, run `bundle install`.
|
||||
|
||||
To test the theme, run `bundle exec rake preview` and open your browser at `http://localhost:4000/test/`. This starts a Jekyll server using content in the `test/` directory. As modifications are made to the theme and test site, it will regenerate and you should see the changes in the browser after a refresh.
|
||||
|
||||
---
|
||||
|
||||
## Credits
|
||||
|
||||
### Creator
|
||||
@@ -174,7 +185,7 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
|
||||
|
||||
### Icons + Demo Images:
|
||||
|
||||
- [The Noun Project](https://thenounproject.com) -- Garrett Knoll, Arthur Shlain, and [tracy tam](https://thenounproject.com/tracytam)
|
||||
- [The Noun Project](https://thenounproject.com) - Garrett Knoll, Arthur Shlain, and [tracy tam](https://thenounproject.com/tracytam)
|
||||
- [Font Awesome](http://fontawesome.io/)
|
||||
- [Unsplash](https://unsplash.com/)
|
||||
|
||||
@@ -192,8 +203,6 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
|
||||
- [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/)
|
||||
- [Lunr](http://lunrjs.com)
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
The MIT License (MIT)
|
||||
@@ -238,7 +247,7 @@ Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opens
|
||||
|
||||
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
||||
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
||||
FitVids is distributed under the terms of the [WTFPL License](http://sam.zoy.org/wtfpl/).
|
||||
FitVids is distributed under the terms of the [WTFPL License](http://www.wtfpl.net/).
|
||||
|
||||
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
||||
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
||||
@@ -250,7 +259,7 @@ Smooth Scroll is distributed under the terms of the [MIT License](http://opensou
|
||||
|
||||
Minimal Mistakes incorporates [Gumshoejs](http://github.com/cferdinandi/gumshoe),
|
||||
Copyright (c) 2019 Chris Ferdinandi.
|
||||
Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
Gumshoejs is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||
|
||||
Minimal Mistakes incorporates [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/),
|
||||
Copyright (c) 2010 "Cowboy" Ben Alman.
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
require "bundler/gem_tasks"
|
||||
require "jekyll"
|
||||
require "json"
|
||||
require "listen"
|
||||
require "rake/clean"
|
||||
require "time"
|
||||
require "yaml"
|
||||
|
||||
task :default => [:copyright, :changelog]
|
||||
|
||||
package_json = JSON.parse(File.read("package.json"))
|
||||
|
||||
def listen_ignore_paths(base, options)
|
||||
[
|
||||
@@ -74,3 +82,71 @@ task :preview do
|
||||
|
||||
Jekyll::Commands::Serve.process(options)
|
||||
end
|
||||
|
||||
task :changelog => "docs/_docs/18-history.md"
|
||||
file "docs/_docs/18-history.md" => "CHANGELOG.md" do |t|
|
||||
front_matter = {
|
||||
title: "History",
|
||||
classes: "wide",
|
||||
permalink: "/docs/history/",
|
||||
excerpt: "Change log of enhancements and bug fixes made to the theme.",
|
||||
sidebar: {
|
||||
nav: "docs",
|
||||
},
|
||||
last_modified_at: Time.now.iso8601,
|
||||
toc: false,
|
||||
}
|
||||
# https://stackoverflow.com/a/49553523/5958455
|
||||
front_matter = JSON.parse(JSON.dump(front_matter))
|
||||
File.open(t.name, "w") do |f|
|
||||
f.puts front_matter.to_yaml
|
||||
f.puts "---"
|
||||
f.puts ""
|
||||
f.puts "<!--\n Sourced from CHANGELOG.md\n See Rakefile `task :changelog` for details\n-->"
|
||||
f.puts ""
|
||||
f.puts "{% raw %}"
|
||||
changelog = File.read(t.prerequisites.first).gsub(/^# [^\n]*$/m, "").strip
|
||||
f.write changelog
|
||||
f.puts ""
|
||||
f.puts "{% endraw %}"
|
||||
end
|
||||
end
|
||||
|
||||
COPYRIGHT_LINES = [
|
||||
"Minimal Mistakes Jekyll Theme #{package_json["version"]} by Michael Rose",
|
||||
"Copyright 2013-#{Time.now.year} Michael Rose - mademistakes.com | @mmistakes",
|
||||
"Free for personal and commercial use under the MIT license",
|
||||
"https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE",
|
||||
]
|
||||
|
||||
COPYRIGHT_FILES = [
|
||||
"_includes/copyright.html",
|
||||
"_includes/copyright.js",
|
||||
"_sass/minimal-mistakes/_copyright.scss",
|
||||
]
|
||||
|
||||
def genenerate_copyright_file(filename, header, prefix, footer)
|
||||
File.open(filename, "w") do |f|
|
||||
f.puts header
|
||||
COPYRIGHT_LINES.each do |line|
|
||||
f.puts "#{prefix}#{line}"
|
||||
end
|
||||
f.puts footer
|
||||
end
|
||||
end
|
||||
|
||||
file "_includes/copyright.html" => "package.json" do |t|
|
||||
genenerate_copyright_file(t.name, "<!--", " ", "-->")
|
||||
end
|
||||
|
||||
file "_includes/copyright.js" => "package.json" do |t|
|
||||
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
||||
end
|
||||
|
||||
file "_sass/minimal-mistakes/_copyright.scss" => "package.json" do |t|
|
||||
genenerate_copyright_file(t.name, "/*!", " * ", " */")
|
||||
end
|
||||
|
||||
task :copyright => COPYRIGHT_FILES
|
||||
|
||||
CLEAN.include(*COPYRIGHT_FILES)
|
||||
|
||||
+21
-3
@@ -29,8 +29,10 @@ 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
|
||||
# breadcrumbs : false # true, false (default)
|
||||
words_per_minute : 200
|
||||
copyright : # "copyright" name, defaults to site.title
|
||||
copyright_url : # "copyright" URL, defaults to site.url
|
||||
comments:
|
||||
provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "custom"
|
||||
provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "giscus", "custom"
|
||||
disqus:
|
||||
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
|
||||
discourse:
|
||||
@@ -43,6 +45,18 @@ comments:
|
||||
utterances:
|
||||
theme : # "github-light" (default), "github-dark"
|
||||
issue_term : # "pathname" (default)
|
||||
giscus:
|
||||
repo_id : # Shown during giscus setup at https://giscus.app
|
||||
category_name : # Full text name of the category
|
||||
category_id : # Shown during giscus setup at https://giscus.app
|
||||
discussion_term : # "pathname" (default), "url", "title", "og:title"
|
||||
reactions_enabled : # '1' for enabled (default), '0' for disabled
|
||||
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:
|
||||
branch : # "master"
|
||||
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
|
||||
@@ -51,9 +65,12 @@ reCaptcha:
|
||||
secret :
|
||||
atom_feed:
|
||||
path : # blank (default) uses feed.xml
|
||||
hide : # true, false (default)
|
||||
search : # true, false (default)
|
||||
search_full_content : # true, false (default)
|
||||
search_provider : # lunr (default), algolia, google
|
||||
lunr:
|
||||
search_within_pages : # true, false (default)
|
||||
algolia:
|
||||
application_id : # YOUR_APPLICATION_ID
|
||||
index_name : # YOUR_INDEX_NAME
|
||||
@@ -65,8 +82,9 @@ google:
|
||||
# SEO Related
|
||||
google_site_verification :
|
||||
bing_site_verification :
|
||||
yandex_site_verification :
|
||||
naver_site_verification :
|
||||
yandex_site_verification :
|
||||
baidu_site_verification :
|
||||
|
||||
# Social Sharing
|
||||
twitter:
|
||||
@@ -85,7 +103,7 @@ social:
|
||||
|
||||
# Analytics
|
||||
analytics:
|
||||
provider : false # false (default), "google", "google-universal", "custom"
|
||||
provider : false # false (default), "google", "google-universal", "google-gtag", "custom"
|
||||
google:
|
||||
tracking_id :
|
||||
anonymize_ip : # true, false (default)
|
||||
|
||||
+392
-75
@@ -47,6 +47,7 @@ en: &DEFAULT_EN
|
||||
loading_label : "Loading..."
|
||||
search_label_text : "Enter your search term..."
|
||||
search_placeholder_text : "Enter your search term..."
|
||||
search_algolia_no_results : "No results"
|
||||
results_found : "Result(s) found"
|
||||
back_to_top : "Back to top"
|
||||
en-US:
|
||||
@@ -105,6 +106,7 @@ es: &DEFAULT_ES
|
||||
loading_label : "Cargando..."
|
||||
search_label_text : "Términos de búsqueda..."
|
||||
search_placeholder_text : "Términos de búsqueda..."
|
||||
search_algolia_no_results :
|
||||
results_found : "resultado(s) encontrado(s)"
|
||||
back_to_top : "Volver arriba"
|
||||
es-ES:
|
||||
@@ -159,6 +161,7 @@ fr: &DEFAULT_FR
|
||||
loading_label : "Chargement..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Entrez votre recherche..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Résultat(s) trouvé(s)"
|
||||
back_to_top : "Retour en haut"
|
||||
fr-FR:
|
||||
@@ -214,6 +217,7 @@ tr: &DEFAULT_TR
|
||||
comment_error_msg : "Maalesef bir hata oluştu. Lütfen zorunlu olan tüm alanları doldurduğunuzdan emin olun ve sonrasında tekrar deneyin."
|
||||
loading_label : "Yükleniyor..."
|
||||
search_label_text :
|
||||
search_algolia_no_results :
|
||||
tr-TR:
|
||||
<<: *DEFAULT_TR
|
||||
|
||||
@@ -263,24 +267,25 @@ pt: &DEFAULT_PT
|
||||
comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente."
|
||||
loading_label : "A carregar..."
|
||||
search_label_text :
|
||||
search_algolia_no_results :
|
||||
pt-PT:
|
||||
<<: *DEFAULT_PT
|
||||
# Brazilian Portuguese
|
||||
pt-BR:
|
||||
skip_links :
|
||||
skip_primary_nav :
|
||||
skip_content :
|
||||
skip_footer :
|
||||
skip_links : "Pular links"
|
||||
skip_primary_nav : "Pular para navegação primária"
|
||||
skip_content : "Pular para conteúdo"
|
||||
skip_footer : "Pular para rodapé"
|
||||
page : "Página"
|
||||
pagination_previous : "Anterior"
|
||||
pagination_next : "Próxima"
|
||||
breadcrumb_home_label : "Home"
|
||||
breadcrumb_home_label : "Início"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label :
|
||||
search_label : "Buscar"
|
||||
menu_label : "Chavear menu"
|
||||
search_label : "Chavear busca"
|
||||
toc_label : "Nesta página"
|
||||
ext_link_label : "Link direto"
|
||||
less_than : "menos que"
|
||||
less_than : "menos de"
|
||||
minute_read : "minuto(s) de leitura"
|
||||
share_on_label : "Compartilhe"
|
||||
meta_label :
|
||||
@@ -291,13 +296,13 @@ pt-BR:
|
||||
comments_title : "Comentários"
|
||||
more_label : "Saiba mais"
|
||||
related_label : "Talvez você também goste"
|
||||
follow_label : "Acompanhe no"
|
||||
follow_label : "Siga:"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Desenvolvido com"
|
||||
website_label : "Site"
|
||||
email_label : "E-mail"
|
||||
recent_posts : "Publicações recentes"
|
||||
undefined_wpm : "Parâmetro words_per_minute indefinido no _config.yml"
|
||||
undefined_wpm : "Parâmetro words_per_minute não definido em _config.yml"
|
||||
comment_form_info : "Seu e-mail não será publicado. Os campos obrigatórios estão marcados"
|
||||
comment_form_comment_label : "Comentário"
|
||||
comment_form_md_info : "Você pode usar Markdown."
|
||||
@@ -309,8 +314,9 @@ pt-BR:
|
||||
comment_success_msg : "Obrigado pelo seu comentário! Ele aparecerá no site assim que for aprovado."
|
||||
comment_error_msg : "Desculpe, ocorreu um erro no envio. Verifique se todos os campos obrigatórios foram preenchidos e tente novamente."
|
||||
loading_label : "Carregando..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Pesquisar..."
|
||||
search_label_text : "Digite seu termo de busca..."
|
||||
search_placeholder_text : "Digite seu termo de busca..."
|
||||
search_algolia_no_results : "Nenhum resultado"
|
||||
results_found : "Resultado(s) encontrado(s)"
|
||||
back_to_top : "Voltar para o topo"
|
||||
|
||||
@@ -361,6 +367,7 @@ it: &DEFAULT_IT
|
||||
loading_label : "Caricamento..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Inserisci termini di ricerca..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Risultati"
|
||||
back_to_top : "Vai su"
|
||||
it-IT:
|
||||
@@ -369,18 +376,18 @@ it-IT:
|
||||
# Chinese (zh-CN Chinese - China)
|
||||
# --------------------------------
|
||||
zh: &DEFAULT_ZH_HANS
|
||||
skip_links :
|
||||
skip_primary_nav :
|
||||
skip_content :
|
||||
skip_footer :
|
||||
skip_links : "跳转链接"
|
||||
skip_primary_nav : "转到主导航栏"
|
||||
skip_content : "转到内容"
|
||||
skip_footer : "转到底部"
|
||||
page : "页面"
|
||||
pagination_previous : "向前"
|
||||
pagination_next : "向后"
|
||||
pagination_previous : "上一页"
|
||||
pagination_next : "下一页"
|
||||
breadcrumb_home_label : "首页"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "切换菜单"
|
||||
search_label :
|
||||
toc_label : "在本页上"
|
||||
search_label : "切换搜索"
|
||||
toc_label : "目录"
|
||||
ext_link_label : "直接链接"
|
||||
less_than : "少于"
|
||||
minute_read : "分钟阅读"
|
||||
@@ -411,8 +418,9 @@ zh: &DEFAULT_ZH_HANS
|
||||
comment_success_msg : "感谢您的评论!被批准后它会立即在此站点展示。"
|
||||
comment_error_msg : "很抱歉,您的提交存在错误。请确保所有必填字段都已填写正确,然后再试一次。"
|
||||
loading_label : "正在加载..."
|
||||
search_label_text :
|
||||
search_label_text : "输入您要搜索的关键词..."
|
||||
search_placeholder_text : "输入您要搜索的关键词..."
|
||||
search_algolia_no_results : "无结果"
|
||||
results_found : "条记录匹配"
|
||||
back_to_top : "返回顶部"
|
||||
zh-CN:
|
||||
@@ -422,16 +430,16 @@ zh-SG:
|
||||
# Taiwan (Traditional Chinese)
|
||||
zh-TW: &DEFAULT_ZH_HANT
|
||||
skip_links :
|
||||
skip_primary_nav :
|
||||
skip_content :
|
||||
skip_footer :
|
||||
skip_primary_nav : "轉至主導航欄"
|
||||
skip_content : "轉至内容"
|
||||
skip_footer : "轉至頁脚"
|
||||
page : "頁面"
|
||||
pagination_previous : "較舊"
|
||||
pagination_next : "較新"
|
||||
pagination_previous : "前一頁"
|
||||
pagination_next : "後一頁"
|
||||
breadcrumb_home_label : "首頁"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "切換選單"
|
||||
search_label :
|
||||
search_label : "切換搜索"
|
||||
toc_label : "本頁"
|
||||
ext_link_label : "外部連結"
|
||||
less_than : "少於"
|
||||
@@ -454,7 +462,7 @@ zh-TW: &DEFAULT_ZH_HANT
|
||||
undefined_wpm : "_config.yml 中未定義 words_per_minute"
|
||||
comment_form_info : "您的電子信箱不會被公開. 必填部份已標記"
|
||||
comment_form_comment_label : "留言內容"
|
||||
comment_form_md_info : "支援Markdown語法。"
|
||||
comment_form_md_info : "支援 Markdown 語法。"
|
||||
comment_form_name_label : "名字"
|
||||
comment_form_email_label : "電子信箱帳號"
|
||||
comment_form_website_label : "網頁 (可選填)"
|
||||
@@ -463,7 +471,11 @@ zh-TW: &DEFAULT_ZH_HANT
|
||||
comment_success_msg : "感謝您的留言! 審核後將會顯示在站上。"
|
||||
comment_error_msg : "抱歉,部份資料輸入有問題。請確認資料填寫正確後再試一次。"
|
||||
loading_label : "載入中..."
|
||||
search_label_text :
|
||||
search_label_text : "輸入您要搜索的關鍵詞..."
|
||||
search_placeholder_text : "輸入您要搜索的關鍵詞..."
|
||||
search_algolia_no_results : "沒有結果"
|
||||
results_found : "條匹配的記錄"
|
||||
back_to_top : "回到頂部"
|
||||
zh-HK:
|
||||
<<: *DEFAULT_ZH_HANT
|
||||
|
||||
@@ -484,7 +496,7 @@ de: &DEFAULT_DE
|
||||
toc_label : "Auf dieser Seite"
|
||||
ext_link_label : "Direkter Link"
|
||||
less_than : "weniger als"
|
||||
minute_read : "Minuten zum lesen"
|
||||
minute_read : "Minuten zum Lesen"
|
||||
share_on_label : "Teilen auf"
|
||||
meta_label :
|
||||
tags_label : "Tags:"
|
||||
@@ -514,6 +526,7 @@ de: &DEFAULT_DE
|
||||
loading_label : "Lade..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Suchbegriff eingeben..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Ergebnis(se) gefunden"
|
||||
de-DE:
|
||||
<<: *DEFAULT_DE
|
||||
@@ -574,6 +587,7 @@ ne: &DEFAULT_NE
|
||||
comment_error_msg : "माफ गर्नुहोस्, तपाईंको टिप्पणी त्रुटि थियो।सबै आवश्यक जानकारीहरु पूरा गरिएको छ भने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"
|
||||
loading_label : "लोड हुँदैछ ..."
|
||||
search_label_text :
|
||||
search_algolia_no_results :
|
||||
ne-NP:
|
||||
<<: *DEFAULT_NE
|
||||
|
||||
@@ -624,6 +638,7 @@ ko: &DEFAULT_KO
|
||||
loading_label : "로딩중..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "검색어를 입력하세요..."
|
||||
search_algolia_no_results :
|
||||
results_found : "개 결과 발견"
|
||||
back_to_top : "맨 위로 이동"
|
||||
ko-KR:
|
||||
@@ -676,6 +691,7 @@ ru: &DEFAULT_RU
|
||||
loading_label : "Отправка..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Введите поисковый запрос..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Найдено"
|
||||
ru-RU:
|
||||
<<: *DEFAULT_RU
|
||||
@@ -726,6 +742,7 @@ lt: &DEFAULT_LT
|
||||
comment_error_msg : "Atleiskite, įvyko netikėta klaida įrašant komentarą. Pasitikrinkite ar užpildėte visus būtinus laukus ir pamėginkite dar kartą."
|
||||
loading_label : "Kraunama..."
|
||||
search_label_text :
|
||||
search_algolia_no_results :
|
||||
lt-LT:
|
||||
<<: *DEFAULT_LT
|
||||
|
||||
@@ -776,6 +793,7 @@ gr: &DEFAULT_GR
|
||||
loading_label : "Φόρτωση..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Εισάγετε όρο αναζήτησης..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Αποτελέσματα"
|
||||
gr-GR:
|
||||
<<: *DEFAULT_GR
|
||||
@@ -827,6 +845,7 @@ sv: &DEFAULT_SV
|
||||
loading_label : "Laddar..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Fyll i sökterm..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Resultat funna"
|
||||
back_to_top : "Tillbaka till toppen"
|
||||
sv-SE:
|
||||
@@ -881,6 +900,7 @@ nl: &DEFAULT_NL
|
||||
loading_label : "Laden..."
|
||||
search_label_text : "Geef uw zoekterm in..."
|
||||
search_placeholder_text : "Geef uw zoekterm in..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Resultaat gevonden"
|
||||
back_to_top : "Terug naar boven"
|
||||
nl-BE:
|
||||
@@ -892,48 +912,52 @@ nl-NL:
|
||||
# ----------
|
||||
id: &DEFAULT_ID
|
||||
skip_links :
|
||||
skip_primary_nav :
|
||||
skip_content :
|
||||
skip_footer :
|
||||
skip_primary_nav : "Loncat ke navigasi"
|
||||
skip_content : "Loncat ke konten"
|
||||
skip_footer : "Loncat ke footer"
|
||||
page : "Halaman"
|
||||
pagination_previous : "Kembali"
|
||||
pagination_next : "Maju"
|
||||
breadcrumb_home_label : "Home"
|
||||
pagination_previous : "Sebelumnya"
|
||||
pagination_next : "Selanjutnya"
|
||||
breadcrumb_home_label : "Beranda"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "Menu Toggle"
|
||||
search_label :
|
||||
menu_label : "Menu"
|
||||
search_label : "Pencarian"
|
||||
toc_label : "Pada Halaman Ini"
|
||||
ext_link_label : "Link langsung"
|
||||
less_than : "Kurang dari"
|
||||
minute_read : "Waktu baca"
|
||||
share_on_label : "Berbagi di"
|
||||
minute_read : "menit baca"
|
||||
share_on_label : "Bagikan di"
|
||||
meta_label :
|
||||
tags_label : "Golongan:"
|
||||
tags_label : "Label:"
|
||||
categories_label : "Kategori:"
|
||||
date_label : "Diupdate:"
|
||||
comments_label : "Tinggalkan komentar"
|
||||
comments_title : "Komentar"
|
||||
more_label : "Pelajari lagi"
|
||||
related_label : "Anda juga akan suka"
|
||||
related_label : "Anda mungkin suka"
|
||||
follow_label : "Ikuti:"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Didukung oleh"
|
||||
website_label : "Website"
|
||||
email_label : "Email"
|
||||
recent_posts : "Posting terbaru"
|
||||
recent_posts : "Post terbaru"
|
||||
undefined_wpm : "Parameter terdeskripsi words_per_minute di _config.yml"
|
||||
comment_form_info : "Email Anda tidak akan dipublish. Kolom yang diperlukan ditandai"
|
||||
comment_form_info : "Email Anda tidak akan dipublish. Kolom yang diperlukan ditandai dengan tanda "
|
||||
comment_form_comment_label : "Komentar"
|
||||
comment_form_md_info : "Markdown disupport."
|
||||
comment_form_md_info : "Markdown didukung."
|
||||
comment_form_name_label : "Nama"
|
||||
comment_form_email_label : "Alamat email"
|
||||
comment_form_website_label : "Website (opsional)"
|
||||
comment_btn_submit : "Submit Komentar"
|
||||
comment_btn_submitted : "Telah disubmit"
|
||||
comment_success_msg : "Terimakasih atas komentar Anda! Komentar ini akan tampil setelah disetujui."
|
||||
comment_error_msg : "Maaf, ada kesalahan pada submisi Anda. Pastikan seluruh kolom sudah dilengkapi dan coba kembali."
|
||||
loading_label : "Sedang meload..."
|
||||
search_label_text :
|
||||
comment_btn_submit : "Kirim Komentar"
|
||||
comment_btn_submitted : "Telah dikirim"
|
||||
comment_success_msg : "Terimakasih atas komentar Anda! Komentar akan tampil setelah disetujui."
|
||||
comment_error_msg : "Maaf, ada kesalahan pada komentar Anda. Pastikan seluruh kolom sudah dilengkapi dan coba kembali."
|
||||
loading_label : "Sedang memuat..."
|
||||
search_label_text : "Masukkan kata kunci pencarian..."
|
||||
search_placeholder_text : "Masukkan kata kunci pencarian..."
|
||||
search_algolia_no_results : "Tidak ada hasil"
|
||||
results_found : "Hasil pencarian ditemukan"
|
||||
back_to_top : "Kembali ke awal"
|
||||
id-ID:
|
||||
<<: *DEFAULT_ID
|
||||
|
||||
@@ -951,7 +975,7 @@ vi: &DEFAULT_VI
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "Menu"
|
||||
search_label : "Tìm kiếm"
|
||||
toc_label : "Tại trang này"
|
||||
toc_label : "Mục lục"
|
||||
ext_link_label : "Đường dẫn trực tiếp"
|
||||
less_than : "chỉ cần"
|
||||
minute_read : "phút để đọc"
|
||||
@@ -984,6 +1008,7 @@ vi: &DEFAULT_VI
|
||||
loading_label : "Đang tải..."
|
||||
search_label_text : "Nhập từ khóa cần tìm..."
|
||||
search_placeholder_text : "Nhập từ khóa cần tìm..."
|
||||
search_algolia_no_results : "Không tìm thấy kết quả nào"
|
||||
results_found : "Kết quả tìm được"
|
||||
back_to_top : "Lên đầu trang"
|
||||
vi-VN:
|
||||
@@ -993,16 +1018,16 @@ vi-VN:
|
||||
# ------
|
||||
da: &DEFAULT_DA
|
||||
skip_links :
|
||||
skip_primary_nav :
|
||||
skip_content :
|
||||
skip_footer :
|
||||
skip_primary_nav : "Gå til hovedmenuen"
|
||||
skip_content : "Gå til indholdet"
|
||||
skip_footer : "Gå til sidefoden"
|
||||
page : "Side"
|
||||
pagination_previous : "Forrige"
|
||||
pagination_next : "Næste"
|
||||
breadcrumb_home_label : "Home"
|
||||
breadcrumb_home_label : "Forside"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "Vis/skjul menu"
|
||||
search_label :
|
||||
search_label : "Søgning til/fra"
|
||||
toc_label : "På denne side"
|
||||
ext_link_label : "Direkte link"
|
||||
less_than : "mindre end"
|
||||
@@ -1034,8 +1059,9 @@ da: &DEFAULT_DA
|
||||
comment_success_msg : "Tak for din kommentar! Den bliver vist på siden, så snart den er godkendt."
|
||||
comment_error_msg : "Desværre skete der en fejl. Prøv igen, mens du sørger for at alle obligatoriske felter er udfyldt."
|
||||
loading_label : "Indlæser..."
|
||||
search_label_text :
|
||||
search_label_text : "Hvad leder du efter..."
|
||||
search_placeholder_text : "Hvad leder du efter..."
|
||||
search_algolia_no_results : "Ingen resultater"
|
||||
results_found : "Resultat(er) fundet"
|
||||
back_to_top : "Tilbage til toppen"
|
||||
da-DK:
|
||||
@@ -1086,7 +1112,11 @@ pl: &DEFAULT_PL
|
||||
comment_success_msg : "Dziękuję za Twój komentarz! Zostanie dodany po akceptacji."
|
||||
comment_error_msg : "Niestety wystąpił błąd. Proszę upewnij się, że wszystkie wymagane pola zostały wypełnione i spróbuj ponownie."
|
||||
loading_label : "Trwa ładowanie strony..."
|
||||
search_label_text :
|
||||
search_label_text : "Wprowadź kryteria wyszukiwania..."
|
||||
search_placeholder_text : "Wprowadź kryteria wyszukiwania..."
|
||||
search_algolia_no_results : "Brak wyników"
|
||||
results_found : "Znalezione wyniki"
|
||||
back_to_top : "Wróć na górę"
|
||||
pl-PL:
|
||||
<<: *DEFAULT_PL
|
||||
|
||||
@@ -1137,6 +1167,7 @@ ja: &DEFAULT_JA
|
||||
loading_label : "読み込み中..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "検索キーワードを入力してください..."
|
||||
search_algolia_no_results :
|
||||
results_found : "件"
|
||||
ja-JP:
|
||||
<<: *DEFAULT_JA
|
||||
@@ -1188,6 +1219,7 @@ sk: &DEFAULT_SK
|
||||
loading_label : "Načítava sa..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Zadaj hľadaný výraz..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Nájdených výsledkov"
|
||||
back_to_top : "Na začiatok stránky"
|
||||
sk-SK:
|
||||
@@ -1240,6 +1272,7 @@ hu: &DEFAULT_HU
|
||||
loading_label : "Betöltés..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Keresendő szöveg..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Találatok:"
|
||||
back_to_top : "Oldal tetejére"
|
||||
hu-HU:
|
||||
@@ -1292,6 +1325,7 @@ ro: &DEFAULT_RO
|
||||
loading_label : "Se încarcă..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "Caută ceva..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Rezultate găsite"
|
||||
back_to_top : "Înapoi în susul paginii"
|
||||
ro-RO:
|
||||
@@ -1344,6 +1378,7 @@ pa: &DEFAULT_PA
|
||||
loading_label : "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ..."
|
||||
search_label_text : "ਖੋਜ"
|
||||
search_placeholder_text : "ਆਪਣੀ ਖੋਜ ਦੇ ਸ਼ਬਦ ਨੂੰ ਦਰਜ ਕਰੋ..."
|
||||
search_algolia_no_results :
|
||||
results_found : "ਨਤੀਜਾ ਮਿਲਿਆ/ਮਿਲੇ"
|
||||
back_to_top : "ਵਾਪਸ ਚੋਟੀ 'ਤੇ ਜਾਓ"
|
||||
pa-IN:
|
||||
@@ -1395,6 +1430,7 @@ fa: &DEFAULT_FA
|
||||
loading_label : "...بارگذاری"
|
||||
search_label_text :
|
||||
search_placeholder_text : "...عبارت جستجوی خود را وارد کنید"
|
||||
search_algolia_no_results :
|
||||
results_found : "نتایج"
|
||||
back_to_top : "بازگشت به بالا"
|
||||
fa-IR:
|
||||
@@ -1448,6 +1484,7 @@ ml: &DEFAULT_ML
|
||||
loading_label : "ലോഡിംഗ്..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "നിങ്ങളുടെ തിരയൽ പദം നൽകുക..."
|
||||
search_algolia_no_results :
|
||||
results_found : "ഫലം (കൾ) കണ്ടെത്തി"
|
||||
back_to_top : "മുകളിലേയ്ക്ക്"
|
||||
ml-IN:
|
||||
@@ -1500,6 +1537,7 @@ th: &DEFAULT_TH
|
||||
loading_label : "กำลังโหลด..."
|
||||
search_label_text :
|
||||
search_placeholder_text : "ใส่คำค้นหาของคุณ..."
|
||||
search_algolia_no_results :
|
||||
results_found : "ผลการค้นหา พบ"
|
||||
back_to_top : "กลับด้านบน"
|
||||
th-TH:
|
||||
@@ -1551,6 +1589,7 @@ hi: &DEFAULT_HI
|
||||
loading_label : "लोड हो रहा है..."
|
||||
search_label_text : "खोज"
|
||||
search_placeholder_text : "अपना खोज शब्द दर्ज करें..."
|
||||
search_algolia_no_results :
|
||||
results_found : "परिणाम मिला/मिले"
|
||||
back_to_top : "शीर्ष पर वापस"
|
||||
hi-IN:
|
||||
@@ -1603,6 +1642,7 @@ ca: &DEFAULT_CA
|
||||
loading_label : "Carregant..."
|
||||
search_label_text : "Introdueix termes per cercar..."
|
||||
search_placeholder_text : "Introdueix termes per cercar..."
|
||||
search_algolia_no_results :
|
||||
results_found : "resultat(s)"
|
||||
back_to_top : "Torna a dalt"
|
||||
ca-ES:
|
||||
@@ -1649,6 +1689,7 @@ ga: &DEFAULT_GA
|
||||
loading_label : "Lódáil..."
|
||||
search_label_text : "Cuir do chuardach isteach..."
|
||||
search_placeholder_text : "Cuir do chuardach isteach..."
|
||||
search_algolia_no_results :
|
||||
results_found : "Torthaí aimsithe"
|
||||
back_to_top : "Ar ais go barr"
|
||||
ga-IE:
|
||||
@@ -1659,9 +1700,9 @@ ga-IE:
|
||||
# -----------------
|
||||
fi: &DEFAULT_FI
|
||||
skip_links : "Ohita linkit"
|
||||
skip_primary_nav : "Hyppää pää navigaatioon"
|
||||
skip_content : "Hyppää sisältöön"
|
||||
skip_footer : "Hyppää alareunaan"
|
||||
skip_primary_nav : "Siirry päävalikkoon"
|
||||
skip_content : "Siirry sisältöön"
|
||||
skip_footer : "Siirry alareunaan"
|
||||
page : "Sivu"
|
||||
pagination_previous : "Edellinen"
|
||||
pagination_next : "Seuraava"
|
||||
@@ -1672,38 +1713,39 @@ fi: &DEFAULT_FI
|
||||
toc_label : "Tällä sivulla"
|
||||
ext_link_label : "Suora linkki"
|
||||
less_than : "vähemmän kuin"
|
||||
minute_read : "lukuaika"
|
||||
minute_read : "minuuttia luettavaa"
|
||||
share_on_label : "Jaa"
|
||||
meta_label :
|
||||
tags_label : "Tagit:"
|
||||
tags_label : "Tunnisteet:"
|
||||
categories_label : "Kategoriat:"
|
||||
date_label : "Päivitetty:"
|
||||
comments_label : "Jätä kommentti"
|
||||
comments_title : "Kommentit"
|
||||
more_label : "Lisää"
|
||||
related_label : "Voit olla kiinnostunut myös"
|
||||
related_label : "Saatat olla kiinnostunut myös"
|
||||
follow_label : "Seuraa:"
|
||||
feed_label : "Syöte"
|
||||
powered_by : "Voimanlähteenä"
|
||||
website_label : "Websivu"
|
||||
email_label : "Email"
|
||||
recent_posts : "Viimeisimmät postaukset"
|
||||
powered_by : "Käyttäen"
|
||||
website_label : "Kotisivu"
|
||||
email_label : "Sähköposti"
|
||||
recent_posts : "Viimeisimmät kirjoitukset"
|
||||
undefined_wpm : "words_per_minute asetusta ei ole määritelty _config.yml tiedostossa"
|
||||
comment_form_info : "Your email address will not be published. Required fields are marked"
|
||||
comment_form_info : "Sinun sähköpostiosoitetta ei julkaista. Vaaditut kentät ovat merkittyjä"
|
||||
comment_form_comment_label : "Kommentti"
|
||||
comment_form_md_info : "Tukee markdown muotoilua."
|
||||
comment_form_name_label : "Nimi"
|
||||
comment_form_email_label : "Email osoite"
|
||||
comment_form_website_label : "Webbisivu (vapaaehtoinen)"
|
||||
comment_form_email_label : "Sähköpostiosoite"
|
||||
comment_form_website_label : "Nettisivu (vapaaehtoinen)"
|
||||
comment_btn_submit : "Lähetä"
|
||||
comment_btn_submitted : "Lähetetty"
|
||||
comment_success_msg : "Kiitos kommentista, se julkaistaan tällä sivulla moderoinnin jälkeen."
|
||||
comment_error_msg : "Tarkista että olet täyttänyt kaikki kentät ja yritä uudelleen."
|
||||
comment_success_msg : "Kiitos kommentista, se julkaistaan tällä sivulla tarkastelun jälkeen."
|
||||
comment_error_msg : "Tapahtui virhe. Tarkista, että olet täyttänyt kaikki kentät ja yritä uudelleen."
|
||||
loading_label : "Ladataan..."
|
||||
search_label_text : "Hakusana..."
|
||||
search_placeholder_text : "Hakusana..."
|
||||
search_algolia_no_results : "Ei hakutuloksia"
|
||||
results_found : "Tulosta"
|
||||
back_to_top : "Ylös"
|
||||
back_to_top : "Siirry ylös"
|
||||
|
||||
# Myanmar (Burmese)
|
||||
# -----------------
|
||||
@@ -1752,11 +1794,286 @@ my: &DEFAULT_MY
|
||||
loading_label : "တင်နေသည်..."
|
||||
search_label_text : "သင့်ရှာဖွေရေးဝေါဟာရကိုရိုက်ထည့်ပါ..."
|
||||
search_placeholder_text : "သင့်ရှာဖွေရေးဝေါဟာရကိုရိုက်ထည့်ပါ..."
|
||||
search_algolia_no_results :
|
||||
results_found : "ရလဒ်(များ)ကိုတွေ့ရှိခဲ့သည်"
|
||||
back_to_top : "အပေါ်သို့ပြန်သွား"
|
||||
my-MM:
|
||||
<<: *DEFAULT_MY
|
||||
|
||||
# Norwegian
|
||||
# -------
|
||||
no: &DEFAULT_NO
|
||||
skip_links : "Hopp over lenker"
|
||||
skip_primary_nav : "Gå til primærnavigasjon"
|
||||
skip_content : "Gå til innhold"
|
||||
skip_footer : "Gå til fotnote"
|
||||
page : "Side"
|
||||
pagination_previous : "Forrige"
|
||||
pagination_next : "Neste"
|
||||
breadcrumb_home_label : "Hjem"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "Vis/skjul meny"
|
||||
search_label : "Vis/skjul søk"
|
||||
toc_label : "På denne siden"
|
||||
ext_link_label : "Direkte lenke"
|
||||
less_than : "mindre enn"
|
||||
minute_read : "minutters lesing"
|
||||
share_on_label : "Del på"
|
||||
meta_label :
|
||||
tags_label : "Nøkkelord:"
|
||||
categories_label : "Kategorier:"
|
||||
date_label : "Oppdatert:"
|
||||
comments_label : "Skriv en kommentar"
|
||||
comments_title : "Kommentarer"
|
||||
more_label : "Lær mer"
|
||||
related_label : "Du vil kanskje også lese:"
|
||||
follow_label : "Følg:"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Lagd med"
|
||||
website_label : "Nettside"
|
||||
email_label : "E-post"
|
||||
recent_posts : "Nyeste innlegg"
|
||||
undefined_wpm : "Parameteret words_per_minute er ikke definert i _config.yml"
|
||||
comment_form_info : "Din e-postadresse vil ikke bli publisert. Obligatoriske felt er markert"
|
||||
comment_form_comment_label : "Kommentar"
|
||||
comment_form_md_info : "Markdown er støttet"
|
||||
comment_form_name_label : "Navn"
|
||||
comment_form_email_label : "E-postadresse"
|
||||
comment_form_website_label : "Nettside (frivillig)"
|
||||
comment_btn_submit : "Send kommentar"
|
||||
comment_btn_submitted : "Sendt"
|
||||
comment_success_msg : "Takk for din kommentar! Den blir vist på siden så fort den er godkjent"
|
||||
comment_error_msg : "Beklager, noe gikk galt. Sjekk at alle obligatoriska felt er utfylt og prøv igjen"
|
||||
loading_label : "Laster..."
|
||||
search_label_text : "Skriv inn søkeord"
|
||||
search_placeholder_text : "Skriv inn søkeord"
|
||||
search_algolia_no_results : "Ingen treff"
|
||||
results_found : "Treff funnet"
|
||||
back_to_top : "Tillbake til toppen"
|
||||
no-NB:
|
||||
<<: *DEFAULT_NO
|
||||
no-NN:
|
||||
<<: *DEFAULT_NO
|
||||
|
||||
# Hebrew
|
||||
# -------
|
||||
he: &DEFAULT_HE
|
||||
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 : "Powered by"
|
||||
website_label : "אתר"
|
||||
email_label : "אימייל"
|
||||
recent_posts : "פוסטים אחרונים"
|
||||
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
|
||||
comment_form_info : "האימייל שלך נשמר חסוי. שדות חובה מסומנים"
|
||||
comment_form_comment_label : "הערה"
|
||||
comment_form_md_info : "Markdown is supported."
|
||||
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 : "חזרה להתחלה"
|
||||
he-IL:
|
||||
<<: *DEFAULT_HE
|
||||
|
||||
# Arabic (عربي)
|
||||
# --------------
|
||||
ar: &DEFAULT_AR
|
||||
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 : "تم إيجاد نتيجة"
|
||||
back_to_top : "الانتقال الى الأعلى"
|
||||
ar-SD:
|
||||
<<: *DEFAULT_AR
|
||||
ar-SA:
|
||||
<<: *DEFAULT_AR
|
||||
ar-AE:
|
||||
<<: *DEFAULT_AR
|
||||
ar-EG:
|
||||
<<: *DEFAULT_AR
|
||||
|
||||
# Kiswahili
|
||||
# -----------------
|
||||
sw: &DEFAULT_SW
|
||||
skip_links : "Ruka viungo"
|
||||
skip_primary_nav : "Ruka orodha kuu"
|
||||
skip_content : "Ruka maandiko maakuu"
|
||||
skip_footer : "Ruka chini"
|
||||
page : "Ukurasa"
|
||||
pagination_previous : "Rudi"
|
||||
pagination_next : "Endelea"
|
||||
breadcrumb_home_label : "Ukurasa wa kwanza"
|
||||
breadcrumb_separator : "/"
|
||||
menu_label : "Wezesha/Zima orodha"
|
||||
search_label : "Wezesha/Zima kutafuta"
|
||||
toc_label : "Kwa ukurasa huu"
|
||||
ext_link_label : "Kiungo mbio"
|
||||
less_than : "Soma kwa dakikia ndogo kuliko"
|
||||
minute_read : "Soma kwa dakika"
|
||||
share_on_label : "Tangaza"
|
||||
meta_label :
|
||||
tags_label : "Alama:"
|
||||
categories_label : "Aina:"
|
||||
date_label : "Geuzi ya mwisho:"
|
||||
comments_label : "Wacha maoni"
|
||||
comments_title : "Maoni"
|
||||
more_label : "Jifunze zaidi"
|
||||
related_label : "Pia, utapenda"
|
||||
follow_label : "Fuata:"
|
||||
feed_label : "Feed"
|
||||
powered_by : "Inatumia"
|
||||
website_label : "Tovuti"
|
||||
email_label : "Barua pepe"
|
||||
recent_posts : "Makala juzi"
|
||||
undefined_wpm : "Ingizo words_per_minute kwa _config.yml haijawekwa"
|
||||
comment_form_info : "Barua pepe yako haitaonekana. Kuna alama kwa ingizo tunahitaji."
|
||||
comment_form_comment_label : "Maoni"
|
||||
comment_form_md_info : "Unaweza kutumia `Markdown`."
|
||||
comment_form_name_label : "Jina"
|
||||
comment_form_email_label : "Barua pepe"
|
||||
comment_form_website_label : "Tovuti (hiari)"
|
||||
comment_btn_submit : "Tuma maoni"
|
||||
comment_btn_submitted : "Umetuma"
|
||||
comment_success_msg : "Asante kwa maoni yako! Itaonekana ikiridhiwa."
|
||||
comment_error_msg : "Pole, kuna makosa kwa ingizo yako. Tafadhali angalia umeandika kwa ingizo zote zinahitaji, na jaribu tena."
|
||||
loading_label : "Inapakiwa..."
|
||||
search_label_text : "Ingiza neno unatafuta..."
|
||||
search_placeholder_text : "Ingiza neno unatafuta..."
|
||||
search_algolia_no_results : "Hakuna matokeo"
|
||||
results_found : "Tumepata"
|
||||
back_to_top : "Rudi juu"
|
||||
sw-KE:
|
||||
<<: *DEFAULT_SW
|
||||
sw-TZ:
|
||||
<<: *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
|
||||
|
||||
# Another locale
|
||||
# --------------
|
||||
#
|
||||
|
||||
@@ -10,23 +10,21 @@
|
||||
{% assign title = post.title %}
|
||||
{% 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">
|
||||
{% if include.type == "grid" and teaser %}
|
||||
<div class="archive__item-teaser">
|
||||
<img src="{{ teaser | relative_url }}" alt="">
|
||||
</div>
|
||||
{% endif %}
|
||||
<h2 class="archive__item-title" itemprop="headline">
|
||||
<h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
{% if post.link %}
|
||||
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink"><i class="fas fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
|
||||
{% else %}
|
||||
<a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
|
||||
{% endif %}
|
||||
</h2>
|
||||
{% if post.read_time %}
|
||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
||||
{% endif %}
|
||||
{% include page__meta.html type=include.type %}
|
||||
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
|
||||
</article>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!--
|
||||
<li>
|
||||
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1,28 +1,22 @@
|
||||
{% assign author = page.author | default: page.authors[0] | default: site.author %}
|
||||
{% assign author = site.data.authors[author] | default: author %}
|
||||
|
||||
<div itemscope itemtype="https://schema.org/Person">
|
||||
<div itemscope itemtype="https://schema.org/Person" class="h-card">
|
||||
|
||||
{% if author.avatar %}
|
||||
<div class="author__avatar">
|
||||
{% if author.home %}
|
||||
<a href="{{ author.home | relative_url }}">
|
||||
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
|
||||
</a>
|
||||
{% else %}
|
||||
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
|
||||
{% endif %}
|
||||
<a href="{{ author.home | default: '/' | absolute_url }}">
|
||||
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image" class="u-photo">
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="author__content">
|
||||
{% if author.home %}
|
||||
<a href="{{ author_link }}"><h3 class="author__name" itemprop="name">{{ author.name }}</h3></a>
|
||||
{% else %}
|
||||
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
|
||||
{% endif %}
|
||||
<h3 class="author__name p-name" itemprop="name">
|
||||
<a class="u-url" rel="me" href="{{ author.home | default: '/' | absolute_url }}" itemprop="url">{{ author.name }}</a>
|
||||
</h3>
|
||||
{% if author.bio %}
|
||||
<div class="author__bio" itemprop="description">
|
||||
<div class="author__bio p-note" itemprop="description">
|
||||
{{ author.bio | markdownify }}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -33,21 +27,21 @@
|
||||
<ul class="author__urls social-icons">
|
||||
{% if author.location %}
|
||||
<li itemprop="homeLocation" itemscope itemtype="https://schema.org/Place">
|
||||
<i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name">{{ author.location }}</span>
|
||||
<i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name" class="p-locality">{{ author.location }}</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.links %}
|
||||
{% for link in author.links %}
|
||||
{% 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><span class="label">{{ link.label }}</span></a></li>
|
||||
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer me"{% if link.url contains 'http' %} itemprop="sameAs"{% endif %}><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i><span class="label">{{ link.label }}</span></a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if author.uri %}
|
||||
<li>
|
||||
<a href="{{ author.uri }}" itemprop="url">
|
||||
<a href="{{ author.uri }}" itemprop="url" rel="me">
|
||||
<i class="fas fa-fw fa-link" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].website_label | default: "Website" }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -55,7 +49,7 @@
|
||||
|
||||
{% if author.email %}
|
||||
<li>
|
||||
<a href="mailto:{{ author.email }}">
|
||||
<a href="mailto:{{ author.email }}" rel="me" class="u-email">
|
||||
<meta itemprop="email" content="{{ author.email }}" />
|
||||
<i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
|
||||
</a>
|
||||
@@ -64,15 +58,15 @@
|
||||
|
||||
{% if author.keybase %}
|
||||
<li>
|
||||
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<i class="fas fa-fw fa-key" aria-hidden="true"></i><span class="label">Keybase</span>
|
||||
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-keybase" aria-hidden="true"></i><span class="label">Keybase</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.twitter %}
|
||||
<li>
|
||||
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i><span class="label">Twitter</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -80,7 +74,7 @@
|
||||
|
||||
{% if author.facebook %}
|
||||
<li>
|
||||
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i><span class="label">Facebook</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -88,7 +82,7 @@
|
||||
|
||||
{% if author.linkedin %}
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span class="label">LinkedIn</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -96,7 +90,7 @@
|
||||
|
||||
{% if author.xing %}
|
||||
<li>
|
||||
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-xing-square" aria-hidden="true"></i><span class="label">XING</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -104,7 +98,7 @@
|
||||
|
||||
{% if author.instagram %}
|
||||
<li>
|
||||
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-instagram" aria-hidden="true"></i><span class="label">Instagram</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -112,7 +106,7 @@
|
||||
|
||||
{% if author.tumblr %}
|
||||
<li>
|
||||
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i><span class="label">Tumblr</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -120,7 +114,7 @@
|
||||
|
||||
{% if author.bitbucket %}
|
||||
<li>
|
||||
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i><span class="label">Bitbucket</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -128,7 +122,7 @@
|
||||
|
||||
{% if author.github %}
|
||||
<li>
|
||||
<a href="https://github.com/{{ author.github }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://github.com/{{ author.github }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-github" aria-hidden="true"></i><span class="label">GitHub</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -136,7 +130,7 @@
|
||||
|
||||
{% if author.gitlab %}
|
||||
<li>
|
||||
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-gitlab" aria-hidden="true"></i><span class="label">GitLab</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -144,7 +138,7 @@
|
||||
|
||||
{% if author.stackoverflow %}
|
||||
<li>
|
||||
<a href="https://stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i><span class="label">Stack Overflow</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -152,7 +146,7 @@
|
||||
|
||||
{% if author.lastfm %}
|
||||
<li>
|
||||
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i><span class="label">Last.fm</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -160,7 +154,7 @@
|
||||
|
||||
{% if author.dribbble %}
|
||||
<li>
|
||||
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-dribbble" aria-hidden="true"></i><span class="label">Dribbble</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -168,7 +162,7 @@
|
||||
|
||||
{% if author.pinterest %}
|
||||
<li>
|
||||
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-pinterest" aria-hidden="true"></i><span class="label">Pinterest</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -176,7 +170,7 @@
|
||||
|
||||
{% if author.foursquare %}
|
||||
<li>
|
||||
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-foursquare" aria-hidden="true"></i><span class="label">Foursquare</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -184,7 +178,7 @@
|
||||
|
||||
{% if author.steam %}
|
||||
<li>
|
||||
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-steam" aria-hidden="true"></i><span class="label">Steam</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -193,13 +187,13 @@
|
||||
{% if author.youtube %}
|
||||
{% if author.youtube contains "://" %}
|
||||
<li>
|
||||
<a href="{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||
</a>
|
||||
</li>
|
||||
{% elsif author.youtube %}
|
||||
<li>
|
||||
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -208,7 +202,7 @@
|
||||
|
||||
{% if author.soundcloud %}
|
||||
<li>
|
||||
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i><span class="label">SoundCloud</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -216,7 +210,7 @@
|
||||
|
||||
{% if author.weibo %}
|
||||
<li>
|
||||
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-weibo" aria-hidden="true"></i><span class="label">Weibo</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -224,7 +218,7 @@
|
||||
|
||||
{% if author.flickr %}
|
||||
<li>
|
||||
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-flickr" aria-hidden="true"></i><span class="label">Flickr</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -232,7 +226,7 @@
|
||||
|
||||
{% if author.codepen %}
|
||||
<li>
|
||||
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-codepen" aria-hidden="true"></i><span class="label">CodePen</span>
|
||||
</a>
|
||||
</li>
|
||||
@@ -240,7 +234,7 @@
|
||||
|
||||
{% if author.vine %}
|
||||
<li>
|
||||
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-vine" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
{% for crumb in crumbs offset: 1 %}
|
||||
{% if forloop.first %}
|
||||
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="{{ site.url }}{{ site.baseurl }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
|
||||
<a href="{{ '/' | relative_url }}" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
|
||||
|
||||
<meta itemprop="position" content="{{ i }}" />
|
||||
</li>
|
||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
||||
@@ -29,7 +30,7 @@
|
||||
{% else %}
|
||||
{% assign i = i | plus: 1 %}
|
||||
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | relative_url }}" itemprop="item"><span itemprop="name">{{ crumb | replace: '-', ' ' | replace: '%20', ' ' | capitalize }}</span></a>
|
||||
<a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | relative_url }}" itemprop="item"><span itemprop="name">{{ crumb | url_decode | replace: '-', ' ' | capitalize }}</span></a>
|
||||
<meta itemprop="position" content="{{ i }}" />
|
||||
</li>
|
||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
<!--[if lt IE 9]>
|
||||
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
|
||||
<![endif]-->
|
||||
@@ -6,20 +6,13 @@
|
||||
{% endcase %}
|
||||
|
||||
{% if site.category_archive.path %}
|
||||
{% comment %}
|
||||
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
||||
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
||||
{% endcomment %}
|
||||
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}|{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
||||
{% assign category_hashes = page_categories | split: ',' | sort %}
|
||||
{% assign categories_sorted = page.categories | sort_natural %}
|
||||
|
||||
<p class="page__taxonomy">
|
||||
<strong><i class="fas fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>
|
||||
<span itemprop="keywords">
|
||||
{% for hash in category_hashes %}
|
||||
{% assign keyValue = hash | split: '|' %}
|
||||
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
||||
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% for category_word in categories_sorted %}
|
||||
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
</p>
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
(function () {
|
||||
var commentContainer = document.querySelector('#giscus-comments');
|
||||
|
||||
if (!commentContainer) {
|
||||
return;
|
||||
}
|
||||
|
||||
var script = document.createElement('script');
|
||||
|
||||
script.setAttribute('src', 'https://giscus.app/client.js');
|
||||
script.setAttribute('data-repo', '{{ site.repository | downcase }}');
|
||||
script.setAttribute('data-repo-id', '{{ site.comments.giscus.repo_id }}');
|
||||
script.setAttribute('data-category', '{{ site.comments.giscus.category_name }}');
|
||||
script.setAttribute('data-category-id', '{{ site.comments.giscus.category_id }}');
|
||||
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-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-lang', '{{ site.comments.giscus.lang | default: "en" }}');
|
||||
{% if site.comments.giscus.lazy %}
|
||||
script.setAttribute('data-loading', 'lazy');
|
||||
{% endif %}
|
||||
script.setAttribute('crossorigin', 'anonymous');
|
||||
|
||||
script.setAttribute('async', '');
|
||||
|
||||
commentContainer.appendChild(script);
|
||||
})();
|
||||
</script>
|
||||
@@ -12,6 +12,8 @@
|
||||
{% include /comments-providers/staticman_v2.html %}
|
||||
{% when "utterances" %}
|
||||
{% include /comments-providers/utterances.html %}
|
||||
{% when "giscus" %}
|
||||
{% include /comments-providers/giscus.html %}
|
||||
{% when "custom" %}
|
||||
{% include /comments-providers/custom_scripts.html %}
|
||||
{% endcase %}
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
script.setAttribute('src', 'https://utteranc.es/client.js');
|
||||
script.setAttribute('repo', '{{ site.repository }}');
|
||||
script.setAttribute('issue-term', '{{ site.comments.utterances.issue_term | default: "pathname" }}');
|
||||
{% if site.comments.utterances.label %}script.setAttribute('label', '{{ site.comments.utterances.label }}');{% endif %}
|
||||
script.setAttribute('theme', '{{ site.comments.utterances.theme | default: "github-light" }}');
|
||||
script.setAttribute('crossorigin', 'anonymous');
|
||||
|
||||
|
||||
+34
-13
@@ -17,14 +17,23 @@
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
||||
{% assign comments = site.data.comments[page.slug] %}
|
||||
|
||||
<!-- In order to sort by date we must have an array of objects, not an array of arrays, so
|
||||
create a new array of plain comment objects and then sort by the comment date. -->
|
||||
{% assign commentObjects = '' | split: '' %}
|
||||
{% for comment in comments %}
|
||||
{% assign commentObject = comment[1] %}
|
||||
{% assign commentObjects = commentObjects | push: commentObject %}
|
||||
{% endfor %}
|
||||
{% assign comments = commentObjects | sort: "date" %}
|
||||
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment[1].email %}
|
||||
{% assign name = comment[1].name %}
|
||||
{% assign url = comment[1].url %}
|
||||
{% assign date = comment[1].date %}
|
||||
{% assign message = comment[1].message %}
|
||||
{% assign email = comment.email %}
|
||||
{% assign name = comment.name %}
|
||||
{% assign url = comment.url %}
|
||||
{% assign date = comment.date %}
|
||||
{% assign message = comment.message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@@ -35,7 +44,7 @@
|
||||
<div class="page__comments-form">
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
||||
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
|
||||
<form id="new_comment" class="page__comments-form js-form form" method="post" action="{{ site.comments.staticman.endpoint | default: 'https://api.staticman.net/v2/entry/' }}{{ site.repository }}/{{ site.comments.staticman.branch }}/comments">
|
||||
<form id="new_comment" class="page__comments-form js-form form" method="post" action="{{ site.comments.staticman.endpoint }}{{ site.repository }}/{{ site.comments.staticman.branch }}/comments">
|
||||
<div class="form__spinner">
|
||||
<i class="fas fa-spinner fa-spin fa-3x fa-fw"></i>
|
||||
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
||||
@@ -91,14 +100,23 @@
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] | sort %}
|
||||
{% assign comments = site.data.comments[page.slug] %}
|
||||
|
||||
<!-- In order to sort by date we must have an array of objects, not an array of arrays, so
|
||||
create a new array of plain comment objects and then sort by the comment date. -->
|
||||
{% assign commentObjects = '' | split: '' %}
|
||||
{% for comment in comments %}
|
||||
{% assign commentObject = comment[1] %}
|
||||
{% assign commentObjects = commentObjects | push: commentObject %}
|
||||
{% endfor %}
|
||||
{% assign comments = commentObjects | sort: "date" %}
|
||||
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment[1].email %}
|
||||
{% assign name = comment[1].name %}
|
||||
{% assign url = comment[1].url %}
|
||||
{% assign date = comment[1].date %}
|
||||
{% assign message = comment[1].message %}
|
||||
{% assign email = comment.email %}
|
||||
{% assign name = comment.name %}
|
||||
{% assign url = comment.url %}
|
||||
{% assign date = comment.date %}
|
||||
{% assign message = comment.message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@@ -153,6 +171,9 @@
|
||||
{% when "utterances" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="utterances-comments"></section>
|
||||
{% when "giscus" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="giscus-comments"></section>
|
||||
{% when "custom" %}
|
||||
{% include /comments-providers/custom.html %}
|
||||
{% endcase %}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<!--
|
||||
Minimal Mistakes Jekyll Theme 4.25.1 by Michael Rose
|
||||
Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
|
||||
Free for personal and commercial use under the MIT license
|
||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||
-->
|
||||
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Minimal Mistakes Jekyll Theme 4.25.1 by Michael Rose
|
||||
* Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
|
||||
* Free for personal and commercial use under the MIT license
|
||||
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||
*/
|
||||
@@ -1,17 +1,11 @@
|
||||
{% assign entries = site[include.collection] %}
|
||||
|
||||
{% if include.sort_by == 'title' %}
|
||||
{% if include.sort_order == 'reverse' %}
|
||||
{% assign entries = entries | sort: 'title' | reverse %}
|
||||
{% else %}
|
||||
{% assign entries = entries | sort: 'title' %}
|
||||
{% endif %}
|
||||
{% elsif include.sort_by == 'date' %}
|
||||
{% if include.sort_order == 'reverse' %}
|
||||
{% assign entries = entries | sort: 'date' | reverse %}
|
||||
{% else %}
|
||||
{% assign entries = entries | sort: 'date' %}
|
||||
{% endif %}
|
||||
{% if include.sort_by %}
|
||||
{% assign entries = entries | sort: include.sort_by %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.sort_order == 'reverse' %}
|
||||
{% assign entries = entries | reverse %}
|
||||
{% endif %}
|
||||
|
||||
{%- for post in entries -%}
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
<figure class="{{ include.class }}">
|
||||
<img src="{{ include.image_path | relative_url }}"
|
||||
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
|
||||
{% if include.caption %}
|
||||
{%- if include.caption -%}
|
||||
<figcaption>
|
||||
{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||
</figcaption>
|
||||
{% endif %}
|
||||
{%- endif -%}
|
||||
</figure>
|
||||
|
||||
@@ -12,8 +12,10 @@
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
|
||||
{% unless site.atom_feed.hide %}
|
||||
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
|
||||
{% endunless %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ 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">© {{ 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>
|
||||
|
||||
+6
-17
@@ -2,9 +2,11 @@
|
||||
|
||||
{% include seo.html %}
|
||||
|
||||
<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">
|
||||
{% unless site.atom_feed.hide %}
|
||||
<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 %}
|
||||
|
||||
<!-- 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">
|
||||
|
||||
<script>
|
||||
@@ -13,21 +15,8 @@
|
||||
|
||||
<!-- For all browsers -->
|
||||
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
||||
|
||||
<!--[if IE]>
|
||||
<style>
|
||||
/* old IE unsupported flexbox fixes */
|
||||
.greedy-nav .site-title {
|
||||
padding-right: 3em;
|
||||
}
|
||||
.greedy-nav button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<![endif]-->
|
||||
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@latest/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||||
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@latest/css/all.min.css"></noscript>
|
||||
|
||||
{% if site.head_scripts %}
|
||||
{% for script in site.head_scripts %}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="masthead__menu">
|
||||
<nav id="site-nav" class="greedy-nav">
|
||||
{% unless logo_path == empty %}
|
||||
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt=""></a>
|
||||
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt="{{ site.masthead_title | default: site.title }}"></a>
|
||||
{% endunless %}
|
||||
<a class="site-title" href="{{ '/' | relative_url }}">
|
||||
{{ site.masthead_title | default: site.title }}
|
||||
@@ -21,9 +21,7 @@
|
||||
{% if site.search == true %}
|
||||
<button class="search__toggle" type="button">
|
||||
<span class="visually-hidden">{{ site.data.ui-text[site.locale].search_label | default: "Toggle search" }}</span>
|
||||
<svg class="icon" width="16" height="16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.99 16">
|
||||
<path d="M15.5,13.12L13.19,10.8a1.69,1.69,0,0,0-1.28-.55l-0.06-.06A6.5,6.5,0,0,0,5.77,0,6.5,6.5,0,0,0,2.46,11.59a6.47,6.47,0,0,0,7.74.26l0.05,0.05a1.65,1.65,0,0,0,.5,1.24l2.38,2.38A1.68,1.68,0,0,0,15.5,13.12ZM6.4,2A4.41,4.41,0,1,1,2,6.4,4.43,4.43,0,0,1,6.4,2Z" transform="translate(-.01)"></path>
|
||||
</svg>
|
||||
<i class="fas fa-search"></i>
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="greedy-nav__toggle hidden" type="button">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
|
||||
{% if page.last_modified_at %}
|
||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: "%B %-d, %Y" }}</time></p>
|
||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time class="dt-published" datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: date_format }}</time></p>
|
||||
{% elsif page.date %}
|
||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %-d, %Y" }}</time></p>
|
||||
{% endif %}
|
||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: date_format }}</time></p>
|
||||
{% endif %}
|
||||
@@ -1,9 +1,13 @@
|
||||
{% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %}
|
||||
|
||||
{% if page.header.overlay_filter contains "rgba" %}
|
||||
{% if page.header.overlay_filter contains "gradient" %}
|
||||
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
||||
{% elsif page.header.overlay_filter contains "rgba" %}
|
||||
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
||||
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
|
||||
{% elsif page.header.overlay_filter %}
|
||||
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
|
||||
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.header.image_description %}
|
||||
@@ -15,7 +19,7 @@
|
||||
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
|
||||
|
||||
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
|
||||
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}), {% endif %}url('{{ overlay_img_path }}');{% endif %}"
|
||||
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}{{ overlay_filter }}, {% endif %}url('{{ overlay_img_path }}');{% endif %}"
|
||||
>
|
||||
{% if page.header.overlay_color or page.header.overlay_image %}
|
||||
<div class="wrapper">
|
||||
@@ -31,9 +35,7 @@
|
||||
{% elsif page.header.show_overlay_excerpt != false and page.excerpt %}
|
||||
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||
{% endif %}
|
||||
{% if page.read_time %}
|
||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
||||
{% endif %}
|
||||
{% 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 %}
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
{% capture video_id %}{{ page.header.video.id }}{% endcapture %}
|
||||
{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %}
|
||||
|
||||
{% include video id=video_id provider=video_provider %}
|
||||
{% assign video = page.header.video %}
|
||||
{% include video id=video.id provider=video.provider danmaku=video.danmaku %}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{% assign document = post | default: page %}
|
||||
{% if document.read_time or document.show_date %}
|
||||
<p class="page__meta">
|
||||
{% if document.show_date and document.date %}
|
||||
{% assign date = document.date %}
|
||||
<span class="page__meta-date">
|
||||
<i class="far {% if include.type == 'grid' and document.read_time and document.show_date %}fa-fw {% endif %}fa-calendar-alt" aria-hidden="true"></i>
|
||||
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
|
||||
<time datetime="{{ date | date_to_xmlschema }}">{{ date | date: date_format }}</time>
|
||||
</span>
|
||||
{% endif %}
|
||||
|
||||
{% if document.read_time and document.show_date %}<span class="page__meta-sep"></span>{% endif %}
|
||||
|
||||
{% if document.read_time %}
|
||||
{% assign words_per_minute = document.words_per_minute | default: site.words_per_minute | default: 200 %}
|
||||
{% assign words = document.content | strip_html | number_of_words %}
|
||||
|
||||
<span class="page__meta-readtime">
|
||||
<i class="far {% if include.type == 'grid' and document.read_time and document.show_date %}fa-fw {% endif %}fa-clock" aria-hidden="true"></i>
|
||||
{% if words < words_per_minute %}
|
||||
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% elsif words == words_per_minute %}
|
||||
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% else %}
|
||||
{{ words | divided_by: words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,15 @@
|
||||
<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">
|
||||
{% assign count = 0 %}
|
||||
{% assign limit = include.limit | default: 4 %}
|
||||
{% for post in include.posts %}
|
||||
{% if post.hidden %}{% continue %}{% endif %}
|
||||
{% if post.id == page.id %}{% continue %}{% endif %}
|
||||
{% if count >= limit %}{% break %}{% endif %}
|
||||
{% assign count = count | plus: 1 %}
|
||||
{% include archive-single.html type="grid" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,6 +1,7 @@
|
||||
{% if paginator.total_pages > 1 %}
|
||||
<nav class="pagination">
|
||||
{% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | relative_url %}
|
||||
{% 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 %}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
{% assign words_per_minute = page.words_per_minute | default: site.words_per_minute | default: 200 %}
|
||||
|
||||
{% if post.read_time %}
|
||||
{% assign words = post.content | strip_html | number_of_words %}
|
||||
{% elsif page.read_time %}
|
||||
{% assign words = page.content | strip_html | number_of_words %}
|
||||
{% endif %}
|
||||
|
||||
{% if words < words_per_minute %}
|
||||
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% elsif words == words_per_minute %}
|
||||
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% else %}
|
||||
{{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
|
||||
{% endif %}
|
||||
@@ -4,7 +4,6 @@
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
||||
<script src="https://kit.fontawesome.com/4eee35f757.js"></script>
|
||||
{% endif %}
|
||||
|
||||
{% if site.search == true or page.layout == "search" %}
|
||||
|
||||
@@ -1,54 +1,82 @@
|
||||
<!-- Including InstantSearch.js library and styling -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css">
|
||||
|
||||
<script>
|
||||
// Instanciating InstantSearch.js with Algolia credentials
|
||||
const search = instantsearch({
|
||||
appId: '{{ site.algolia.application_id }}',
|
||||
apiKey: '{{ site.algolia.search_only_api_key }}',
|
||||
indexName: '{{ site.algolia.index_name }}',
|
||||
searchParameters: {
|
||||
restrictSearchableAttributes: [
|
||||
'title',
|
||||
'content'
|
||||
]
|
||||
}
|
||||
});
|
||||
// Including InstantSearch.js library and styling
|
||||
const loadSearch = function() {
|
||||
const loadCSS = function(src) {
|
||||
var link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.type = 'text/css';
|
||||
link.href = src;
|
||||
link.media = 'all';
|
||||
document.head.appendChild(link);
|
||||
};
|
||||
|
||||
const hitTemplate = function(hit) {
|
||||
const url = hit.url;
|
||||
const title = hit._highlightResult.title.value;
|
||||
const content = hit._highlightResult.html.value;
|
||||
var script = document.createElement('script');
|
||||
script.setAttribute("type", "text/javascript");
|
||||
script.setAttribute("src", "https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js");
|
||||
script.addEventListener("load", function() {
|
||||
// Instantiating InstantSearch.js with Algolia credentials
|
||||
const search = instantsearch({
|
||||
appId: '{{ site.algolia.application_id }}',
|
||||
apiKey: '{{ site.algolia.search_only_api_key }}',
|
||||
indexName: '{{ site.algolia.index_name }}',
|
||||
searchParameters: {
|
||||
restrictSearchableAttributes: ['title', 'content']
|
||||
}
|
||||
});
|
||||
|
||||
return `
|
||||
<div class="list__item">
|
||||
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
|
||||
<div class="archive__item-excerpt" itemprop="description">${content}</div>
|
||||
</article>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
const hitTemplate = function(hit) {
|
||||
const url = hit.url;
|
||||
const hightlight = hit._highlightResult;
|
||||
const title = hightlight.title && hightlight.title.value || "";
|
||||
const content = hightlight.html && hightlight.html.value || "";
|
||||
|
||||
// Adding searchbar and results widgets
|
||||
search.addWidget(
|
||||
instantsearch.widgets.searchBox({
|
||||
container: '.search-searchbar',
|
||||
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
|
||||
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
|
||||
})
|
||||
);
|
||||
search.addWidget(
|
||||
instantsearch.widgets.hits({
|
||||
container: '.search-hits',
|
||||
templates: {
|
||||
item: hitTemplate
|
||||
return `
|
||||
<div class="list__item">
|
||||
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
|
||||
<div class="archive__item-excerpt" itemprop="description">${content}</div>
|
||||
</article>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
// Starting the search
|
||||
search.start();
|
||||
// Adding searchbar and results widgets
|
||||
search.addWidget(
|
||||
instantsearch.widgets.searchBox({
|
||||
container: '.search-searchbar',
|
||||
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
|
||||
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
|
||||
})
|
||||
);
|
||||
search.addWidget(
|
||||
instantsearch.widgets.hits({
|
||||
container: '.search-hits',
|
||||
templates: {
|
||||
item: hitTemplate,
|
||||
empty: '{{ site.data.ui-text[site.locale].search_algolia_no_results | default: "No results" }}',
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
if (!search.started) {
|
||||
search.start();
|
||||
}
|
||||
});
|
||||
document.body.appendChild(script);
|
||||
|
||||
loadCSS("https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css");
|
||||
loadCSS("https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css");
|
||||
};
|
||||
|
||||
// Starting the search only when toggle is clicked
|
||||
$(document).ready(function() {
|
||||
var scriptLoaded = false;
|
||||
|
||||
$(".search__toggle").on("click", function() {
|
||||
if (!scriptLoaded) {
|
||||
loadSearch();
|
||||
scriptLoaded = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
||||
{%- case search_provider -%}
|
||||
{%- when "lunr" -%}
|
||||
<form class="search-content__form" onkeydown="return event.key != 'Enter';">
|
||||
<form class="search-content__form" onkeydown="return event.key != 'Enter';" role="search">
|
||||
<label class="sr-only" for="search">
|
||||
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
||||
</label>
|
||||
@@ -10,7 +10,7 @@
|
||||
</form>
|
||||
<div id="results" class="results"></div>
|
||||
{%- when "google" -%}
|
||||
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
|
||||
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id" role="search">
|
||||
<label class="sr-only" for="cse-search-input-box-id">
|
||||
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
||||
</label>
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
|
||||
{% if author.name %}
|
||||
<meta name="author" content="{{ author.name | default: author }}">
|
||||
{% if og_type == "article" %}
|
||||
<meta property="article:author" content="{{ author.name | default: author }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<meta property="og:type" content="{{ og_type }}">
|
||||
@@ -149,4 +152,7 @@
|
||||
{% if site.naver_site_verification %}
|
||||
<meta name="naver-site-verification" content="{{ site.naver_site_verification }}">
|
||||
{% endif %}
|
||||
{% if site.baidu_site_verification %}
|
||||
<meta name="baidu-site-verification" content="{{ site.baidu_site_verification }}">
|
||||
{% endif %}
|
||||
<!-- end _includes/seo.html -->
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<nav class="skip-links">
|
||||
<h2 class="screen-reader-text">{{ site.data.ui-text[site.locale].skip_links | default: 'Skip links' }}</h2>
|
||||
<ul>
|
||||
<li><a href="#site-nav" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_primary_nav | default: 'Skip to primary navigation' }}</a></li>
|
||||
<li><a href="#main" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_content | default: 'Skip to content' }}</a></li>
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
|
||||
<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.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" 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" 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>
|
||||
</section>
|
||||
|
||||
+3
-10
@@ -6,20 +6,13 @@
|
||||
{% endcase %}
|
||||
|
||||
{% if site.tag_archive.path %}
|
||||
{% comment %}
|
||||
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
||||
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
||||
{% endcomment %}
|
||||
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}|{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
||||
{% assign tag_hashes = page_tags | split: ',' | sort %}
|
||||
{% assign tags_sorted = page.tags | sort_natural %}
|
||||
|
||||
<p class="page__taxonomy">
|
||||
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
|
||||
<span itemprop="keywords">
|
||||
{% for hash in tag_hashes %}
|
||||
{% assign keyValue = hash | split: '|' %}
|
||||
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
||||
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% for tag_word in tags_sorted %}
|
||||
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
</p>
|
||||
|
||||
+135
-42
@@ -1,6 +1,30 @@
|
||||
{% capture tocWorkspace %}
|
||||
{% comment %}
|
||||
Version 1.0.8
|
||||
Copyright (c) 2017 Vladimir "allejo" Jimenez
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
{% endcomment %}
|
||||
{% comment %}
|
||||
Version 1.2.1
|
||||
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
|
||||
@@ -12,85 +36,154 @@
|
||||
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
|
||||
|
||||
Optional Parameters:
|
||||
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
|
||||
* class (string) : '' - a CSS class assigned to the TOC
|
||||
* id (string) : '' - an ID to assigned to the TOC
|
||||
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
||||
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
|
||||
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
|
||||
* item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
|
||||
* baseurl (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
|
||||
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
|
||||
* class (string) : '' - a CSS class assigned to the TOC
|
||||
* id (string) : '' - an ID to assigned to the TOC
|
||||
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
||||
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
|
||||
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
|
||||
* item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
|
||||
* submenu_class (string) : '' - add custom class(es) for each child group of headings; has support for '%level%' placeholder which is the current "submenu" heading level
|
||||
* 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
|
||||
* 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:
|
||||
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
|
||||
generate the table of contents and will NOT output the markdown given to it
|
||||
{% endcomment %}
|
||||
|
||||
{% capture my_toc %}{% endcapture %}
|
||||
{% capture newline %}
|
||||
{% endcapture %}
|
||||
{% assign newline = newline | rstrip %} <!-- Remove the extra spacing but preserve the newline -->
|
||||
|
||||
{% capture deprecation_warnings %}{% endcapture %}
|
||||
|
||||
{% if include.baseurl %}
|
||||
{% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "baseurl" has been deprecated, use "base_url" instead -->{{ newline }}{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.skipNoIDs %}
|
||||
{% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "skipNoIDs" has been deprecated, use "skip_no_ids" instead -->{{ newline }}{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% capture jekyll_toc %}{% endcapture %}
|
||||
{% assign orderedList = include.ordered | default: false %}
|
||||
{% assign flatToc = include.flat_toc | default: false %}
|
||||
{% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
|
||||
{% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
|
||||
{% assign minHeader = include.h_min | default: 1 %}
|
||||
{% assign maxHeader = include.h_max | default: 6 %}
|
||||
{% assign nodes = include.html | split: '<h' %}
|
||||
{% assign firstHeader = true %}
|
||||
{% assign nodes = include.html | strip | split: '<h' %}
|
||||
|
||||
{% capture listModifier %}{% if orderedList %}1.{% else %}-{% endif %}{% endcapture %}
|
||||
{% assign firstHeader = true %}
|
||||
{% assign currLevel = 0 %}
|
||||
{% assign lastLevel = 0 %}
|
||||
|
||||
{% capture listModifier %}{% if orderedList %}ol{% else %}ul{% endif %}{% endcapture %}
|
||||
|
||||
{% for node in nodes %}
|
||||
{% if node == "" %}
|
||||
{% continue %}
|
||||
{% endif %}
|
||||
|
||||
{% assign headerLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
|
||||
{% assign currLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
|
||||
|
||||
{% if headerLevel < minHeader or headerLevel > maxHeader %}
|
||||
{% if currLevel < minHeader or currLevel > maxHeader %}
|
||||
{% continue %}
|
||||
{% endif %}
|
||||
|
||||
{% if firstHeader %}
|
||||
{% assign firstHeader = false %}
|
||||
{% assign minHeader = headerLevel %}
|
||||
{% endif %}
|
||||
|
||||
{% assign indentAmount = headerLevel | minus: minHeader %}
|
||||
{% assign _workspace = node | split: '</h' %}
|
||||
|
||||
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
||||
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
||||
{% assign html_id = _idWorkspace[0] %}
|
||||
{% assign htmlID = _idWorkspace[0] %}
|
||||
|
||||
{% assign _classWorkspace = _workspace[0] | split: 'class="' %}
|
||||
{% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
|
||||
{% assign html_class = _classWorkspace[0] %}
|
||||
{% assign htmlClass = _classWorkspace[0] %}
|
||||
|
||||
{% if html_class contains "no_toc" %}
|
||||
{% if htmlClass contains "no_toc" %}
|
||||
{% continue %}
|
||||
{% endif %}
|
||||
|
||||
{% if firstHeader %}
|
||||
{% assign minHeader = currLevel %}
|
||||
{% endif %}
|
||||
|
||||
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
||||
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
||||
|
||||
{% assign space = '' %}
|
||||
{% for i in (1..indentAmount) %}
|
||||
{% assign space = space | prepend: ' ' %}
|
||||
{% endfor %}
|
||||
{% if include.item_class and include.item_class != blank %}
|
||||
{% capture listItemClass %} class="{{ include.item_class | replace: '%level%', currLevel | split: '.' | join: ' ' }}"{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% unless include.item_class == blank %}
|
||||
{% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
|
||||
{% endunless %}
|
||||
{% if include.submenu_class and include.submenu_class != blank %}
|
||||
{% assign subMenuLevel = currLevel | minus: 1 %}
|
||||
{% capture subMenuClass %} class="{{ include.submenu_class | replace: '%level%', subMenuLevel | split: '.' | join: ' ' }}"{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% capture heading_body %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
|
||||
{% capture my_toc %}{{ my_toc }}
|
||||
{{ space }}{{ listModifier }} {{ listItemClass }} [{{ heading_body | replace: "|", "\|" }}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% if include.anchor_class %}{:.{{ include.anchor_class }}}{% endif %}{% endcapture %}
|
||||
{% capture anchorBody %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
|
||||
|
||||
{% if htmlID %}
|
||||
{% capture anchorAttributes %} href="{% if baseURL %}{{ baseURL }}{% endif %}#{{ htmlID }}"{% endcapture %}
|
||||
|
||||
{% if include.anchor_class %}
|
||||
{% capture anchorAttributes %}{{ anchorAttributes }} class="{{ include.anchor_class | split: '.' | join: ' ' }}"{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% capture listItem %}<a{{ anchorAttributes }}>{{ anchorBody }}</a>{% endcapture %}
|
||||
{% elsif skipNoIDs == true %}
|
||||
{% continue %}
|
||||
{% else %}
|
||||
{% capture listItem %}{{ anchorBody }}{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if currLevel > lastLevel and flatToc == false %}
|
||||
{% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
|
||||
{% elsif currLevel < lastLevel and flatToc == false %}
|
||||
{% assign repeatCount = lastLevel | minus: currLevel %}
|
||||
|
||||
{% for i in (1..repeatCount) %}
|
||||
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
|
||||
{% endfor %}
|
||||
|
||||
{% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
|
||||
{% else %}
|
||||
{% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% capture jekyll_toc %}{{ jekyll_toc }}<li{{ listItemClass }}>{{ listItem }}{% endcapture %}
|
||||
|
||||
{% assign lastLevel = currLevel %}
|
||||
{% assign firstHeader = false %}
|
||||
{% endfor %}
|
||||
|
||||
{% if include.class %}
|
||||
{% capture my_toc %}{:.{{ include.class }}}
|
||||
{{ my_toc | lstrip }}{% endcapture %}
|
||||
{% if flatToc == true %}
|
||||
{% assign repeatCount = 1 %}
|
||||
{% else %}
|
||||
{% assign repeatCount = minHeader | minus: 1 %}
|
||||
{% assign repeatCount = lastLevel | minus: repeatCount %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.id %}
|
||||
{% capture my_toc %}{: #{{ include.id }}}
|
||||
{{ my_toc | lstrip }}{% endcapture %}
|
||||
{% for i in (1..repeatCount) %}
|
||||
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
|
||||
{% endfor %}
|
||||
|
||||
{% if jekyll_toc != '' %}
|
||||
{% assign rootAttributes = '' %}
|
||||
{% if include.class and include.class != blank %}
|
||||
{% capture rootAttributes %} class="{{ include.class | split: '.' | join: ' ' }}"{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.id and include.id != blank %}
|
||||
{% capture rootAttributes %}{{ rootAttributes }} id="{{ include.id }}"{% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if rootAttributes %}
|
||||
{% assign nodes = jekyll_toc | split: '>' %}
|
||||
{% capture jekyll_toc %}<{{ listModifier }}{{ rootAttributes }}>{{ nodes | shift | join: '>' }}>{% endcapture %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
|
||||
{% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc -}}
|
||||
|
||||
+21
-12
@@ -1,15 +1,24 @@
|
||||
{% capture video_id %}{{ include.id }}{% endcapture %}
|
||||
{% capture video_provider %}{{ include.provider }}{% endcapture %}
|
||||
{% capture video_danmaku %}{{ include.danmaku | default: 0 }}{% endcapture %}
|
||||
|
||||
<!-- Courtesy of embedresponsively.com //-->
|
||||
<div class="responsive-video-container">
|
||||
{% if video_provider == "vimeo" %}
|
||||
<iframe src="https://player.vimeo.com/video/{{ video_id }}?dnt=true" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
|
||||
{% elsif video_provider == "youtube" %}
|
||||
<iframe src="https://www.youtube-nocookie.com/embed/{{ video_id }}" frameborder="0" allowfullscreen></iframe>
|
||||
{% elsif video_provider == "google-drive" %}
|
||||
<iframe src="https://drive.google.com/file/d/{{ video_id }}/preview" frameborder="0" allowfullscreen></iframe>
|
||||
{% elsif video_provider == "bilibili" %}
|
||||
<iframe src="https://player.bilibili.com/player.html?bvid={{ video_id }}&page=1&as_wide=1&high_quality=1&danmaku=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% capture video_src %}
|
||||
{% case video_provider %}
|
||||
{% when "vimeo" %}
|
||||
https://player.vimeo.com/video/{{ video_id }}?dnt=true
|
||||
{% when "youtube" %}
|
||||
https://www.youtube-nocookie.com/embed/{{ video_id }}
|
||||
{% when "google-drive" %}
|
||||
https://drive.google.com/file/d/{{ video_id }}/preview
|
||||
{% when "bilibili" %}
|
||||
https://player.bilibili.com/player.html?bvid={{ video_id }}&page=1&as_wide=1&high_quality=1&danmaku={{ video_danmaku }}
|
||||
{% endcase %}
|
||||
{% endcapture %}
|
||||
{% assign video_src = video_src | strip %}
|
||||
|
||||
<!-- Courtesy of embedresponsively.com -->
|
||||
{% unless video_src == "" %}
|
||||
<div class="responsive-video-container">
|
||||
<iframe src="{{ video_src }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
{% endunless %}
|
||||
|
||||
@@ -25,14 +25,15 @@ layout: archive
|
||||
{% 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 | downcase }}" class="taxonomy__section">
|
||||
<section id="{{ category[0] | slugify }}" class="taxonomy__section">
|
||||
<h2 class="archive__subtitle">{{ category[0] }}</h2>
|
||||
<div class="entries-{{ page.entries_layout | default: 'list' }}">
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% for post in category.last %}
|
||||
{% include archive-single.html type=page.entries_layout %}
|
||||
{% 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>
|
||||
|
||||
@@ -4,6 +4,7 @@ layout: archive
|
||||
|
||||
{{ content }}
|
||||
|
||||
<div class="entries-{{ page.entries_layout }}">
|
||||
{% include posts-category.html taxonomy=page.taxonomy type=page.entries_layout %}
|
||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% include posts-category.html taxonomy=page.taxonomy type=entries_layout %}
|
||||
</div>
|
||||
|
||||
@@ -4,6 +4,7 @@ layout: archive
|
||||
|
||||
{{ content }}
|
||||
|
||||
<div class="entries-{{ page.entries_layout }}">
|
||||
{% include documents-collection.html collection=page.collection sort_by=page.sort_by sort_order=page.sort_order type=page.entries_layout %}
|
||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% include documents-collection.html collection=page.collection sort_by=page.sort_by sort_order=page.sort_order type=entries_layout %}
|
||||
</div>
|
||||
|
||||
@@ -2,12 +2,7 @@
|
||||
---
|
||||
|
||||
<!doctype html>
|
||||
<!--
|
||||
Minimal Mistakes Jekyll Theme 4.19.3 by Michael Rose
|
||||
Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
|
||||
Free for personal and commercial use under the MIT license
|
||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||
-->
|
||||
{% include copyright.html %}
|
||||
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
|
||||
<head>
|
||||
{% include head.html %}
|
||||
@@ -16,11 +11,11 @@
|
||||
|
||||
<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_cached browser-upgrade.html %}
|
||||
{% include_cached masthead.html %}
|
||||
|
||||
<div class="initial-content">
|
||||
{{ content }}
|
||||
{% include after-content.html %}
|
||||
</div>
|
||||
|
||||
{% if site.search == true %}
|
||||
@@ -37,6 +32,5 @@
|
||||
</div>
|
||||
|
||||
{% include scripts.html %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+6
-3
@@ -12,8 +12,11 @@ layout: archive
|
||||
{% assign posts = site.posts %}
|
||||
{% endif %}
|
||||
|
||||
{% for post in posts %}
|
||||
{% include archive-single.html %}
|
||||
{% endfor %}
|
||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% for post in posts %}
|
||||
{% include archive-single.html type=entries_layout %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% include paginator.html %}
|
||||
|
||||
+5
-4
@@ -5,7 +5,7 @@ layout: archive
|
||||
{{ content }}
|
||||
|
||||
<ul class="taxonomy__index">
|
||||
{% assign postsInYear = site.posts | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
||||
{% assign postsInYear = site.posts | where_exp: "item", "item.hidden != true" | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
||||
{% for year in postsInYear %}
|
||||
<li>
|
||||
<a href="#{{ year.name }}">
|
||||
@@ -15,13 +15,14 @@ layout: archive
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% assign postsByYear = site.posts | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||
{% assign postsByYear = site.posts | where_exp: "item", "item.hidden != true" | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
||||
{% for year in postsByYear %}
|
||||
<section id="{{ year.name }}" class="taxonomy__section">
|
||||
<h2 class="archive__subtitle">{{ year.name }}</h2>
|
||||
<div class="entries-{{ page.entries_layout | default: 'list' }}">
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% for post in year.items %}
|
||||
{% include archive-single.html type=page.entries_layout %}
|
||||
{% 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>
|
||||
|
||||
@@ -25,11 +25,11 @@ layout: default
|
||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
||||
{%- case search_provider -%}
|
||||
{%- when "lunr" -%}
|
||||
<input type="text" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||
<input type="text" id="search" class="search-input" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||
<div id="results" class="results"></div>
|
||||
{%- when "google" -%}
|
||||
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
|
||||
<input type="text" id="cse-search-input-box-id" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||
<input type="text" id="cse-search-input-box-id" class="search-input" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||
</form>
|
||||
<div id="results" class="results">
|
||||
<gcse:searchresults-only></gcse:searchresults-only>
|
||||
|
||||
+14
-27
@@ -8,7 +8,11 @@ layout: default
|
||||
{% include page__hero_video.html %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.url != "/" and site.breadcrumbs %}
|
||||
{% assign breadcrumbs_enabled = site.breadcrumbs %}
|
||||
{% if page.breadcrumbs != null %}
|
||||
{% assign breadcrumbs_enabled = page.breadcrumbs %}
|
||||
{% endif %}
|
||||
{% if page.url != "/" and breadcrumbs_enabled %}
|
||||
{% unless paginator %}
|
||||
{% include breadcrumbs.html %}
|
||||
{% endunless %}
|
||||
@@ -17,7 +21,7 @@ layout: default
|
||||
<div id="main" role="main">
|
||||
{% include sidebar.html %}
|
||||
|
||||
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<article class="page h-entry" 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 %}
|
||||
@@ -26,19 +30,19 @@ layout: default
|
||||
<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 %}
|
||||
{% if page.read_time %}
|
||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
||||
{% endif %}
|
||||
{% if page.title %}<h1 id="page-title" class="page__title p-name" itemprop="headline">
|
||||
<a href="{{ page.url | absolute_url }}" class="u-url" itemprop="url">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</a>
|
||||
</h1>{% endif %}
|
||||
{% include page__meta.html %}
|
||||
</header>
|
||||
{% endunless %}
|
||||
|
||||
<section class="page__content" itemprop="text">
|
||||
<section class="page__content e-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" %}
|
||||
{% include toc.html sanitize=true html=content h_min=1 h_max=6 class="toc__menu" skip_no_ids=true %}
|
||||
</nav>
|
||||
</aside>
|
||||
{% endif %}
|
||||
@@ -66,26 +70,9 @@ layout: default
|
||||
|
||||
{% 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">
|
||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||
<div class="grid__wrapper">
|
||||
{% for post in site.related_posts limit:4 %}
|
||||
{% include archive-single.html type="grid" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% include page__related.html posts=site.related_posts %}
|
||||
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
||||
{% elsif page.id and page.related %}
|
||||
<div class="page__related">
|
||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||
<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>
|
||||
{% include page__related.html posts=site.posts %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
+3
-2
@@ -4,6 +4,7 @@ layout: archive
|
||||
|
||||
{{ content }}
|
||||
|
||||
<div class="entries-{{ page.entries_layout | default: 'list' }}">
|
||||
{% include posts-tag.html taxonomy=page.taxonomy type=page.entries_layout %}
|
||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% include posts-tag.html taxonomy=page.taxonomy type=entries_layout %}
|
||||
</div>
|
||||
|
||||
+3
-2
@@ -25,14 +25,15 @@ layout: archive
|
||||
{% 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-{{ page.entries_layout | default: 'list' }}">
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% for post in tag.last %}
|
||||
{% include archive-single.html type=page.entries_layout %}
|
||||
{% 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>
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
/*!
|
||||
* Minimal Mistakes Jekyll Theme 4.19.3 by Michael Rose
|
||||
* Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
|
||||
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE)
|
||||
*/
|
||||
/* Copyright comment */
|
||||
@import "minimal-mistakes/copyright";
|
||||
|
||||
/* Variables */
|
||||
@import "minimal-mistakes/variables";
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
}
|
||||
|
||||
.archive__subtitle {
|
||||
margin: 1.414em 0 0;
|
||||
margin: 1.414em 0 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
font-size: $type-size-5;
|
||||
color: $muted-text-color;
|
||||
@@ -201,6 +201,14 @@
|
||||
font-size: 0.6em;
|
||||
}
|
||||
|
||||
.page__meta-sep {
|
||||
display: block;
|
||||
|
||||
&::before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__item-title {
|
||||
margin-top: 0.5em;
|
||||
font-size: $type-size-5;
|
||||
|
||||
@@ -160,24 +160,6 @@ pre {
|
||||
overflow-x: auto; /* add scrollbars to wide code blocks*/
|
||||
}
|
||||
|
||||
p > code,
|
||||
a > code,
|
||||
li > code,
|
||||
figcaption > code,
|
||||
td > code {
|
||||
padding-top: 0.1rem;
|
||||
padding-bottom: 0.1rem;
|
||||
font-size: 0.8em;
|
||||
background: $code-background-color;
|
||||
border-radius: $border-radius;
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
letter-spacing: -0.2em;
|
||||
content: "\00a0"; /* non-breaking space*/
|
||||
}
|
||||
}
|
||||
|
||||
/* horizontal rule */
|
||||
|
||||
hr {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* Minimal Mistakes Jekyll Theme 4.25.1 by Michael Rose
|
||||
* Copyright 2013-2024 Michael Rose - mademistakes.com | @mmistakes
|
||||
* Free for personal and commercial use under the MIT license
|
||||
* https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||
*/
|
||||
@@ -8,7 +8,6 @@
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
margin-top: 3em;
|
||||
color: $muted-text-color;
|
||||
-webkit-animation: $intro-transition;
|
||||
|
||||
@@ -357,37 +357,3 @@ select:focus {
|
||||
left: 50%;
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
/*
|
||||
Google search form
|
||||
========================================================================== */
|
||||
|
||||
#goog-fixurl {
|
||||
ul {
|
||||
list-style: none;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
li {
|
||||
list-style-type: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#goog-wm-qt {
|
||||
width: auto;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 20px;
|
||||
padding: 8px 20px;
|
||||
display: inline-block;
|
||||
font-size: $type-size-6;
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
border-width: 2px !important;
|
||||
border-style: solid !important;
|
||||
border-color: $border-color;
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
|
||||
#goog-wm-sb {
|
||||
@extend .btn;
|
||||
}
|
||||
|
||||
@@ -184,6 +184,8 @@
|
||||
margin: 0 1rem;
|
||||
color: $masthead-link-color;
|
||||
text-decoration: none;
|
||||
-webkit-transition: none;
|
||||
transition: none;
|
||||
|
||||
&:hover {
|
||||
color: $masthead-link-color-hover;
|
||||
@@ -199,6 +201,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
-webkit-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
&__toggle {
|
||||
-ms-flex-item-align: center;
|
||||
align-self: center;
|
||||
|
||||
@@ -13,17 +13,18 @@
|
||||
@mixin notice($notice-color) {
|
||||
margin: 2em 0 !important; /* override*/
|
||||
padding: 1em;
|
||||
color: $dark-gray;
|
||||
color: $text-color;
|
||||
font-family: $global-font-family;
|
||||
font-size: $type-size-6 !important;
|
||||
text-indent: initial; /* override*/
|
||||
background-color: mix(#fff, $notice-color, 90%);
|
||||
background-color: mix($background-color, $notice-color, $notice-background-mix);
|
||||
border-radius: $border-radius;
|
||||
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
|
||||
|
||||
h4 {
|
||||
margin-top: 0 !important; /* override*/
|
||||
margin-bottom: 0.75em;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
@at-root .page__content #{&} h4 {
|
||||
@@ -45,15 +46,19 @@
|
||||
}
|
||||
|
||||
a {
|
||||
color: $notice-color;
|
||||
color: mix(#000, $notice-color, 10%);
|
||||
|
||||
&:hover {
|
||||
color: mix(#000, $notice-color, 40%);
|
||||
color: mix(#000, $notice-color, 50%);
|
||||
}
|
||||
}
|
||||
|
||||
@at-root #{selector-unify(&, "blockquote")} {
|
||||
border-left-color: mix(#000, $notice-color, 10%);
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: mix(#fff, $notice-color, 95%)
|
||||
background-color: mix($background-color, $notice-color, $code-notice-background-mix)
|
||||
}
|
||||
|
||||
pre code {
|
||||
|
||||
@@ -72,6 +72,11 @@ body {
|
||||
margin-top: 0;
|
||||
line-height: 1;
|
||||
|
||||
a {
|
||||
color: $text-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
& + .page__meta {
|
||||
margin-top: -0.5em;
|
||||
}
|
||||
@@ -134,6 +139,20 @@ body {
|
||||
}
|
||||
}
|
||||
|
||||
:not(pre) > code {
|
||||
padding-top: 0.1rem;
|
||||
padding-bottom: 0.1rem;
|
||||
font-size: 0.8em;
|
||||
background: $code-background-color;
|
||||
border-radius: $border-radius;
|
||||
|
||||
&::before,
|
||||
&::after {
|
||||
letter-spacing: -0.2em;
|
||||
content: "\00a0"; /* non-breaking space*/
|
||||
}
|
||||
}
|
||||
|
||||
dt {
|
||||
margin-top: 1em;
|
||||
font-family: $sans-serif;
|
||||
@@ -299,6 +318,12 @@ body {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.page__meta-sep::before {
|
||||
content: "\2022";
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
/*
|
||||
Page taxonomy
|
||||
========================================================================== */
|
||||
|
||||
@@ -89,6 +89,13 @@
|
||||
position: sticky;
|
||||
top: 2em;
|
||||
float: right;
|
||||
|
||||
.toc {
|
||||
.toc__menu {
|
||||
overflow-y: auto;
|
||||
max-height: calc(100vh - 7em);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,7 +192,6 @@
|
||||
vertical-align: middle;
|
||||
font-family: $sans-serif;
|
||||
z-index: 20;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
|
||||
li:last-child {
|
||||
|
||||
@@ -118,6 +118,10 @@ $masthead-link-color: $primary-color !default;
|
||||
$masthead-link-color-hover: mix(#000, $primary-color, 25%) !default;
|
||||
$navicon-link-color-hover: mix(#fff, $primary-color, 75%) !default;
|
||||
|
||||
/* notices */
|
||||
$notice-background-mix: 80% !default;
|
||||
$code-notice-background-mix: 90% !default;
|
||||
|
||||
/* syntax highlighting (base16) */
|
||||
$base00: #263238 !default;
|
||||
$base01: #2e3c43 !default;
|
||||
|
||||
@@ -27,4 +27,8 @@ $link-color : $info-color !default;
|
||||
$link-color-hover : mix(#000, $link-color, 25%) !default;
|
||||
$link-color-visited : mix(#fff, $link-color, 25%) !default;
|
||||
$masthead-link-color : $primary-color !default;
|
||||
$masthead-link-color-hover : mix(#000, $primary-color, 25%) !default;
|
||||
$masthead-link-color-hover : mix(#000, $primary-color, 25%) !default;
|
||||
|
||||
/* notices */
|
||||
$notice-background-mix: 90% !default;
|
||||
$code-notice-background-mix: 95% !default;
|
||||
|
||||
@@ -46,6 +46,7 @@ $base0f: #b18a3d !default;
|
||||
color: #fff !important; // override
|
||||
}
|
||||
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
.page__footer-follow .social-icons i,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
@@ -18,11 +18,13 @@ $masthead-link-color: $text-color !default;
|
||||
$masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
|
||||
$navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
|
||||
|
||||
.author__urls.social-icons i,
|
||||
.author__urls.social-icons .svg-inline--fa,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
.page__footer-follow .social-icons i,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.ais-search-box .ais-search-box--input {
|
||||
background-color: $form-background-color;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ $navicon-link-color-hover: mix(#fff, $text-color, 80%) !default;
|
||||
color: #fff !important; // override
|
||||
}
|
||||
|
||||
.page__footer-follow .social-icons i,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,10 @@ $masthead-link-color: $text-color !default;
|
||||
$masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
|
||||
$navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
|
||||
|
||||
/* notices */
|
||||
$notice-background-mix: 90% !default;
|
||||
$code-notice-background-mix: 95% !default;
|
||||
|
||||
/* neon syntax highlighting (base16) */
|
||||
$base00: #ffffff !default;
|
||||
$base01: #e0e0e0 !default;
|
||||
@@ -36,8 +40,10 @@ $base0d: #3777e6 !default;
|
||||
$base0e: #ad00a1 !default;
|
||||
$base0f: #cc6633 !default;
|
||||
|
||||
.author__urls.social-icons i,
|
||||
.author__urls.social-icons .svg-inline--fa,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
.page__footer-follow .social-icons i,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,10 @@ $masthead-link-color: $text-color !default;
|
||||
$masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
|
||||
$navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
|
||||
|
||||
/* notices */
|
||||
$notice-background-mix: 70% !default;
|
||||
$code-notice-background-mix: 80% !default;
|
||||
|
||||
/* plum syntax highlighting (base16) */
|
||||
$base00: #ffffff !default;
|
||||
$base01: #e0e0e0 !default;
|
||||
@@ -36,8 +40,10 @@ $base0d: #3777e6 !default;
|
||||
$base0e: #ad00a1 !default;
|
||||
$base0f: #cc6633 !default;
|
||||
|
||||
.author__urls.social-icons i,
|
||||
.author__urls.social-icons .svg-inline--fa,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
.page__footer-follow .social-icons i,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,9 @@ $masthead-link-color: $text-color !default;
|
||||
$masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
|
||||
$navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
|
||||
|
||||
/* notices */
|
||||
$notice-background-mix: 75% !default;
|
||||
|
||||
/* sunrise syntax highlighting (base16) */
|
||||
$base00: #1d1f21 !default;
|
||||
$base01: #282a2e !default;
|
||||
@@ -38,7 +41,9 @@ $base0d: #81a2be !default;
|
||||
$base0e: #b294bb !default;
|
||||
$base0f: #a3685a !default;
|
||||
|
||||
.author__urls.social-icons .fa,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
.author__urls.social-icons i,
|
||||
.author__urls.social-icons .svg-inline--fa,
|
||||
.page__footer-follow .social-icons i,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
# Only the main Sass file needs front matter (the dashes are enough)
|
||||
search: false
|
||||
---
|
||||
|
||||
@charset "utf-8";
|
||||
|
||||
+9
-9
@@ -2,16 +2,16 @@
|
||||
jQuery plugin settings and other scripts
|
||||
========================================================================== */
|
||||
|
||||
$(document).ready(function() {
|
||||
$(function() {
|
||||
// FitVids init
|
||||
$("#main").fitVids();
|
||||
|
||||
// Sticky sidebar
|
||||
var stickySideBar = function() {
|
||||
var show =
|
||||
$(".author__urls-wrapper button").length === 0
|
||||
$(".author__urls-wrapper").find("button").length === 0
|
||||
? $(window).width() > 1024 // width should match $large Sass variable
|
||||
: !$(".author__urls-wrapper button").is(":visible");
|
||||
: !$(".author__urls-wrapper").find("button").is(":visible");
|
||||
if (show) {
|
||||
// fix
|
||||
$(".sidebar").addClass("sticky");
|
||||
@@ -28,9 +28,9 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
// Follow menu drop down
|
||||
$(".author__urls-wrapper button").on("click", function() {
|
||||
$(".author__urls-wrapper").find("button").on("click", function() {
|
||||
$(".author__urls").toggleClass("is--visible");
|
||||
$(".author__urls-wrapper button").toggleClass("open");
|
||||
$(".author__urls-wrapper").find("button").toggleClass("open");
|
||||
});
|
||||
|
||||
// Close search screen with Esc key
|
||||
@@ -49,7 +49,7 @@ $(document).ready(function() {
|
||||
$(".initial-content").toggleClass("is--hidden");
|
||||
// set focus on input
|
||||
setTimeout(function() {
|
||||
$(".search-content input").focus();
|
||||
$(".search-content").find("input").focus();
|
||||
}, 400);
|
||||
});
|
||||
|
||||
@@ -83,8 +83,8 @@ $(document).ready(function() {
|
||||
|
||||
// add lightbox class to all image links
|
||||
$(
|
||||
"a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif']"
|
||||
).addClass("image-popup");
|
||||
"a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif'],a[href$='.webp']"
|
||||
).has("> img").addClass("image-popup");
|
||||
|
||||
// Magnific-Popup options
|
||||
$(".image-popup").magnificPopup({
|
||||
@@ -128,7 +128,7 @@ $(document).ready(function() {
|
||||
var anchor = document.createElement("a");
|
||||
anchor.className = 'header-link';
|
||||
anchor.href = '#' + id;
|
||||
anchor.innerHTML = '<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>';
|
||||
anchor.innerHTML = '<span class=\"sr-only\">Permalink</span><i class=\"fas fa-link\"></i>';
|
||||
anchor.title = "Permalink";
|
||||
$(this).append(anchor);
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: null
|
||||
layout: none
|
||||
---
|
||||
|
||||
var idx = lunr(function () {
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: null
|
||||
layout: none
|
||||
---
|
||||
|
||||
step1list = new Array();
|
||||
|
||||
Vendored
+39
-4
@@ -1,5 +1,5 @@
|
||||
---
|
||||
layout: null
|
||||
layout: none
|
||||
---
|
||||
|
||||
var store = [
|
||||
@@ -42,8 +42,43 @@ var store = [
|
||||
{%- endif -%}
|
||||
"categories": {{ doc.categories | jsonify }},
|
||||
"tags": {{ doc.tags | jsonify }},
|
||||
"url": {{ doc.url | absolute_url | jsonify }},
|
||||
"teaser": {{ teaser | absolute_url | jsonify }}
|
||||
"url": {{ doc.url | relative_url | jsonify }},
|
||||
"teaser": {{ teaser | relative_url | jsonify }}
|
||||
}{%- unless forloop.last and l -%},{%- endunless -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}]
|
||||
{%- endfor -%}{%- if site.lunr.search_within_pages -%},
|
||||
{%- assign pages = site.pages | where_exp: 'doc', 'doc.search != false' | where_exp: 'doc', 'doc.title != null' -%}
|
||||
{%- for doc in pages -%}
|
||||
{%- if forloop.last -%}
|
||||
{%- assign l = true -%}
|
||||
{%- endif -%}
|
||||
{
|
||||
"title": {{ doc.title | jsonify }},
|
||||
"excerpt":
|
||||
{%- if site.search_full_content == true -%}
|
||||
{{ doc.content | newline_to_br |
|
||||
replace:"<br />", " " |
|
||||
replace:"</p>", " " |
|
||||
replace:"</h1>", " " |
|
||||
replace:"</h2>", " " |
|
||||
replace:"</h3>", " " |
|
||||
replace:"</h4>", " " |
|
||||
replace:"</h5>", " " |
|
||||
replace:"</h6>", " "|
|
||||
strip_html | strip_newlines | jsonify }},
|
||||
{%- else -%}
|
||||
{{ doc.content | newline_to_br |
|
||||
replace:"<br />", " " |
|
||||
replace:"</p>", " " |
|
||||
replace:"</h1>", " " |
|
||||
replace:"</h2>", " " |
|
||||
replace:"</h3>", " " |
|
||||
replace:"</h4>", " " |
|
||||
replace:"</h5>", " " |
|
||||
replace:"</h6>", " "|
|
||||
strip_html | strip_newlines | truncatewords: 50 | jsonify }},
|
||||
{%- endif -%}
|
||||
"url": {{ doc.url | absolute_url | jsonify }}
|
||||
}{%- unless forloop.last and l -%},{%- endunless -%}
|
||||
{%- endfor -%}
|
||||
{%- endif -%}]
|
||||
|
||||
Vendored
+67
-76
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.5
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
@@ -54,10 +54,10 @@ var lunr = function (config) {
|
||||
return builder.build()
|
||||
}
|
||||
|
||||
lunr.version = "2.3.5"
|
||||
lunr.version = "2.3.9"
|
||||
/*!
|
||||
* lunr.utils
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -177,7 +177,7 @@ lunr.FieldRef.prototype.toString = function () {
|
||||
}
|
||||
/*!
|
||||
* lunr.Set
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -211,8 +211,8 @@ lunr.Set.complete = {
|
||||
return other
|
||||
},
|
||||
|
||||
union: function (other) {
|
||||
return other
|
||||
union: function () {
|
||||
return this
|
||||
},
|
||||
|
||||
contains: function () {
|
||||
@@ -389,7 +389,7 @@ lunr.Token.prototype.clone = function (fn) {
|
||||
}
|
||||
/*!
|
||||
* lunr.tokenizer
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -424,7 +424,7 @@ lunr.tokenizer = function (obj, metadata) {
|
||||
})
|
||||
}
|
||||
|
||||
var str = obj.toString().trim().toLowerCase(),
|
||||
var str = obj.toString().toLowerCase(),
|
||||
len = str.length,
|
||||
tokens = []
|
||||
|
||||
@@ -465,7 +465,7 @@ lunr.tokenizer = function (obj, metadata) {
|
||||
lunr.tokenizer.separator = /[\s\-]+/
|
||||
/*!
|
||||
* lunr.Pipeline
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -509,8 +509,8 @@ lunr.Pipeline.registeredFunctions = Object.create(null)
|
||||
* or mutate (or add) metadata for a given token.
|
||||
*
|
||||
* A pipeline function can indicate that the passed token should be discarded by returning
|
||||
* null. This token will not be passed to any downstream pipeline functions and will not be
|
||||
* added to the index.
|
||||
* null, undefined or an empty string. This token will not be passed to any downstream pipeline
|
||||
* functions and will not be added to the index.
|
||||
*
|
||||
* Multiple tokens can be returned by returning an array of tokens. Each token will be passed
|
||||
* to any downstream pipeline functions and all will returned tokens will be added to the index.
|
||||
@@ -673,7 +673,7 @@ lunr.Pipeline.prototype.run = function (tokens) {
|
||||
for (var j = 0; j < tokens.length; j++) {
|
||||
var result = fn(tokens[j], j, tokens)
|
||||
|
||||
if (result === void 0 || result === '') continue
|
||||
if (result === null || result === void 0 || result === '') continue
|
||||
|
||||
if (Array.isArray(result)) {
|
||||
for (var k = 0; k < result.length; k++) {
|
||||
@@ -732,7 +732,7 @@ lunr.Pipeline.prototype.toJSON = function () {
|
||||
}
|
||||
/*!
|
||||
* lunr.Vector
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -929,7 +929,7 @@ lunr.Vector.prototype.toJSON = function () {
|
||||
/* eslint-disable */
|
||||
/*!
|
||||
* lunr.stemmer
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
* Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
|
||||
*/
|
||||
|
||||
@@ -1151,7 +1151,7 @@ lunr.stemmer = (function(){
|
||||
lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')
|
||||
/*!
|
||||
* lunr.stopWordFilter
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -1316,7 +1316,7 @@ lunr.stopWordFilter = lunr.generateStopWordFilter([
|
||||
lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')
|
||||
/*!
|
||||
* lunr.trimmer
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -1343,7 +1343,7 @@ lunr.trimmer = function (token) {
|
||||
lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')
|
||||
/*!
|
||||
* lunr.TokenSet
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -1469,41 +1469,49 @@ lunr.TokenSet.fromFuzzyString = function (str, editDistance) {
|
||||
})
|
||||
}
|
||||
|
||||
if (frame.editsRemaining == 0) {
|
||||
continue
|
||||
}
|
||||
|
||||
// insertion
|
||||
if ("*" in frame.node.edges) {
|
||||
var insertionNode = frame.node.edges["*"]
|
||||
} else {
|
||||
var insertionNode = new lunr.TokenSet
|
||||
frame.node.edges["*"] = insertionNode
|
||||
}
|
||||
|
||||
if (frame.str.length == 0) {
|
||||
insertionNode.final = true
|
||||
}
|
||||
|
||||
stack.push({
|
||||
node: insertionNode,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: frame.str
|
||||
})
|
||||
|
||||
// deletion
|
||||
// can only do a deletion if we have enough edits remaining
|
||||
// and if there are characters left to delete in the string
|
||||
if (frame.editsRemaining > 0 && frame.str.length > 1) {
|
||||
var char = frame.str.charAt(1),
|
||||
deletionNode
|
||||
|
||||
if (char in frame.node.edges) {
|
||||
deletionNode = frame.node.edges[char]
|
||||
} else {
|
||||
deletionNode = new lunr.TokenSet
|
||||
frame.node.edges[char] = deletionNode
|
||||
}
|
||||
|
||||
if (frame.str.length <= 2) {
|
||||
deletionNode.final = true
|
||||
} else {
|
||||
stack.push({
|
||||
node: deletionNode,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: frame.str.slice(2)
|
||||
})
|
||||
}
|
||||
if (frame.str.length > 1) {
|
||||
stack.push({
|
||||
node: frame.node,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: frame.str.slice(1)
|
||||
})
|
||||
}
|
||||
|
||||
// deletion
|
||||
// just removing the last character from the str
|
||||
if (frame.editsRemaining > 0 && frame.str.length == 1) {
|
||||
if (frame.str.length == 1) {
|
||||
frame.node.final = true
|
||||
}
|
||||
|
||||
// substitution
|
||||
// can only do a substitution if we have enough edits remaining
|
||||
// and if there are characters left to substitute
|
||||
if (frame.editsRemaining > 0 && frame.str.length >= 1) {
|
||||
if (frame.str.length >= 1) {
|
||||
if ("*" in frame.node.edges) {
|
||||
var substitutionNode = frame.node.edges["*"]
|
||||
} else {
|
||||
@@ -1513,40 +1521,19 @@ lunr.TokenSet.fromFuzzyString = function (str, editDistance) {
|
||||
|
||||
if (frame.str.length == 1) {
|
||||
substitutionNode.final = true
|
||||
} else {
|
||||
stack.push({
|
||||
node: substitutionNode,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: frame.str.slice(1)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// insertion
|
||||
// can only do insertion if there are edits remaining
|
||||
if (frame.editsRemaining > 0) {
|
||||
if ("*" in frame.node.edges) {
|
||||
var insertionNode = frame.node.edges["*"]
|
||||
} else {
|
||||
var insertionNode = new lunr.TokenSet
|
||||
frame.node.edges["*"] = insertionNode
|
||||
}
|
||||
|
||||
if (frame.str.length == 0) {
|
||||
insertionNode.final = true
|
||||
} else {
|
||||
stack.push({
|
||||
node: insertionNode,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: frame.str
|
||||
})
|
||||
}
|
||||
stack.push({
|
||||
node: substitutionNode,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: frame.str.slice(1)
|
||||
})
|
||||
}
|
||||
|
||||
// transposition
|
||||
// can only do a transposition if there are edits remaining
|
||||
// and there are enough characters to transpose
|
||||
if (frame.editsRemaining > 0 && frame.str.length > 1) {
|
||||
if (frame.str.length > 1) {
|
||||
var charA = frame.str.charAt(0),
|
||||
charB = frame.str.charAt(1),
|
||||
transposeNode
|
||||
@@ -1560,13 +1547,13 @@ lunr.TokenSet.fromFuzzyString = function (str, editDistance) {
|
||||
|
||||
if (frame.str.length == 1) {
|
||||
transposeNode.final = true
|
||||
} else {
|
||||
stack.push({
|
||||
node: transposeNode,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: charA + frame.str.slice(2)
|
||||
})
|
||||
}
|
||||
|
||||
stack.push({
|
||||
node: transposeNode,
|
||||
editsRemaining: frame.editsRemaining - 1,
|
||||
str: charA + frame.str.slice(2)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1619,6 +1606,10 @@ lunr.TokenSet.fromString = function (str) {
|
||||
* Converts this TokenSet into an array of strings
|
||||
* contained within the TokenSet.
|
||||
*
|
||||
* This is not intended to be used on a TokenSet that
|
||||
* contains wildcards, in these cases the results are
|
||||
* undefined and are likely to cause an infinite loop.
|
||||
*
|
||||
* @returns {string[]}
|
||||
*/
|
||||
lunr.TokenSet.prototype.toArray = function () {
|
||||
@@ -1836,7 +1827,7 @@ lunr.TokenSet.Builder.prototype.minimize = function (downTo) {
|
||||
}
|
||||
/*!
|
||||
* lunr.Index
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -2003,7 +1994,7 @@ lunr.Index.prototype.query = function (fn) {
|
||||
*/
|
||||
var clause = query.clauses[i],
|
||||
terms = null,
|
||||
clauseMatches = lunr.Set.complete
|
||||
clauseMatches = lunr.Set.empty
|
||||
|
||||
if (clause.usePipeline) {
|
||||
terms = this.pipeline.runString(clause.term, {
|
||||
@@ -2328,7 +2319,7 @@ lunr.Index.load = function (serializedIndex) {
|
||||
}
|
||||
/*!
|
||||
* lunr.Builder
|
||||
* Copyright (C) 2018 Oliver Nightingale
|
||||
* Copyright (C) 2020 Oliver Nightingale
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
Vendored
+6
-1
File diff suppressed because one or more lines are too long
+5
-7
File diff suppressed because one or more lines are too long
+69
-16
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
GreedyNav.js - http://lukejacksonn.com/actuate
|
||||
GreedyNav.js - https://github.com/lukejacksonn/GreedyNav
|
||||
Licensed under the MIT license - http://opensource.org/licenses/MIT
|
||||
Copyright (c) 2015 Luke Jackson
|
||||
Copyright (c) 2015 Luke Jackson http://lukejacksonn.com
|
||||
*/
|
||||
|
||||
$(function() {
|
||||
@@ -9,26 +9,69 @@ $(function() {
|
||||
var $btn = $("nav.greedy-nav .greedy-nav__toggle");
|
||||
var $vlinks = $("nav.greedy-nav .visible-links");
|
||||
var $hlinks = $("nav.greedy-nav .hidden-links");
|
||||
var $nav = $("nav.greedy-nav");
|
||||
var $logo = $('nav.greedy-nav .site-logo');
|
||||
var $logoImg = $('nav.greedy-nav .site-logo img');
|
||||
var $title = $("nav.greedy-nav .site-title");
|
||||
var $search = $('nav.greedy-nav button.search__toggle');
|
||||
|
||||
var numOfItems = 0;
|
||||
var totalSpace = 0;
|
||||
var closingTime = 1000;
|
||||
var breakWidths = [];
|
||||
var numOfItems, totalSpace, closingTime, breakWidths;
|
||||
|
||||
// This function measures both hidden and visible links and sets the navbar breakpoints
|
||||
// This is called the first time the script runs and everytime the "check()" function detects a change of window width that reached a different CSS width breakpoint, which affects the size of navbar Items
|
||||
// Please note that "CSS width breakpoints" (which are only 4) !== "navbar breakpoints" (which are as many as the number of items on the navbar)
|
||||
function measureLinks(){
|
||||
numOfItems = 0;
|
||||
totalSpace = 0;
|
||||
closingTime = 1000;
|
||||
breakWidths = [];
|
||||
|
||||
// Adds the width of a navItem in order to create breakpoints for the navbar
|
||||
function addWidth(i, w) {
|
||||
totalSpace += w;
|
||||
numOfItems += 1;
|
||||
breakWidths.push(totalSpace);
|
||||
}
|
||||
|
||||
// Measures the width of hidden links by making a temporary clone of them and positioning under visible links
|
||||
function hiddenWidth(obj){
|
||||
var clone = obj.clone();
|
||||
clone.css("visibility","hidden");
|
||||
$vlinks.append(clone);
|
||||
addWidth(0, clone.outerWidth());
|
||||
clone.remove();
|
||||
}
|
||||
// Measure both visible and hidden links widths
|
||||
$vlinks.children().outerWidth(addWidth);
|
||||
$hlinks.children().each(function(){hiddenWidth($(this))});
|
||||
}
|
||||
// Get initial state
|
||||
$vlinks.children().outerWidth(function(i, w) {
|
||||
totalSpace += w;
|
||||
numOfItems += 1;
|
||||
breakWidths.push(totalSpace);
|
||||
});
|
||||
measureLinks();
|
||||
|
||||
var winWidth = $( window ).width();
|
||||
// Set the last measured CSS width breakpoint: 0: <768px, 1: <1024px, 2: < 1280px, 3: >= 1280px.
|
||||
var lastBreakpoint = winWidth < 768 ? 0 : winWidth < 1024 ? 1 : winWidth < 1280 ? 2 : 3;
|
||||
|
||||
var availableSpace, numOfVisibleItems, requiredSpace, timer;
|
||||
|
||||
function check() {
|
||||
|
||||
winWidth = $( window ).width();
|
||||
// Set the current CSS width breakpoint: 0: <768px, 1: <1024px, 2: < 1280px, 3: >= 1280px.
|
||||
var curBreakpoint = winWidth < 768 ? 0 : winWidth < 1024 ? 1 : winWidth < 1280 ? 2 : 3;
|
||||
// If current breakpoint is different from last measured breakpoint, measureLinks again
|
||||
if(curBreakpoint !== lastBreakpoint) measureLinks();
|
||||
// Set the last measured CSS width breakpoint with the current breakpoint
|
||||
lastBreakpoint = curBreakpoint;
|
||||
|
||||
// Get instant state
|
||||
availableSpace = $vlinks.width() - 10;
|
||||
numOfVisibleItems = $vlinks.children().length;
|
||||
// Decrease the width of visible elements from the nav innerWidth to find out the available space for navItems
|
||||
availableSpace = /* nav */ $nav.innerWidth()
|
||||
- /* logo */ ($logo.length !== 0 ? $logo.outerWidth(true) : 0)
|
||||
- /* title */ $title.outerWidth(true)
|
||||
- /* search */ ($search.length !== 0 ? $search.outerWidth(true) : 0)
|
||||
- /* toggle */ (numOfVisibleItems !== breakWidths.length ? $btn.outerWidth(true) : 0);
|
||||
requiredSpace = breakWidths[numOfVisibleItems - 1];
|
||||
|
||||
// There is not enought space
|
||||
@@ -36,8 +79,8 @@ $(function() {
|
||||
$vlinks.children().last().prependTo($hlinks);
|
||||
numOfVisibleItems -= 1;
|
||||
check();
|
||||
// There is more than enough space
|
||||
} else if (availableSpace > breakWidths[numOfVisibleItems]) {
|
||||
// There is more than enough space. If only one element is hidden, add the toggle width to the available space
|
||||
} else if (availableSpace + (numOfVisibleItems === breakWidths.length - 1?$btn.outerWidth(true):0) > breakWidths[numOfVisibleItems]) {
|
||||
$hlinks.children().first().appendTo($vlinks);
|
||||
numOfVisibleItems += 1;
|
||||
check();
|
||||
@@ -56,6 +99,7 @@ $(function() {
|
||||
|
||||
$btn.on('click', function() {
|
||||
$hlinks.toggleClass('hidden');
|
||||
$(this).toggleClass('close');
|
||||
clearTimeout(timer);
|
||||
});
|
||||
|
||||
@@ -69,6 +113,15 @@ $(function() {
|
||||
clearTimeout(timer);
|
||||
})
|
||||
|
||||
check();
|
||||
// check if page has a logo
|
||||
if($logoImg.length !== 0){
|
||||
// check if logo is not loaded
|
||||
if(!($logoImg[0].complete || $logoImg[0].naturalWidth !== 0)){
|
||||
// if logo is not loaded wait for logo to load or fail to check
|
||||
$logoImg.one("load error", check);
|
||||
// if logo is already loaded just check
|
||||
} else check();
|
||||
// if page does not have a logo just check
|
||||
} else check();
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
+849
-566
File diff suppressed because it is too large
Load Diff
@@ -1,19 +1,8 @@
|
||||
const fs = require("fs");
|
||||
const pkg = require("./package.json");
|
||||
const filename = "assets/js/main.min.js";
|
||||
const filename = "assets/js/main.min.js"
|
||||
const script = fs.readFileSync(filename);
|
||||
const padStart = str => ("0" + str).slice(-2);
|
||||
const dateObj = new Date();
|
||||
const date = `${dateObj.getFullYear()}-${padStart(
|
||||
dateObj.getMonth() + 1
|
||||
)}-${padStart(dateObj.getDate())}`;
|
||||
const banner = `/*!
|
||||
* Minimal Mistakes Jekyll Theme ${pkg.version} by ${pkg.author}
|
||||
* Copyright 2013-${dateObj.getFullYear()} Michael Rose - mademistakes.com | @mmistakes
|
||||
* Licensed under ${pkg.license}
|
||||
*/
|
||||
`;
|
||||
const banner = fs.readFileSync("_includes/copyright.js");
|
||||
|
||||
if (script.slice(0, 3) != "/**") {
|
||||
if (script.slice(0, 3) != "/*!") {
|
||||
fs.writeFileSync(filename, banner + script);
|
||||
}
|
||||
|
||||
+13
-4
@@ -5,7 +5,8 @@
|
||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
||||
# `jekyll serve`. If you change this file, please restart the server process.
|
||||
|
||||
remote_theme : "mmistakes/minimal-mistakes@4.19.2"
|
||||
remote_theme : "mmistakes/minimal-mistakes@master"
|
||||
theme_version : "4.25.1" # for use with in-page templates
|
||||
|
||||
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
||||
|
||||
@@ -25,7 +26,7 @@ masthead_title : # overrides the website title displayed in the masthe
|
||||
# breadcrumbs : false # true, false (default)
|
||||
words_per_minute : 200
|
||||
comments:
|
||||
provider : "false" # false (default), "disqus", "discourse", "facebook", "staticman_v2", "staticman", "utterances", "custom"
|
||||
provider : "false" # false (default), "disqus", "discourse", "facebook", "staticman_v2", "staticman", "utterances", "giscus", "custom"
|
||||
disqus:
|
||||
shortname :
|
||||
discourse:
|
||||
@@ -38,6 +39,13 @@ comments:
|
||||
utterances:
|
||||
theme : # "github-light" (default), "github-dark"
|
||||
issue_term : # "pathname" (default)
|
||||
giscus:
|
||||
repo_id : # Shown during giscus setup at https://giscus.app
|
||||
category_name : # Full text name of the category
|
||||
category_id : # Shown during giscus setup at https://giscus.app
|
||||
discussion_term : # "pathname" (default), "url", "title", "og:title"
|
||||
reactions_enabled : # '1' for enabled (default), '0' for disabled
|
||||
theme : # "light" (default), "dark", "dark_dimmed", "transparent_dark", "preferred_color_scheme"
|
||||
reCaptcha:
|
||||
siteKey : # "6LdRBykTAAAAAFB46MnIu6ixuxwu9W1ihFF8G60Q"
|
||||
secret : # "PznnZGu3P6eTHRPLORniSq+J61YEf+A9zmColXDM5icqF49gbunH51B8+h+i2IvewpuxtA9TFoK68TuhUp/X3YKmmqhXasegHYabY50fqF9nJh9npWNhvITdkQHeaOqnFXUIwxfiEeUt49Yoa2waRR7a5LdRAP3SVM8hz0KIBT4="
|
||||
@@ -59,8 +67,9 @@ algolia:
|
||||
# SEO Related
|
||||
google_site_verification : "UQj93ERU9zgECodaaXgVpkjrFn9UrDMEzVamacSoQ8Y" # Replace this with your ID, or delete
|
||||
bing_site_verification :
|
||||
yandex_site_verification :
|
||||
naver_site_verification :
|
||||
yandex_site_verification :
|
||||
baidu_site_verification :
|
||||
|
||||
# Social Sharing
|
||||
twitter:
|
||||
@@ -81,7 +90,7 @@ social:
|
||||
|
||||
# Analytics
|
||||
analytics:
|
||||
provider : "google-universal" # false (default), "google", "google-universal", "custom"
|
||||
provider : "google-universal" # false (default), "google", "google-universal", "google-gtag", "custom"
|
||||
google:
|
||||
tracking_id : "UA-2011187-3" # Replace this with your ID, or delete
|
||||
anonymize_ip : true
|
||||
|
||||
@@ -78,6 +78,8 @@ docs:
|
||||
url: /docs/javascript/
|
||||
- title: Meta
|
||||
children:
|
||||
- title: "FAQ"
|
||||
url: /docs/faq/
|
||||
- title: "History"
|
||||
url: /docs/history/
|
||||
- title: "Contributing"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: "Quick-Start Guide"
|
||||
permalink: /docs/quick-start-guide/
|
||||
excerpt: "How to quickly install and setup Minimal Mistakes for use with GitHub Pages."
|
||||
last_modified_at: 2020-04-27
|
||||
last_modified_at: 2021-06-07T08:48:05-04:00
|
||||
redirect_from:
|
||||
- /theme-setup/
|
||||
toc: true
|
||||
@@ -10,9 +10,12 @@ toc: true
|
||||
|
||||
Minimal Mistakes has been developed as a [Gem-based theme](http://jekyllrb.com/docs/themes/) for easier use, and 100% compatible with GitHub Pages when used as a remote theme.
|
||||
|
||||
**If you enjoy this theme, please consider [supporting me](https://www.paypal.me/mmistakes) for developing and maintaining it.**
|
||||
**If you enjoy this theme, please consider [sponsoring me](https://github.com/sponsors/mmistakes) to continue developing and maintaining it.**
|
||||
|
||||
[](https://www.buymeacoffee.com/mmistakes)
|
||||
|
||||
[](https://www.paypal.me/mmistakes)
|
||||
{: style="margin-top: 0.5em;"}
|
||||
|
||||
## Installing the theme
|
||||
|
||||
@@ -64,6 +67,7 @@ To install as a remote theme:
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
gem "jekyll-include-cache", group: :jekyll_plugins
|
||||
```
|
||||
|
||||
2. Add `jekyll-include-cache` to the `plugins` array of your `_config.yml`.
|
||||
@@ -74,7 +78,7 @@ To install as a remote theme:
|
||||
bundle
|
||||
```
|
||||
|
||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.19.3"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@{{ site.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.
|
||||
|
||||
@@ -105,7 +109,7 @@ To do so fork the [Minimal Mistakes theme](https://github.com/mmistakes/minimal-
|
||||
|
||||
[netlify-jekyll]: https://www.netlify.com/blog/2015/10/28/a-step-by-step-guide-jekyll-3.0-on-netlify/
|
||||
[gitlab-jekyll]: https://about.gitlab.com/2016/04/07/gitlab-pages-setup/
|
||||
[ci-jekyll]: https://jekyllrb.com/docs/continuous-integration/
|
||||
[ci-jekyll]: https://jekyllrb.com/docs/deployment/automated/#continuous-integration-service
|
||||
|
||||
### Remove the Unnecessary
|
||||
|
||||
@@ -136,12 +140,17 @@ Depending on the path you took installing Minimal Mistakes you'll setup things a
|
||||
|
||||
Starting with an empty folder and `Gemfile` you'll need to copy or re-create this [default `_config.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_config.yml) file. For a full explanation of every setting be sure to read the [**Configuration**]({{ "/docs/configuration/" | relative_url }}) section.
|
||||
|
||||
From `v4.5.0` onwards, Minimal Mistakes theme-gem comes bundled with the necessary data files and will automatically use them via the [`jekyll-data`](https://github.com/ashmaroli/jekyll-data) plugin. So you no longer need to maintain a copy of these data files at your project directory.
|
||||
From `v4.5.0` onwards, Minimal Mistakes theme-gem comes bundled with the necessary data files for localization.
|
||||
They will be picked up automatically if you have the [`jekyll-data`](https://github.com/ashmaroli/jekyll-data) plugin installed.
|
||||
If you're hosting on GitHub Pages, you can copy the [`_data/ui-text.yml`][ui-text.yml] file into your repository for the localization feature to work.
|
||||
|
||||
You'll need to create and edit these data files to customize them:
|
||||
|
||||
- [`_data/ui-text.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_data/ui-text.yml) - UI text [documentation]({{ "/docs/ui-text/" | relative_url }})
|
||||
- [`_data/navigation.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_data/navigation.yml) - navigation [documentation]({{ "/docs/navigation/" | relative_url }})
|
||||
- [`_data/ui-text.yml`][ui-text.yml] - UI text [documentation]({{ "/docs/ui-text/" | relative_url }})
|
||||
- [`_data/navigation.yml`][navigation.yml] - navigation [documentation]({{ "/docs/navigation/" | relative_url }})
|
||||
|
||||
[ui-text.yml]: https://github.com/mmistakes/minimal-mistakes/blob/master/_data/ui-text.yml
|
||||
[navigation.yml]: https://github.com/mmistakes/minimal-mistakes/blob/master/_data/navigation.yml
|
||||
|
||||
### Starting from `jekyll new`
|
||||
|
||||
@@ -174,8 +183,7 @@ You won't need these anymore as they're bundled with the theme gem --- unless yo
|
||||
**Note:** When clearing out the `assets` folder be sure to leave any files you've added and need. This includes images, CSS, or JavaScript that aren't already [bundled in the theme](https://github.com/mmistakes/minimal-mistakes/tree/master/assets).
|
||||
{: .notice--warning}
|
||||
|
||||
From `v4.5.0` onwards, you don't have to maintain a copy of the default data files viz. `_data/ui-text.yml` and `_data/navigation.yml` either.
|
||||
The default files are read-in automatically via the [`jekyll-data`](https://github.com/ashmaroli/jekyll-data) plugin.
|
||||
From `v4.5.0` onwards, the default language files are read-in automatically via the [`jekyll-data`](https://github.com/ashmaroli/jekyll-data) plugin if it's installed. For sites hosted with GitHub Pages, you still need to copy the [`_data/ui-text.yml`][ui-text.yml] file because the `jekyll-data` plugin [is unsupported on GitHub Pages](https://docs.github.com/en/github/working-with-github-pages/about-github-pages-and-jekyll#plugins).
|
||||
|
||||
If you customized any of these files leave them alone, and only remove the untouched ones. If done correctly your modified versions should [override](https://jekyllrb.com/docs/themes/#overriding-theme-defaults) the versions bundled with the theme and be used by Jekyll instead.
|
||||
|
||||
@@ -196,7 +204,7 @@ When finished your `Gemfile` should look something like this:
|
||||
```ruby
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "jekyll", "~> 3.5"
|
||||
gem "jekyll", "~> 3.7"
|
||||
gem "minimal-mistakes-jekyll"
|
||||
```
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ last_modified_at: 2018-03-20T15:19:22-04:00
|
||||
|
||||
Nothing clever here :wink:. Layouts, data files, and includes are all placed in their default locations. Stylesheets and scripts in `assets`, and a few development related files in the project's root directory.
|
||||
|
||||
**Please note:** If you installed Minimal Mistakes via the Ruby Gem method, theme files like `_layouts`, `_includes`, `_sass`, and `/assets/` will be missing. This is normal as they are bundled with the [`minimal-mistakes-jekyll`](https://rubygems.org/gems/minimal-mistakes-jekyll) Ruby gem.
|
||||
**Please note:** If you installed Minimal Mistakes via the Ruby Gem method, theme files like `_layouts`, `_includes`, `_sass`, and `/assets/` will be missing. This is normal as they are bundled with the [`minimal-mistakes-jekyll`](https://rubygems.org/gems/minimal-mistakes-jekyll) Ruby gem. If you would like to make changes, create the files and Jekyll will prefer your local copy.
|
||||
{: .notice--info}
|
||||
|
||||
```bash
|
||||
@@ -18,8 +18,10 @@ minimal-mistakes
|
||||
├── _includes
|
||||
| ├── analytics-providers # snippets for analytics (Google and custom)
|
||||
| ├── comments-providers # snippets for comments
|
||||
| ├── footer # custom snippets to add to site footer
|
||||
| ├── head # custom snippets to add to site head
|
||||
| ├── footer
|
||||
| | └── custom.html # custom snippets to add to site footer
|
||||
| ├── head
|
||||
| | └── custom.html # custom snippets to add to site head
|
||||
| ├── feature_row # feature row helper
|
||||
| ├── gallery # image gallery helper
|
||||
| ├── group-by-array # group by array helper for archives
|
||||
|
||||
@@ -18,7 +18,7 @@ If you plan to host with GitHub Pages be sure to properly setup [**jekyll-remote
|
||||
|
||||
[<i class="fas fa-download"></i> Download Minimal Mistakes Theme](https://github.com/mmistakes/minimal-mistakes/archive/master.zip){: .btn .btn--success}
|
||||
|
||||
**ProTip:** Be sure to remove `/docs` and `/test` if you forked or downloaded Minimal Mistakes. These folders contain documentation and test pages for the theme and you probably don't littering up in your repo.
|
||||
**ProTip:** Be sure to remove `/docs` and `/test` if you forked or downloaded Minimal Mistakes. These folders contain documentation and test pages for the theme and you probably don't want them littering up in your repo.
|
||||
{: .notice--info}
|
||||
|
||||
**Note:** The theme uses the [jekyll-include-cache](https://github.com/benbalter/jekyll-include-cache) plugin which will need to be installed in your `Gemfile` and added to the `plugins` array of `_config.yml`. Otherwise you'll throw `Unknown tag 'include_cached'` errors at build.
|
||||
@@ -84,6 +84,7 @@ gem "minimal-mistakes-jekyll"
|
||||
# gem "jekyll-include-cache"
|
||||
#
|
||||
# If you have any other plugins, put them here!
|
||||
# Cf. https://jekyllrb.com/docs/plugins/installation/
|
||||
group :jekyll_plugins do
|
||||
end
|
||||
```
|
||||
@@ -108,4 +109,4 @@ Depending on what gems you already have installed you may have to run `bundle up
|
||||
|
||||
When using Bundler to manage gems you'll want to run Jekyll using `bundle exec jekyll serve` and `bundle exec jekyll build`.
|
||||
|
||||
Doing so executes the gem versions specified in `Gemfile.lock`. Sure you can test your luck with a naked `jekyll serve`, but I wouldn't suggest it. A lot of Jekyll errors originate from outdated or conflicting gems fighting with each other. So do yourself a favor and just use Bundler.
|
||||
Doing so executes the gem versions specified in `Gemfile.lock`. Sure you can test your luck with a naked `jekyll serve`, but I wouldn't suggest it. A lot of Jekyll errors originate from outdated or conflicting gems fighting with each other. So do yourself a favor and just use Bundler.
|
||||
|
||||
@@ -2,21 +2,16 @@
|
||||
title: "Upgrading"
|
||||
permalink: /docs/upgrading/
|
||||
excerpt: "Instructions and suggestions for upgrading the theme."
|
||||
last_modified_at: 2018-11-25T19:38:20-05:00
|
||||
last_modified_at: 2024-04-23T00:43:19+08:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
If you're using the [Ruby Gem]({{ "/docs/quick-start-guide/#ruby-gem-method" | relative_url }}) or [remote theme]({{ "/docs/quick-start-guide/#github-pages-method" | relative_url }}) versions of Minimal Mistakes, upgrading is fairly painless.
|
||||
If you're using the [Ruby Gem]({{ "/docs/quick-start-guide/#gem-based-method" | relative_url }}) or [remote theme]({{ "/docs/quick-start-guide/#remote-theme-method" | relative_url }}) versions of Minimal Mistakes, upgrading is fairly painless.
|
||||
|
||||
To check which version you are currently using, view the source of your built site and you should see something similar to:
|
||||
|
||||
```
|
||||
<!--
|
||||
Minimal Mistakes Jekyll Theme 4.19.3 by Michael Rose
|
||||
Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
|
||||
Free for personal and commercial use under the MIT license
|
||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||
-->
|
||||
```text
|
||||
{% include copyright.html %}
|
||||
```
|
||||
|
||||
At the top of every `.html` file, `/assets/css/main.css`, and `/assets/js/main.min.js`.
|
||||
@@ -28,14 +23,14 @@ Simply run `bundle update` if you're using Bundler (have a `Gemfile`) or `gem up
|
||||
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`:
|
||||
|
||||
```ruby
|
||||
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "4.19.3"
|
||||
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "{{ site.theme_version }}"
|
||||
```
|
||||
|
||||
For more information on [installing gems from git repositories](http://bundler.io/v1.16/guides/git.html) consult Bundler's documentation.
|
||||
|
||||
## Remote theme
|
||||
|
||||
When setting `remote_theme: "mmistakes/minimal-mistakes@4.19.3"` 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.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.
|
||||
|
||||
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).
|
||||
|
||||
|
||||
+131
-18
@@ -2,7 +2,7 @@
|
||||
title: "Configuration"
|
||||
permalink: /docs/configuration/
|
||||
excerpt: "Settings for configuring and customizing the theme."
|
||||
last_modified_at: 2019-10-04T10:54:48-04:00
|
||||
last_modified_at: 2021-05-11T10:40:42-04:00
|
||||
toc: true
|
||||
---
|
||||
|
||||
@@ -28,7 +28,7 @@ theme: minimal-mistakes-jekyll
|
||||
Easily change the color scheme of the theme using one of the provided "skins":
|
||||
|
||||
```yaml
|
||||
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.
|
||||
@@ -131,7 +131,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`.
|
||||
|
||||
**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 prevent this from happening eg. `My Awesome Site is the Best Because I Say So`.
|
||||
{: .notice--warning}
|
||||
|
||||
### Site subtitle
|
||||
@@ -161,7 +161,7 @@ The base hostname and protocol for your site. If you're hosting with GitHub Page
|
||||
|
||||
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.
|
||||
|
||||
**Note:** Jekyll 3.3 overrides this value with `url: http://localhost:4000` when running `jekyll serve` locally in development. If you want to avoid this behavior set `JEKYLL_ENV=production` to [force the environment](http://jekyllrb.com/docs/configuration/#specifying-a-jekyll-environment-at-build-time) to production.
|
||||
**Note:** Jekyll 3.3 overrides this value with `url: http://localhost:4000` when running `jekyll serve` locally in development. If you want to avoid this behavior set `JEKYLL_ENV=production` to [force the environment](https://jekyllrb.com/docs/configuration/environments/) to production.
|
||||
{: .notice--warning}
|
||||
|
||||
### Site base URL
|
||||
@@ -265,6 +265,32 @@ breadcrumbs: true # disabled by default
|
||||
|
||||
Breadcrumb start link text and separator character can both be changed in the [UI Text data file]({{ "/docs/ui-text/" | relative_url }}).
|
||||
|
||||
### Post dates
|
||||
|
||||
Enable post date snippets with `show_date: true` in YAML Front Matter.
|
||||
|
||||

|
||||
|
||||
Instead of adding `show_date: true` to each post, apply as a default in `_config.yml` like so:
|
||||
|
||||
```yaml
|
||||
defaults:
|
||||
# _posts
|
||||
- scope:
|
||||
path: ""
|
||||
type: posts
|
||||
values:
|
||||
show_date: true
|
||||
```
|
||||
|
||||
To disable post date for a post, add `show_date: false` to its YAML Front Matter, overriding what was set in `_config.yml`.
|
||||
|
||||
When dates are shown on blog posts or pages, a date format will be chosen to format the date string. The default format is `"%B %-d, %Y"`, which will be displayed like "February 24, 2016". You can choose your date format by referencing this [cheat sheet](https://www.shortcutfoo.com/app/dojos/ruby-date-format-strftime/cheatsheet). For example, use your date format in `_config.yml`.
|
||||
|
||||
```yaml
|
||||
date_format: "%Y-%m-%d"
|
||||
```
|
||||
|
||||
### Reading time
|
||||
|
||||
Enable estimated reading time snippets with `read_time: true` in YAML Front Matter. `200` has been set as the default words per minute value --- which can be changed by adjusting `words_per_minute:` in `_config.yml`.
|
||||
@@ -283,7 +309,7 @@ defaults:
|
||||
read_time: true
|
||||
```
|
||||
|
||||
To disable reading time for a post, add `read_time: false` 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.
|
||||
|
||||
@@ -291,18 +317,33 @@ To disable reading time for a post, add `read_time: false` its YAML Front Matter
|
||||
words_per_minute: 250
|
||||
```
|
||||
|
||||
### Page meta separator
|
||||
|
||||
To customise the separator between the page date and reading time (if both are enabled), edit `.page__meta-sep::before` in a [custom stylesheet]({{ "/docs/stylesheets/" | relative_url }}).
|
||||
|
||||
For example,
|
||||
|
||||
```css
|
||||
.page__meta-sep::before {
|
||||
content: "\2022";
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
```
|
||||
|
||||
### Comments
|
||||
|
||||
[**Disqus**](https://disqus.com/), [**Discourse**](https://www.discourse.org/), [**Facebook**](https://developers.facebook.com/docs/plugins/comments), [**utterances**](https://utteranc.es/), 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:
|
||||
|
||||
| Name | Comment Provider |
|
||||
| ---------------- | ------------------------- |
|
||||
| **disqus** | Disqus |
|
||||
| **discourse** | Discourse |
|
||||
| **facebook** | Facebook Comments |
|
||||
| **staticman_v2** | Staticman v2 |
|
||||
| **staticman_v2** | Staticman v2 / v3 |
|
||||
| **staticman** | Staticman v1 (deprecated) |
|
||||
| **utterances** | utterances |
|
||||
| **giscus** | giscus |
|
||||
| **custom** | Other |
|
||||
|
||||
Then add `comments: true` to each document you want comments visible on.
|
||||
@@ -382,6 +423,36 @@ comments:
|
||||
utterances:
|
||||
theme: "github-light" # "github-dark"
|
||||
issue_term: "pathname"
|
||||
label: "comment" # Optional - must be existing label.
|
||||
```
|
||||
|
||||
#### giscus comments
|
||||
|
||||
To use giscus you will need to [install the app](https://github.com/apps/giscus) to your GitHub repository.
|
||||
|
||||
The next step is to go to <https://giscus.app> and fill out the desired settings. This will generate JavaScript that will provide you with the settings you will need to configure things below.
|
||||
|
||||
You'll need to ensure you've added the following to `_config.yml`:
|
||||
|
||||
```yaml
|
||||
repository: # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
|
||||
```
|
||||
|
||||
**Note:** Make sure the repo is public, otherwise your readers will not be able to view the issues/comments. The [discussions feature](https://docs.github.com/en/discussions) also needs to be active on your repo.
|
||||
{: .notice--warning}
|
||||
|
||||
To enable giscus on the front end set `comments.provider` and the other additional options.
|
||||
|
||||
```yaml
|
||||
comments:
|
||||
provider: "giscus"
|
||||
giscus:
|
||||
repo_id : # Shown during giscus setup at https://giscus.app
|
||||
category_name : # Full text name of the category
|
||||
category_id : # Shown during giscus setup at https://giscus.app
|
||||
discussion_term : # "pathname" (default), "url", "title", "og:title"
|
||||
reactions_enabled : # '1' for enabled (default), '0' for disabled
|
||||
theme : # "light" (default), "dark", "dark_dimmed", "transparent_dark", "preferred_color_scheme"
|
||||
```
|
||||
|
||||
#### Static-based comments via Staticman
|
||||
@@ -391,13 +462,16 @@ Transform user comments into `_data` files that live inside of your GitHub repos
|
||||
**Note:** Looking to migrate comments from a WordPress based site? Give [this tool](https://github.com/arthurlacoste/wordpress-comments-jekyll-staticman) a try.
|
||||
{: .notice--info}
|
||||
|
||||
**Note:** Please note that as of September 2018, Staticman is reaching GitHub API limits due to its popularity, and it is recommended by its maintainer that users deploy their own instances for production (use `site.staticman.endpoint`).
|
||||
**Note:** Please note that as of September 2018, Staticman is reaching GitHub API limits due to its popularity, and it is recommended by its maintainer that users deploy their own instances for production (use `site.staticman.endpoint`). Consult the Staticman "[Get Started](https://staticman.net/docs/index.html)" guide for more info.
|
||||
{: .notice--warning}
|
||||
|
||||
##### Add Staticman as a collaborator
|
||||
##### Add Staticman as a collaborator on GitHub (legacy)
|
||||
|
||||
1. Allow Staticman push access to your GitHub repository by clicking on **Settings**, then the **Collaborators** tab and adding `staticmanapp` as a collaborator.
|
||||
2. To accept the pending invitation visit: `https://api.staticman.net/v2/connect/{your GitHub username}/{your repository name}`. Consult the Staticman "[Get Started](https://staticman.net/docs/index.html)" guide for more info.
|
||||
1. Allow Staticman push access to your GitHub repository by clicking on **Settings**, then the **Collaborators** tab and adding your GitHub bot as a collaborator.
|
||||
2. To accept the pending invitation visit: `https://{your Staticman v2/3 API}/v[2|3]/connect/{your GitHub username}/{your repository name}`.
|
||||
|
||||
**Note:** The new GitHub App authentication method is recommended for GitHub repositories to avoid the API rate limit.
|
||||
{: .notice--info}
|
||||
|
||||
##### Configure Staticman
|
||||
|
||||
@@ -490,7 +564,7 @@ By default comment moderation is enabled in `staticman.yml`. As new comments are
|
||||
|
||||
To skip this moderation step simply set `moderation: false`.
|
||||
|
||||
**ProTip:** Create a GitHub webhook that sends a `POST` request to the following payload URL `https://api.staticman.net/v2/webhook` and triggers a "Pull request" event to delete Staticman branches on merge.
|
||||
**ProTip:** Create a GitHub webhook that sends a `POST` request to the following payload URL `https://{your Staticman API URL}/v2/webhook` and triggers a "Pull request" event to delete Staticman branches on merge.
|
||||
{: .notice--info}
|
||||
|
||||

|
||||
@@ -525,6 +599,15 @@ atom_feed:
|
||||
**Note:** By default the site feed is linked in two locations: inside the [`<head>` element](https://github.com/mmistakes/minimal-mistakes/blob/master/_includes/head.html) and at the bottom of every page in the [site footer](https://github.com/mmistakes/minimal-mistakes/blob/master/_includes/footer.html).
|
||||
{: .notice--info}
|
||||
|
||||
### Disable Feed Icons
|
||||
|
||||
By default the theme links to `feed.xml` generated in the root of your site by the **jekyll-feed** plugin. To remove the RSS icon in the header and footer, update `atom_feed` in `_config.yml` like so:
|
||||
|
||||
```yaml
|
||||
atom_feed:
|
||||
hide: true
|
||||
```
|
||||
|
||||
### Site search
|
||||
|
||||
To enable site-wide search add `search: true` to your `_config.yml`.
|
||||
@@ -535,6 +618,13 @@ To enable site-wide search add `search: true` to your `_config.yml`.
|
||||
|
||||
The default search uses [**Lunr**](https://lunrjs.com/) to build a search index of all post and your documents in collections. This method is 100% compatible with sites hosted on GitHub Pages.
|
||||
|
||||
To have it index all pages, update `lunr` in `_config.yml` like so:
|
||||
|
||||
```yaml
|
||||
lunr:
|
||||
search_within_pages: true
|
||||
```
|
||||
|
||||
**Note:** Only the first 50 words of a post or page's body content is added to the Lunr search index. Setting `search_full_content` to `true` in your `_config.yml` will override this and could impact page load performance.
|
||||
{: .notice--warning}
|
||||
|
||||
@@ -628,7 +718,7 @@ Formerly known as [Google Webmaster Tools](https://www.google.com/webmasters/too
|
||||
|
||||
#### Bing Webmaster Tools
|
||||
|
||||
There are several ways to [verify site ownership](https://www.bing.com/webmaster/help/how-to-verify-ownership-of-your-site-afcfefc6) --- the easiest adding an authentication code to your config file.
|
||||
There are several ways to [verify site ownership](https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b) --- the easiest adding an authentication code to your config file.
|
||||
|
||||
Copy and paste the string inside of `content`:
|
||||
|
||||
@@ -672,6 +762,22 @@ Into `_config.yml`
|
||||
yandex_site_verification: "2132801JL"
|
||||
```
|
||||
|
||||
#### Baidu
|
||||
|
||||
There are several ways to verify site ownership — the easiest is adding an authentication code to your config file.
|
||||
|
||||
Copy and paste the string inside of `content`:
|
||||
|
||||
```html
|
||||
<meta name="baidu-site-verification" content="code-iA0wScWXN1" />
|
||||
```
|
||||
|
||||
Into `_config.yml`
|
||||
|
||||
```yaml
|
||||
baidu_site_verification: "code-iA0wScWXN1"
|
||||
```
|
||||
|
||||
#### Twitter Cards and Facebook Open Graph
|
||||
|
||||
To improve the appearance of links shared from your site to social networks like Twitter and Facebook be sure to configure the following.
|
||||
@@ -709,12 +815,12 @@ facebook:
|
||||
username: "michaelrose" # https://www.facebook.com/michaelrose
|
||||
```
|
||||
|
||||
**ProTip:** To debug Open Graph data use [this tool](https://developers.facebook.com/tools/debug/og/object?q=https%3A%2F%2Fmademistakes.com) to test your pages. If content changes aren't reflected you will probably have to hit the **Fetch new scrape information** button to refresh.
|
||||
**ProTip:** To debug Open Graph data use [this tool](https://developers.facebook.com/tools/debug/) to test your pages. If content changes aren't reflected you will probably have to hit the **Scrape Again** button to refresh.
|
||||
{: .notice--info}
|
||||
|
||||
##### Open Graph default image
|
||||
|
||||
For pages that don't have a `header.image` assigned in their YAML Front Matter, `site.og_image` will be used as a fallback. Use your logo, icon, avatar or something else that is meaningful. Just make sure it is place in the `/assets/images/` folder, a minimum size of 120px by 120px, and less than 1MB in file size.
|
||||
For pages that don't have a `header.image` assigned in their YAML Front Matter, `site.og_image` will be used as a fallback. Use your logo, icon, avatar or something else that is meaningful. Just make sure it is placed in the `/assets/images/` folder, has a minimum size of 120px by 120px, and is less than 1MB in file size.
|
||||
|
||||
```yaml
|
||||
og_image: /assets/images/site-logo.png
|
||||
@@ -801,7 +907,7 @@ Author links are all optional, include the ones you want visible under the `auth
|
||||
| Name | Description |
|
||||
| --- | --- |
|
||||
| **label** | Link label (e.g. `"Twitter"`) |
|
||||
| **icon** | [Font Awesome icon](https://fontawesome.com/icons?d=gallery) 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"`) |
|
||||
|
||||
```yaml
|
||||
@@ -834,7 +940,7 @@ Footer links can be added under the `footer.links` array.
|
||||
| Name | Description |
|
||||
| --- | --- |
|
||||
| **label** | Link label (e.g. `"Twitter"`) |
|
||||
| **icon** | [Font Awesome icon](https://fontawesome.com/icons?d=gallery) 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"`) |
|
||||
|
||||
```yaml
|
||||
@@ -934,9 +1040,16 @@ The paginator only works on files with name `index.html`. To use pagination in a
|
||||
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, [**jekyll-paginate-v2**](https://github.com/sverrirs/jekyll-paginate-v2) is the way to go.
|
||||
{: .notice--info}
|
||||
|
||||
#### Using Jekyll Paginate V2
|
||||
|
||||
Jekyll Paginate V2 is not available on GitHub Pages. You must build your site locally or with a CI service like [GitHub Actions][gh-pages-actions].
|
||||
{: .notice--info}
|
||||
|
||||
[gh-pages-actions]: https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow
|
||||
|
||||
### 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.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: "Overriding Theme Defaults"
|
||||
permalink: /docs/overriding-theme-defaults/
|
||||
excerpt: "Instructions on how to customize the theme's default set of layouts, includes, and stylesheets when using the Ruby Gem version."
|
||||
last_modified_at: 2018-03-20T15:59:31-04:00
|
||||
last_modified_at: 2020-07-27
|
||||
---
|
||||
|
||||
When installing the theme as a Ruby Gem its layouts, includes, stylesheets, and other assets are all bundled in the `gem`. Meaning they're not easily visible in your project.
|
||||
@@ -21,7 +21,8 @@ Jekyll will use the files in your project first before falling back to the defau
|
||||
/_sass
|
||||
```
|
||||
|
||||
Additionally, from `v4.5.0` the theme-gem will also exhibit above behavior for `/_data` via a plugin.
|
||||
Additionally, from `v4.5.0` onwards the theme-gem will also exhibit above behavior for `/_data` via a plugin.
|
||||
Consequently, the data files for UI Text and Navigation are also bundled within the theme-gem.
|
||||
This doesn't apply if you're building your site on GitHub Pages, however.
|
||||
|
||||
For more information on customizing the theme's [stylesheets]({{ "/docs/stylesheets/" | relative_url }}) and [JavaScript]({{ "/docs/javascript/" | relative_url }}), see the appropriate pages.
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
title: "UI Text"
|
||||
permalink: /docs/ui-text/
|
||||
excerpt: "Text for customizing user interface elements found in the theme."
|
||||
last_modified_at: 2020-05-01T10:15:37-04:00
|
||||
last_modified_at: 2021-05-11T10:22:55-04:00
|
||||
---
|
||||
|
||||
Text for UI elements, `_layouts`, and `_includes` grouped together as a set of translation keys. This is by no means a full-on i18n solution, but it does help make customizing theme text a bit easier.
|
||||
|
||||
The English[^yaml-anchors] main keys in [`_data/ui-text.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_data/ui-text.yml) are translated in the following languages:
|
||||
|
||||
- Arabic (عربي)
|
||||
- Brazilian Portuguese (Português brasileiro)
|
||||
- Catalan
|
||||
- Chinese
|
||||
@@ -18,15 +19,18 @@ The English[^yaml-anchors] main keys in [`_data/ui-text.yml`](https://github.com
|
||||
- French (Français)
|
||||
- German (Deutsch)
|
||||
- Greek
|
||||
- Hebrew
|
||||
- Hungarian
|
||||
- Indonesian
|
||||
- Irish (Gaeilge)
|
||||
- Italian (Italiano)
|
||||
- Kiswahili
|
||||
- Korean
|
||||
- Japanese
|
||||
- Malayalam
|
||||
- Myanmar (Burmese)
|
||||
- Nepali (Nepalese)
|
||||
- Norwegian (Norsk)
|
||||
- Polish
|
||||
- Persian (فارسی)
|
||||
- Romanian
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user