Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
5021021fc8 | ||
|
|
c6145356fd | ||
|
|
7ec8e90c76 | ||
|
|
3ab6ba0b1f | ||
|
|
59e007b20e | ||
|
|
875dbdefb8 | ||
|
|
da2035c1ff | ||
|
|
b336eab85b | ||
|
|
3ca2503745 | ||
|
|
d392698661 | ||
|
|
a3d1d904d5 | ||
|
|
cf398b07ab | ||
|
|
f7770ad079 | ||
|
|
7a4b65711d | ||
|
|
7bdc8dc193 | ||
|
|
1a6bc842ae | ||
|
|
476b12c867 | ||
|
|
890e573989 | ||
|
|
b27da24c8d | ||
|
|
502e28a54e | ||
|
|
9280de7075 | ||
|
|
2147ee2b66 | ||
|
|
172321f115 | ||
|
|
f8ab328e8a | ||
|
|
ac970d98b8 | ||
|
|
3c6c8586ba | ||
|
|
f9c4e37816 | ||
|
|
4ba02060e4 | ||
|
|
8ba8be1cac | ||
|
|
ef9431ccdd | ||
|
|
d387d410eb | ||
|
|
07957f6d64 | ||
|
|
f3c74113fd | ||
|
|
63c929655d | ||
|
|
7790757722 | ||
|
|
b4ccaa6ae2 | ||
|
|
29f4efc441 | ||
|
|
54001dade7 | ||
|
|
843c38b892 | ||
|
|
c57dfd78b0 | ||
|
|
a0a0a78b07 | ||
|
|
7f222d7e1f | ||
|
|
e773a08645 | ||
|
|
def3aaf229 | ||
|
|
2d0b445634 | ||
|
|
6bc673d331 | ||
|
|
0d4e54283a | ||
|
|
c5523d119a | ||
|
|
e00e24dc9d | ||
|
|
e3fd8dc17b | ||
|
|
2d407a9d9e | ||
|
|
b1d7c4062f | ||
|
|
4e25e5242e | ||
|
|
eeecf26117 | ||
|
|
864892c507 | ||
|
|
ece34c1c57 | ||
|
|
7051c2b595 | ||
|
|
e31701787e | ||
|
|
78f049abee | ||
|
|
f9b4ddb869 | ||
|
|
a2385e2584 | ||
|
|
b5abe62bf6 | ||
|
|
9c90563d1a | ||
|
|
02098bc079 | ||
|
|
60f0f1c33a | ||
|
|
e1724aec9d | ||
|
|
7b953b6b01 | ||
|
|
21ae828654 | ||
|
|
cba217a6da | ||
|
|
72bc135b5f | ||
|
|
5e5d4210e2 | ||
|
|
bcd6126612 | ||
|
|
0cf1a2e114 | ||
|
|
52fcc60474 | ||
|
|
dc8a41bb60 | ||
|
|
4fa9cf63d2 | ||
|
|
4bf72cf73f | ||
|
|
31dff63ad1 | ||
|
|
648ef257a4 | ||
|
|
909745a7c9 | ||
|
|
2513357cdc | ||
|
|
e8b36c94d3 | ||
|
|
f7884a31c6 | ||
|
|
060d50eda0 | ||
|
|
b06b6477e9 | ||
|
|
1799ddd6a5 | ||
|
|
636ea3eb87 | ||
|
|
82a71a59f2 | ||
|
|
ec0b288f9e | ||
|
|
1b9b8465b0 | ||
|
|
3332196ec5 | ||
|
|
1163ddc3f2 | ||
|
|
d6c935aaaa | ||
|
|
741b6dcb10 | ||
|
|
0ce6c0d648 | ||
|
|
2397da4e28 | ||
|
|
c6b4cdac97 | ||
|
|
b84c196178 | ||
|
|
d1db419e59 | ||
|
|
31d230934c | ||
|
|
a9f927a353 | ||
|
|
39423bc233 | ||
|
|
eb1af70810 | ||
|
|
6deaab8d3a | ||
|
|
be0e7ca971 | ||
|
|
f2af873e94 | ||
|
|
e2f0cf82f9 | ||
|
|
65051cce2e | ||
|
|
f331584125 | ||
|
|
e604b4742a | ||
|
|
8e2d290c7f | ||
|
|
92401a14b7 | ||
|
|
e7d429cd74 | ||
|
|
7607fcf7b6 | ||
|
|
4a85725bfe | ||
|
|
abf29432f6 | ||
|
|
af528d49ce | ||
|
|
df3da4f7e3 | ||
|
|
e749af9ff8 | ||
|
|
ee9aa75213 | ||
|
|
032aaf209b | ||
|
|
5c9b5c3218 | ||
|
|
02dd27ccdc | ||
|
|
6c733c3b93 | ||
|
|
0be64d50fc | ||
|
|
14ebcce4a9 | ||
|
|
c7e3c5e3cb | ||
|
|
c2c33a9ca8 | ||
|
|
e09ff7efd7 | ||
|
|
2d257a905e | ||
|
|
13d7a231f7 | ||
|
|
4ef8db79ba | ||
|
|
5eaa0e5ec8 | ||
|
|
96feec08a9 | ||
|
|
ef22eb314e | ||
|
|
d4edd0c1e3 | ||
|
|
6d1edf339c | ||
|
|
13ab95d1ad | ||
|
|
2328c8192c | ||
|
|
6d28d12d1d | ||
|
|
29263ac102 | ||
|
|
8e722d0276 | ||
|
|
4462af335e | ||
|
|
4f206843e4 | ||
|
|
647c1672c5 | ||
|
|
1c8c7e6844 | ||
|
|
9a8a64cfbe | ||
|
|
f5da37ea7e | ||
|
|
3e4069c5ba | ||
|
|
a101d668e8 | ||
|
|
2d22b95c32 | ||
|
|
519824eee7 | ||
|
|
9238caac41 | ||
|
|
3b3da46fea | ||
|
|
6a3d325cd4 | ||
|
|
57a7401768 | ||
|
|
a52394c02e | ||
|
|
69edbfba58 | ||
|
|
4b6b76853f | ||
|
|
5c19a81fe6 | ||
|
|
f2c5d79451 | ||
|
|
a2fdc94fb7 | ||
|
|
cc365940c5 | ||
|
|
c642c0f694 | ||
|
|
5ab086cb4c | ||
|
|
58f1d16900 | ||
|
|
143bb32a95 | ||
|
|
2388cbe020 | ||
|
|
35b31e7143 | ||
|
|
724ea26197 | ||
|
|
14e009ee29 | ||
|
|
43b5e5f2ef | ||
|
|
9ffdabb51f | ||
|
|
d48fe54559 | ||
|
|
6d44ad6ca4 | ||
|
|
0959ef52ce | ||
|
|
b84e5fde6a | ||
|
|
4f9aca2a55 | ||
|
|
07461d7648 | ||
|
|
bd449813e5 | ||
|
|
666c15a66b | ||
|
|
a2255d03e1 | ||
|
|
bd2d947a55 | ||
|
|
ae2ab92420 | ||
|
|
c1df29422b | ||
|
|
a1200bbd1d | ||
|
|
6311da0b16 | ||
|
|
95ad34bcf5 | ||
|
|
958441dc15 | ||
|
|
f1fba3d8db | ||
|
|
64daa7f882 | ||
|
|
af772af56f | ||
|
|
75c120f56d | ||
|
|
ca786b68f7 | ||
|
|
3bbfeac62d | ||
|
|
8b708a0ee3 | ||
|
|
cfad550975 | ||
|
|
00bec58bee | ||
|
|
86e9d31857 | ||
|
|
8444d54593 | ||
|
|
dc99092c54 | ||
|
|
b5b8c45530 | ||
|
|
098a475726 | ||
|
|
828b0041a6 | ||
|
|
56701a0bde | ||
|
|
301594f1a3 | ||
|
|
ee81b4613a | ||
|
|
349e4840f1 | ||
|
|
1436671500 | ||
|
|
14adf5c9ef | ||
|
|
e664d1d4d6 | ||
|
|
08e14587cd | ||
|
|
ca12dcd340 | ||
|
|
74ea18ecc5 | ||
|
|
7127afad90 | ||
|
|
3b43fac12b | ||
|
|
f5dafab391 | ||
|
|
480e81d285 | ||
|
|
cd928021ea | ||
|
|
80b6f60205 | ||
|
|
16fc624b82 | ||
|
|
f0037aeb00 | ||
|
|
1b30ffdec2 | ||
|
|
26c1989bf6 | ||
|
|
cb4acd9423 | ||
|
|
64a34ee5ae | ||
|
|
843fa688cc | ||
|
|
8da334b517 | ||
|
|
9b68374559 | ||
|
|
06820bc6b1 | ||
|
|
d7af62a34b | ||
|
|
129500b852 | ||
|
|
93d29be369 | ||
|
|
31cb045a61 | ||
|
|
abf71c6b2a | ||
|
|
3f83a0df91 | ||
|
|
b83ab5600c | ||
|
|
b797deffeb | ||
|
|
4e41e73558 | ||
|
|
d90cea5ef3 | ||
|
|
7cd711e416 | ||
|
|
d84c3ded70 | ||
|
|
0cf24b028d | ||
|
|
90df6afc68 | ||
|
|
cf0c046dd2 | ||
|
|
44760c989e | ||
|
|
dce8f9c10a | ||
|
|
3f1f7da5c8 | ||
|
|
d06e437ced | ||
|
|
9164fda18a | ||
|
|
df8a030a42 | ||
|
|
9baef1bda2 | ||
|
|
e4c0689cda | ||
|
|
29acb2a0bf | ||
|
|
60b5bacca8 | ||
|
|
2413ea7204 | ||
|
|
d09bf47087 | ||
|
|
ac2975a8dd | ||
|
|
146186ab82 | ||
|
|
c7184ba2a2 | ||
|
|
63f3240366 | ||
|
|
01150a8dac | ||
|
|
737c011d46 | ||
|
|
b93ec8ca34 | ||
|
|
baec5d00b5 | ||
|
|
54e141aa0b | ||
|
|
346c8a9257 | ||
|
|
7fa5ac49db | ||
|
|
2e9e2ab312 | ||
|
|
a66cf1d700 | ||
|
|
a1ff46cc59 | ||
|
|
5ed1f79557 | ||
|
|
a44dc2f914 | ||
|
|
94e8280950 | ||
|
|
8625e0708a | ||
|
|
097c01eff1 | ||
|
|
960d6af1a2 | ||
|
|
bd5f157833 | ||
|
|
d5dae86319 | ||
|
|
102924ff94 | ||
|
|
59111d1e01 | ||
|
|
4a38b5fae0 | ||
|
|
3dbe89d3f0 | ||
|
|
fb74bde6f6 | ||
|
|
10f62bb9ac | ||
|
|
c1094cad44 |
@@ -0,0 +1 @@
|
|||||||
|
custom: https://www.paypal.me/mmistakes
|
||||||
+21
-6
@@ -1,14 +1,29 @@
|
|||||||
*.gem
|
# Vim
|
||||||
|
*~
|
||||||
|
*.sw[p_]
|
||||||
|
|
||||||
|
# Sublime Text
|
||||||
*.sublime-project
|
*.sublime-project
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
|
|
||||||
|
# Ruby Gem
|
||||||
|
*.gem
|
||||||
.bundle
|
.bundle
|
||||||
|
Gemfile.lock
|
||||||
|
**/vendor/bundle
|
||||||
|
|
||||||
|
# Node.js and NPM
|
||||||
|
node_modules
|
||||||
|
npm-debug.log*
|
||||||
|
package-lock.json
|
||||||
|
codekit-config.json
|
||||||
|
|
||||||
|
# macOS
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
# Jekyll generated files
|
||||||
|
.jekyll-cache
|
||||||
.jekyll-metadata
|
.jekyll-metadata
|
||||||
.sass-cache
|
.sass-cache
|
||||||
_asset_bundler_cache
|
_asset_bundler_cache
|
||||||
_site
|
_site
|
||||||
codekit-config.json
|
|
||||||
example/_site
|
|
||||||
Gemfile.lock
|
|
||||||
node_modules
|
|
||||||
npm-debug.log*
|
|
||||||
+269
-2
@@ -1,3 +1,270 @@
|
|||||||
|
## [4.20.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.20.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix grid `entries_layout` in home.html. [#2616](https://github.com/mmistakes/minimal-mistakes/pull/2616)
|
||||||
|
|
||||||
|
## [4.20.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.20.0)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Add `relative_url` filter to author home link [#2575](https://github.com/mmistakes/minimal-mistakes/pull/2575)
|
||||||
|
- Fix `analytics.provider` config comment to list all analytics providers. [#2607](https://github.com/mmistakes/minimal-mistakes/pull/2607)
|
||||||
|
- Fix typo in installation documentation. [#2570](https://github.com/mmistakes/minimal-mistakes/pull/2570)
|
||||||
|
- Fix broken Lunr search with Jekyll v4.1.0. [#2617](https://github.com/mmistakes/minimal-mistakes/pull/2617)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add an optional date alongside the reading time. To enable set `show_date: true` similar to how reading time is. [#2526](https://github.com/mmistakes/minimal-mistakes/pull/2526)
|
||||||
|
- Remove hidden posts from posts.html layout. [#2625](https://github.com/mmistakes/minimal-mistakes/pull/2625)
|
||||||
|
- Add entry layout configuration for `list` (default) or `grid` views on `layout: home`. [#2616](https://github.com/mmistakes/minimal-mistakes/pull/2616)
|
||||||
|
- Add missing Chinese translations. [#2576](https://github.com/mmistakes/minimal-mistakes/pull/2576)
|
||||||
|
- Improve Chinese translations. [#2626](https://github.com/mmistakes/minimal-mistakes/pull/2626)
|
||||||
|
- Add `line-height` to `h4` element in notice helper. [#2602](https://github.com/mmistakes/minimal-mistakes/pull/2602)
|
||||||
|
- Improve Algolia search. [#2572](https://github.com/mmistakes/minimal-mistakes/pull/2572)
|
||||||
|
- Update link to wtfpl license in README. [#2571](https://github.com/mmistakes/minimal-mistakes/pull/2571)
|
||||||
|
- Ignore teaser headline in table of contents when including posts list in another page. [#2558](https://github.com/mmistakes/minimal-mistakes/pull/2558)
|
||||||
|
- Replace Font Awesome Kits with CSS from jsDelivr CDN. [#2583](https://github.com/mmistakes/minimal-mistakes/pull/2583)
|
||||||
|
- Add `danmaku` option to Bilibili video provider and add corresponding documentation/ [#2599](https://github.com/mmistakes/minimal-mistakes/pull/2599)
|
||||||
|
- Update documentation about loading l10n data file from the theme-gem. [#2621](https://github.com/mmistakes/minimal-mistakes/issues/2621) [#2624](https://github.com/mmistakes/minimal-mistakes/pull/2624)
|
||||||
|
|
||||||
|
## [4.19.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.3)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update GreedyNav.js to reduce masthead link overflow/shifting on mobile devices. [#2551](https://github.com/mmistakes/minimal-mistakes/issues/2551)
|
||||||
|
- Replace `<section id="custom-comments"></section>` in `comments.html` include and add `custom_scripts.html` include for loading custom comment provider JavaScript in the footer. [#2549](https://github.com/mmistakes/minimal-mistakes/issues/2549)
|
||||||
|
- Move page date Liquid to include. [#2544](https://github.com/mmistakes/minimal-mistakes/pull/2544)
|
||||||
|
- Strip trailing whitespace in seo_description. [#2542](https://github.com/mmistakes/minimal-mistakes/pull/2542)
|
||||||
|
- Improve sticky sidebar's appearance with short content. [#2514](https://github.com/mmistakes/minimal-mistakes/pull/2514)
|
||||||
|
|
||||||
|
## [4.19.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.2)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add support for bilibili videos in [responsive video helper](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#responsive-video-embed). [#2512](https://github.com/mmistakes/minimal-mistakes/pull/2512)
|
||||||
|
- Add Myanmar (Burmese) localized UI text strings. [#2500](https://github.com/mmistakes/minimal-mistakes/pull/2500)
|
||||||
|
- Improve author links underline on hover. [#2472](https://github.com/mmistakes/minimal-mistakes/pull/2472)
|
||||||
|
- Add documentation for applying Front Matter defaults to jekyll-archives pages. [#2466](https://github.com/mmistakes/minimal-mistakes/pull/2466)
|
||||||
|
- Add missing Vietnamese translations. [#2459](https://github.com/mmistakes/minimal-mistakes/pull/2459) [#2486](https://github.com/mmistakes/minimal-mistakes/pull/2486)
|
||||||
|
- Fix Finnish localized UI text strings. [#2455](https://github.com/mmistakes/minimal-mistakes/pull/2455)
|
||||||
|
- Clarify documentation that Lunr only searches documents in collections. [#2450](https://github.com/mmistakes/minimal-mistakes/pull/2450)
|
||||||
|
- Add guide on applying Front Matter defaults to jekyll-archives pages [#2466](https://github.com/mmistakes/minimal-mistakes/pull/2466)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix typo in configuration documentation. [#2497](https://github.com/mmistakes/minimal-mistakes/pull/2497)
|
||||||
|
- Fix "Follow menu falls under post links" on small screens. [#2479](https://github.com/mmistakes/minimal-mistakes/issues/2479)
|
||||||
|
- Hide index page from page-archive. [#2482](https://github.com/mmistakes/minimal-mistakes/pull/2482)
|
||||||
|
|
||||||
|
## [4.19.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add [Dracula](https://draculatheme.com/) Base16 syntax highlighting theme Sass variables to [stylesheets documentation](https://mmistakes.github.io/minimal-mistakes/docs/stylesheets/#syntax-highlighting). [#2438](https://github.com/mmistakes/minimal-mistakes/pull/2438)
|
||||||
|
- Update links to `HTTPS` and remove Google+ from configuration documentation. [#2432](https://github.com/mmistakes/minimal-mistakes/pull/2432)
|
||||||
|
- Use `first_page_path` from jekyll-paginate-v2 if available. [#2431](https://github.com/mmistakes/minimal-mistakes/pull/2431)
|
||||||
|
- Update onchange and uglify-js dependencies.
|
||||||
|
- Update smooth-scroll.js to `v16.1.2`. [#2430](https://github.com/mmistakes/minimal-mistakes/issues/2430)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix author profile links `z-index` order on small screens. [#2440](https://github.com/mmistakes/minimal-mistakes/issues/2440)
|
||||||
|
|
||||||
|
## [4.19.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add "click" overlay to close masthead and follow button menus when open. [#1168](https://github.com/mmistakes/minimal-mistakes/issues/1168)
|
||||||
|
- Remove deprecated Staticman v1 configurations from `_config.yml`. [#2386](https://github.com/mmistakes/minimal-mistakes/issues/2386)
|
||||||
|
- Use `relative_url` and `absolute_url` filters where possible. [#2387](https://github.com/mmistakes/minimal-mistakes/pull/2387)
|
||||||
|
- Improve headline hierarchy and add Sass specific variables `$h-size-x`. [#2423](https://github.com/mmistakes/minimal-mistakes/issues/2423)
|
||||||
|
- Improve accessibility of `default` skin by increasing color contrast of text and links.
|
||||||
|
- Hide posts with `hidden: true` YAML front matter from appearing in listings. [#2345](https://github.com/mmistakes/minimal-mistakes/pull/2345)
|
||||||
|
- Add Irish (Gaeilge) localized UI text strings. [#2422](https://github.com/mmistakes/minimal-mistakes/pull/2422)
|
||||||
|
- Remove `box-shadow` on radio and checkbox inputs. [#2398](https://github.com/mmistakes/minimal-mistakes/pull/2398)
|
||||||
|
- Bump Jekyll gem dependency to `v3.7`.
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix documentation around using `bundle info` command. [#2425](https://github.com/mmistakes/minimal-mistakes/pull/2425)
|
||||||
|
- Fix rake vulnerability in `.gemspec` file.
|
||||||
|
- Fix Staticman v2 comment submission. [#2402](https://github.com/mmistakes/minimal-mistakes/pull/2402)
|
||||||
|
- Fix repeated site base path for masthead logo. [#2385](https://github.com/mmistakes/minimal-mistakes/pull/2385)
|
||||||
|
|
||||||
|
## [4.18.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.18.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix compatibility issue with jekyll-paginate-v2. [#2381](https://github.com/mmistakes/minimal-mistakes/pull/2381)
|
||||||
|
|
||||||
|
## [4.18.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.18.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Allow `home` layout to display posts without pagination. [#2378](https://github.com/mmistakes/minimal-mistakes/pull/2378)
|
||||||
|
- Add links to high resolution skin screenshots in README. [#2363](https://github.com/mmistakes/minimal-mistakes/issues/2363)
|
||||||
|
- Update README and LICENSE. [#2367](https://github.com/mmistakes/minimal-mistakes/pull/2367)
|
||||||
|
- Update `.gitignore` file. [#2366](https://github.com/mmistakes/minimal-mistakes/pull/2366)
|
||||||
|
- Allow override of page excerpt in hero header via `tagline` YAML front matter. [#2307](https://github.com/mmistakes/minimal-mistakes/pull/2307)
|
||||||
|
- Exclude `package-lock.json` from Jekyll build. [#2364](https://github.com/mmistakes/minimal-mistakes/pull/2364)
|
||||||
|
- Use `%-d` instead of `%d` so displayed dates aren't padded with zero. [#2359](https://github.com/mmistakes/minimal-mistakes/pull/2359)
|
||||||
|
- Update table of contents helper (`toc.html`) to [v1.0.8](https://github.com/allejo/jekyll-toc/releases). [#2355](https://github.com/mmistakes/minimal-mistakes/pull/2355)
|
||||||
|
- Add missing Dutch localized UI text strings. [#2321](https://github.com/mmistakes/minimal-mistakes/pull/2321)
|
||||||
|
- Support page header (hero) in `archive-taxonomy` layout. [#2320](https://github.com/mmistakes/minimal-mistakes/pull/2320)
|
||||||
|
- Add social icon color for Keybase. [#2302](https://github.com/mmistakes/minimal-mistakes/pull/2302)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix JavaScript comments in Disqus include to be compatible with `compress` layout. [#2373](https://github.com/mmistakes/minimal-mistakes/pull/2373)
|
||||||
|
- Fix wrong newline concatenation in SEO description [#2368](https://github.com/mmistakes/minimal-mistakes/pull/2368) [#2354](https://github.com/mmistakes/minimal-mistakes/issues/2354)
|
||||||
|
- Fix Staticman v2/v3 conditional for showing comments. [#2351](https://github.com/mmistakes/minimal-mistakes/pull/2351)
|
||||||
|
- Fix masthead logo path. [#2332](https://github.com/mmistakes/minimal-mistakes/pull/2332)
|
||||||
|
- Fix schema.org dates to ISO-8601. [#2339](https://github.com/mmistakes/minimal-mistakes/pull/2339)
|
||||||
|
- Fix background color of code blocks in notices. [#2328](https://github.com/mmistakes/minimal-mistakes/pull/2328)
|
||||||
|
- Fix alignment of feature rows when placed next to a sticky sidebar. [#2327](https://github.com/mmistakes/minimal-mistakes/issues/2327)
|
||||||
|
- Fix `seo_description` in `_includes/seo.html`. [#2326](https://github.com/mmistakes/minimal-mistakes/pull/2326)
|
||||||
|
- Fix typo in `_config.yml`. [#2319](https://github.com/mmistakes/minimal-mistakes/pull/2319)
|
||||||
|
|
||||||
|
## [4.17.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.17.2)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add collection step to documentation about creating a portfolio page. [#2294](https://github.com/mmistakes/minimal-mistakes/pull/2294)
|
||||||
|
- Replace sticky footer JavaScript with flexbox styles. [#2289](https://github.com/mmistakes/minimal-mistakes/pull/2289)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix sticky footer when using MozBar extension. [#2281](https://github.com/mmistakes/minimal-mistakes/issues/2281)
|
||||||
|
|
||||||
|
## [4.17.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.17.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update Chinese (Simplified) localized UI text strings. [#2286](https://github.com/mmistakes/minimal-mistakes/pull/2286)
|
||||||
|
- Update list of 3rd party JavaScript used and licenses. [#2276](https://github.com/mmistakes/minimal-mistakes/pull/2276)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix indention of nested GFM task lists. [#2283](https://github.com/mmistakes/minimal-mistakes/issues/2283)
|
||||||
|
|
||||||
|
## [4.17.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.17.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Show a permalink anchor when hovering over headings in main content area. [#2251](https://github.com/mmistakes/minimal-mistakes/pull/2251)
|
||||||
|
- Allow per-page override of `words_per_minute`. [#2250](https://github.com/mmistakes/minimal-mistakes/pull/2250)
|
||||||
|
- Update [onchange](https://www.npmjs.com/package/onchange) development dependency in `package.json`. [#2241](https://github.com/mmistakes/minimal-mistakes/issues/2241)
|
||||||
|
- Add Catalan localized UI text strings. [#2237](https://github.com/mmistakes/minimal-mistakes/pull/2237)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Remove extraneous space from Internet Explorer conditional statement. [#2273](https://github.com/mmistakes/minimal-mistakes/pull/2273)
|
||||||
|
- Fix typo in `_config.yml`. [#2243](https://github.com/mmistakes/minimal-mistakes/pull/2243)
|
||||||
|
- Replace `http` URLs with `https` where applicable in `_config.yml`. [#2244](https://github.com/mmistakes/minimal-mistakes/pull/2244)
|
||||||
|
|
||||||
|
## [4.16.6](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.6)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Relax Jekyll dependency to allow for version 4.0.
|
||||||
|
- Add missing Spanish localized UI text strings. [#2229](https://github.com/mmistakes/minimal-mistakes/pull/2229)
|
||||||
|
- Allow Markdown in author bio. [#2215](https://github.com/mmistakes/minimal-mistakes/pull/2215)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix `site.url` in Organization/Person JSON-LD schema. [#1906](https://github.com/mmistakes/minimal-mistakes/issues/1906)
|
||||||
|
- Remove full stop in some `comment_form_info` UI text strings. [#2220](https://github.com/mmistakes/minimal-mistakes/pull/2220)
|
||||||
|
- Fix default `site.author` in seo.html [#2230](https://github.com/mmistakes/minimal-mistakes/pull/2230)
|
||||||
|
- Fix overlapping links (linked to and post's permalink) in post link type. [#2222](https://github.com/mmistakes/minimal-mistakes/issues/2222)
|
||||||
|
|
||||||
|
## [4.16.5](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.5)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add optional site subtitle to masthead. [#2173](https://github.com/mmistakes/minimal-mistakes/issues/2173)
|
||||||
|
- Add missing Punjabi and Hindi localized UI text strings. [#2212](https://github.com/mmistakes/minimal-mistakes/pull/2212)
|
||||||
|
- Add missing Korean localized UI text strings. [#2209](https://github.com/mmistakes/minimal-mistakes/pull/2209)
|
||||||
|
- Use [Font Awesome Kits](https://blog.fontawesome.com/introducing-font-awesome-kits-7134d1d59959) to use the latest version of icons. [#2184](https://github.com/mmistakes/minimal-mistakes/issues/2184)
|
||||||
|
- Remove unnecessary console.log in `lunr-en.js` and `lunr-gr.js` JavaScript. [#2193](https://github.com/mmistakes/minimal-mistakes/issues/2193)
|
||||||
|
- Remove unnecessary `type="text/javascript"` from Google Analytics JavaScript. [#2190](https://github.com/mmistakes/minimal-mistakes/pull/2190)
|
||||||
|
- Update links and fix typos in documentation. [#2186](https://github.com/mmistakes/minimal-mistakes/pull/2186)
|
||||||
|
- Add skip links. [#2182](https://github.com/mmistakes/minimal-mistakes/issues/2182)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix aria issues with Lunr search form. [#2211](https://github.com/mmistakes/minimal-mistakes/pull/2211)
|
||||||
|
- Fix missing fallback title for table of contents.
|
||||||
|
|
||||||
|
## [4.16.4](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.4)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update Brazilian Portuguese localized UI text strings. [#2162](https://github.com/mmistakes/minimal-mistakes/pull/2162)
|
||||||
|
- Update Font Awesome to v5.8.2. [#2150](https://github.com/mmistakes/minimal-mistakes/pull/2150)
|
||||||
|
- Add missing Spanish localized UI text strings. [#2149](https://github.com/mmistakes/minimal-mistakes/pull/2149)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix arithmetic in `_form.scss` partial. [#2169](https://github.com/mmistakes/minimal-mistakes/pull/2169)
|
||||||
|
- Fix pound symbol not displaying properly for post categories and tags. [#2156](https://github.com/mmistakes/minimal-mistakes/issues/2156)
|
||||||
|
- Fix permalink stacking order and click-able area in archives.
|
||||||
|
|
||||||
|
## [4.16.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.3)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update jQuery to v3.4.1. [#2137](https://github.com/mmistakes/minimal-mistakes/issues/2137)
|
||||||
|
- Update Gumshoe to v5.1.1. [#2140](https://github.com/mmistakes/minimal-mistakes/issues/2140)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix JavaScript error when resizing pages with table of contents. [#2140](https://github.com/mmistakes/minimal-mistakes/issues/2140)
|
||||||
|
|
||||||
|
## [4.16.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.2)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Revert jQuery back to version v3.3.1, v.3.4.0 causes issues with other plugins that haven't been updated. [#2137](https://github.com/mmistakes/minimal-mistakes/issues/2137)
|
||||||
|
|
||||||
|
## [4.16.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update [`compress` layout](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#compress-layout) to v3.1.0. [#2128](https://github.com/mmistakes/minimal-mistakes/pull/2128)
|
||||||
|
- Update jQuery to v3.4.0. [#2129](https://github.com/mmistakes/minimal-mistakes/pull/2129)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix Gumshoe related JavaScript error on pages without a table of contents. [#2124](https://github.com/mmistakes/minimal-mistakes/pull/2124)
|
||||||
|
|
||||||
|
## [4.16.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Improve search `input` semantics for Lunr and Google search providers. [#2123](https://github.com/mmistakes/minimal-mistakes/pull/2123)
|
||||||
|
- Allow adding JavaScript files after those bundled in the theme. [#2110](https://github.com/mmistakes/minimal-mistakes/issues/2110) [#2116](https://github.com/mmistakes/minimal-mistakes/pull/2116)
|
||||||
|
- Add `$max-width` Sass variable for adjusting page content's maximum width. [#2093](https://github.com/mmistakes/minimal-mistakes/pull/2093)
|
||||||
|
- Add Thai localized UI text strings. [#2111](https://github.com/mmistakes/minimal-mistakes/pull/2111)
|
||||||
|
- Update Font Awesome to [v5.8.1](https://github.com/FortAwesome/Font-Awesome/releases/tag/5.8.1). [#2102](https://github.com/mmistakes/minimal-mistakes/pull/2102)
|
||||||
|
- Add missing Vietnamese localized UI text strings. [#2097](https://github.com/mmistakes/minimal-mistakes/pull/2097)
|
||||||
|
- Replace jQuery Smooth Scroll with Smooth Scroll + Gumshoe. [#2082](https://github.com/mmistakes/minimal-mistakes/pull/2082)
|
||||||
|
- Add styling for [GFM task lists](https://help.github.com/en/articles/about-task-lists#creating-task-lists). [#2092](https://github.com/mmistakes/minimal-mistakes/issues/2092)
|
||||||
|
- Update Google Universal Analytics to load async. [#2079](https://github.com/mmistakes/minimal-mistakes/pull/2079)
|
||||||
|
- Remove Google+ social sharing button, comment provider, and author link configs from theme.
|
||||||
|
- Add missing Chinese text strings. [#2072](https://github.com/mmistakes/minimal-mistakes/pull/2072)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix table of contents active link styling.
|
||||||
|
- Add missing Hindi localized UI text strings. [#2105](https://github.com/mmistakes/minimal-mistakes/pull/2105) [#2106](https://github.com/mmistakes/minimal-mistakes/pull/2106)
|
||||||
|
- Fix Brazilian Portuguese text strings. [#2098](https://github.com/mmistakes/minimal-mistakes/pull/2098)
|
||||||
|
- Fix typo in French `results_found` text string. [#2096](https://github.com/mmistakes/minimal-mistakes/pull/2096)
|
||||||
|
- Fix figures inside of list elements. [#2094](https://github.com/mmistakes/minimal-mistakes/pull/2094)
|
||||||
|
- Remove Font Awesome `data-search-pseudo-elements` attribute as it degrades smooth scroll performance. [#2075](https://github.com/mmistakes/minimal-mistakes/issues/2075#issuecomment-472437014)
|
||||||
|
- Fix footnote links incompatibility with smooth scroll plugin. [#2075](https://github.com/mmistakes/minimal-mistakes/issues/2075)
|
||||||
|
- Loosen Bundler dependency in ruby gem.
|
||||||
|
|
||||||
## [4.15.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.2)
|
## [4.15.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.2)
|
||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
@@ -9,7 +276,7 @@
|
|||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
- Fix table of contents errors with non-English chracters in the headings. [#2042](https://github.com/mmistakes/minimal-mistakes/pull/2042)
|
- Fix table of contents errors with non-English characters in the headings. [#2042](https://github.com/mmistakes/minimal-mistakes/pull/2042)
|
||||||
- Fix `site.logo` false positives. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026#issuecomment-455770730)
|
- Fix `site.logo` false positives. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026#issuecomment-455770730)
|
||||||
- Add empty `alt` attribute to `site.logo` image. [#2035](https://github.com/mmistakes/minimal-mistakes/pull/2035)
|
- Add empty `alt` attribute to `site.logo` image. [#2035](https://github.com/mmistakes/minimal-mistakes/pull/2035)
|
||||||
|
|
||||||
@@ -113,7 +380,7 @@
|
|||||||
- Support heading levels 1-6 in table of contents with proper indentation styling. [#1782](https://github.com/mmistakes/minimal-mistakes/issues/1782)
|
- Support heading levels 1-6 in table of contents with proper indentation styling. [#1782](https://github.com/mmistakes/minimal-mistakes/issues/1782)
|
||||||
- Use relative links for masthead navigation menu items when possible. [#1784](https://github.com/mmistakes/minimal-mistakes/pull/1784)
|
- Use relative links for masthead navigation menu items when possible. [#1784](https://github.com/mmistakes/minimal-mistakes/pull/1784)
|
||||||
- Add `.emoji` class to author sidebar to normalize image sizes. [#1780](https://github.com/mmistakes/minimal-mistakes/pull/1780)
|
- Add `.emoji` class to author sidebar to normalize image sizes. [#1780](https://github.com/mmistakes/minimal-mistakes/pull/1780)
|
||||||
- Update Staticman commit message to include commentor's name.
|
- Update Staticman commit message to include comment author's name.
|
||||||
- Improve side navigation spacing in relation to masthead.
|
- Improve side navigation spacing in relation to masthead.
|
||||||
- Style archive links with appropriate link color.
|
- Style archive links with appropriate link color.
|
||||||
- Adjust feature row spacing and font-sizes.
|
- Adjust feature row spacing and font-sizes.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2013-2019 Michael Rose and contributors
|
Copyright (c) 2013-2020 Michael Rose and contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# [Minimal Mistakes Jekyll theme](https://mmistakes.github.io/minimal-mistakes/)
|
# [Minimal Mistakes Jekyll theme](https://mmistakes.github.io/minimal-mistakes/)
|
||||||
|
|
||||||
[](https://raw.githubusercontent.com/mmistakes/minimal-mistakes/master/LICENSE)
|
[](https://raw.githubusercontent.com/mmistakes/minimal-mistakes/master/LICENSE)
|
||||||
[](https://jekyllrb.com/)
|
[](https://jekyllrb.com/)
|
||||||
[](https://rubygems.org/gems/minimal-mistakes-jekyll)
|
[](https://rubygems.org/gems/minimal-mistakes-jekyll)
|
||||||
[](https://www.paypal.me/mmistakes)
|
[](https://www.paypal.me/mmistakes)
|
||||||
|
|
||||||
@@ -9,11 +9,11 @@ Minimal Mistakes is a flexible two-column Jekyll theme, perfect for building per
|
|||||||
|
|
||||||
:sparkles: See what's new in the [CHANGELOG](CHANGELOG.md).
|
:sparkles: See what's new in the [CHANGELOG](CHANGELOG.md).
|
||||||
|
|
||||||
**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 [supporting me](https://www.paypal.me/mmistakes) to continue developing and maintaining it.**
|
||||||
|
|
||||||
[](https://www.paypal.me/mmistakes)
|
[](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 throw `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 added to the `plugins` array of `_config.yml`. Otherwise you'll encounter `Unknown tag 'include_cached'` errors at build.
|
||||||
|
|
||||||
[![Minimal Mistakes live preview][2]][1]
|
[![Minimal Mistakes live preview][2]][1]
|
||||||
|
|
||||||
@@ -33,23 +33,23 @@ Minimal Mistakes is a flexible two-column Jekyll theme, perfect for building per
|
|||||||
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
|
||||||
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), static-based via [Staticman](https://staticman.net/), 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/), and [utterances](https://utteranc.es/)).
|
||||||
- [Google Analytics](https://www.google.com/analytics/) support.
|
- [Google Analytics](https://www.google.com/analytics/) support.
|
||||||
- UI localized text in English (default), Brazilian Portuguese (Português brasileiro), Chinese, Danish, Dutch, French (Français), German (Deutsch), Greek, Hindi (हिंदी), Hungarian, Indonesian, Italian (Italiano), Japanese, Korean, Malayalam, Nepali (Nepalese), Persian (فارسی), Polish, Punjabi (ਪੰਜਾਬੀ), Romanian, Russian, Slovak, Spanish (Español), Swedish, Turkish (Türkçe), and Vietnamese.
|
- 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.
|
||||||
|
|
||||||
## Skins (color variations)
|
## Skins (color variations)
|
||||||
|
|
||||||
This theme comes in nine different skins (including the default one).
|
This theme comes in nine different skins (in addition to the default one).
|
||||||
|
|
||||||
| `air` | `contrast` | `dark` |
|
| `air` | `contrast` | `dark` |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|  |  |  |
|
| [](https://mmistakes.github.io/minimal-mistakes/assets/images/air-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/contrast-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/dark-skin-archive-large.png) |
|
||||||
|
|
||||||
| `dirt` | `mint` | `sunrise` |
|
| `dirt` | `mint` | `sunrise` |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|  |  |  |
|
| [](https://mmistakes.github.io/minimal-mistakes/assets/images/dirt-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/mint-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/sunrise-skin-archive-large.png) |
|
||||||
|
|
||||||
| `aqua` | `neon` | `plum` |
|
| `aqua` | `neon` | `plum` |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|  |  |  |
|
| [](https://mmistakes.github.io/minimal-mistakes/assets/images/aqua-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/neon-skin-archive-large.png) | [](https://mmistakes.github.io/minimal-mistakes/assets/images/plum-skin-archive-large.png) |
|
||||||
|
|
||||||
## Demo pages
|
## Demo pages
|
||||||
|
|
||||||
@@ -126,7 +126,9 @@ To install:
|
|||||||
bundle
|
bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.15.2"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.20.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
||||||
|
|
||||||
|
**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.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -185,7 +187,8 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
|
|||||||
- [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)
|
- [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)
|
||||||
- [FitVids.JS](http://fitvidsjs.com/)
|
- [FitVids.JS](http://fitvidsjs.com/)
|
||||||
- [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav)
|
- [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav)
|
||||||
- [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll)
|
- [Smooth Scroll](https://github.com/cferdinandi/smooth-scroll)
|
||||||
|
- [Gumshoe](https://github.com/cferdinandi/gumshoe)
|
||||||
- [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/)
|
- [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/)
|
||||||
- [Lunr](http://lunrjs.com)
|
- [Lunr](http://lunrjs.com)
|
||||||
|
|
||||||
@@ -195,7 +198,7 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
|
|||||||
|
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2013-2019 Michael Rose and contributors
|
Copyright (c) 2013-2020 Michael Rose and contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -235,15 +238,19 @@ Breakpoint is distributed under the terms of the [MIT/GPL Licenses](http://opens
|
|||||||
|
|
||||||
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
Minimal Mistakes incorporates [FitVids.js](https://github.com/davatron5000/FitVids.js/),
|
||||||
Copyright (c) 2013 Dave Rubert and Chris Coyier.
|
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/),
|
Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/),
|
||||||
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
|
||||||
Magnific Popup is distributed under the terms of the MIT License.
|
Magnific Popup is distributed under the terms of the MIT License.
|
||||||
|
|
||||||
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
|
Minimal Mistakes incorporates [Smooth Scroll](http://github.com/cferdinandi/smooth-scroll),
|
||||||
Copyright (c) 2017 Karl Swedberg.
|
Copyright (c) 2019 Chris Ferdinandi.
|
||||||
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
||||||
Minimal Mistakes incorporates [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/),
|
Minimal Mistakes incorporates [jQuery throttle / debounce](http://benalman.com/projects/jquery-throttle-debounce-plugin/),
|
||||||
Copyright (c) 2010 "Cowboy" Ben Alman.
|
Copyright (c) 2010 "Cowboy" Ben Alman.
|
||||||
|
|||||||
+11
-25
@@ -18,6 +18,7 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
|
|||||||
locale : "en-US"
|
locale : "en-US"
|
||||||
title : "Site Title"
|
title : "Site Title"
|
||||||
title_separator : "-"
|
title_separator : "-"
|
||||||
|
subtitle : # site tagline that appears below site title in masthead
|
||||||
name : "Your Name"
|
name : "Your Name"
|
||||||
description : "An amazing website."
|
description : "An amazing website."
|
||||||
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
||||||
@@ -29,7 +30,7 @@ masthead_title : # overrides the website title displayed in the masthe
|
|||||||
# breadcrumbs : false # true, false (default)
|
# breadcrumbs : false # true, false (default)
|
||||||
words_per_minute : 200
|
words_per_minute : 200
|
||||||
comments:
|
comments:
|
||||||
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "staticman_v2", "utterances", "custom"
|
provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "custom"
|
||||||
disqus:
|
disqus:
|
||||||
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
|
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
|
||||||
discourse:
|
discourse:
|
||||||
@@ -43,22 +44,8 @@ comments:
|
|||||||
theme : # "github-light" (default), "github-dark"
|
theme : # "github-light" (default), "github-dark"
|
||||||
issue_term : # "pathname" (default)
|
issue_term : # "pathname" (default)
|
||||||
staticman:
|
staticman:
|
||||||
allowedFields : # ['name', 'email', 'url', 'message']
|
|
||||||
branch : # "master"
|
branch : # "master"
|
||||||
commitMessage : # "New comment by {fields.name}"
|
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
|
||||||
filename : # comment-{@timestamp}
|
|
||||||
format : # "yml"
|
|
||||||
moderation : # true
|
|
||||||
path : # "/_data/comments/{options.slug}" (default)
|
|
||||||
requiredFields : # ['name', 'email', 'message']
|
|
||||||
transforms:
|
|
||||||
email : # "md5"
|
|
||||||
generatedFields:
|
|
||||||
date:
|
|
||||||
type : # "date"
|
|
||||||
options:
|
|
||||||
format : # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
|
|
||||||
endpoint : # URL of your own deployment with trailing slash, will fallback to the public instance
|
|
||||||
reCaptcha:
|
reCaptcha:
|
||||||
siteKey :
|
siteKey :
|
||||||
secret :
|
secret :
|
||||||
@@ -98,7 +85,7 @@ social:
|
|||||||
|
|
||||||
# Analytics
|
# Analytics
|
||||||
analytics:
|
analytics:
|
||||||
provider : false # false (default), "google", "google-universal", "custom"
|
provider : false # false (default), "google", "google-universal", "google-gtag", "custom"
|
||||||
google:
|
google:
|
||||||
tracking_id :
|
tracking_id :
|
||||||
anonymize_ip : # true, false (default)
|
anonymize_ip : # true, false (default)
|
||||||
@@ -108,13 +95,13 @@ analytics:
|
|||||||
author:
|
author:
|
||||||
name : "Your Name"
|
name : "Your Name"
|
||||||
avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
|
avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
|
||||||
bio : "I am an amazing person."
|
bio : "I am an **amazing** person."
|
||||||
location : "Somewhere"
|
location : "Somewhere"
|
||||||
email :
|
email :
|
||||||
links:
|
links:
|
||||||
- label: "Email"
|
- label: "Email"
|
||||||
icon: "fas fa-fw fa-envelope-square"
|
icon: "fas fa-fw fa-envelope-square"
|
||||||
# url: mailto:your.name@email.com
|
# url: "mailto:your.name@email.com"
|
||||||
- label: "Website"
|
- label: "Website"
|
||||||
icon: "fas fa-fw fa-link"
|
icon: "fas fa-fw fa-link"
|
||||||
# url: "https://your-website.com"
|
# url: "https://your-website.com"
|
||||||
@@ -179,6 +166,7 @@ exclude:
|
|||||||
- log
|
- log
|
||||||
- node_modules
|
- node_modules
|
||||||
- package.json
|
- package.json
|
||||||
|
- package-lock.json
|
||||||
- Rakefile
|
- Rakefile
|
||||||
- README
|
- README
|
||||||
- tmp
|
- tmp
|
||||||
@@ -214,7 +202,7 @@ kramdown:
|
|||||||
# Sass/SCSS
|
# Sass/SCSS
|
||||||
sass:
|
sass:
|
||||||
sass_dir: _sass
|
sass_dir: _sass
|
||||||
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
|
style: compressed # https://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
|
||||||
|
|
||||||
|
|
||||||
# Outputting
|
# Outputting
|
||||||
@@ -230,7 +218,6 @@ plugins:
|
|||||||
- jekyll-sitemap
|
- jekyll-sitemap
|
||||||
- jekyll-gist
|
- jekyll-gist
|
||||||
- jekyll-feed
|
- jekyll-feed
|
||||||
- jemoji
|
|
||||||
- jekyll-include-cache
|
- jekyll-include-cache
|
||||||
|
|
||||||
# mimic GitHub Pages with --safe
|
# mimic GitHub Pages with --safe
|
||||||
@@ -239,7 +226,6 @@ whitelist:
|
|||||||
- jekyll-sitemap
|
- jekyll-sitemap
|
||||||
- jekyll-gist
|
- jekyll-gist
|
||||||
- jekyll-feed
|
- jekyll-feed
|
||||||
- jemoji
|
|
||||||
- jekyll-include-cache
|
- jekyll-include-cache
|
||||||
|
|
||||||
|
|
||||||
@@ -251,8 +237,8 @@ whitelist:
|
|||||||
# - Archive page should exist at path when using Liquid method or you can
|
# - Archive page should exist at path when using Liquid method or you can
|
||||||
# expect broken links (especially with breadcrumbs enabled)
|
# expect broken links (especially with breadcrumbs enabled)
|
||||||
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
||||||
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
|
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
|
||||||
# - <base_path/my-awesome-category/index.html ~> path: /
|
# - <base_path>/my-awesome-category/index.html ~> path: /
|
||||||
category_archive:
|
category_archive:
|
||||||
type: liquid
|
type: liquid
|
||||||
path: /categories/
|
path: /categories/
|
||||||
@@ -273,7 +259,7 @@ tag_archive:
|
|||||||
|
|
||||||
|
|
||||||
# HTML Compression
|
# HTML Compression
|
||||||
# - http://jch.penibelst.de/
|
# - https://jch.penibelst.de/
|
||||||
compress_html:
|
compress_html:
|
||||||
clippings: all
|
clippings: all
|
||||||
ignore:
|
ignore:
|
||||||
|
|||||||
+558
-60
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,7 @@
|
|||||||
<script>
|
<script>
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
||||||
|
|
||||||
ga('create','{{ site.analytics.google.tracking_id }}','auto');
|
ga('create','{{ site.analytics.google.tracking_id }}','auto');
|
||||||
ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }})
|
ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }});
|
||||||
ga('send', 'pageview');
|
ga('send','pageview')
|
||||||
</script>
|
</script>
|
||||||
|
<script src="https://www.google-analytics.com/analytics.js" async></script>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<script type="text/javascript">
|
<script>
|
||||||
var _gaq = _gaq || [];
|
var _gaq = _gaq || [];
|
||||||
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
|
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
|
||||||
{% if site.analytics.google.anonymize_ip == true %}
|
{% if site.analytics.google.anonymize_ip == true %}
|
||||||
|
|||||||
@@ -14,25 +14,17 @@
|
|||||||
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||||
{% if include.type == "grid" and teaser %}
|
{% if include.type == "grid" and teaser %}
|
||||||
<div class="archive__item-teaser">
|
<div class="archive__item-teaser">
|
||||||
<img src=
|
<img src="{{ teaser | relative_url }}" alt="">
|
||||||
{% if teaser contains "://" %}
|
|
||||||
"{{ teaser }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ teaser | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="">
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h2 class="archive__item-title" itemprop="headline">
|
<h2 class="archive__item-title no_toc" itemprop="headline">
|
||||||
{% if post.link %}
|
{% 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>
|
<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 %}
|
{% else %}
|
||||||
<a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
|
<a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h2>
|
</h2>
|
||||||
{% if post.read_time %}
|
{% include post__meta.html type=include.type %}
|
||||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
|
||||||
{% endif %}
|
|
||||||
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
|
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,37 +5,26 @@
|
|||||||
|
|
||||||
{% if author.avatar %}
|
{% if author.avatar %}
|
||||||
<div class="author__avatar">
|
<div class="author__avatar">
|
||||||
{% if author.avatar contains "://" %}
|
|
||||||
{% assign author_src = author.avatar %}
|
|
||||||
{% else %}
|
|
||||||
{% assign author_src = author.avatar | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if author.home %}
|
{% if author.home %}
|
||||||
{% if author.home contains "://" %}
|
<a href="{{ author.home | relative_url }}">
|
||||||
{% assign author_link = author.home %}
|
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
|
||||||
{% else %}
|
|
||||||
{% assign author_link = author.home | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
<a href="{{ author_link }}">
|
|
||||||
<img src="{{ author_src }}" alt="{{ author.name }}" itemprop="image">
|
|
||||||
</a>
|
</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src="{{ author_src }}" alt="{{ author.name }}" itemprop="image">
|
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="author__content">
|
<div class="author__content">
|
||||||
{% if author.home %}
|
{% if author.home %}
|
||||||
<a href="{{ author_link }}"><h3 class="author__name" itemprop="name">{{ author.name }}</h3></a>
|
<a href="{{ author.home | relative_url }}"><h3 class="author__name" itemprop="name">{{ author.name }}</h3></a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
|
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if author.bio %}
|
{% if author.bio %}
|
||||||
<p class="author__bio" itemprop="description">
|
<div class="author__bio" itemprop="description">
|
||||||
{{ author.bio }}
|
{{ author.bio | markdownify }}
|
||||||
</p>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -51,7 +40,7 @@
|
|||||||
{% if author.links %}
|
{% if author.links %}
|
||||||
{% for link in author.links %}
|
{% for link in author.links %}
|
||||||
{% if link.label and link.url %}
|
{% if link.label and link.url %}
|
||||||
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i> {{ link.label }}</a></li>
|
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i><span class="label">{{ link.label }}</span></a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -59,7 +48,7 @@
|
|||||||
{% if author.uri %}
|
{% if author.uri %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ author.uri }}" itemprop="url">
|
<a href="{{ author.uri }}" itemprop="url">
|
||||||
<i class="fas fa-fw fa-link" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label | default: "Website" }}
|
<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>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -68,7 +57,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="mailto:{{ author.email }}">
|
<a href="mailto:{{ author.email }}">
|
||||||
<meta itemprop="email" content="{{ author.email }}" />
|
<meta itemprop="email" content="{{ author.email }}" />
|
||||||
<i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label | default: "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>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -76,7 +65,7 @@
|
|||||||
{% if author.keybase %}
|
{% if author.keybase %}
|
||||||
<li>
|
<li>
|
||||||
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||||
<i class="fas fa-fw fa-key" aria-hidden="true"></i> Keybase
|
<i class="fas fa-fw fa-key" aria-hidden="true"></i><span class="label">Keybase</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -84,7 +73,7 @@
|
|||||||
{% if author.twitter %}
|
{% if author.twitter %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter
|
<i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i><span class="label">Twitter</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -92,15 +81,7 @@
|
|||||||
{% if author.facebook %}
|
{% if author.facebook %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook
|
<i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i><span class="label">Facebook</span>
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if author.google_plus %}
|
|
||||||
<li>
|
|
||||||
<a href="https://plus.google.com/{{ author.google_plus }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
|
||||||
<i class="fab fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -108,7 +89,7 @@
|
|||||||
{% if author.linkedin %}
|
{% if author.linkedin %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i> LinkedIn
|
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span class="label">LinkedIn</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -116,7 +97,7 @@
|
|||||||
{% if author.xing %}
|
{% if author.xing %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-xing-square" aria-hidden="true"></i> XING
|
<i class="fab fa-fw fa-xing-square" aria-hidden="true"></i><span class="label">XING</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -124,7 +105,7 @@
|
|||||||
{% if author.instagram %}
|
{% if author.instagram %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-instagram" aria-hidden="true"></i> Instagram
|
<i class="fab fa-fw fa-instagram" aria-hidden="true"></i><span class="label">Instagram</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -132,7 +113,7 @@
|
|||||||
{% if author.tumblr %}
|
{% if author.tumblr %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i> Tumblr
|
<i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i><span class="label">Tumblr</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -140,7 +121,7 @@
|
|||||||
{% if author.bitbucket %}
|
{% if author.bitbucket %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket
|
<i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i><span class="label">Bitbucket</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -148,7 +129,7 @@
|
|||||||
{% if author.github %}
|
{% if author.github %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-github" aria-hidden="true"></i> GitHub
|
<i class="fab fa-fw fa-github" aria-hidden="true"></i><span class="label">GitHub</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -156,7 +137,7 @@
|
|||||||
{% if author.gitlab %}
|
{% if author.gitlab %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-gitlab" aria-hidden="true"></i> GitLab
|
<i class="fab fa-fw fa-gitlab" aria-hidden="true"></i><span class="label">GitLab</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -164,7 +145,7 @@
|
|||||||
{% if author.stackoverflow %}
|
{% if author.stackoverflow %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i> Stack Overflow
|
<i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i><span class="label">Stack Overflow</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -172,7 +153,7 @@
|
|||||||
{% if author.lastfm %}
|
{% if author.lastfm %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i> Last.fm
|
<i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i><span class="label">Last.fm</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -180,7 +161,7 @@
|
|||||||
{% if author.dribbble %}
|
{% if author.dribbble %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-dribbble" aria-hidden="true"></i> Dribbble
|
<i class="fab fa-fw fa-dribbble" aria-hidden="true"></i><span class="label">Dribbble</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -188,7 +169,7 @@
|
|||||||
{% if author.pinterest %}
|
{% if author.pinterest %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-pinterest" aria-hidden="true"></i> Pinterest
|
<i class="fab fa-fw fa-pinterest" aria-hidden="true"></i><span class="label">Pinterest</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -196,7 +177,7 @@
|
|||||||
{% if author.foursquare %}
|
{% if author.foursquare %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-foursquare" aria-hidden="true"></i> Foursquare
|
<i class="fab fa-fw fa-foursquare" aria-hidden="true"></i><span class="label">Foursquare</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -204,7 +185,7 @@
|
|||||||
{% if author.steam %}
|
{% if author.steam %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-steam" aria-hidden="true"></i> Steam
|
<i class="fab fa-fw fa-steam" aria-hidden="true"></i><span class="label">Steam</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -213,13 +194,13 @@
|
|||||||
{% if author.youtube contains "://" %}
|
{% if author.youtube contains "://" %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
<a href="{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i> YouTube
|
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% else author.youtube %}
|
{% elsif author.youtube %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i> YouTube
|
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -228,7 +209,7 @@
|
|||||||
{% if author.soundcloud %}
|
{% if author.soundcloud %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i> SoundCloud
|
<i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i><span class="label">SoundCloud</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -236,7 +217,7 @@
|
|||||||
{% if author.weibo %}
|
{% if author.weibo %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-weibo" aria-hidden="true"></i> Weibo
|
<i class="fab fa-fw fa-weibo" aria-hidden="true"></i><span class="label">Weibo</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -244,7 +225,7 @@
|
|||||||
{% if author.flickr %}
|
{% if author.flickr %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-flickr" aria-hidden="true"></i> Flickr
|
<i class="fab fa-fw fa-flickr" aria-hidden="true"></i><span class="label">Flickr</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -252,7 +233,7 @@
|
|||||||
{% if author.codepen %}
|
{% if author.codepen %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-codepen" aria-hidden="true"></i> CodePen
|
<i class="fab fa-fw fa-codepen" aria-hidden="true"></i><span class="label">CodePen</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -260,7 +241,7 @@
|
|||||||
{% if author.vine %}
|
{% if author.vine %}
|
||||||
<li>
|
<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">
|
||||||
<i class="fab fa-fw fa-vine" aria-hidden="true"></i> Vine
|
<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>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -10,14 +10,14 @@
|
|||||||
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
||||||
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
{% 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 category_hashes = page_categories | split: ',' | sort %}
|
||||||
|
|
||||||
<p class="page__taxonomy">
|
<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>
|
<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">
|
<span itemprop="keywords">
|
||||||
{% for hash in category_hashes %}
|
{% for hash in category_hashes %}
|
||||||
{% assign keyValue = hash | split: '#' %}
|
{% assign keyValue = hash | split: '|' %}
|
||||||
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
{% 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 %}
|
<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 %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<p class="comment__date">
|
<p class="comment__date">
|
||||||
{% if include.date %}
|
{% if include.date %}
|
||||||
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
||||||
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time>
|
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %-d, %Y at %I:%M %p" }}</time>
|
||||||
{% if include.index %}</a>{% endif %}
|
{% if include.index %}</a>{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<!-- start custom comments scripts -->
|
||||||
|
|
||||||
|
<!-- end custom comments scripts -->
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
{% if site.comments.disqus.shortname %}
|
{% if site.comments.disqus.shortname %}
|
||||||
<script>
|
<script>
|
||||||
var disqus_config = function () {
|
var disqus_config = function () {
|
||||||
this.page.url = "{{ page.url | absolute_url }}"; // Replace PAGE_URL with your page's canonical URL variable
|
this.page.url = "{{ page.url | absolute_url }}"; /* Replace PAGE_URL with your page's canonical URL variable */
|
||||||
this.page.identifier = "{{ page.id }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
|
this.page.identifier = "{{ page.id }}"; /* Replace PAGE_IDENTIFIER with your page's unique identifier variable */
|
||||||
};
|
};
|
||||||
(function() { // DON'T EDIT BELOW THIS LINE
|
(function() { /* DON'T EDIT BELOW THIS LINE */
|
||||||
var d = document, s = d.createElement('script');
|
var d = document, s = d.createElement('script');
|
||||||
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
||||||
s.setAttribute('data-timestamp', +new Date());
|
s.setAttribute('data-timestamp', +new Date());
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
<script async type="text/javascript" src="//apis.google.com/js/plusone.js?callback=gpcb"></script>
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>
|
|
||||||
@@ -6,8 +6,6 @@
|
|||||||
{% include /comments-providers/discourse.html %}
|
{% include /comments-providers/discourse.html %}
|
||||||
{% when "facebook" %}
|
{% when "facebook" %}
|
||||||
{% include /comments-providers/facebook.html %}
|
{% include /comments-providers/facebook.html %}
|
||||||
{% when "google-plus" %}
|
|
||||||
{% include /comments-providers/google-plus.html %}
|
|
||||||
{% when "staticman" %}
|
{% when "staticman" %}
|
||||||
{% include /comments-providers/staticman.html %}
|
{% include /comments-providers/staticman.html %}
|
||||||
{% when "staticman_v2" %}
|
{% when "staticman_v2" %}
|
||||||
@@ -15,6 +13,6 @@
|
|||||||
{% when "utterances" %}
|
{% when "utterances" %}
|
||||||
{% include /comments-providers/utterances.html %}
|
{% include /comments-providers/utterances.html %}
|
||||||
{% when "custom" %}
|
{% when "custom" %}
|
||||||
{% include /comments-providers/custom.html %}
|
{% include /comments-providers/custom_scripts.html %}
|
||||||
{% endcase %}
|
{% endcase %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{% if site.repository and site.staticman.branch %}
|
{% if site.repository and site.comments.staticman.branch %}
|
||||||
<script>
|
<script>
|
||||||
(function ($) {
|
(function ($) {
|
||||||
$('#new_comment').submit(function () {
|
$('#new_comment').submit(function () {
|
||||||
|
|||||||
+3
-18
@@ -10,24 +10,9 @@
|
|||||||
{% when "facebook" %}
|
{% when "facebook" %}
|
||||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||||
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
|
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
|
||||||
{% when "google-plus" %}
|
|
||||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
|
||||||
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section>
|
|
||||||
<script>
|
|
||||||
function initComment() {
|
|
||||||
gapi.comments.render("g-comments", {
|
|
||||||
href: "{{ page.url | absolute_url }}",
|
|
||||||
width: "624",
|
|
||||||
first_party_property: "BLOGGER",
|
|
||||||
view_type: "FILTERED_POSTMOD"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" />
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>-->
|
|
||||||
{% when "staticman_v2" %}
|
{% when "staticman_v2" %}
|
||||||
<section id="static-comments">
|
<section id="static-comments">
|
||||||
{% if site.repository and site.staticman.branch %}
|
{% if site.repository and site.comments.staticman.branch %}
|
||||||
<!-- Start static comments -->
|
<!-- Start static comments -->
|
||||||
<div class="js-comments">
|
<div class="js-comments">
|
||||||
{% if site.data.comments[page.slug] %}
|
{% if site.data.comments[page.slug] %}
|
||||||
@@ -50,7 +35,7 @@
|
|||||||
<div class="page__comments-form">
|
<div class="page__comments-form">
|
||||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
|
<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>
|
<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.staticman.endpoint | default: 'https://api.staticman.net/v2/entry/' }}{{ site.repository }}/{{ site.staticman.branch }}/comments">
|
<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">
|
||||||
<div class="form__spinner">
|
<div class="form__spinner">
|
||||||
<i class="fas fa-spinner fa-spin fa-3x fa-fw"></i>
|
<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>
|
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
|
||||||
@@ -169,6 +154,6 @@
|
|||||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||||
<section id="utterances-comments"></section>
|
<section id="utterances-comments"></section>
|
||||||
{% when "custom" %}
|
{% when "custom" %}
|
||||||
<section id="custom-comments"></section>
|
{% include /comments-providers/custom.html %}
|
||||||
{% endcase %}
|
{% endcase %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -15,5 +15,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{%- for post in entries -%}
|
{%- for post in entries -%}
|
||||||
|
{%- unless post.hidden -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
|
{%- endunless -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
+2
-14
@@ -7,23 +7,11 @@
|
|||||||
<div class="feature__wrapper">
|
<div class="feature__wrapper">
|
||||||
|
|
||||||
{% for f in feature_row %}
|
{% for f in feature_row %}
|
||||||
|
|
||||||
{% if f.url contains "://" %}
|
|
||||||
{% capture f_url %}{{ f.url }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture f_url %}{{ f.url | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
|
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
|
||||||
<div class="archive__item">
|
<div class="archive__item">
|
||||||
{% if f.image_path %}
|
{% if f.image_path %}
|
||||||
<div class="archive__item-teaser">
|
<div class="archive__item-teaser">
|
||||||
<img src=
|
<img src="{{ f.image_path | relative_url }}"
|
||||||
{% if f.image_path contains "://" %}
|
|
||||||
"{{ f.image_path }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ f.image_path | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if f.alt %}{{ f.alt }}{% endif %}">
|
alt="{% if f.alt %}{{ f.alt }}{% endif %}">
|
||||||
{% if f.image_caption %}
|
{% if f.image_caption %}
|
||||||
<span class="archive__item-caption">{{ f.image_caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
<span class="archive__item-caption">{{ f.image_caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
||||||
@@ -43,7 +31,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if f.url %}
|
{% if f.url %}
|
||||||
<p><a href="{{ f_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
|
<p><a href="{{ f.url | relative_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+4
-7
@@ -1,12 +1,9 @@
|
|||||||
<figure class="{{ include.class }}">
|
<figure class="{{ include.class }}">
|
||||||
<img src=
|
<img src="{{ include.image_path | relative_url }}"
|
||||||
{% if include.image_path contains "://" %}
|
|
||||||
"{{ include.image_path }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ include.image_path | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
|
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
|
||||||
{% if include.caption %}
|
{% if include.caption %}
|
||||||
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
|
<figcaption>
|
||||||
|
{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||||
|
</figcaption>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</figure>
|
</figure>
|
||||||
|
|||||||
+4
-20
@@ -19,29 +19,13 @@
|
|||||||
<figure class="{{ gallery_layout }} {{ include.class }}">
|
<figure class="{{ gallery_layout }} {{ include.class }}">
|
||||||
{% for img in gallery %}
|
{% for img in gallery %}
|
||||||
{% if img.url %}
|
{% if img.url %}
|
||||||
<a href=
|
<a href="{{ img.url | relative_url }}"
|
||||||
{% if img.url contains "://" %}
|
{% if img.title %}title="{{ img.title }}"{% endif %}>
|
||||||
"{{ img.url }}"
|
<img src="{{ img.image_path | relative_url }}"
|
||||||
{% else %}
|
|
||||||
"{{ img.url | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
{% if img.title %}title="{{ img.title }}"{% endif %}
|
|
||||||
>
|
|
||||||
<img src=
|
|
||||||
{% if img.image_path contains "://" %}
|
|
||||||
"{{ img.image_path }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ img.image_path | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||||
</a>
|
</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src=
|
<img src="{{ img.image_path | relative_url }}"
|
||||||
{% if img.image_path contains "://" %}
|
|
||||||
"{{ img.image_path }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ img.image_path | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
+2
-6
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
<!-- For all browsers -->
|
<!-- For all browsers -->
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css">
|
||||||
|
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<style>
|
<style>
|
||||||
@@ -31,11 +32,6 @@
|
|||||||
|
|
||||||
{% if site.head_scripts %}
|
{% if site.head_scripts %}
|
||||||
{% for script in site.head_scripts %}
|
{% for script in site.head_scripts %}
|
||||||
{% if script contains "://" %}
|
<script src="{{ script | relative_url }}"></script>
|
||||||
{% capture script_path %}{{ script }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture script_path %}{{ script | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
<script src="{{ script_path }}"></script>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
+5
-11
@@ -1,8 +1,4 @@
|
|||||||
{% if site.logo contains "://" %}
|
|
||||||
{% capture logo_path %}{{ site.logo }}{% endcapture %}
|
{% capture logo_path %}{{ site.logo }}{% endcapture %}
|
||||||
{% else %}
|
|
||||||
{% capture logo_path %}{{ site.logo }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="masthead">
|
<div class="masthead">
|
||||||
<div class="masthead__inner-wrap">
|
<div class="masthead__inner-wrap">
|
||||||
@@ -11,16 +7,14 @@
|
|||||||
{% unless logo_path == empty %}
|
{% 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=""></a>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
<a class="site-title" href="{{ '/' | relative_url }}">{{ site.masthead_title | default: site.title }}</a>
|
<a class="site-title" href="{{ '/' | relative_url }}">
|
||||||
|
{{ site.masthead_title | default: site.title }}
|
||||||
|
{% if site.subtitle %}<span class="site-subtitle">{{ site.subtitle }}</span>{% endif %}
|
||||||
|
</a>
|
||||||
<ul class="visible-links">
|
<ul class="visible-links">
|
||||||
{%- for link in site.data.navigation.main -%}
|
{%- for link in site.data.navigation.main -%}
|
||||||
{%- if link.url contains '://' -%}
|
|
||||||
{%- assign url = link.url -%}
|
|
||||||
{%- else -%}
|
|
||||||
{%- assign url = link.url | relative_url -%}
|
|
||||||
{%- endif -%}
|
|
||||||
<li class="masthead__menu-item">
|
<li class="masthead__menu-item">
|
||||||
<a href="{{ url }}" {% if link.description %}title="{{ link.description }}"{% endif %}>{{ link.title }}</a>
|
<a href="{{ link.url | relative_url }}"{% if link.description %} title="{{ link.description }}"{% endif %}>{{ link.title }}</a>
|
||||||
</li>
|
</li>
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
+2
-23
@@ -8,14 +8,7 @@
|
|||||||
{% for nav in navigation %}
|
{% for nav in navigation %}
|
||||||
<li>
|
<li>
|
||||||
{% if nav.url %}
|
{% if nav.url %}
|
||||||
{% comment %} internal/external URL check {% endcomment %}
|
<a href="{{ nav.url | relative_url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
|
||||||
{% if nav.url contains "://" %}
|
|
||||||
{% assign nav_url = nav.url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign nav_url = nav.url | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<a href="{{ nav_url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="nav__sub-title">{{ nav.title }}</span>
|
<span class="nav__sub-title">{{ nav.title }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -23,21 +16,7 @@
|
|||||||
{% if nav.children != null %}
|
{% if nav.children != null %}
|
||||||
<ul>
|
<ul>
|
||||||
{% for child in nav.children %}
|
{% for child in nav.children %}
|
||||||
{% comment %} internal/external URL check {% endcomment %}
|
<li><a href="{{ child.url | relative_url }}"{% if child.url == page.url %} class="active"{% endif %}>{{ child.title }}</a></li>
|
||||||
{% if child.url contains "://" %}
|
|
||||||
{% assign child_url = child.url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign child_url = child.url | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% comment %} set "active" class on current page {% endcomment %}
|
|
||||||
{% if child.url == page.url %}
|
|
||||||
{% assign active = "active" %}
|
|
||||||
{% else %}
|
|
||||||
{% assign active = "" %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<li><a href="{{ child_url }}" class="{{ active }}">{{ child.title }}</a></li>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{% 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>
|
||||||
|
{% 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 %}
|
||||||
@@ -1,20 +1,4 @@
|
|||||||
{% if page.header.image contains "://" %}
|
|
||||||
{% capture img_path %}{{ page.header.image }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture img_path %}{{ page.header.image | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.header.cta_url contains "://" %}
|
|
||||||
{% capture cta_path %}{{ page.header.cta_url }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture cta_path %}{{ page.header.cta_url | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.header.overlay_image contains "://" %}
|
|
||||||
{% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %}
|
|
||||||
{% elsif page.header.overlay_image %}
|
|
||||||
{% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %}
|
{% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %}
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.header.overlay_filter contains "rgba" %}
|
{% if page.header.overlay_filter contains "rgba" %}
|
||||||
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
||||||
@@ -42,29 +26,24 @@
|
|||||||
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
|
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h1>
|
</h1>
|
||||||
{% if page.header.show_overlay_excerpt != false and page.excerpt %}
|
{% if page.tagline %}
|
||||||
|
<p class="page__lead">{{ page.tagline | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||||
|
{% elsif page.header.show_overlay_excerpt != false and page.excerpt %}
|
||||||
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if page.read_time %}
|
{% include post__meta.html %}
|
||||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
|
||||||
{% endif %}
|
|
||||||
{% if page.header.cta_url %}
|
{% if page.header.cta_url %}
|
||||||
<p><a href="{{ cta_path }}" 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>
|
<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 %}
|
{% endif %}
|
||||||
{% if page.header.actions %}
|
{% if page.header.actions %}
|
||||||
<p>
|
<p>
|
||||||
{% for action in page.header.actions %}
|
{% for action in page.header.actions %}
|
||||||
{% if action.url contains "://" %}
|
<a href="{{ action.url | relative_url }}" class="btn btn--light-outline btn--large">{{ action.label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a>
|
||||||
{% assign url = action.url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign url = action.url | relative_url %}
|
|
||||||
{% endif %}
|
|
||||||
<a href="{{ url }}" class="btn btn--light-outline btn--large">{{ action.label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src="{{ img_path }}" alt="{{ image_description }}" class="page__hero-image">
|
<img src="{{ page.header.image | relative_url }}" alt="{{ image_description }}" class="page__hero-image">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if page.header.caption %}
|
{% if page.header.caption %}
|
||||||
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
||||||
|
|||||||
@@ -1,4 +1,2 @@
|
|||||||
{% capture video_id %}{{ page.header.video.id }}{% endcapture %}
|
{% assign video = page.header.video %}
|
||||||
{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %}
|
{% include video id=video.id provider=video.provider danmaku=video.danmaku %}
|
||||||
|
|
||||||
{% include video id=video_id provider=video_provider %}
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{% if paginator.total_pages > 1 %}
|
{% if paginator.total_pages > 1 %}
|
||||||
<nav class="pagination">
|
<nav class="pagination">
|
||||||
{% assign first_page_path = site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | relative_url %}
|
{% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | relative_url %}
|
||||||
<ul>
|
<ul>
|
||||||
{% comment %} Link for previous page {% endcomment %}
|
{% comment %} Link for previous page {% endcomment %}
|
||||||
{% if paginator.previous_page %}
|
{% if paginator.previous_page %}
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{% assign page = post | default: page %}
|
||||||
|
|
||||||
|
{% if page.read_time or page.show_date %}
|
||||||
|
<p class="page__meta">
|
||||||
|
|
||||||
|
{% if page.show_date %}
|
||||||
|
{% assign date = page.date %}
|
||||||
|
<i class="far {% if include.type == 'grid' and page.read_time and page.show_date %}fa-fw {% endif %}fa-calendar-alt" aria-hidden="true"></i>
|
||||||
|
<time datetime="{{ date | date_to_xmlschema }}">{{ date | date: "%B %-d, %Y" }}</time>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.read_time and page.show_date %}
|
||||||
|
{% if include.type == "grid" %}
|
||||||
|
<br \>
|
||||||
|
{% else %}
|
||||||
|
<span class="post__meta-sep"></span>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.read_time %}
|
||||||
|
{% assign words_per_minute = page.words_per_minute | default: site.words_per_minute | default: 200 %}
|
||||||
|
{% assign words = page.content | strip_html | number_of_words %}
|
||||||
|
|
||||||
|
<i class="far {% if include.type == 'grid' and page.read_time and page.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 %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
{%- for post in site.categories[include.taxonomy] -%}
|
{%- for post in site.categories[include.taxonomy] -%}
|
||||||
|
{%- unless post.hidden -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
|
{%- endunless -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
{%- for post in site.tags[include.taxonomy] -%}
|
{%- for post in site.tags[include.taxonomy] -%}
|
||||||
|
{%- unless post.hidden -%}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
|
{%- endunless -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
{% assign words_per_minute = 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 %}
|
|
||||||
@@ -1,15 +1,9 @@
|
|||||||
{% if site.footer_scripts %}
|
{% if site.footer_scripts %}
|
||||||
{% for script in site.footer_scripts %}
|
{% for script in site.footer_scripts %}
|
||||||
{% if script contains "://" %}
|
<script src="{{ script | relative_url }}"></script>
|
||||||
{% capture script_path %}{{ script }}{% endcapture %}
|
|
||||||
{% else %}
|
|
||||||
{% capture script_path %}{{ script | relative_url }}{% endcapture %}
|
|
||||||
{% endif %}
|
|
||||||
<script src="{{ script_path }}"></script>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
||||||
<script data-search-pseudo-elements defer src="https://use.fontawesome.com/releases/v5.7.1/js/all.js" integrity="sha384-eVEQC9zshBn0rFj4+TU78eNA19HMNigMviK/PU/FFjLXqa/GKPgX58rvt5Z8PLs7" crossorigin="anonymous"></script>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if site.search == true or page.layout == "search" %}
|
{% if site.search == true or page.layout == "search" %}
|
||||||
@@ -26,3 +20,9 @@
|
|||||||
|
|
||||||
{% include analytics.html %}
|
{% include analytics.html %}
|
||||||
{% include /comments-providers/scripts.html %}
|
{% include /comments-providers/scripts.html %}
|
||||||
|
|
||||||
|
{% if site.after_footer_scripts %}
|
||||||
|
{% for script in site.after_footer_scripts %}
|
||||||
|
<script src="{{ script | relative_url }}"></script>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|||||||
@@ -44,11 +44,18 @@ search.addWidget(
|
|||||||
instantsearch.widgets.hits({
|
instantsearch.widgets.hits({
|
||||||
container: '.search-hits',
|
container: '.search-hits',
|
||||||
templates: {
|
templates: {
|
||||||
item: hitTemplate
|
item: hitTemplate,
|
||||||
|
empty: '{{ site.data.ui-text[site.locale].search_algolia_no_results | default: "No results" }}',
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
// Starting the search
|
// Starting the search only when toggle is clicked
|
||||||
|
$(document).ready(function () {
|
||||||
|
$(".search__toggle").on("click", function() {
|
||||||
|
if(!search.started) {
|
||||||
search.start();
|
search.start();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -2,11 +2,19 @@
|
|||||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
||||||
{%- case search_provider -%}
|
{%- case search_provider -%}
|
||||||
{%- when "lunr" -%}
|
{%- 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...' }}" />
|
<form class="search-content__form" onkeydown="return event.key != 'Enter';">
|
||||||
|
<label class="sr-only" for="search">
|
||||||
|
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
||||||
|
</label>
|
||||||
|
<input type="search" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
||||||
|
</form>
|
||||||
<div id="results" class="results"></div>
|
<div id="results" class="results"></div>
|
||||||
{%- when "google" -%}
|
{%- when "google" -%}
|
||||||
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
|
<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...' }}" />
|
<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>
|
||||||
|
<input type="search" 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...' }}" />
|
||||||
</form>
|
</form>
|
||||||
<div id="results" class="results">
|
<div id="results" class="results">
|
||||||
<gcse:searchresults-only></gcse:searchresults-only>
|
<gcse:searchresults-only></gcse:searchresults-only>
|
||||||
|
|||||||
+14
-30
@@ -22,32 +22,23 @@
|
|||||||
|
|
||||||
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
||||||
{%- if seo_description -%}
|
{%- if seo_description -%}
|
||||||
{%- assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once -%}
|
{%- assign seo_description = seo_description | markdownify | strip_html | newline_to_br | strip_newlines | replace: '<br />', ' ' | escape_once | strip -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- assign author = page.author | default: page.authors[0] | default: site:author -%}
|
{%- assign author = page.author | default: page.authors[0] | default: site.author -%}
|
||||||
{%- assign author = site.data.authors[author] | default: author -%}
|
{%- assign author = site.data.authors[author] | default: author -%}
|
||||||
|
|
||||||
{%- if author.twitter -%}
|
{%- if author.twitter -%}
|
||||||
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image -%}
|
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url -%}
|
||||||
{%- unless page_large_image contains '://' -%}
|
|
||||||
{%- assign page_large_image = page_large_image | absolute_url -%}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- assign page_large_image = page_large_image | escape -%}
|
{%- assign page_large_image = page_large_image | escape -%}
|
||||||
|
|
||||||
{%- assign page_teaser_image = page.header.teaser | default: site.og_image -%}
|
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url -%}
|
||||||
{%- unless page_teaser_image contains '://' -%}
|
|
||||||
{%- assign page_teaser_image = page_teaser_image | absolute_url -%}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- assign page_teaser_image = page_teaser_image | escape -%}
|
{%- assign page_teaser_image = page_teaser_image | escape -%}
|
||||||
|
|
||||||
{%- assign site_og_image = site.og_image -%}
|
{%- assign site_og_image = site.og_image | absolute_url -%}
|
||||||
{%- unless site_og_image contains '://' -%}
|
|
||||||
{%- assign site_og_image = site_og_image | absolute_url -%}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- assign site_og_image = site_og_image | escape -%}
|
{%- assign site_og_image = site_og_image | escape -%}
|
||||||
|
|
||||||
{%- if page.date -%}
|
{%- if page.date -%}
|
||||||
@@ -69,7 +60,7 @@
|
|||||||
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
||||||
<meta property="og:url" content="{{ canonical_url }}">
|
<meta property="og:url" content="{{ canonical_url }}">
|
||||||
|
|
||||||
{% if page.excerpt %}
|
{% if seo_description %}
|
||||||
<meta property="og:description" content="{{ seo_description }}">
|
<meta property="og:description" content="{{ seo_description }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@@ -127,28 +118,21 @@
|
|||||||
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if site.og_image %}
|
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
|
{% if site.social.type == "Organization" %}
|
||||||
"@type": "Organization",
|
"@type": "Organization",
|
||||||
"url": {{ seo_url | jsonify }},
|
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
||||||
"logo": {{ site_og_image | jsonify }}
|
"logo": {{ site_og_image | jsonify }}{% endif %}
|
||||||
}
|
{% else %}
|
||||||
</script>
|
"@type": "Person",
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if site.social %}
|
|
||||||
<script type="application/ld+json">
|
|
||||||
{
|
|
||||||
"@context": "https://schema.org",
|
|
||||||
"@type": "{% if site.social.type %}{{ site.social.type }}{% else %}Person{% endif %}",
|
|
||||||
"name": {{ site.social.name | default: site.name | jsonify }},
|
"name": {{ site.social.name | default: site.name | jsonify }},
|
||||||
"url": {{ seo_url | jsonify }},
|
"url": {{ '/' | absolute_url |jsonify }}{% if site.social.links %},
|
||||||
"sameAs": {{ site.social.links | jsonify }}
|
"sameAs": {{ site.social.links | jsonify }}{% endif %}
|
||||||
|
{% endif %}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if site.google_site_verification %}
|
{% if site.google_site_verification %}
|
||||||
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
||||||
|
|||||||
@@ -4,12 +4,7 @@
|
|||||||
{% if page.sidebar %}
|
{% if page.sidebar %}
|
||||||
{% for s in page.sidebar %}
|
{% for s in page.sidebar %}
|
||||||
{% if s.image %}
|
{% if s.image %}
|
||||||
<img src=
|
<img src="{{ s.image | relative_url }}"
|
||||||
{% if s.image contains "://" %}
|
|
||||||
"{{ s.image }}"
|
|
||||||
{% else %}
|
|
||||||
"{{ s.image | relative_url }}"
|
|
||||||
{% endif %}
|
|
||||||
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
|
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
|
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<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>
|
||||||
|
<li><a href="#footer" class="screen-reader-shortcut">{{ site.data.ui-text[site.locale].skip_footer | default: 'Skip to footer' }}</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
@@ -7,7 +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.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://plus.google.com/share?url={{ page.url | absolute_url | url_encode }}" class="btn btn--google-plus" 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' }} Google Plus"><i class="fab fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</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 | 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>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -10,14 +10,14 @@
|
|||||||
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
|
||||||
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
|
{% 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 tag_hashes = page_tags | split: ',' | sort %}
|
||||||
|
|
||||||
<p class="page__taxonomy">
|
<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>
|
<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">
|
<span itemprop="keywords">
|
||||||
{% for hash in tag_hashes %}
|
{% for hash in tag_hashes %}
|
||||||
{% assign keyValue = hash | split: '#' %}
|
{% assign keyValue = hash | split: '|' %}
|
||||||
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
|
{% 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 %}
|
<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 %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
+16
-5
@@ -1,6 +1,6 @@
|
|||||||
{% capture tocWorkspace %}
|
{% capture tocWorkspace %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
Version 1.0.5
|
Version 1.0.8
|
||||||
https://github.com/allejo/jekyll-toc
|
https://github.com/allejo/jekyll-toc
|
||||||
|
|
||||||
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
|
||||||
@@ -18,11 +18,13 @@
|
|||||||
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
|
* 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
|
* 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
|
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
|
||||||
* item_class (string) : '' - add custom class for each list item; has support for '%level%' placeholder, which is the current heading level
|
* 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
|
* 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
|
||||||
|
|
||||||
Output:
|
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
|
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 %}
|
{% endcomment %}
|
||||||
|
|
||||||
{% capture my_toc %}{% endcapture %}
|
{% capture my_toc %}{% endcapture %}
|
||||||
@@ -50,13 +52,21 @@
|
|||||||
{% assign minHeader = headerLevel %}
|
{% assign minHeader = headerLevel %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
|
{% assign indentAmount = headerLevel | minus: minHeader %}
|
||||||
{% assign _workspace = node | split: '</h' %}
|
{% assign _workspace = node | split: '</h' %}
|
||||||
|
|
||||||
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
|
||||||
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
|
||||||
{% assign html_id = _idWorkspace[0] %}
|
{% assign html_id = _idWorkspace[0] %}
|
||||||
|
|
||||||
|
{% assign _classWorkspace = _workspace[0] | split: 'class="' %}
|
||||||
|
{% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
|
||||||
|
{% assign html_class = _classWorkspace[0] %}
|
||||||
|
|
||||||
|
{% if html_class contains "no_toc" %}
|
||||||
|
{% continue %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
|
||||||
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
|
||||||
|
|
||||||
@@ -69,8 +79,9 @@
|
|||||||
{% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
|
{% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
|
{% capture heading_body %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
|
||||||
{% capture my_toc %}{{ my_toc }}
|
{% capture my_toc %}{{ my_toc }}
|
||||||
{{ space }}{{ listModifier }} {{ listItemClass }} [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% endcapture %}
|
{{ space }}{{ listModifier }} {{ listItemClass }} [{{ heading_body | replace: "|", "\|" }}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% if include.anchor_class %}{:.{{ include.anchor_class }}}{% endif %}{% endcapture %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if include.class %}
|
{% if include.class %}
|
||||||
|
|||||||
+18
-7
@@ -1,13 +1,24 @@
|
|||||||
{% capture video_id %}{{ include.id }}{% endcapture %}
|
{% capture video_id %}{{ include.id }}{% endcapture %}
|
||||||
{% capture video_provider %}{{ include.provider }}{% endcapture %}
|
{% capture video_provider %}{{ include.provider }}{% endcapture %}
|
||||||
|
{% capture video_danmaku %}{{ include.danmaku | default: 0 }}{% endcapture %}
|
||||||
|
|
||||||
|
{% 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 //-->
|
<!-- Courtesy of embedresponsively.com //-->
|
||||||
|
{% unless video_src == "" %}
|
||||||
<div class="responsive-video-container">
|
<div class="responsive-video-container">
|
||||||
{% if video_provider == "vimeo" %}
|
<iframe src="{{ video_src }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>
|
||||||
<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>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
|
{% endunless %}
|
||||||
|
|||||||
@@ -3,11 +3,25 @@ layout: default
|
|||||||
author_profile: false
|
author_profile: false
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
||||||
|
{% include page__hero.html %}
|
||||||
|
{% elsif page.header.video.id and page.header.video.provider %}
|
||||||
|
{% include page__hero_video.html %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if page.url != "/" and site.breadcrumbs %}
|
||||||
|
{% unless paginator %}
|
||||||
|
{% include breadcrumbs.html %}
|
||||||
|
{% endunless %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div id="main" role="main">
|
<div id="main" role="main">
|
||||||
{% include sidebar.html %}
|
{% include sidebar.html %}
|
||||||
|
|
||||||
<div class="archive">
|
<div class="archive">
|
||||||
<h1 class="page__title">{{ page.title }}</h1>
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
|
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
|
||||||
|
{% endunless %}
|
||||||
{% for post in page.posts %}
|
{% for post in page.posts %}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
# Jekyll layout that compresses HTML
|
# Jekyll layout that compresses HTML
|
||||||
# v3.0.2
|
# v3.1.0
|
||||||
# http://jch.penibelst.de/
|
# http://jch.penibelst.de/
|
||||||
# © 2014–2015 Anatol Broder
|
# © 2014–2015 Anatol Broder
|
||||||
# MIT License
|
# MIT License
|
||||||
---
|
---
|
||||||
|
|
||||||
{% capture _LINE_FEED %}
|
{% capture _LINE_FEED %}
|
||||||
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
|
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<!--
|
<!--
|
||||||
Minimal Mistakes Jekyll Theme 4.15.2 by Michael Rose
|
Minimal Mistakes Jekyll Theme 4.20.1 by Michael Rose
|
||||||
Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
|
Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
|
||||||
Free for personal and commercial use under the MIT license
|
Free for personal and commercial use under the MIT license
|
||||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
||||||
|
{% include_cached skip-links.html %}
|
||||||
{% include_cached browser-upgrade.html %}
|
{% include_cached browser-upgrade.html %}
|
||||||
{% include_cached masthead.html %}
|
{% include_cached masthead.html %}
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="page__footer">
|
<div id="footer" class="page__footer">
|
||||||
<footer>
|
<footer>
|
||||||
{% include footer/custom.html %}
|
{% include footer/custom.html %}
|
||||||
{% include_cached footer.html %}
|
{% include_cached footer.html %}
|
||||||
|
|||||||
+11
-2
@@ -6,8 +6,17 @@ layout: archive
|
|||||||
|
|
||||||
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3>
|
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3>
|
||||||
|
|
||||||
{% for post in paginator.posts %}
|
{% if paginator %}
|
||||||
{% include archive-single.html %}
|
{% assign posts = paginator.posts %}
|
||||||
|
{% else %}
|
||||||
|
{% assign posts = site.posts %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% 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 %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
{% include paginator.html %}
|
{% include paginator.html %}
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@ layout: archive
|
|||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
<ul class="taxonomy__index">
|
<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 %}
|
{% for year in postsInYear %}
|
||||||
<li>
|
<li>
|
||||||
<a href="#{{ year.name }}">
|
<a href="#{{ year.name }}">
|
||||||
@@ -15,7 +15,7 @@ layout: archive
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{% assign postsByYear = site.posts | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
{% assign postsByYear = site.posts | where_exp: "item", "item.hidden != true" | group_by_exp: 'post', 'post.date | date: "%Y"' %}
|
||||||
{% for year in postsByYear %}
|
{% for year in postsByYear %}
|
||||||
<section id="{{ year.name }}" class="taxonomy__section">
|
<section id="{{ year.name }}" class="taxonomy__section">
|
||||||
<h2 class="archive__subtitle">{{ year.name }}</h2>
|
<h2 class="archive__subtitle">{{ year.name }}</h2>
|
||||||
|
|||||||
+5
-11
@@ -20,16 +20,14 @@ layout: default
|
|||||||
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
|
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
|
||||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
||||||
|
|
||||||
<div class="page__inner-wrap">
|
<div class="page__inner-wrap">
|
||||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||||
<header>
|
<header>
|
||||||
{% if page.title %}<h1 id="page-title" class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
|
{% 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 %}
|
{% include post__meta.html %}
|
||||||
<p class="page__meta"><i class="far fa-clock" aria-hidden="true"></i> {% include read-time.html %}</p>
|
|
||||||
{% endif %}
|
|
||||||
</header>
|
</header>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
@@ -37,7 +35,7 @@ layout: default
|
|||||||
{% if page.toc %}
|
{% if page.toc %}
|
||||||
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
||||||
<nav class="toc">
|
<nav class="toc">
|
||||||
<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 }}</h4></header>
|
<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" %}
|
||||||
</nav>
|
</nav>
|
||||||
</aside>
|
</aside>
|
||||||
@@ -51,11 +49,7 @@ layout: default
|
|||||||
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% include page__taxonomy.html %}
|
{% include page__taxonomy.html %}
|
||||||
{% if page.last_modified_at %}
|
{% include page__date.html %}
|
||||||
<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>
|
|
||||||
{% 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 %}
|
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
{% if page.share %}{% include social-share.html %}{% endif %}
|
{% if page.share %}{% include social-share.html %}{% endif %}
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ layout: default
|
|||||||
<article class="splash" itemscope itemtype="https://schema.org/CreativeWork">
|
<article class="splash" 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.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %}
|
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
||||||
|
|
||||||
<section class="page__content" itemprop="text">
|
<section class="page__content" itemprop="text">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Minimal Mistakes Jekyll Theme 4.15.2 by Michael Rose
|
* Minimal Mistakes Jekyll Theme 4.20.1 by Michael Rose
|
||||||
* Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
|
* Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
|
||||||
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -20,10 +20,19 @@
|
|||||||
|
|
||||||
.archive__item {
|
.archive__item {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
a {
|
||||||
|
position: relative;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[rel="permalink"] {
|
||||||
|
position: static;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__subtitle {
|
.archive__subtitle {
|
||||||
margin: 1.414em 0 0;
|
margin: 1.414em 0 0.5em;
|
||||||
padding-bottom: 0.5em;
|
padding-bottom: 0.5em;
|
||||||
font-size: $type-size-5;
|
font-size: $type-size-5;
|
||||||
color: $muted-text-color;
|
color: $muted-text-color;
|
||||||
@@ -41,7 +50,7 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
a::before {
|
a[rel="permalink"]::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
@@ -436,3 +445,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Place inside a single layout */
|
||||||
|
|
||||||
|
.layout--single {
|
||||||
|
.feature__wrapper {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -35,27 +35,27 @@ h6 {
|
|||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
font-size: $type-size-3;
|
font-size: $h-size-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: $type-size-4;
|
font-size: $h-size-2;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: $type-size-5;
|
font-size: $h-size-3;
|
||||||
}
|
}
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
font-size: $type-size-6;
|
font-size: $h-size-4;
|
||||||
}
|
}
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
font-size: $type-size-6;
|
font-size: $h-size-5;
|
||||||
}
|
}
|
||||||
|
|
||||||
h6 {
|
h6 {
|
||||||
font-size: $type-size-6;
|
font-size: $h-size-6;
|
||||||
}
|
}
|
||||||
|
|
||||||
small,
|
small,
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
(info, $info-color),
|
(info, $info-color),
|
||||||
(facebook, $facebook-color),
|
(facebook, $facebook-color),
|
||||||
(twitter, $twitter-color),
|
(twitter, $twitter-color),
|
||||||
(google-plus, $google-plus-color),
|
|
||||||
(linkedin, $linkedin-color);
|
(linkedin, $linkedin-color);
|
||||||
|
|
||||||
@each $buttoncolor, $color in $buttoncolors {
|
@each $buttoncolor, $color in $buttoncolors {
|
||||||
|
|||||||
@@ -9,11 +9,6 @@
|
|||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
clear: both;
|
clear: both;
|
||||||
/* sticky footer fix start */
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
height: auto;
|
|
||||||
/* sticky footer fix end */
|
|
||||||
margin-top: 3em;
|
margin-top: 3em;
|
||||||
color: $muted-text-color;
|
color: $muted-text-color;
|
||||||
-webkit-animation: $intro-transition;
|
-webkit-animation: $intro-transition;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ form {
|
|||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin-bottom: 5px / 2;
|
margin-bottom: (5px / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
@@ -107,6 +107,7 @@ input[type="radio"] {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border: 0 \9;
|
border: 0 \9;
|
||||||
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="checkbox"],
|
input[type="checkbox"],
|
||||||
@@ -119,7 +120,6 @@ input[type="radio"] {
|
|||||||
|
|
||||||
input[type="image"] {
|
input[type="image"] {
|
||||||
border: 0;
|
border: 0;
|
||||||
box-shadow: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="file"] {
|
input[type="file"] {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
font-family: $sans-serif-narrow;
|
font-family: $sans-serif-narrow;
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $max-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
@@ -50,7 +50,12 @@
|
|||||||
-ms-flex-item-align: center;
|
-ms-flex-item-align: center;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
z-index: 20;
|
// z-index: 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
.site-subtitle {
|
||||||
|
display: block;
|
||||||
|
font-size: $type-size-8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.masthead__menu {
|
.masthead__menu {
|
||||||
|
|||||||
@@ -514,7 +514,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Scrollspy marks toc items as .active when they are in focus
|
// Scrollspy marks toc items as .active when they are in focus
|
||||||
.active {
|
.active a {
|
||||||
@include yiq-contrasted($active-color);
|
@include yiq-contrasted($active-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
h4 {
|
h4 {
|
||||||
margin-top: 0 !important; /* override*/
|
margin-top: 0 !important; /* override*/
|
||||||
margin-bottom: 0.75em;
|
margin-bottom: 0.75em;
|
||||||
|
line-height: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@at-root .page__content #{&} h4 {
|
@at-root .page__content #{&} h4 {
|
||||||
@@ -56,6 +57,10 @@
|
|||||||
background-color: mix(#fff, $notice-color, 95%)
|
background-color: mix(#fff, $notice-color, 95%)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pre code {
|
||||||
|
background-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-bottom: 0; /* override*/
|
margin-bottom: 0; /* override*/
|
||||||
|
|||||||
@@ -15,10 +15,26 @@
|
|||||||
animation-delay: 0.15s;
|
animation-delay: 0.15s;
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $max-width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
min-height: 100vh;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-box-direction: normal;
|
||||||
|
-ms-flex-direction: column;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.initial-content,
|
||||||
|
.search-content {
|
||||||
|
flex: 1 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
.page {
|
.page {
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: right;
|
float: right;
|
||||||
@@ -72,6 +88,23 @@
|
|||||||
border-bottom: 1px solid $border-color;
|
border-bottom: 1px solid $border-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
.header-link {
|
||||||
|
position: relative;
|
||||||
|
left: 0.5em;
|
||||||
|
opacity: 0;
|
||||||
|
font-size: 0.8em;
|
||||||
|
-webkit-transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
-moz-transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
-o-transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
transition: opacity 0.2s ease-in-out 0.1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover .header-link {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
p,
|
p,
|
||||||
li,
|
li,
|
||||||
dl {
|
dl {
|
||||||
@@ -266,6 +299,12 @@
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.post__meta-sep::before {
|
||||||
|
content: "\2022";
|
||||||
|
padding-left: 0.5em;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Page taxonomy
|
Page taxonomy
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
@@ -319,11 +358,11 @@
|
|||||||
|
|
||||||
.taxonomy__title {
|
.taxonomy__title {
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
color: lighten($text-color, 60%);
|
color: $muted-text-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.taxonomy__count {
|
.taxonomy__count {
|
||||||
color: lighten($text-color, 50%);
|
color: $muted-text-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.taxonomy__index {
|
.taxonomy__index {
|
||||||
@@ -356,7 +395,7 @@
|
|||||||
.back-to-top {
|
.back-to-top {
|
||||||
display: block;
|
display: block;
|
||||||
clear: both;
|
clear: both;
|
||||||
color: lighten($text-color, 50%);
|
color: $muted-text-color;
|
||||||
font-size: 0.6em;
|
font-size: 0.6em;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
|||||||
@@ -48,8 +48,13 @@
|
|||||||
animation-delay: 0.15s;
|
animation-delay: 0.15s;
|
||||||
|
|
||||||
@include breakpoint($x-large) {
|
@include breakpoint($x-large) {
|
||||||
max-width: $x-large;
|
max-width: $max-width;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&__form {
|
||||||
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-input {
|
.search-input {
|
||||||
@@ -119,6 +124,7 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.archive__item-excerpt .ais-Highlight {
|
.archive__item-excerpt .ais-Highlight {
|
||||||
color: $primary-color;
|
color: $primary-color;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
|
|
||||||
.sidebar {
|
.sidebar {
|
||||||
@include clearfix();
|
@include clearfix();
|
||||||
@include breakpoint(max-width $large) {
|
// @include breakpoint(max-width $large) {
|
||||||
/* fix z-index order of follow links */
|
// /* fix z-index order of follow links */
|
||||||
position: relative;
|
// position: relative;
|
||||||
z-index: 10;
|
// z-index: 10;
|
||||||
-webkit-transform: translate3d(0, 0, 0);
|
// -webkit-transform: translate3d(0, 0, 0);
|
||||||
transform: translate3d(0, 0, 0);
|
// transform: translate3d(0, 0, 0);
|
||||||
}
|
// }
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
float: left;
|
float: left;
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
/* calculate height of nav list
|
/* calculate height of nav list
|
||||||
viewport height - nav height - masthead x-padding
|
viewport height - nav height - masthead x-padding
|
||||||
*/
|
*/
|
||||||
height: calc(100vh - #{$nav-height} - 2em);
|
max-height: calc(100vh - #{$nav-height} - 2em);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@
|
|||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
font-family: $sans-serif;
|
font-family: $sans-serif;
|
||||||
z-index: 10;
|
z-index: 20;
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
@@ -194,13 +194,38 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.author__urls {
|
||||||
|
span.label {
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
|
position: relative;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
@supports (pointer-events: none) {
|
||||||
|
content: '';
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.open {
|
||||||
|
&:before {
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@include breakpoint($large) {
|
@include breakpoint($large) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -217,7 +242,6 @@
|
|||||||
border: 1px solid $border-color;
|
border: 1px solid $border-color;
|
||||||
border-radius: $border-radius;
|
border-radius: $border-radius;
|
||||||
background: $background-color;
|
background: $background-color;
|
||||||
z-index: -1;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
|
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|
||||||
@@ -269,6 +293,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
padding: 10px;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
li {
|
li {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,6 +103,27 @@ body:hover .visually-hidden button {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Task lists
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
.task-list {
|
||||||
|
padding:0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.task-list-item-checkbox {
|
||||||
|
margin-right: 0.5em;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.task-list .task-list {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Alignment
|
Alignment
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
@@ -228,16 +249,14 @@ body:hover .visually-hidden button {
|
|||||||
color: $gitlab-color;
|
color: $gitlab-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fa-google-plus,
|
|
||||||
.fa-google-plus-square,
|
|
||||||
.fa-google-plus-g {
|
|
||||||
color: $google-plus-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-instagram {
|
.fa-instagram {
|
||||||
color: $instagram-color;
|
color: $instagram-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.fa-keybase {
|
||||||
|
color: $keybase-color;
|
||||||
|
}
|
||||||
|
|
||||||
.fa-lastfm,
|
.fa-lastfm,
|
||||||
.fa-lastfm-square {
|
.fa-lastfm-square {
|
||||||
color: $lastfm-color;
|
color: $lastfm-color;
|
||||||
@@ -366,6 +385,33 @@ body:hover .visually-hidden button {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.greedy-nav__toggle {
|
||||||
|
&:before {
|
||||||
|
@supports (pointer-events: none) {
|
||||||
|
content: '';
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 0;
|
||||||
|
background-color: $background-color;
|
||||||
|
-webkit-transition: $global-transition;
|
||||||
|
transition: $global-transition;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.close {
|
||||||
|
&:before {
|
||||||
|
opacity: 0.9;
|
||||||
|
-webkit-transition: $global-transition;
|
||||||
|
transition: $global-transition;
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.greedy-nav__toggle:hover {
|
.greedy-nav__toggle:hover {
|
||||||
.navicon,
|
.navicon,
|
||||||
.navicon:before,
|
.navicon:before,
|
||||||
|
|||||||
@@ -43,12 +43,20 @@ $type-size-6: 0.75em !default; // ~12px
|
|||||||
$type-size-7: 0.6875em !default; // ~11px
|
$type-size-7: 0.6875em !default; // ~11px
|
||||||
$type-size-8: 0.625em !default; // ~10px
|
$type-size-8: 0.625em !default; // ~10px
|
||||||
|
|
||||||
|
/* headline scale */
|
||||||
|
$h-size-1: 1.563em !default; // ~25.008px
|
||||||
|
$h-size-2: 1.25em !default; // ~20px
|
||||||
|
$h-size-3: 1.125em !default; // ~18px
|
||||||
|
$h-size-4: 1.0625em !default; // ~17px
|
||||||
|
$h-size-5: 1.03125em !default; // ~16.5px
|
||||||
|
$h-size-6: 1em !default; // ~16px
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Colors
|
Colors
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
$gray: #7a8288 !default;
|
$gray: #7a8288 !default;
|
||||||
$dark-gray: mix(#000, $gray, 40%) !default;
|
$dark-gray: mix(#000, $gray, 50%) !default;
|
||||||
$darker-gray: mix(#000, $gray, 60%) !default;
|
$darker-gray: mix(#000, $gray, 60%) !default;
|
||||||
$light-gray: mix(#fff, $gray, 50%) !default;
|
$light-gray: mix(#fff, $gray, 50%) !default;
|
||||||
$lighter-gray: mix(#fff, $gray, 90%) !default;
|
$lighter-gray: mix(#fff, $gray, 90%) !default;
|
||||||
@@ -57,7 +65,7 @@ $background-color: #fff !default;
|
|||||||
$code-background-color: #fafafa !default;
|
$code-background-color: #fafafa !default;
|
||||||
$code-background-color-dark: $light-gray !default;
|
$code-background-color-dark: $light-gray !default;
|
||||||
$text-color: $dark-gray !default;
|
$text-color: $dark-gray !default;
|
||||||
$muted-text-color: mix(#fff, $text-color, 35%) !default;
|
$muted-text-color: mix(#fff, $text-color, 20%) !default;
|
||||||
$border-color: $lighter-gray !default;
|
$border-color: $lighter-gray !default;
|
||||||
$form-background-color: $lighter-gray !default;
|
$form-background-color: $lighter-gray !default;
|
||||||
$footer-background-color: $lighter-gray !default;
|
$footer-background-color: $lighter-gray !default;
|
||||||
@@ -85,8 +93,8 @@ $flickr-color: #ff0084 !default;
|
|||||||
$foursquare-color: #0072b1 !default;
|
$foursquare-color: #0072b1 !default;
|
||||||
$github-color: #171516 !default;
|
$github-color: #171516 !default;
|
||||||
$gitlab-color: #e24329 !default;
|
$gitlab-color: #e24329 !default;
|
||||||
$google-plus-color: #dd4b39 !default;
|
|
||||||
$instagram-color: #517fa4 !default;
|
$instagram-color: #517fa4 !default;
|
||||||
|
$keybase-color: #ef7639 !default;
|
||||||
$lastfm-color: #d51007 !default;
|
$lastfm-color: #d51007 !default;
|
||||||
$linkedin-color: #007bb6 !default;
|
$linkedin-color: #007bb6 !default;
|
||||||
$mastodon-color: #2b90d9 !default;
|
$mastodon-color: #2b90d9 !default;
|
||||||
@@ -103,7 +111,7 @@ $youtube-color: #bb0000 !default;
|
|||||||
$xing-color: #006567 !default;
|
$xing-color: #006567 !default;
|
||||||
|
|
||||||
/* links */
|
/* links */
|
||||||
$link-color: mix(#000, $info-color, 15%) !default;
|
$link-color: mix(#000, $info-color, 20%) !default;
|
||||||
$link-color-hover: mix(#000, $link-color, 25%) !default;
|
$link-color-hover: mix(#000, $link-color, 25%) !default;
|
||||||
$link-color-visited: mix(#fff, $link-color, 15%) !default;
|
$link-color-visited: mix(#fff, $link-color, 15%) !default;
|
||||||
$masthead-link-color: $primary-color !default;
|
$masthead-link-color: $primary-color !default;
|
||||||
@@ -137,6 +145,7 @@ $medium: 768px !default;
|
|||||||
$medium-wide: 900px !default;
|
$medium-wide: 900px !default;
|
||||||
$large: 1024px !default;
|
$large: 1024px !default;
|
||||||
$x-large: 1280px !default;
|
$x-large: 1280px !default;
|
||||||
|
$max-width: $x-large !default;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Grid
|
Grid
|
||||||
|
|||||||
+35
-65
@@ -3,16 +3,6 @@
|
|||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// Sticky footer
|
|
||||||
var bumpIt = function() {
|
|
||||||
$("body").css("margin-bottom", $(".page__footer").outerHeight(true));
|
|
||||||
};
|
|
||||||
|
|
||||||
bumpIt();
|
|
||||||
$(window).resize(jQuery.throttle(250, function() {
|
|
||||||
bumpIt();
|
|
||||||
}));
|
|
||||||
|
|
||||||
// FitVids init
|
// FitVids init
|
||||||
$("#main").fitVids();
|
$("#main").fitVids();
|
||||||
|
|
||||||
@@ -64,65 +54,32 @@ $(document).ready(function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Smooth scrolling
|
// Smooth scrolling
|
||||||
|
var scroll = new SmoothScroll('a[href*="#"]', {
|
||||||
|
offset: 20,
|
||||||
|
speed: 400,
|
||||||
|
speedAsDuration: true,
|
||||||
|
durationMax: 500
|
||||||
|
});
|
||||||
|
|
||||||
// Bind popstate event listener to support back/forward buttons.
|
// Gumshoe scroll spy init
|
||||||
var smoothScrolling = false;
|
if($("nav.toc").length > 0) {
|
||||||
$(window).bind("popstate", function (event) {
|
var spy = new Gumshoe("nav.toc a", {
|
||||||
$.smoothScroll({
|
// Active classes
|
||||||
scrollTarget: decodeURI(location.hash),
|
navClass: "active", // applied to the nav list item
|
||||||
offset: -20,
|
contentClass: "active", // applied to the content
|
||||||
beforeScroll: function() { smoothScrolling = true; },
|
|
||||||
afterScroll: function() { smoothScrolling = false; }
|
|
||||||
});
|
|
||||||
});
|
|
||||||
// Override clicking on links to smooth scroll
|
|
||||||
$('a[href*="#"]').bind("click", function (event) {
|
|
||||||
if (this.pathname === location.pathname && this.hash) {
|
|
||||||
event.preventDefault();
|
|
||||||
history.pushState(null, null, this.hash);
|
|
||||||
$(window).trigger("popstate");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// Smooth scroll on page load if there is a hash in the URL.
|
|
||||||
if (location.hash) {
|
|
||||||
$(window).trigger("popstate");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scrollspy equivalent: update hash fragment while scrolling.
|
// Nested navigation
|
||||||
$(window).scroll(jQuery.throttle(250, function() {
|
nested: false, // if true, add classes to parents of active link
|
||||||
// Don't run while smooth scrolling (from clicking on a link).
|
nestedClass: "active", // applied to the parent items
|
||||||
if (smoothScrolling) return;
|
|
||||||
var scrollTop = $(window).scrollTop() + 20 + 1; // 20 = offset
|
// Offset & reflow
|
||||||
var links = [];
|
offset: 20, // how far from the top of the page to activate a content area
|
||||||
$("nav.toc a").each(function() {
|
reflow: true, // if true, listen for reflows
|
||||||
var link = $(this);
|
|
||||||
var href = link.attr("href");
|
// Event support
|
||||||
if (href && href[0] == "#") {
|
events: true // if true, emit custom events
|
||||||
var element = $(href);
|
|
||||||
links.push({
|
|
||||||
link: link,
|
|
||||||
href: href,
|
|
||||||
top: element.offset().top
|
|
||||||
});
|
});
|
||||||
link.removeClass('active');
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
for (var i = 0; i < links.length; i++) {
|
|
||||||
var top = links[i].top;
|
|
||||||
var bottom = (i < links.length - 1 ? links[i+1].top : Infinity);
|
|
||||||
if (top <= scrollTop && scrollTop < bottom) {
|
|
||||||
// Mark all ancestors as active
|
|
||||||
links[i].link.parents("li").children("a").addClass('active');
|
|
||||||
if (links[i].href !== decodeURI(location.hash)) {
|
|
||||||
history.replaceState(null, null, links[i].href);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ('#' !== location.hash) {
|
|
||||||
history.replaceState(null, null, '#');
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
// add lightbox class to all image links
|
// add lightbox class to all image links
|
||||||
$(
|
$(
|
||||||
@@ -163,4 +120,17 @@ $(document).ready(function() {
|
|||||||
closeOnContentClick: true,
|
closeOnContentClick: true,
|
||||||
midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source.
|
midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source.
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Add anchors for headings
|
||||||
|
$('.page__content').find('h1, h2, h3, h4, h5, h6').each(function() {
|
||||||
|
var id = $(this).attr('id');
|
||||||
|
if (id) {
|
||||||
|
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.title = "Permalink";
|
||||||
|
$(this).append(anchor);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Vendored
+1
-3
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: null
|
layout: none
|
||||||
---
|
---
|
||||||
|
|
||||||
var idx = lunr(function () {
|
var idx = lunr(function () {
|
||||||
@@ -22,8 +22,6 @@ var idx = lunr(function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log( jQuery.type(idx) );
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('input#search').on('keyup', function () {
|
$('input#search').on('keyup', function () {
|
||||||
var resultdiv = $('#results');
|
var resultdiv = $('#results');
|
||||||
|
|||||||
Vendored
+1
-3
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: null
|
layout: none
|
||||||
---
|
---
|
||||||
|
|
||||||
step1list = new Array();
|
step1list = new Array();
|
||||||
@@ -475,8 +475,6 @@ var idx = lunr(function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log( jQuery.type(idx) );
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('input#search').on('keyup', function () {
|
$('input#search').on('keyup', function () {
|
||||||
var resultdiv = $('#results');
|
var resultdiv = $('#results');
|
||||||
|
|||||||
Vendored
+2
-7
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: null
|
layout: none
|
||||||
---
|
---
|
||||||
|
|
||||||
var store = [
|
var store = [
|
||||||
@@ -43,12 +43,7 @@ var store = [
|
|||||||
"categories": {{ doc.categories | jsonify }},
|
"categories": {{ doc.categories | jsonify }},
|
||||||
"tags": {{ doc.tags | jsonify }},
|
"tags": {{ doc.tags | jsonify }},
|
||||||
"url": {{ doc.url | absolute_url | jsonify }},
|
"url": {{ doc.url | absolute_url | jsonify }},
|
||||||
"teaser":
|
"teaser": {{ teaser | absolute_url | jsonify }}
|
||||||
{%- if teaser contains "://" -%}
|
|
||||||
{{ teaser | jsonify }}
|
|
||||||
{%- else -%}
|
|
||||||
{{ teaser | absolute_url | jsonify }}
|
|
||||||
{%- endif -%}
|
|
||||||
}{%- unless forloop.last and l -%},{%- endunless -%}
|
}{%- unless forloop.last and l -%},{%- endunless -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{%- endfor -%}]
|
{%- endfor -%}]
|
||||||
|
|||||||
Vendored
+6
-6
File diff suppressed because one or more lines are too long
Vendored
+484
@@ -0,0 +1,484 @@
|
|||||||
|
/*!
|
||||||
|
* gumshoejs v5.1.1
|
||||||
|
* A simple, framework-agnostic scrollspy script.
|
||||||
|
* (c) 2019 Chris Ferdinandi
|
||||||
|
* MIT License
|
||||||
|
* http://github.com/cferdinandi/gumshoe
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function (root, factory) {
|
||||||
|
if ( typeof define === 'function' && define.amd ) {
|
||||||
|
define([], (function () {
|
||||||
|
return factory(root);
|
||||||
|
}));
|
||||||
|
} else if ( typeof exports === 'object' ) {
|
||||||
|
module.exports = factory(root);
|
||||||
|
} else {
|
||||||
|
root.Gumshoe = factory(root);
|
||||||
|
}
|
||||||
|
})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, (function (window) {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
//
|
||||||
|
// Defaults
|
||||||
|
//
|
||||||
|
|
||||||
|
var defaults = {
|
||||||
|
|
||||||
|
// Active classes
|
||||||
|
navClass: 'active',
|
||||||
|
contentClass: 'active',
|
||||||
|
|
||||||
|
// Nested navigation
|
||||||
|
nested: false,
|
||||||
|
nestedClass: 'active',
|
||||||
|
|
||||||
|
// Offset & reflow
|
||||||
|
offset: 0,
|
||||||
|
reflow: false,
|
||||||
|
|
||||||
|
// Event support
|
||||||
|
events: true
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Methods
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Merge two or more objects together.
|
||||||
|
* @param {Object} objects The objects to merge together
|
||||||
|
* @returns {Object} Merged values of defaults and options
|
||||||
|
*/
|
||||||
|
var extend = function () {
|
||||||
|
var merged = {};
|
||||||
|
Array.prototype.forEach.call(arguments, (function (obj) {
|
||||||
|
for (var key in obj) {
|
||||||
|
if (!obj.hasOwnProperty(key)) return;
|
||||||
|
merged[key] = obj[key];
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
return merged;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Emit a custom event
|
||||||
|
* @param {String} type The event type
|
||||||
|
* @param {Node} elem The element to attach the event to
|
||||||
|
* @param {Object} detail Any details to pass along with the event
|
||||||
|
*/
|
||||||
|
var emitEvent = function (type, elem, detail) {
|
||||||
|
|
||||||
|
// Make sure events are enabled
|
||||||
|
if (!detail.settings.events) return;
|
||||||
|
|
||||||
|
// Create a new event
|
||||||
|
var event = new CustomEvent(type, {
|
||||||
|
bubbles: true,
|
||||||
|
cancelable: true,
|
||||||
|
detail: detail
|
||||||
|
});
|
||||||
|
|
||||||
|
// Dispatch the event
|
||||||
|
elem.dispatchEvent(event);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an element's distance from the top of the Document.
|
||||||
|
* @param {Node} elem The element
|
||||||
|
* @return {Number} Distance from the top in pixels
|
||||||
|
*/
|
||||||
|
var getOffsetTop = function (elem) {
|
||||||
|
var location = 0;
|
||||||
|
if (elem.offsetParent) {
|
||||||
|
while (elem) {
|
||||||
|
location += elem.offsetTop;
|
||||||
|
elem = elem.offsetParent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return location >= 0 ? location : 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sort content from first to last in the DOM
|
||||||
|
* @param {Array} contents The content areas
|
||||||
|
*/
|
||||||
|
var sortContents = function (contents) {
|
||||||
|
if(contents) {
|
||||||
|
contents.sort((function (item1, item2) {
|
||||||
|
var offset1 = getOffsetTop(item1.content);
|
||||||
|
var offset2 = getOffsetTop(item2.content);
|
||||||
|
if (offset1 < offset2) return -1;
|
||||||
|
return 1;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the offset to use for calculating position
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
* @return {Float} The number of pixels to offset the calculations
|
||||||
|
*/
|
||||||
|
var getOffset = function (settings) {
|
||||||
|
|
||||||
|
// if the offset is a function run it
|
||||||
|
if (typeof settings.offset === 'function') {
|
||||||
|
return parseFloat(settings.offset());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise, return it as-is
|
||||||
|
return parseFloat(settings.offset);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the document element's height
|
||||||
|
* @private
|
||||||
|
* @returns {Number}
|
||||||
|
*/
|
||||||
|
var getDocumentHeight = function () {
|
||||||
|
return Math.max(
|
||||||
|
document.body.scrollHeight, document.documentElement.scrollHeight,
|
||||||
|
document.body.offsetHeight, document.documentElement.offsetHeight,
|
||||||
|
document.body.clientHeight, document.documentElement.clientHeight
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if an element is in view
|
||||||
|
* @param {Node} elem The element
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
* @param {Boolean} bottom If true, check if element is above bottom of viewport instead
|
||||||
|
* @return {Boolean} Returns true if element is in the viewport
|
||||||
|
*/
|
||||||
|
var isInView = function (elem, settings, bottom) {
|
||||||
|
var bounds = elem.getBoundingClientRect();
|
||||||
|
var offset = getOffset(settings);
|
||||||
|
if (bottom) {
|
||||||
|
return parseInt(bounds.bottom, 10) < (window.innerHeight || document.documentElement.clientHeight);
|
||||||
|
}
|
||||||
|
return parseInt(bounds.top, 10) <= offset;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if at the bottom of the viewport
|
||||||
|
* @return {Boolean} If true, page is at the bottom of the viewport
|
||||||
|
*/
|
||||||
|
var isAtBottom = function () {
|
||||||
|
if (window.innerHeight + window.pageYOffset >= getDocumentHeight()) return true;
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the last item should be used (even if not at the top of the page)
|
||||||
|
* @param {Object} item The last item
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
* @return {Boolean} If true, use the last item
|
||||||
|
*/
|
||||||
|
var useLastItem = function (item, settings) {
|
||||||
|
if (isAtBottom() && isInView(item.content, settings, true)) return true;
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the active content
|
||||||
|
* @param {Array} contents The content areas
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
* @return {Object} The content area and matching navigation link
|
||||||
|
*/
|
||||||
|
var getActive = function (contents, settings) {
|
||||||
|
var last = contents[contents.length-1];
|
||||||
|
if (useLastItem(last, settings)) return last;
|
||||||
|
for (var i = contents.length - 1; i >= 0; i--) {
|
||||||
|
if (isInView(contents[i].content, settings)) return contents[i];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deactivate parent navs in a nested navigation
|
||||||
|
* @param {Node} nav The starting navigation element
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
*/
|
||||||
|
var deactivateNested = function (nav, settings) {
|
||||||
|
|
||||||
|
// If nesting isn't activated, bail
|
||||||
|
if (!settings.nested) return;
|
||||||
|
|
||||||
|
// Get the parent navigation
|
||||||
|
var li = nav.parentNode.closest('li');
|
||||||
|
if (!li) return;
|
||||||
|
|
||||||
|
// Remove the active class
|
||||||
|
li.classList.remove(settings.nestedClass);
|
||||||
|
|
||||||
|
// Apply recursively to any parent navigation elements
|
||||||
|
deactivateNested(li, settings);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deactivate a nav and content area
|
||||||
|
* @param {Object} items The nav item and content to deactivate
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
*/
|
||||||
|
var deactivate = function (items, settings) {
|
||||||
|
|
||||||
|
// Make sure their are items to deactivate
|
||||||
|
if (!items) return;
|
||||||
|
|
||||||
|
// Get the parent list item
|
||||||
|
var li = items.nav.closest('li');
|
||||||
|
if (!li) return;
|
||||||
|
|
||||||
|
// Remove the active class from the nav and content
|
||||||
|
li.classList.remove(settings.navClass);
|
||||||
|
items.content.classList.remove(settings.contentClass);
|
||||||
|
|
||||||
|
// Deactivate any parent navs in a nested navigation
|
||||||
|
deactivateNested(li, settings);
|
||||||
|
|
||||||
|
// Emit a custom event
|
||||||
|
emitEvent('gumshoeDeactivate', li, {
|
||||||
|
link: items.nav,
|
||||||
|
content: items.content,
|
||||||
|
settings: settings
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Activate parent navs in a nested navigation
|
||||||
|
* @param {Node} nav The starting navigation element
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
*/
|
||||||
|
var activateNested = function (nav, settings) {
|
||||||
|
|
||||||
|
// If nesting isn't activated, bail
|
||||||
|
if (!settings.nested) return;
|
||||||
|
|
||||||
|
// Get the parent navigation
|
||||||
|
var li = nav.parentNode.closest('li');
|
||||||
|
if (!li) return;
|
||||||
|
|
||||||
|
// Add the active class
|
||||||
|
li.classList.add(settings.nestedClass);
|
||||||
|
|
||||||
|
// Apply recursively to any parent navigation elements
|
||||||
|
activateNested(li, settings);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Activate a nav and content area
|
||||||
|
* @param {Object} items The nav item and content to activate
|
||||||
|
* @param {Object} settings The settings for this instantiation
|
||||||
|
*/
|
||||||
|
var activate = function (items, settings) {
|
||||||
|
|
||||||
|
// Make sure their are items to activate
|
||||||
|
if (!items) return;
|
||||||
|
|
||||||
|
// Get the parent list item
|
||||||
|
var li = items.nav.closest('li');
|
||||||
|
if (!li) return;
|
||||||
|
|
||||||
|
// Add the active class to the nav and content
|
||||||
|
li.classList.add(settings.navClass);
|
||||||
|
items.content.classList.add(settings.contentClass);
|
||||||
|
|
||||||
|
// Activate any parent navs in a nested navigation
|
||||||
|
activateNested(li, settings);
|
||||||
|
|
||||||
|
// Emit a custom event
|
||||||
|
emitEvent('gumshoeActivate', li, {
|
||||||
|
link: items.nav,
|
||||||
|
content: items.content,
|
||||||
|
settings: settings
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create the Constructor object
|
||||||
|
* @param {String} selector The selector to use for navigation items
|
||||||
|
* @param {Object} options User options and settings
|
||||||
|
*/
|
||||||
|
var Constructor = function (selector, options) {
|
||||||
|
|
||||||
|
//
|
||||||
|
// Variables
|
||||||
|
//
|
||||||
|
|
||||||
|
var publicAPIs = {};
|
||||||
|
var navItems, contents, current, timeout, settings;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Methods
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set variables from DOM elements
|
||||||
|
*/
|
||||||
|
publicAPIs.setup = function () {
|
||||||
|
|
||||||
|
// Get all nav items
|
||||||
|
navItems = document.querySelectorAll(selector);
|
||||||
|
|
||||||
|
// Create contents array
|
||||||
|
contents = [];
|
||||||
|
|
||||||
|
// Loop through each item, get it's matching content, and push to the array
|
||||||
|
Array.prototype.forEach.call(navItems, (function (item) {
|
||||||
|
|
||||||
|
// Get the content for the nav item
|
||||||
|
var content = document.getElementById(decodeURIComponent(item.hash.substr(1)));
|
||||||
|
if (!content) return;
|
||||||
|
|
||||||
|
// Push to the contents array
|
||||||
|
contents.push({
|
||||||
|
nav: item,
|
||||||
|
content: content
|
||||||
|
});
|
||||||
|
|
||||||
|
}));
|
||||||
|
|
||||||
|
// Sort contents by the order they appear in the DOM
|
||||||
|
sortContents(contents);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Detect which content is currently active
|
||||||
|
*/
|
||||||
|
publicAPIs.detect = function () {
|
||||||
|
|
||||||
|
// Get the active content
|
||||||
|
var active = getActive(contents, settings);
|
||||||
|
|
||||||
|
// if there's no active content, deactivate and bail
|
||||||
|
if (!active) {
|
||||||
|
if (current) {
|
||||||
|
deactivate(current, settings);
|
||||||
|
current = null;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the active content is the one currently active, do nothing
|
||||||
|
if (current && active.content === current.content) return;
|
||||||
|
|
||||||
|
// Deactivate the current content and activate the new content
|
||||||
|
deactivate(current, settings);
|
||||||
|
activate(active, settings);
|
||||||
|
|
||||||
|
// Update the currently active content
|
||||||
|
current = active;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Detect the active content on scroll
|
||||||
|
* Debounced for performance
|
||||||
|
*/
|
||||||
|
var scrollHandler = function (event) {
|
||||||
|
|
||||||
|
// If there's a timer, cancel it
|
||||||
|
if (timeout) {
|
||||||
|
window.cancelAnimationFrame(timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup debounce callback
|
||||||
|
timeout = window.requestAnimationFrame(publicAPIs.detect);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update content sorting on resize
|
||||||
|
* Debounced for performance
|
||||||
|
*/
|
||||||
|
var resizeHandler = function (event) {
|
||||||
|
|
||||||
|
// If there's a timer, cancel it
|
||||||
|
if (timeout) {
|
||||||
|
window.cancelAnimationFrame(timeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup debounce callback
|
||||||
|
timeout = window.requestAnimationFrame((function () {
|
||||||
|
sortContents(contents);
|
||||||
|
publicAPIs.detect();
|
||||||
|
}));
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy the current instantiation
|
||||||
|
*/
|
||||||
|
publicAPIs.destroy = function () {
|
||||||
|
|
||||||
|
// Undo DOM changes
|
||||||
|
if (current) {
|
||||||
|
deactivate(current, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove event listeners
|
||||||
|
window.removeEventListener('scroll', scrollHandler, false);
|
||||||
|
if (settings.reflow) {
|
||||||
|
window.removeEventListener('resize', resizeHandler, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset variables
|
||||||
|
contents = null;
|
||||||
|
navItems = null;
|
||||||
|
current = null;
|
||||||
|
timeout = null;
|
||||||
|
settings = null;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the current instantiation
|
||||||
|
*/
|
||||||
|
var init = function () {
|
||||||
|
|
||||||
|
// Merge user options into defaults
|
||||||
|
settings = extend(defaults, options || {});
|
||||||
|
|
||||||
|
// Setup variables based on the current DOM
|
||||||
|
publicAPIs.setup();
|
||||||
|
|
||||||
|
// Find the currently active content
|
||||||
|
publicAPIs.detect();
|
||||||
|
|
||||||
|
// Setup event listeners
|
||||||
|
window.addEventListener('scroll', scrollHandler, false);
|
||||||
|
if (settings.reflow) {
|
||||||
|
window.addEventListener('resize', resizeHandler, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Initialize and return the public APIs
|
||||||
|
//
|
||||||
|
|
||||||
|
init();
|
||||||
|
return publicAPIs;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Return the Constructor
|
||||||
|
//
|
||||||
|
|
||||||
|
return Constructor;
|
||||||
|
|
||||||
|
}));
|
||||||
+17
-26
@@ -1,10 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
GreedyNav.js - https://github.com/lukejacksonn/GreedyNav
|
GreedyNav.js - http://lukejacksonn.com/actuate
|
||||||
Licensed under the MIT license - http://opensource.org/licenses/MIT
|
Licensed under the MIT license - http://opensource.org/licenses/MIT
|
||||||
Copyright (c) 2015 Luke Jackson
|
Copyright (c) 2015 Luke Jackson
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(function() {
|
||||||
|
|
||||||
var $btn = $("nav.greedy-nav .greedy-nav__toggle");
|
var $btn = $("nav.greedy-nav .greedy-nav__toggle");
|
||||||
var $vlinks = $("nav.greedy-nav .visible-links");
|
var $vlinks = $("nav.greedy-nav .visible-links");
|
||||||
var $hlinks = $("nav.greedy-nav .hidden-links");
|
var $hlinks = $("nav.greedy-nav .hidden-links");
|
||||||
@@ -24,35 +25,28 @@ $(document).ready(function() {
|
|||||||
var availableSpace, numOfVisibleItems, requiredSpace, timer;
|
var availableSpace, numOfVisibleItems, requiredSpace, timer;
|
||||||
|
|
||||||
function check() {
|
function check() {
|
||||||
|
|
||||||
// Get instant state
|
// Get instant state
|
||||||
availableSpace = $vlinks.width() - $btn.width();
|
availableSpace = $vlinks.width() - 10;
|
||||||
numOfVisibleItems = $vlinks.children().length;
|
numOfVisibleItems = $vlinks.children().length;
|
||||||
requiredSpace = breakWidths[numOfVisibleItems - 1];
|
requiredSpace = breakWidths[numOfVisibleItems - 1];
|
||||||
|
|
||||||
// There is not enough space
|
// There is not enought space
|
||||||
if (requiredSpace > availableSpace) {
|
if (requiredSpace > availableSpace) {
|
||||||
$vlinks
|
$vlinks.children().last().prependTo($hlinks);
|
||||||
.children()
|
|
||||||
.last()
|
|
||||||
.prependTo($hlinks);
|
|
||||||
numOfVisibleItems -= 1;
|
numOfVisibleItems -= 1;
|
||||||
check();
|
check();
|
||||||
// There is more than enough space
|
// There is more than enough space
|
||||||
} else if (availableSpace > breakWidths[numOfVisibleItems]) {
|
} else if (availableSpace > breakWidths[numOfVisibleItems]) {
|
||||||
$hlinks
|
$hlinks.children().first().appendTo($vlinks);
|
||||||
.children()
|
|
||||||
.first()
|
|
||||||
.appendTo($vlinks);
|
|
||||||
numOfVisibleItems += 1;
|
numOfVisibleItems += 1;
|
||||||
check();
|
check();
|
||||||
}
|
}
|
||||||
// Update the button accordingly
|
// Update the button accordingly
|
||||||
$btn.attr("count", numOfItems - numOfVisibleItems);
|
$btn.attr("count", numOfItems - numOfVisibleItems);
|
||||||
if (numOfVisibleItems === numOfItems) {
|
if (numOfVisibleItems === numOfItems) {
|
||||||
$btn.addClass("hidden");
|
$btn.addClass('hidden');
|
||||||
} else {
|
} else $btn.removeClass('hidden');
|
||||||
$btn.removeClass("hidden");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Window listeners
|
// Window listeners
|
||||||
@@ -60,24 +54,21 @@ $(document).ready(function() {
|
|||||||
check();
|
check();
|
||||||
});
|
});
|
||||||
|
|
||||||
$btn.on("click", function() {
|
$btn.on('click', function() {
|
||||||
$hlinks.toggleClass("hidden");
|
$hlinks.toggleClass('hidden');
|
||||||
$(this).toggleClass("close");
|
|
||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
});
|
});
|
||||||
|
|
||||||
$hlinks
|
$hlinks.on('mouseleave', function() {
|
||||||
.on("mouseleave", function() {
|
|
||||||
// Mouse has left, start the timer
|
// Mouse has left, start the timer
|
||||||
timer = setTimeout(function() {
|
timer = setTimeout(function() {
|
||||||
$hlinks.addClass("hidden");
|
$hlinks.addClass('hidden');
|
||||||
$btn.toggleClass("close");
|
|
||||||
}, closingTime);
|
}, closingTime);
|
||||||
})
|
}).on('mouseenter', function() {
|
||||||
.on("mouseenter", function() {
|
|
||||||
// Mouse is back, cancel the timer
|
// Mouse is back, cancel the timer
|
||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
});
|
})
|
||||||
|
|
||||||
check();
|
check();
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
/*!
|
|
||||||
* jQuery Smooth Scroll - v2.2.0 - 2017-05-05
|
|
||||||
* https://github.com/kswedberg/jquery-smooth-scroll
|
|
||||||
* Copyright (c) 2017 Karl Swedberg
|
|
||||||
* Licensed MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof module&&module.exports?require("jquery"):jQuery)}(function(a){var b={},c={exclude:[],excludeWithin:[],offset:0,direction:"top",delegateSelector:null,scrollElement:null,scrollTarget:null,autoFocus:!1,beforeScroll:function(){},afterScroll:function(){},easing:"swing",speed:400,autoCoefficient:2,preventDefault:!0},d=function(b){var c=[],d=!1,e=b.dir&&"left"===b.dir?"scrollLeft":"scrollTop";return this.each(function(){var b=a(this);if(this!==document&&this!==window)return!document.scrollingElement||this!==document.documentElement&&this!==document.body?void(b[e]()>0?c.push(this):(b[e](1),d=b[e]()>0,d&&c.push(this),b[e](0))):(c.push(document.scrollingElement),!1)}),c.length||this.each(function(){this===document.documentElement&&"smooth"===a(this).css("scrollBehavior")&&(c=[this]),c.length||"BODY"!==this.nodeName||(c=[this])}),"first"===b.el&&c.length>1&&(c=[c[0]]),c},e=/^([\-\+]=)(\d+)/;a.fn.extend({scrollable:function(a){var b=d.call(this,{dir:a});return this.pushStack(b)},firstScrollable:function(a){var b=d.call(this,{el:"first",dir:a});return this.pushStack(b)},smoothScroll:function(b,c){if("options"===(b=b||{}))return c?this.each(function(){var b=a(this),d=a.extend(b.data("ssOpts")||{},c);a(this).data("ssOpts",d)}):this.first().data("ssOpts");var d=a.extend({},a.fn.smoothScroll.defaults,b),e=function(b){var c=function(a){return a.replace(/(:|\.|\/)/g,"\\$1")},e=this,f=a(this),g=a.extend({},d,f.data("ssOpts")||{}),h=d.exclude,i=g.excludeWithin,j=0,k=0,l=!0,m={},n=a.smoothScroll.filterPath(location.pathname),o=a.smoothScroll.filterPath(e.pathname),p=location.hostname===e.hostname||!e.hostname,q=g.scrollTarget||o===n,r=c(e.hash);if(r&&!a(r).length&&(l=!1),g.scrollTarget||p&&q&&r){for(;l&&j<h.length;)f.is(c(h[j++]))&&(l=!1);for(;l&&k<i.length;)f.closest(i[k++]).length&&(l=!1)}else l=!1;l&&(g.preventDefault&&b.preventDefault(),a.extend(m,g,{scrollTarget:g.scrollTarget||r,link:e}),a.smoothScroll(m))};return null!==b.delegateSelector?this.off("click.smoothscroll",b.delegateSelector).on("click.smoothscroll",b.delegateSelector,e):this.off("click.smoothscroll").on("click.smoothscroll",e),this}});var f=function(a){var b={relative:""},c="string"==typeof a&&e.exec(a);return"number"==typeof a?b.px=a:c&&(b.relative=c[1],b.px=parseFloat(c[2])||0),b},g=function(b){var c=a(b.scrollTarget);b.autoFocus&&c.length&&(c[0].focus(),c.is(document.activeElement)||(c.prop({tabIndex:-1}),c[0].focus())),b.afterScroll.call(b.link,b)};a.smoothScroll=function(c,d){if("options"===c&&"object"==typeof d)return a.extend(b,d);var e,h,i,j,k=f(c),l={},m=0,n="offset",o="scrollTop",p={},q={};k.px?e=a.extend({link:null},a.fn.smoothScroll.defaults,b):(e=a.extend({link:null},a.fn.smoothScroll.defaults,c||{},b),e.scrollElement&&(n="position","static"===e.scrollElement.css("position")&&e.scrollElement.css("position","relative")),d&&(k=f(d))),o="left"===e.direction?"scrollLeft":o,e.scrollElement?(h=e.scrollElement,k.px||/^(?:HTML|BODY)$/.test(h[0].nodeName)||(m=h[o]())):h=a("html, body").firstScrollable(e.direction),e.beforeScroll.call(h,e),l=k.px?k:{relative:"",px:a(e.scrollTarget)[n]()&&a(e.scrollTarget)[n]()[e.direction]||0},p[o]=l.relative+(l.px+m+e.offset),i=e.speed,"auto"===i&&(j=Math.abs(p[o]-h[o]()),i=j/e.autoCoefficient),q={duration:i,easing:e.easing,complete:function(){g(e)}},e.step&&(q.step=e.step),h.length?h.stop().animate(p,q):g(e)},a.smoothScroll.version="2.2.0",a.smoothScroll.filterPath=function(a){return a=a||"",a.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},a.fn.smoothScroll.defaults=c});
|
|
||||||
Vendored
+650
@@ -0,0 +1,650 @@
|
|||||||
|
/*!
|
||||||
|
* smooth-scroll v16.1.2
|
||||||
|
* Animate scrolling to anchor links
|
||||||
|
* (c) 2020 Chris Ferdinandi
|
||||||
|
* MIT License
|
||||||
|
* http://github.com/cferdinandi/smooth-scroll
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function (root, factory) {
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
define([], (function () {
|
||||||
|
return factory(root);
|
||||||
|
}));
|
||||||
|
} else if (typeof exports === 'object') {
|
||||||
|
module.exports = factory(root);
|
||||||
|
} else {
|
||||||
|
root.SmoothScroll = factory(root);
|
||||||
|
}
|
||||||
|
})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, (function (window) {
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
//
|
||||||
|
// Default settings
|
||||||
|
//
|
||||||
|
|
||||||
|
var defaults = {
|
||||||
|
|
||||||
|
// Selectors
|
||||||
|
ignore: '[data-scroll-ignore]',
|
||||||
|
header: null,
|
||||||
|
topOnEmptyHash: true,
|
||||||
|
|
||||||
|
// Speed & Duration
|
||||||
|
speed: 500,
|
||||||
|
speedAsDuration: false,
|
||||||
|
durationMax: null,
|
||||||
|
durationMin: null,
|
||||||
|
clip: true,
|
||||||
|
offset: 0,
|
||||||
|
|
||||||
|
// Easing
|
||||||
|
easing: 'easeInOutCubic',
|
||||||
|
customEasing: null,
|
||||||
|
|
||||||
|
// History
|
||||||
|
updateURL: true,
|
||||||
|
popstate: true,
|
||||||
|
|
||||||
|
// Custom Events
|
||||||
|
emitEvents: true
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Utility Methods
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if browser supports required methods
|
||||||
|
* @return {Boolean} Returns true if all required methods are supported
|
||||||
|
*/
|
||||||
|
var supports = function () {
|
||||||
|
return (
|
||||||
|
'querySelector' in document &&
|
||||||
|
'addEventListener' in window &&
|
||||||
|
'requestAnimationFrame' in window &&
|
||||||
|
'closest' in window.Element.prototype
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Merge two or more objects together.
|
||||||
|
* @param {Object} objects The objects to merge together
|
||||||
|
* @returns {Object} Merged values of defaults and options
|
||||||
|
*/
|
||||||
|
var extend = function () {
|
||||||
|
var merged = {};
|
||||||
|
Array.prototype.forEach.call(arguments, (function (obj) {
|
||||||
|
for (var key in obj) {
|
||||||
|
if (!obj.hasOwnProperty(key)) return;
|
||||||
|
merged[key] = obj[key];
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
return merged;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check to see if user prefers reduced motion
|
||||||
|
* @param {Object} settings Script settings
|
||||||
|
*/
|
||||||
|
var reduceMotion = function () {
|
||||||
|
if ('matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the height of an element.
|
||||||
|
* @param {Node} elem The element to get the height of
|
||||||
|
* @return {Number} The element's height in pixels
|
||||||
|
*/
|
||||||
|
var getHeight = function (elem) {
|
||||||
|
return parseInt(window.getComputedStyle(elem).height, 10);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Escape special characters for use with querySelector
|
||||||
|
* @author Mathias Bynens
|
||||||
|
* @link https://github.com/mathiasbynens/CSS.escape
|
||||||
|
* @param {String} id The anchor ID to escape
|
||||||
|
*/
|
||||||
|
var escapeCharacters = function (id) {
|
||||||
|
|
||||||
|
// Remove leading hash
|
||||||
|
if (id.charAt(0) === '#') {
|
||||||
|
id = id.substr(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
var string = String(id);
|
||||||
|
var length = string.length;
|
||||||
|
var index = -1;
|
||||||
|
var codeUnit;
|
||||||
|
var result = '';
|
||||||
|
var firstCodeUnit = string.charCodeAt(0);
|
||||||
|
while (++index < length) {
|
||||||
|
codeUnit = string.charCodeAt(index);
|
||||||
|
// Note: there’s no need to special-case astral symbols, surrogate
|
||||||
|
// pairs, or lone surrogates.
|
||||||
|
|
||||||
|
// If the character is NULL (U+0000), then throw an
|
||||||
|
// `InvalidCharacterError` exception and terminate these steps.
|
||||||
|
if (codeUnit === 0x0000) {
|
||||||
|
throw new InvalidCharacterError(
|
||||||
|
'Invalid character: the input contains U+0000.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
// If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
|
||||||
|
// U+007F, […]
|
||||||
|
(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
|
||||||
|
// If the character is the first character and is in the range [0-9]
|
||||||
|
// (U+0030 to U+0039), […]
|
||||||
|
(index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
||||||
|
// If the character is the second character and is in the range [0-9]
|
||||||
|
// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
|
||||||
|
(
|
||||||
|
index === 1 &&
|
||||||
|
codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
|
||||||
|
firstCodeUnit === 0x002D
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
// http://dev.w3.org/csswg/cssom/#escape-a-character-as-code-point
|
||||||
|
result += '\\' + codeUnit.toString(16) + ' ';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the character is not handled by one of the above rules and is
|
||||||
|
// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
|
||||||
|
// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
|
||||||
|
// U+005A), or [a-z] (U+0061 to U+007A), […]
|
||||||
|
if (
|
||||||
|
codeUnit >= 0x0080 ||
|
||||||
|
codeUnit === 0x002D ||
|
||||||
|
codeUnit === 0x005F ||
|
||||||
|
codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
|
||||||
|
codeUnit >= 0x0041 && codeUnit <= 0x005A ||
|
||||||
|
codeUnit >= 0x0061 && codeUnit <= 0x007A
|
||||||
|
) {
|
||||||
|
// the character itself
|
||||||
|
result += string.charAt(index);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise, the escaped character.
|
||||||
|
// http://dev.w3.org/csswg/cssom/#escape-a-character
|
||||||
|
result += '\\' + string.charAt(index);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return sanitized hash
|
||||||
|
return '#' + result;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate the easing pattern
|
||||||
|
* @link https://gist.github.com/gre/1650294
|
||||||
|
* @param {String} type Easing pattern
|
||||||
|
* @param {Number} time Time animation should take to complete
|
||||||
|
* @returns {Number}
|
||||||
|
*/
|
||||||
|
var easingPattern = function (settings, time) {
|
||||||
|
var pattern;
|
||||||
|
|
||||||
|
// Default Easing Patterns
|
||||||
|
if (settings.easing === 'easeInQuad') pattern = time * time; // accelerating from zero velocity
|
||||||
|
if (settings.easing === 'easeOutQuad') pattern = time * (2 - time); // decelerating to zero velocity
|
||||||
|
if (settings.easing === 'easeInOutQuad') pattern = time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration
|
||||||
|
if (settings.easing === 'easeInCubic') pattern = time * time * time; // accelerating from zero velocity
|
||||||
|
if (settings.easing === 'easeOutCubic') pattern = (--time) * time * time + 1; // decelerating to zero velocity
|
||||||
|
if (settings.easing === 'easeInOutCubic') pattern = time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration
|
||||||
|
if (settings.easing === 'easeInQuart') pattern = time * time * time * time; // accelerating from zero velocity
|
||||||
|
if (settings.easing === 'easeOutQuart') pattern = 1 - (--time) * time * time * time; // decelerating to zero velocity
|
||||||
|
if (settings.easing === 'easeInOutQuart') pattern = time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration
|
||||||
|
if (settings.easing === 'easeInQuint') pattern = time * time * time * time * time; // accelerating from zero velocity
|
||||||
|
if (settings.easing === 'easeOutQuint') pattern = 1 + (--time) * time * time * time * time; // decelerating to zero velocity
|
||||||
|
if (settings.easing === 'easeInOutQuint') pattern = time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration
|
||||||
|
|
||||||
|
// Custom Easing Patterns
|
||||||
|
if (!!settings.customEasing) pattern = settings.customEasing(time);
|
||||||
|
|
||||||
|
return pattern || time; // no easing, no acceleration
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine the document's height
|
||||||
|
* @returns {Number}
|
||||||
|
*/
|
||||||
|
var getDocumentHeight = function () {
|
||||||
|
return Math.max(
|
||||||
|
document.body.scrollHeight, document.documentElement.scrollHeight,
|
||||||
|
document.body.offsetHeight, document.documentElement.offsetHeight,
|
||||||
|
document.body.clientHeight, document.documentElement.clientHeight
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate how far to scroll
|
||||||
|
* Clip support added by robjtede - https://github.com/cferdinandi/smooth-scroll/issues/405
|
||||||
|
* @param {Element} anchor The anchor element to scroll to
|
||||||
|
* @param {Number} headerHeight Height of a fixed header, if any
|
||||||
|
* @param {Number} offset Number of pixels by which to offset scroll
|
||||||
|
* @param {Boolean} clip If true, adjust scroll distance to prevent abrupt stops near the bottom of the page
|
||||||
|
* @returns {Number}
|
||||||
|
*/
|
||||||
|
var getEndLocation = function (anchor, headerHeight, offset, clip) {
|
||||||
|
var location = 0;
|
||||||
|
if (anchor.offsetParent) {
|
||||||
|
do {
|
||||||
|
location += anchor.offsetTop;
|
||||||
|
anchor = anchor.offsetParent;
|
||||||
|
} while (anchor);
|
||||||
|
}
|
||||||
|
location = Math.max(location - headerHeight - offset, 0);
|
||||||
|
if (clip) {
|
||||||
|
location = Math.min(location, getDocumentHeight() - window.innerHeight);
|
||||||
|
}
|
||||||
|
return location;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the height of the fixed header
|
||||||
|
* @param {Node} header The header
|
||||||
|
* @return {Number} The height of the header
|
||||||
|
*/
|
||||||
|
var getHeaderHeight = function (header) {
|
||||||
|
return !header ? 0 : (getHeight(header) + header.offsetTop);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate the speed to use for the animation
|
||||||
|
* @param {Number} distance The distance to travel
|
||||||
|
* @param {Object} settings The plugin settings
|
||||||
|
* @return {Number} How fast to animate
|
||||||
|
*/
|
||||||
|
var getSpeed = function (distance, settings) {
|
||||||
|
var speed = settings.speedAsDuration ? settings.speed : Math.abs(distance / 1000 * settings.speed);
|
||||||
|
if (settings.durationMax && speed > settings.durationMax) return settings.durationMax;
|
||||||
|
if (settings.durationMin && speed < settings.durationMin) return settings.durationMin;
|
||||||
|
return parseInt(speed, 10);
|
||||||
|
};
|
||||||
|
|
||||||
|
var setHistory = function (options) {
|
||||||
|
|
||||||
|
// Make sure this should run
|
||||||
|
if (!history.replaceState || !options.updateURL || history.state) return;
|
||||||
|
|
||||||
|
// Get the hash to use
|
||||||
|
var hash = window.location.hash;
|
||||||
|
hash = hash ? hash : '';
|
||||||
|
|
||||||
|
// Set a default history
|
||||||
|
history.replaceState(
|
||||||
|
{
|
||||||
|
smoothScroll: JSON.stringify(options),
|
||||||
|
anchor: hash ? hash : window.pageYOffset
|
||||||
|
},
|
||||||
|
document.title,
|
||||||
|
hash ? hash : window.location.href
|
||||||
|
);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the URL
|
||||||
|
* @param {Node} anchor The anchor that was scrolled to
|
||||||
|
* @param {Boolean} isNum If true, anchor is a number
|
||||||
|
* @param {Object} options Settings for Smooth Scroll
|
||||||
|
*/
|
||||||
|
var updateURL = function (anchor, isNum, options) {
|
||||||
|
|
||||||
|
// Bail if the anchor is a number
|
||||||
|
if (isNum) return;
|
||||||
|
|
||||||
|
// Verify that pushState is supported and the updateURL option is enabled
|
||||||
|
if (!history.pushState || !options.updateURL) return;
|
||||||
|
|
||||||
|
// Update URL
|
||||||
|
history.pushState(
|
||||||
|
{
|
||||||
|
smoothScroll: JSON.stringify(options),
|
||||||
|
anchor: anchor.id
|
||||||
|
},
|
||||||
|
document.title,
|
||||||
|
anchor === document.documentElement ? '#top' : '#' + anchor.id
|
||||||
|
);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bring the anchored element into focus
|
||||||
|
* @param {Node} anchor The anchor element
|
||||||
|
* @param {Number} endLocation The end location to scroll to
|
||||||
|
* @param {Boolean} isNum If true, scroll is to a position rather than an element
|
||||||
|
*/
|
||||||
|
var adjustFocus = function (anchor, endLocation, isNum) {
|
||||||
|
|
||||||
|
// Is scrolling to top of page, blur
|
||||||
|
if (anchor === 0) {
|
||||||
|
document.body.focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Don't run if scrolling to a number on the page
|
||||||
|
if (isNum) return;
|
||||||
|
|
||||||
|
// Otherwise, bring anchor element into focus
|
||||||
|
anchor.focus();
|
||||||
|
if (document.activeElement !== anchor) {
|
||||||
|
anchor.setAttribute('tabindex', '-1');
|
||||||
|
anchor.focus();
|
||||||
|
anchor.style.outline = 'none';
|
||||||
|
}
|
||||||
|
window.scrollTo(0 , endLocation);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Emit a custom event
|
||||||
|
* @param {String} type The event type
|
||||||
|
* @param {Object} options The settings object
|
||||||
|
* @param {Node} anchor The anchor element
|
||||||
|
* @param {Node} toggle The toggle element
|
||||||
|
*/
|
||||||
|
var emitEvent = function (type, options, anchor, toggle) {
|
||||||
|
if (!options.emitEvents || typeof window.CustomEvent !== 'function') return;
|
||||||
|
var event = new CustomEvent(type, {
|
||||||
|
bubbles: true,
|
||||||
|
detail: {
|
||||||
|
anchor: anchor,
|
||||||
|
toggle: toggle
|
||||||
|
}
|
||||||
|
});
|
||||||
|
document.dispatchEvent(event);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// SmoothScroll Constructor
|
||||||
|
//
|
||||||
|
|
||||||
|
var SmoothScroll = function (selector, options) {
|
||||||
|
|
||||||
|
//
|
||||||
|
// Variables
|
||||||
|
//
|
||||||
|
|
||||||
|
var smoothScroll = {}; // Object for public APIs
|
||||||
|
var settings, anchor, toggle, fixedHeader, eventTimeout, animationInterval;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Methods
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cancel a scroll-in-progress
|
||||||
|
*/
|
||||||
|
smoothScroll.cancelScroll = function (noEvent) {
|
||||||
|
cancelAnimationFrame(animationInterval);
|
||||||
|
animationInterval = null;
|
||||||
|
if (noEvent) return;
|
||||||
|
emitEvent('scrollCancel', settings);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Start/stop the scrolling animation
|
||||||
|
* @param {Node|Number} anchor The element or position to scroll to
|
||||||
|
* @param {Element} toggle The element that toggled the scroll event
|
||||||
|
* @param {Object} options
|
||||||
|
*/
|
||||||
|
smoothScroll.animateScroll = function (anchor, toggle, options) {
|
||||||
|
|
||||||
|
// Cancel any in progress scrolls
|
||||||
|
smoothScroll.cancelScroll();
|
||||||
|
|
||||||
|
// Local settings
|
||||||
|
var _settings = extend(settings || defaults, options || {}); // Merge user options with defaults
|
||||||
|
|
||||||
|
// Selectors and variables
|
||||||
|
var isNum = Object.prototype.toString.call(anchor) === '[object Number]' ? true : false;
|
||||||
|
var anchorElem = isNum || !anchor.tagName ? null : anchor;
|
||||||
|
if (!isNum && !anchorElem) return;
|
||||||
|
var startLocation = window.pageYOffset; // Current location on the page
|
||||||
|
if (_settings.header && !fixedHeader) {
|
||||||
|
// Get the fixed header if not already set
|
||||||
|
fixedHeader = document.querySelector(_settings.header);
|
||||||
|
}
|
||||||
|
var headerHeight = getHeaderHeight(fixedHeader);
|
||||||
|
var endLocation = isNum ? anchor : getEndLocation(anchorElem, headerHeight, parseInt((typeof _settings.offset === 'function' ? _settings.offset(anchor, toggle) : _settings.offset), 10), _settings.clip); // Location to scroll to
|
||||||
|
var distance = endLocation - startLocation; // distance to travel
|
||||||
|
var documentHeight = getDocumentHeight();
|
||||||
|
var timeLapsed = 0;
|
||||||
|
var speed = getSpeed(distance, _settings);
|
||||||
|
var start, percentage, position;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop the scroll animation when it reaches its target (or the bottom/top of page)
|
||||||
|
* @param {Number} position Current position on the page
|
||||||
|
* @param {Number} endLocation Scroll to location
|
||||||
|
* @param {Number} animationInterval How much to scroll on this loop
|
||||||
|
*/
|
||||||
|
var stopAnimateScroll = function (position, endLocation) {
|
||||||
|
|
||||||
|
// Get the current location
|
||||||
|
var currentLocation = window.pageYOffset;
|
||||||
|
|
||||||
|
// Check if the end location has been reached yet (or we've hit the end of the document)
|
||||||
|
if (position == endLocation || currentLocation == endLocation || ((startLocation < endLocation && window.innerHeight + currentLocation) >= documentHeight)) {
|
||||||
|
|
||||||
|
// Clear the animation timer
|
||||||
|
smoothScroll.cancelScroll(true);
|
||||||
|
|
||||||
|
// Bring the anchored element into focus
|
||||||
|
adjustFocus(anchor, endLocation, isNum);
|
||||||
|
|
||||||
|
// Emit a custom event
|
||||||
|
emitEvent('scrollStop', _settings, anchor, toggle);
|
||||||
|
|
||||||
|
// Reset start
|
||||||
|
start = null;
|
||||||
|
animationInterval = null;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loop scrolling animation
|
||||||
|
*/
|
||||||
|
var loopAnimateScroll = function (timestamp) {
|
||||||
|
if (!start) { start = timestamp; }
|
||||||
|
timeLapsed += timestamp - start;
|
||||||
|
percentage = speed === 0 ? 0 : (timeLapsed / speed);
|
||||||
|
percentage = (percentage > 1) ? 1 : percentage;
|
||||||
|
position = startLocation + (distance * easingPattern(_settings, percentage));
|
||||||
|
window.scrollTo(0, Math.floor(position));
|
||||||
|
if (!stopAnimateScroll(position, endLocation)) {
|
||||||
|
animationInterval = window.requestAnimationFrame(loopAnimateScroll);
|
||||||
|
start = timestamp;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset position to fix weird iOS bug
|
||||||
|
* @link https://github.com/cferdinandi/smooth-scroll/issues/45
|
||||||
|
*/
|
||||||
|
if (window.pageYOffset === 0) {
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the URL
|
||||||
|
updateURL(anchor, isNum, _settings);
|
||||||
|
|
||||||
|
// If the user prefers reduced motion, jump to location
|
||||||
|
if (reduceMotion()) {
|
||||||
|
window.scrollTo(0, Math.floor(endLocation));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Emit a custom event
|
||||||
|
emitEvent('scrollStart', _settings, anchor, toggle);
|
||||||
|
|
||||||
|
// Start scrolling animation
|
||||||
|
smoothScroll.cancelScroll(true);
|
||||||
|
window.requestAnimationFrame(loopAnimateScroll);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If smooth scroll element clicked, animate scroll
|
||||||
|
*/
|
||||||
|
var clickHandler = function (event) {
|
||||||
|
|
||||||
|
// Don't run if event was canceled but still bubbled up
|
||||||
|
// By @mgreter - https://github.com/cferdinandi/smooth-scroll/pull/462/
|
||||||
|
if (event.defaultPrevented) return;
|
||||||
|
|
||||||
|
// Don't run if right-click or command/control + click or shift + click
|
||||||
|
if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey) return;
|
||||||
|
|
||||||
|
// Check if event.target has closest() method
|
||||||
|
// By @totegi - https://github.com/cferdinandi/smooth-scroll/pull/401/
|
||||||
|
if (!('closest' in event.target)) return;
|
||||||
|
|
||||||
|
// Check if a smooth scroll link was clicked
|
||||||
|
toggle = event.target.closest(selector);
|
||||||
|
if (!toggle || toggle.tagName.toLowerCase() !== 'a' || event.target.closest(settings.ignore)) return;
|
||||||
|
|
||||||
|
// Only run if link is an anchor and points to the current page
|
||||||
|
if (toggle.hostname !== window.location.hostname || toggle.pathname !== window.location.pathname || !/#/.test(toggle.href)) return;
|
||||||
|
|
||||||
|
// Get an escaped version of the hash
|
||||||
|
var hash;
|
||||||
|
try {
|
||||||
|
hash = escapeCharacters(decodeURIComponent(toggle.hash));
|
||||||
|
} catch(e) {
|
||||||
|
hash = escapeCharacters(toggle.hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the anchored element
|
||||||
|
var anchor;
|
||||||
|
if (hash === '#') {
|
||||||
|
if (!settings.topOnEmptyHash) return;
|
||||||
|
anchor = document.documentElement;
|
||||||
|
} else {
|
||||||
|
anchor = document.querySelector(hash);
|
||||||
|
}
|
||||||
|
anchor = !anchor && hash === '#top' ? document.documentElement : anchor;
|
||||||
|
|
||||||
|
// If anchored element exists, scroll to it
|
||||||
|
if (!anchor) return;
|
||||||
|
event.preventDefault();
|
||||||
|
setHistory(settings);
|
||||||
|
smoothScroll.animateScroll(anchor, toggle);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Animate scroll on popstate events
|
||||||
|
*/
|
||||||
|
var popstateHandler = function (event) {
|
||||||
|
|
||||||
|
// Stop if history.state doesn't exist (ex. if clicking on a broken anchor link).
|
||||||
|
// fixes `Cannot read property 'smoothScroll' of null` error getting thrown.
|
||||||
|
if (history.state === null) return;
|
||||||
|
|
||||||
|
// Only run if state is a popstate record for this instantiation
|
||||||
|
if (!history.state.smoothScroll || history.state.smoothScroll !== JSON.stringify(settings)) return;
|
||||||
|
|
||||||
|
// Only run if state includes an anchor
|
||||||
|
|
||||||
|
// if (!history.state.anchor && history.state.anchor !== 0) return;
|
||||||
|
|
||||||
|
// Get the anchor
|
||||||
|
var anchor = history.state.anchor;
|
||||||
|
if (typeof anchor === 'string' && anchor) {
|
||||||
|
anchor = document.querySelector(escapeCharacters(history.state.anchor));
|
||||||
|
if (!anchor) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Animate scroll to anchor link
|
||||||
|
smoothScroll.animateScroll(anchor, null, {updateURL: false});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy the current initialization.
|
||||||
|
*/
|
||||||
|
smoothScroll.destroy = function () {
|
||||||
|
|
||||||
|
// If plugin isn't already initialized, stop
|
||||||
|
if (!settings) return;
|
||||||
|
|
||||||
|
// Remove event listeners
|
||||||
|
document.removeEventListener('click', clickHandler, false);
|
||||||
|
window.removeEventListener('popstate', popstateHandler, false);
|
||||||
|
|
||||||
|
// Cancel any scrolls-in-progress
|
||||||
|
smoothScroll.cancelScroll();
|
||||||
|
|
||||||
|
// Reset variables
|
||||||
|
settings = null;
|
||||||
|
anchor = null;
|
||||||
|
toggle = null;
|
||||||
|
fixedHeader = null;
|
||||||
|
eventTimeout = null;
|
||||||
|
animationInterval = null;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize Smooth Scroll
|
||||||
|
* @param {Object} options User settings
|
||||||
|
*/
|
||||||
|
var init = function () {
|
||||||
|
|
||||||
|
// feature test
|
||||||
|
if (!supports()) throw 'Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.';
|
||||||
|
|
||||||
|
// Destroy any existing initializations
|
||||||
|
smoothScroll.destroy();
|
||||||
|
|
||||||
|
// Selectors and variables
|
||||||
|
settings = extend(defaults, options || {}); // Merge user options with defaults
|
||||||
|
fixedHeader = settings.header ? document.querySelector(settings.header) : null; // Get the fixed header
|
||||||
|
|
||||||
|
// When a toggle is clicked, run the click handler
|
||||||
|
document.addEventListener('click', clickHandler, false);
|
||||||
|
|
||||||
|
// If updateURL and popState are enabled, listen for pop events
|
||||||
|
if (settings.updateURL && settings.popstate) {
|
||||||
|
window.addEventListener('popstate', popstateHandler, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Initialize plugin
|
||||||
|
//
|
||||||
|
|
||||||
|
init();
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Public APIs
|
||||||
|
//
|
||||||
|
|
||||||
|
return smoothScroll;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
return SmoothScroll;
|
||||||
|
|
||||||
|
}));
|
||||||
-2
File diff suppressed because one or more lines are too long
+10598
File diff suppressed because it is too large
Load Diff
+8
-24
@@ -5,7 +5,7 @@
|
|||||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
||||||
# `jekyll serve`. If you change this file, please restart the server process.
|
# `jekyll serve`. If you change this file, please restart the server process.
|
||||||
|
|
||||||
remote_theme : "mmistakes/minimal-mistakes"
|
remote_theme : "mmistakes/minimal-mistakes@4.20.0"
|
||||||
|
|
||||||
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
||||||
|
|
||||||
@@ -13,6 +13,7 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
|
|||||||
locale : "en-US"
|
locale : "en-US"
|
||||||
title : "Minimal Mistakes"
|
title : "Minimal Mistakes"
|
||||||
title_separator : "-"
|
title_separator : "-"
|
||||||
|
subtitle : "A Jekyll theme"
|
||||||
name : &name "Michael Rose" # &name is a YAML anchor which can be *referenced later
|
name : &name "Michael Rose" # &name is a YAML anchor which can be *referenced later
|
||||||
description : &description "A flexible Jekyll theme for your blog or site with a minimalist aesthetic."
|
description : &description "A flexible Jekyll theme for your blog or site with a minimalist aesthetic."
|
||||||
url : https://mmistakes.github.io # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
url : https://mmistakes.github.io # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
||||||
@@ -24,7 +25,7 @@ masthead_title : # overrides the website title displayed in the masthe
|
|||||||
# breadcrumbs : false # true, false (default)
|
# breadcrumbs : false # true, false (default)
|
||||||
words_per_minute : 200
|
words_per_minute : 200
|
||||||
comments:
|
comments:
|
||||||
provider : "false" # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman_v2", "staticman", "utterances", "custom"
|
provider : "false" # false (default), "disqus", "discourse", "facebook", "staticman_v2", "staticman", "utterances", "custom"
|
||||||
disqus:
|
disqus:
|
||||||
shortname :
|
shortname :
|
||||||
discourse:
|
discourse:
|
||||||
@@ -37,23 +38,6 @@ comments:
|
|||||||
utterances:
|
utterances:
|
||||||
theme : # "github-light" (default), "github-dark"
|
theme : # "github-light" (default), "github-dark"
|
||||||
issue_term : # "pathname" (default)
|
issue_term : # "pathname" (default)
|
||||||
staticman:
|
|
||||||
allowedFields : # ['name', 'email', 'url', 'message']
|
|
||||||
branch : # "master"
|
|
||||||
commitMessage : # "New comment by {fields.name}"
|
|
||||||
filename : # comment-{@timestamp}
|
|
||||||
format : # "yml"
|
|
||||||
moderation : # true
|
|
||||||
path : # "_data/comments/{options.slug}"
|
|
||||||
requiredFields : # ['name', 'email', 'message']
|
|
||||||
transforms:
|
|
||||||
email : # "md5"
|
|
||||||
generatedFields:
|
|
||||||
date:
|
|
||||||
type : # "date"
|
|
||||||
options:
|
|
||||||
format : # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds"
|
|
||||||
endpoint : # URL of your own deployment with trailing slash, will fallback to the public instance
|
|
||||||
reCaptcha:
|
reCaptcha:
|
||||||
siteKey : # "6LdRBykTAAAAAFB46MnIu6ixuxwu9W1ihFF8G60Q"
|
siteKey : # "6LdRBykTAAAAAFB46MnIu6ixuxwu9W1ihFF8G60Q"
|
||||||
secret : # "PznnZGu3P6eTHRPLORniSq+J61YEf+A9zmColXDM5icqF49gbunH51B8+h+i2IvewpuxtA9TFoK68TuhUp/X3YKmmqhXasegHYabY50fqF9nJh9npWNhvITdkQHeaOqnFXUIwxfiEeUt49Yoa2waRR7a5LdRAP3SVM8hz0KIBT4="
|
secret : # "PznnZGu3P6eTHRPLORniSq+J61YEf+A9zmColXDM5icqF49gbunH51B8+h+i2IvewpuxtA9TFoK68TuhUp/X3YKmmqhXasegHYabY50fqF9nJh9npWNhvITdkQHeaOqnFXUIwxfiEeUt49Yoa2waRR7a5LdRAP3SVM8hz0KIBT4="
|
||||||
@@ -93,11 +77,11 @@ social:
|
|||||||
name : # If the user or organization name differs from the site's name
|
name : # If the user or organization name differs from the site's name
|
||||||
links: # An array of links to social media profiles
|
links: # An array of links to social media profiles
|
||||||
- "https://twitter.com/mmistakes"
|
- "https://twitter.com/mmistakes"
|
||||||
- "https://facebook.com/michaelrose"
|
- "https://www.facebook.com/michaelrose"
|
||||||
|
|
||||||
# Analytics
|
# Analytics
|
||||||
analytics:
|
analytics:
|
||||||
provider : "google-universal" # false (default), "google", "google-universal", "custom"
|
provider : "google-universal" # false (default), "google", "google-universal", "google-gtag", "custom"
|
||||||
google:
|
google:
|
||||||
tracking_id : "UA-2011187-3" # Replace this with your ID, or delete
|
tracking_id : "UA-2011187-3" # Replace this with your ID, or delete
|
||||||
anonymize_ip : true
|
anonymize_ip : true
|
||||||
@@ -107,7 +91,7 @@ analytics:
|
|||||||
author:
|
author:
|
||||||
name : *name # *name is a YAML reference pointing to the &anchor earlier
|
name : *name # *name is a YAML reference pointing to the &anchor earlier
|
||||||
avatar : "/assets/images/michael-rose.jpg"
|
avatar : "/assets/images/michael-rose.jpg"
|
||||||
bio : "Just another boring, tattooed, time traveling, designer."
|
bio : "Just another *boring*, *tattooed*, *time traveling*, *designer*."
|
||||||
location : "Buffalo, NY"
|
location : "Buffalo, NY"
|
||||||
links:
|
links:
|
||||||
- label: "Made Mistakes"
|
- label: "Made Mistakes"
|
||||||
@@ -309,8 +293,8 @@ whitelist:
|
|||||||
# - Archive page should exist at path when using Liquid method or you can
|
# - Archive page should exist at path when using Liquid method or you can
|
||||||
# expect broken links (especially with breadcrumbs enabled)
|
# expect broken links (especially with breadcrumbs enabled)
|
||||||
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
||||||
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
|
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
|
||||||
# - <base_path/my-awesome-category/index.html ~> path: /
|
# - <base_path>/my-awesome-category/index.html ~> path: /
|
||||||
category_archive:
|
category_archive:
|
||||||
type: liquid
|
type: liquid
|
||||||
path: /categories/
|
path: /categories/
|
||||||
|
|||||||
+17
-7
@@ -2,17 +2,27 @@
|
|||||||
|
|
||||||
Billy Rick:
|
Billy Rick:
|
||||||
name : "Billy Rick"
|
name : "Billy Rick"
|
||||||
uri : "http://thewhip.com"
|
|
||||||
email : "billy@rick.com"
|
|
||||||
bio : "What do you want, jewels? I am a very extravagant man."
|
bio : "What do you want, jewels? I am a very extravagant man."
|
||||||
avatar : "/assets/images/bio-photo-2.jpg"
|
avatar : "/assets/images/bio-photo-2.jpg"
|
||||||
twitter : "extravagantman"
|
links:
|
||||||
google_plus : "BillyRick"
|
- label: "Email"
|
||||||
|
icon: "fas fa-fw fa-envelope-square"
|
||||||
|
url: "mailto:billyrick@rick.com"
|
||||||
|
- label: "Website"
|
||||||
|
icon: "fas fa-fw fa-link"
|
||||||
|
url: "https://thewhip.com"
|
||||||
|
- label: "Twitter"
|
||||||
|
icon: "fab fa-fw fa-twitter-square"
|
||||||
|
url: "https://twitter.com/extravagantman"
|
||||||
|
|
||||||
Cornelius Fiddlebone:
|
Cornelius Fiddlebone:
|
||||||
name : "Cornelius Fiddlebone"
|
name : "Cornelius Fiddlebone"
|
||||||
email : "cornelius@thewhip.com"
|
|
||||||
bio : "I ordered what?"
|
bio : "I ordered what?"
|
||||||
avatar : "/assets/images/bio-photo.jpg"
|
avatar : "/assets/images/bio-photo.jpg"
|
||||||
twitter : "rhymeswithsackit"
|
links:
|
||||||
google_plus : "CorneliusFiddlebone"
|
- label: "Email"
|
||||||
|
icon: "fas fa-fw fa-envelope-square"
|
||||||
|
url: "mailto:cornelius@thewhip.com"
|
||||||
|
- label: "Twitter"
|
||||||
|
icon: "fab fa-fw fa-twitter-square"
|
||||||
|
url: "https://twitter.com/rhymeswithsackit"
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
|||||||
title: "Quick-Start Guide"
|
title: "Quick-Start Guide"
|
||||||
permalink: /docs/quick-start-guide/
|
permalink: /docs/quick-start-guide/
|
||||||
excerpt: "How to quickly install and setup Minimal Mistakes for use with GitHub Pages."
|
excerpt: "How to quickly install and setup Minimal Mistakes for use with GitHub Pages."
|
||||||
last_modified_at: 2018-11-25T22:21:33-05:00
|
last_modified_at: 2020-07-27
|
||||||
redirect_from:
|
redirect_from:
|
||||||
- /theme-setup/
|
- /theme-setup/
|
||||||
toc: true
|
toc: true
|
||||||
@@ -12,11 +12,11 @@ Minimal Mistakes has been developed as a [Gem-based theme](http://jekyllrb.com/d
|
|||||||
|
|
||||||
**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 [supporting me](https://www.paypal.me/mmistakes) for developing and maintaining it.**
|
||||||
|
|
||||||
[](https://www.paypal.me/mmistakes)
|
[](https://www.paypal.me/mmistakes)
|
||||||
|
|
||||||
## Installing the theme
|
## Installing the theme
|
||||||
|
|
||||||
If you're running Jekyll v3.5+ and self-hosting you can quickly install the theme as a Ruby gem.
|
If you're running Jekyll v3.7+ and self-hosting you can quickly install the theme as a Ruby gem.
|
||||||
|
|
||||||
[^structure]: See [**Structure** page]({{ "/docs/structure/" | relative_url }}) for a list of theme files and what they do.
|
[^structure]: See [**Structure** page]({{ "/docs/structure/" | relative_url }}) for a list of theme files and what they do.
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ To install as a Gem-based theme:
|
|||||||
gem "minimal-mistakes-jekyll"
|
gem "minimal-mistakes-jekyll"
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Fetch and update bundled gems by running the following [Bundler](http://bundler.io/) command:
|
2. Fetch and update bundled gems by running the following [Bundler](https://bundler.io/) command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bundle
|
bundle
|
||||||
@@ -68,16 +68,19 @@ To install as a remote theme:
|
|||||||
|
|
||||||
2. Add `jekyll-include-cache` to the `plugins` array of your `_config.yml`.
|
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
|
```bash
|
||||||
bundle
|
bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.15.2"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.20.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
||||||
|
|
||||||
You may also optionally specify a branch, [tag](https://github.com/mmistakes/minimal-mistakes/tags), or commit to use by appending an @ and the Git ref (e.g., `mmistakes/minimal-mistakes@4.9.0` or `mmistakes/minimal-mistakes@bbf3cbc5fd64a3e1885f3f99eb90ba92af84063d`). This is useful when rolling back to older versions of the theme. If you don't specify a Git ref, the latest on `master` will be used.
|
You may also optionally specify a branch, [tag](https://github.com/mmistakes/minimal-mistakes/tags), or commit to use by appending an @ and the Git ref (e.g., `mmistakes/minimal-mistakes@4.9.0` or `mmistakes/minimal-mistakes@bbf3cbc5fd64a3e1885f3f99eb90ba92af84063d`). This is useful when rolling back to older versions of the theme. If you don't specify a Git ref, the latest on `master` will be used.
|
||||||
|
|
||||||
|
**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.
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Note:** Your Jekyll site should be viewable immediately at <http://USERNAME.github.io>. If it's not, you can force a rebuild by **Customizing Your Site** (see below for more details).
|
**Note:** Your Jekyll site should be viewable immediately at <http://USERNAME.github.io>. If it's not, you can force a rebuild by **Customizing Your Site** (see below for more details).
|
||||||
@@ -133,13 +136,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.
|
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.
|
||||||
|
|
||||||
However like all other bundled files, you'll need to create and edit these data files to customize them.
|
You'll need to create and edit these data files to customize them:
|
||||||
The bundled data files are:
|
|
||||||
|
|
||||||
- [`_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/ui-text.yml`][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/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`
|
### Starting from `jekyll new`
|
||||||
|
|
||||||
@@ -167,15 +174,14 @@ Start by removing the following folders and any files within them:
|
|||||||
| └── js
|
| └── js
|
||||||
```
|
```
|
||||||
|
|
||||||
You won't need these anymore as they're bundled with the theme gem --- unless you intend to [override them](http://jekyllrb.com/docs/themes/#overriding-theme-defaults).
|
You won't need these anymore as they're bundled with the theme gem --- unless you intend to [override them](https://jekyllrb.com/docs/themes/#overriding-theme-defaults).
|
||||||
|
|
||||||
**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).
|
**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}
|
{: .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.
|
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).
|
||||||
The default files are read-in automatically via the [`jekyll-data`](https://github.com/ashmaroli/jekyll-data) plugin.
|
|
||||||
|
|
||||||
If you customized any of these files leave them alone, and only remove the untouched ones. If done correctly your modified versions should [override](http://jekyllrb.com/docs/themes/#overriding-theme-defaults) the versions bundled with the theme and be used by Jekyll instead.
|
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.
|
||||||
|
|
||||||
#### Update Gemfile
|
#### Update Gemfile
|
||||||
|
|
||||||
@@ -194,7 +200,7 @@ When finished your `Gemfile` should look something like this:
|
|||||||
```ruby
|
```ruby
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "jekyll", "~> 3.5"
|
gem "jekyll", "~> 3.7"
|
||||||
gem "minimal-mistakes-jekyll"
|
gem "minimal-mistakes-jekyll"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Installation"
|
title: "Installation"
|
||||||
permalink: /docs/installation/
|
permalink: /docs/installation/
|
||||||
excerpt: "Instructions for installing the theme for new and existing Jekyll based sites."
|
excerpt: "Instructions for installing the theme for new and existing Jekyll based sites."
|
||||||
last_modified_at: 2018-11-25T19:32:34-05:00
|
last_modified_at: 2019-08-20T21:36:18-04:00
|
||||||
toc: true
|
toc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -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}
|
[<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}
|
{: .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.
|
**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.
|
||||||
@@ -81,8 +81,6 @@ gem "minimal-mistakes-jekyll"
|
|||||||
# gem "jekyll-sitemap"
|
# gem "jekyll-sitemap"
|
||||||
# gem "jekyll-gist"
|
# gem "jekyll-gist"
|
||||||
# gem "jekyll-feed"
|
# gem "jekyll-feed"
|
||||||
# gem "jemoji"
|
|
||||||
# gem "jekyll-data"
|
|
||||||
# gem "jekyll-include-cache"
|
# gem "jekyll-include-cache"
|
||||||
#
|
#
|
||||||
# If you have any other plugins, put them here!
|
# If you have any other plugins, put them here!
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ To check which version you are currently using, view the source of your built si
|
|||||||
|
|
||||||
```
|
```
|
||||||
<!--
|
<!--
|
||||||
Minimal Mistakes Jekyll Theme 4.15.2 by Michael Rose
|
Minimal Mistakes Jekyll Theme 4.20.1 by Michael Rose
|
||||||
Copyright 2013-2018 Michael Rose - mademistakes.com | @mmistakes
|
Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
|
||||||
Free for personal and commercial use under the MIT license
|
Free for personal and commercial use under the MIT license
|
||||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
-->
|
-->
|
||||||
@@ -28,14 +28,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`:
|
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
|
```ruby
|
||||||
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "4.15.2"
|
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "4.20.1"
|
||||||
```
|
```
|
||||||
|
|
||||||
For more information on [installing gems from git repositories](http://bundler.io/v1.16/guides/git.html) consult Bundler's documentation.
|
For more information on [installing gems from git repositories](http://bundler.io/v1.16/guides/git.html) consult Bundler's documentation.
|
||||||
|
|
||||||
## Remote theme
|
## Remote theme
|
||||||
|
|
||||||
When setting `remote_theme: "mmistakes/minimal-mistakes@4.15.2"` 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@4.20.1"` 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).
|
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).
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "Configuration"
|
title: "Configuration"
|
||||||
permalink: /docs/configuration/
|
permalink: /docs/configuration/
|
||||||
excerpt: "Settings for configuring and customizing the theme."
|
excerpt: "Settings for configuring and customizing the theme."
|
||||||
last_modified_at: 2019-01-15T08:31:44-05:00
|
last_modified_at: 2020-08-04T11:26:21-04:00
|
||||||
toc: true
|
toc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -134,6 +134,12 @@ _Example:_ `title_separator: "|"` would produce page titles like `Sample Page |
|
|||||||
**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}
|
{: .notice--warning}
|
||||||
|
|
||||||
|
### Site subtitle
|
||||||
|
|
||||||
|
A short tagline that appears below the title in site masthead.
|
||||||
|
|
||||||
|
_Example:_ `subtitle: "Version 2.0"`
|
||||||
|
|
||||||
### Site name
|
### Site name
|
||||||
|
|
||||||
Used to assign a site author. Don't worry, you can override the site author with different ones on specific posts, pages, or collection documents.
|
Used to assign a site author. Don't worry, you can override the site author with different ones on specific posts, pages, or collection documents.
|
||||||
@@ -151,7 +157,7 @@ _Example:_ `description: "A flexible Jekyll theme for your blog or site with a m
|
|||||||
|
|
||||||
### Site URL
|
### Site URL
|
||||||
|
|
||||||
The base hostname and protocol for your site. If you're hosting with GitHub Pages this will be something like `url: "https://github.io.mmistakes"` or `url: "https://mademistakes.com"` if you have a custom domain name.
|
The base hostname and protocol for your site. If you're hosting with GitHub Pages this will be something like `url: "https://mmistakes.github.io"` or `url: "https://mademistakes.com"` if you have a custom domain name.
|
||||||
|
|
||||||
GitHub Pages now [forces `https://` for new sites](https://help.github.com/articles/securing-your-github-pages-site-with-https/) so be mindful of that when setting your URL to avoid mixed-content warnings.
|
GitHub Pages now [forces `https://` for new sites](https://help.github.com/articles/securing-your-github-pages-site-with-https/) so be mindful of that when setting your URL to avoid mixed-content warnings.
|
||||||
|
|
||||||
@@ -259,6 +265,26 @@ 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 }}).
|
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`.
|
||||||
|
|
||||||
### Reading time
|
### 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`.
|
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`.
|
||||||
@@ -277,18 +303,37 @@ defaults:
|
|||||||
read_time: true
|
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.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
words_per_minute: 250
|
||||||
|
```
|
||||||
|
|
||||||
|
### Post meta separator
|
||||||
|
|
||||||
|
To customise the separator between the post date and reading time (if both are enabled), edit `.post__meta-sep::before` in a [custom stylesheet]({{ "/docs/stylesheets/" | relative_url }}).
|
||||||
|
|
||||||
|
For example,
|
||||||
|
|
||||||
|
```css
|
||||||
|
.post__meta-sep::before {
|
||||||
|
content: "\2022";
|
||||||
|
padding-left: 0.5em;
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Comments
|
### Comments
|
||||||
|
|
||||||
[**Disqus**](https://disqus.com/), [**Discourse**](https://www.discourse.org/), [**Facebook**](https://developers.facebook.com/docs/plugins/comments), **Google+**, [**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/), 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 |
|
| Name | Comment Provider |
|
||||||
| ---------------- | ------------------------- |
|
| ---------------- | ------------------------- |
|
||||||
| **disqus** | Disqus |
|
| **disqus** | Disqus |
|
||||||
| **discourse** | Discourse |
|
| **discourse** | Discourse |
|
||||||
| **facebook** | Facebook Comments |
|
| **facebook** | Facebook Comments |
|
||||||
| **google-plus** | Google+ Comments |
|
|
||||||
| **staticman_v2** | Staticman v2 |
|
| **staticman_v2** | Staticman v2 |
|
||||||
| **staticman** | Staticman v1 (deprecated) |
|
| **staticman** | Staticman v1 (deprecated) |
|
||||||
| **utterances** | utterances |
|
| **utterances** | utterances |
|
||||||
@@ -522,7 +567,7 @@ To enable site-wide search add `search: true` to your `_config.yml`.
|
|||||||
|
|
||||||
#### Lunr (default)
|
#### Lunr (default)
|
||||||
|
|
||||||
The default search uses [**Lunr**](https://lunrjs.com/) to build a search index of all your documents. This method is 100% compatible with sites hosted on GitHub Pages.
|
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.
|
||||||
|
|
||||||
**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.
|
**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}
|
{: .notice--warning}
|
||||||
@@ -678,7 +723,7 @@ twitter:
|
|||||||
|
|
||||||
And if I assign `@mmistakes` as an author account it will appear in the Twitter Card along with `@mmistakes-theme`, attributed as a creator of the page being shared.
|
And if I assign `@mmistakes` as an author account it will appear in the Twitter Card along with `@mmistakes-theme`, attributed as a creator of the page being shared.
|
||||||
|
|
||||||
**Note**: You need to [apply for Twitter Cards](https://dev.twitter.com/docs/cards) and validate they're working on your site before they will begin showing up.
|
**Note**: You need to validate cards are working and have Twitter [approve Player Cards](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/player-card) before they will begin showing up.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
##### Facebook Open Graph
|
##### Facebook Open Graph
|
||||||
@@ -736,10 +781,9 @@ social:
|
|||||||
name: # If the user or organization name differs from the site's name
|
name: # If the user or organization name differs from the site's name
|
||||||
links:
|
links:
|
||||||
- "https://twitter.com/yourTwitter"
|
- "https://twitter.com/yourTwitter"
|
||||||
- "https://facebook.com/yourFacebook"
|
- "https://www.facebook.com/yourFacebook"
|
||||||
- "https://instagram.com/yourProfile"
|
- "https://instagram.com/yourProfile"
|
||||||
- "https://www.linkedin.com/in/yourprofile"
|
- "https://www.linkedin.com/in/yourprofile"
|
||||||
- "https://plus.google.com/your_profile"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Analytics
|
#### Analytics
|
||||||
@@ -798,7 +842,7 @@ Author links are all optional, include the ones you want visible under the `auth
|
|||||||
author:
|
author:
|
||||||
name: "Your Name"
|
name: "Your Name"
|
||||||
avatar: "/assets/images/bio-photo.jpg"
|
avatar: "/assets/images/bio-photo.jpg"
|
||||||
bio: "I am an amazing person."
|
bio: "I am an **amazing** person." # Note: Markdown is allowed
|
||||||
location: "Somewhere"
|
location: "Somewhere"
|
||||||
links:
|
links:
|
||||||
- label: "Made Mistakes"
|
- label: "Made Mistakes"
|
||||||
@@ -856,7 +900,7 @@ Again nothing out of the ordinary here as the theme adheres to the defaults used
|
|||||||
|
|
||||||
## Front Matter Defaults
|
## Front Matter Defaults
|
||||||
|
|
||||||
To save yourself time setting [Front Matter Defaults](https://jekyllrb.com/docs/configuration/#front-matter-defaults) for posts, pages, and collections is the way to go. Sure you can assign layouts and toggle settings like **reading time**, **comments**, and **social sharing** in each file, but that's not ideal.
|
To save yourself time setting [Front Matter Defaults](https://jekyllrb.com/docs/configuration/front-matter-defaults/) for posts, pages, and collections is the way to go. Sure you can assign layouts and toggle settings like **reading time**, **comments**, and **social sharing** in each file, but that's not ideal.
|
||||||
|
|
||||||
Using the `default` key in `_config.yml` you could set the layout and enable author profiles, reading time, comments, social sharing, and related posts for all posts --- in one shot.
|
Using the `default` key in `_config.yml` you could set the layout and enable author profiles, reading time, comments, social sharing, and related posts for all posts --- in one shot.
|
||||||
|
|
||||||
@@ -924,12 +968,12 @@ The paginator only works on files with name `index.html`. To use pagination in a
|
|||||||
paginate_path: /recent/page:num/
|
paginate_path: /recent/page:num/
|
||||||
```
|
```
|
||||||
|
|
||||||
**Please note:** When using Jekyll's default [pagination plugin](http://jekyllrb.com/docs/pagination/) `paginator.posts` can only be called once. If you're looking for something more powerful that can paginate category, tag, and collection pages I suggest [**jekyll-paginate-v2**](https://github.com/sverrirs/jekyll-paginate-v2).
|
**Please note:** When using Jekyll's default [pagination plugin](https://jekyllrb.com/docs/pagination/) `paginator.posts` can only be called once. If you're looking for something more powerful that can paginate category, tag, and collection pages I suggest [**jekyll-paginate-v2**](https://github.com/sverrirs/jekyll-paginate-v2).
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
### Timezone
|
### Timezone
|
||||||
|
|
||||||
This sets the timezone environment variable, which Ruby uses to handle time and date creation and manipulation. Any entry from the [IANA Time Zone Database](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones) is valid. The default is the local time zone, as set by your operating system.
|
This sets the timezone environment variable, which Ruby uses to handle time and date creation and manipulation. Any entry from the [IANA Time Zone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) is valid. The default is the local time zone, as set by your operating system.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
timezone: America/New_York
|
timezone: America/New_York
|
||||||
@@ -945,14 +989,12 @@ When hosting with GitHub Pages a small [set of gems](https://pages.github.com/ve
|
|||||||
| [jekyll-sitemap][jekyll-sitemap] | Jekyll plugin to silently generate a sitemaps.org compliant sitemap for your Jekyll site. |
|
| [jekyll-sitemap][jekyll-sitemap] | Jekyll plugin to silently generate a sitemaps.org compliant sitemap for your Jekyll site. |
|
||||||
| [jekyll-gist][jekyll-gist] | Liquid tag for displaying GitHub Gists in Jekyll sites. |
|
| [jekyll-gist][jekyll-gist] | Liquid tag for displaying GitHub Gists in Jekyll sites. |
|
||||||
| [jekyll-feed][jekyll-feed] | A Jekyll plugin to generate an Atom (RSS-like) feed of your Jekyll posts. |
|
| [jekyll-feed][jekyll-feed] | A Jekyll plugin to generate an Atom (RSS-like) feed of your Jekyll posts. |
|
||||||
| [jemoji][jemoji] | GitHub-flavored emoji plugin for Jekyll. |
|
|
||||||
| [jekyll-include-cache][jekyll-include-cache] | Liquid tag that caches Liquid includes. |
|
| [jekyll-include-cache][jekyll-include-cache] | Liquid tag that caches Liquid includes. |
|
||||||
|
|
||||||
[jekyll-paginate]: https://github.com/jekyll/jekyll-paginate
|
[jekyll-paginate]: https://github.com/jekyll/jekyll-paginate
|
||||||
[jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
|
[jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
|
||||||
[jekyll-gist]: https://github.com/jekyll/jekyll-gist
|
[jekyll-gist]: https://github.com/jekyll/jekyll-gist
|
||||||
[jekyll-feed]: https://github.com/jekyll/jekyll-feed
|
[jekyll-feed]: https://github.com/jekyll/jekyll-feed
|
||||||
[jemoji]: https://github.com/jekyll/jemoji
|
|
||||||
[jekyll-include-cache]: https://github.com/benbalter/jekyll-include-cache
|
[jekyll-include-cache]: https://github.com/benbalter/jekyll-include-cache
|
||||||
|
|
||||||
If you're hosting elsewhere then you don't really have to worry about what is whitelisted as you are free to include whatever [Jekyll plugins](https://jekyllrb.com/docs/plugins/) you desire.
|
If you're hosting elsewhere then you don't really have to worry about what is whitelisted as you are free to include whatever [Jekyll plugins](https://jekyllrb.com/docs/plugins/) you desire.
|
||||||
@@ -1021,6 +1063,30 @@ jekyll-archives:
|
|||||||
**Note:** The `archive-taxonomy` layout used by jekyll-archives is provided with the theme and can be found in the `_layouts` folder.
|
**Note:** The `archive-taxonomy` layout used by jekyll-archives is provided with the theme and can be found in the `_layouts` folder.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
|
<div class="notice--success" markdown="1">
|
||||||
|
|
||||||
|
<h4 class="no_toc"><i class="fas fa-lightbulb"></i> Tip</h4>
|
||||||
|
|
||||||
|
To apply [Front Matter defaults](https://jekyllrb.com/docs/configuration/front-matter-defaults/) to pages generated by the `jekyll-archives` plugin, you can specify a scope of an empty `path` and a `type` of either `tag` or `category`.
|
||||||
|
|
||||||
|
For example, the following configuration enables author profile on tag archives and disables comments on category archives.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
defaults:
|
||||||
|
- scope:
|
||||||
|
path: ""
|
||||||
|
type: tag
|
||||||
|
values:
|
||||||
|
author_profile: true
|
||||||
|
- scope:
|
||||||
|
path: ""
|
||||||
|
type: category
|
||||||
|
values:
|
||||||
|
comments: false
|
||||||
|
```
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
## HTML compression
|
## HTML compression
|
||||||
|
|
||||||
If you care at all about performance (and really who doesn't) compressing the HTML files generated by Jekyll is a good thing to do.
|
If you care at all about performance (and really who doesn't) compressing the HTML files generated by Jekyll is a good thing to do.
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
title: "Overriding Theme Defaults"
|
title: "Overriding Theme Defaults"
|
||||||
permalink: /docs/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."
|
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.
|
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.
|
||||||
|
|
||||||
Each of these files can be modified, but you'll need to copy the default version into your project first. For example, if you wanted to modify the default [`single` layout](https://github.com/mmistakes/minimal-mistakes/blob/master/_layouts/single.html), you'd start by copying it to `_layouts/single.html`.
|
Each of these files can be modified, but you'll need to copy the default version into your project first. For example, if you wanted to modify the default [`single` layout](https://github.com/mmistakes/minimal-mistakes/blob/master/_layouts/single.html), you'd start by copying it to `_layouts/single.html`.
|
||||||
|
|
||||||
**ProTip**: To locate theme files, run `bundle show minimal-mistakes-jekyll`. Then copy the files you want to override from the returned path, to the appropriate folder in your project.
|
**ProTip**: To locate theme files, run `bundle info minimal-mistakes-jekyll`. Then copy the files you want to override from the returned path, to the appropriate folder in your project.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
Jekyll will use the files in your project first before falling back to the default versions of the theme. It exhibits this behavior with files in the following folders:
|
Jekyll will use the files in your project first before falling back to the default versions of the theme. It exhibits this behavior with files in the following folders:
|
||||||
@@ -21,7 +21,8 @@ Jekyll will use the files in your project first before falling back to the defau
|
|||||||
/_sass
|
/_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.
|
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.
|
For more information on customizing the theme's [stylesheets]({{ "/docs/stylesheets/" | relative_url }}) and [JavaScript]({{ "/docs/javascript/" | relative_url }}), see the appropriate pages.
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "UI Text"
|
title: "UI Text"
|
||||||
permalink: /docs/ui-text/
|
permalink: /docs/ui-text/
|
||||||
excerpt: "Text for customizing user interface elements found in the theme."
|
excerpt: "Text for customizing user interface elements found in the theme."
|
||||||
last_modified_at: 2019-01-23T20:22:49-05:00
|
last_modified_at: 2020-05-01T10:15:37-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.
|
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.
|
||||||
@@ -10,18 +10,22 @@ Text for UI elements, `_layouts`, and `_includes` grouped together as a set of t
|
|||||||
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:
|
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:
|
||||||
|
|
||||||
- Brazilian Portuguese (Português brasileiro)
|
- Brazilian Portuguese (Português brasileiro)
|
||||||
|
- Catalan
|
||||||
- Chinese
|
- Chinese
|
||||||
- Danish
|
- Danish
|
||||||
- Dutch
|
- Dutch
|
||||||
|
- Finnish
|
||||||
- French (Français)
|
- French (Français)
|
||||||
- German (Deutsch)
|
- German (Deutsch)
|
||||||
- Greek
|
- Greek
|
||||||
- Hungarian
|
- Hungarian
|
||||||
- Indonesian
|
- Indonesian
|
||||||
|
- Irish (Gaeilge)
|
||||||
- Italian (Italiano)
|
- Italian (Italiano)
|
||||||
- Korean
|
- Korean
|
||||||
- Japanese
|
- Japanese
|
||||||
- Malayalam
|
- Malayalam
|
||||||
|
- Myanmar (Burmese)
|
||||||
- Nepali (Nepalese)
|
- Nepali (Nepalese)
|
||||||
- Polish
|
- Polish
|
||||||
- Persian (فارسی)
|
- Persian (فارسی)
|
||||||
@@ -30,6 +34,7 @@ The English[^yaml-anchors] main keys in [`_data/ui-text.yml`](https://github.com
|
|||||||
- Slovak
|
- Slovak
|
||||||
- Spanish (Español)
|
- Spanish (Español)
|
||||||
- Swedish
|
- Swedish
|
||||||
|
- Thai
|
||||||
- Turkish (Türkçe)
|
- Turkish (Türkçe)
|
||||||
- Vietnamese
|
- Vietnamese
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ single_layout_gallery:
|
|||||||
alt: "single layout with header example"
|
alt: "single layout with header example"
|
||||||
- image_path: /assets/images/mm-layout-single-meta.png
|
- image_path: /assets/images/mm-layout-single-meta.png
|
||||||
alt: "single layout with comments and related posts"
|
alt: "single layout with comments and related posts"
|
||||||
last_modified_at: 2019-01-08T08:31:40-05:00
|
last_modified_at: 2020-07-24T16:00:21-04:00
|
||||||
toc: true
|
toc: true
|
||||||
toc_label: "Included Layouts"
|
toc_label: "Included Layouts"
|
||||||
toc_icon: "columns"
|
toc_icon: "columns"
|
||||||
@@ -337,6 +337,9 @@ paginate_path: /blog/page:num
|
|||||||
**Note:** Jekyll can only paginate a single `index.html` file. If you'd like to paginate more pages (e.g. category indexes) you'll need the help of a custom plugin. For more pagination related settings check the [**Configuration**]({{ "/docs/configuration/#paginate" | relative_url }}) section.
|
**Note:** Jekyll can only paginate a single `index.html` file. If you'd like to paginate more pages (e.g. category indexes) you'll need the help of a custom plugin. For more pagination related settings check the [**Configuration**]({{ "/docs/configuration/#paginate" | relative_url }}) section.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
|
**Note:** By default, documents are shown in a list view. To change to a grid view add `entries_layout: grid` to the page's front matter. To increase the width of the main container, giving more space to the grid items also add `classes: wide` to the home page's YAML Front Matter.
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
## Splash page layout
|
## Splash page layout
|
||||||
|
|
||||||
For full-width landing pages that need a little something extra add `layout: splash` to the YAML Front Matter.
|
For full-width landing pages that need a little something extra add `layout: splash` to the YAML Front Matter.
|
||||||
@@ -427,6 +430,7 @@ To overlay text on top of a header image you have a few more options:
|
|||||||
| **overlay_filter** | Color/opacity to overlay on top of the header image eg: `0.5` or `rgba(255, 0, 0, 0.5)`. |
|
| **overlay_filter** | Color/opacity to overlay on top of the header image eg: `0.5` or `rgba(255, 0, 0, 0.5)`. |
|
||||||
| **show_overlay_excerpt** | Display excerpt in the overlay text | true |
|
| **show_overlay_excerpt** | Display excerpt in the overlay text | true |
|
||||||
| **excerpt** | Auto-generated page excerpt is added to the overlay text or can be overridden. | |
|
| **excerpt** | Auto-generated page excerpt is added to the overlay text or can be overridden. | |
|
||||||
|
| **tagline** | Overrides page excerpt. Useful when header text needs to be different from excerpt in archive views. | |
|
||||||
| **actions** | Call to action button links (`actions` array: `label` and `url`). More than one button link can be assigned. | |
|
| **actions** | Call to action button links (`actions` array: `label` and `url`). More than one button link can be assigned. | |
|
||||||
| **cta_label** | Deprecated, use `actions` instead. Call to action button text label. | `more_label` in UI Text data file |
|
| **cta_label** | Deprecated, use `actions` instead. Call to action button text label. | `more_label` in UI Text data file |
|
||||||
| **cta_url** | Deprecated, use `actions` instead. Call to action button URL. | |
|
| **cta_url** | Deprecated, use `actions` instead. Call to action button URL. | |
|
||||||
@@ -547,7 +551,7 @@ To assign more author links, add to the `author.links` array in [`_config.yml`]
|
|||||||
author:
|
author:
|
||||||
name: "Your Name"
|
name: "Your Name"
|
||||||
avatar: "/assets/images/bio-photo.jpg"
|
avatar: "/assets/images/bio-photo.jpg"
|
||||||
bio: "I am an amazing person."
|
bio: "I am an **amazing** person." # Note: Markdown is allowed
|
||||||
location: "Somewhere"
|
location: "Somewhere"
|
||||||
links:
|
links:
|
||||||
- label: "Made Mistakes"
|
- label: "Made Mistakes"
|
||||||
@@ -564,7 +568,7 @@ author:
|
|||||||
url: "https://instagram.com/mmistakes"
|
url: "https://instagram.com/mmistakes"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Depending on the icon and theme skin used, colors may not be used. Popular social networks like Twitter, Facebook, Instagram, Google+, etc. have the appropriate brand color set in CSS. To change or add missing colors edit [`_utilities.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/_sass/minimal-mistakes/_utilities.scss) in `<site root>/_sass/minimal-mistakes/`.
|
**Note:** Depending on the icon and theme skin used, colors may not be used. Popular social networks like Twitter, Facebook, Instagram, etc. have the appropriate brand color set in CSS. To change or add missing colors edit [`_utilities.scss`](https://github.com/mmistakes/minimal-mistakes/blob/master/_sass/minimal-mistakes/_utilities.scss) in `<site root>/_sass/minimal-mistakes/`.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
For example, to color a Reddit icon, simply add a `color` declaration and the corresponding hex code like so:
|
For example, to color a Reddit icon, simply add a `color` declaration and the corresponding hex code like so:
|
||||||
@@ -701,7 +705,7 @@ defaults:
|
|||||||
|
|
||||||
## Social sharing links
|
## Social sharing links
|
||||||
|
|
||||||
The `single` layout has an option to enable social links at the bottom of posts for sharing on Twitter, Facebook, Google+, and LinkedIn. Similar to the links found in the author sidebar, the theme ships with defaults for the most common social networks.
|
The `single` layout has an option to enable social links at the bottom of posts for sharing on Twitter, Facebook, and LinkedIn. Similar to the links found in the author sidebar, the theme ships with defaults for the most common social networks.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -709,7 +713,7 @@ To enable these links add `share: true` to a post or page's YAML Front Matter or
|
|||||||
|
|
||||||
If you'd like to add, remove, or change the order of these default links you can do so by editing [`_includes/social-share.html`](https://github.com/mmistakes/minimal-mistakes/blob/master/_includes/social-share.html).
|
If you'd like to add, remove, or change the order of these default links you can do so by editing [`_includes/social-share.html`](https://github.com/mmistakes/minimal-mistakes/blob/master/_includes/social-share.html).
|
||||||
|
|
||||||
Let's say you wanted to replace the Google+ button with a Reddit one. Simply replace the HTML with the following:
|
Let's say you wanted to replace the LinkedIn button with a Reddit one. Simply replace the HTML with the following:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
{% raw %}<a href="https://www.reddit.com/submit?url={{ page.url | absolute_url | url_encode }}&title={{ page.title }}" class="btn" title="{{ site.data.ui-text[site.locale].share_on_label }} Reddit"><i class="fab fa-fw fa-reddit" aria-hidden="true"></i><span> Reddit</span></a>{% endraw %}
|
{% raw %}<a href="https://www.reddit.com/submit?url={{ page.url | absolute_url | url_encode }}&title={{ page.title }}" class="btn" title="{{ site.data.ui-text[site.locale].share_on_label }} Reddit"><i class="fab fa-fw fa-reddit" aria-hidden="true"></i><span> Reddit</span></a>{% endraw %}
|
||||||
@@ -732,9 +736,8 @@ Under the `$social` color map in `assets/_scss/_buttons.scss` simply add a name
|
|||||||
$social:
|
$social:
|
||||||
(facebook, $facebook-color),
|
(facebook, $facebook-color),
|
||||||
(twitter, $twitter-color),
|
(twitter, $twitter-color),
|
||||||
(google-plus, $google-plus-color),
|
(linkedin, $linkedin-color),
|
||||||
(linkedin, $linkedin-color);
|
(reddit, #ff4500);
|
||||||
(reddit, #ff4500;)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**ProTip:** For bonus points you can add it as a Sass `$variable` that you set in `_variables.scss` like the other ["brand" colors](http://brandcolors.net/).
|
**ProTip:** For bonus points you can add it as a Sass `$variable` that you set in `_variables.scss` like the other ["brand" colors](http://brandcolors.net/).
|
||||||
|
|||||||
@@ -41,6 +41,19 @@ defaults:
|
|||||||
share: true
|
share: true
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Now make a portfolio.md file in the '_pages' folder.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
title: Portfolio
|
||||||
|
layout: collection
|
||||||
|
permalink: /portfolio/
|
||||||
|
collection: portfolio
|
||||||
|
entries_layout: grid
|
||||||
|
classes: wide
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
And then create portfolio content like [`_portfolio/foo-bar-website.md`](https://github.com/{{ site.repository }}/blob/master/docs/_portfolio/foo-bar-website.md), to end up with something like this.
|
And then create portfolio content like [`_portfolio/foo-bar-website.md`](https://github.com/{{ site.repository }}/blob/master/docs/_portfolio/foo-bar-website.md), to end up with something like this.
|
||||||
|
|
||||||

|

|
||||||
@@ -30,7 +30,7 @@ feature_row:
|
|||||||
- image_path: /assets/images/unsplash-gallery-image-3-th.jpg
|
- image_path: /assets/images/unsplash-gallery-image-3-th.jpg
|
||||||
title: "Placeholder 3"
|
title: "Placeholder 3"
|
||||||
excerpt: "This is some sample content that goes here with **Markdown** formatting."
|
excerpt: "This is some sample content that goes here with **Markdown** formatting."
|
||||||
last_modified_at: 2018-11-25T20:47:01-05:00
|
last_modified_at: 2020-05-01T10:22:56-04:00
|
||||||
toc: true
|
toc: true
|
||||||
toc_label: "Helpers"
|
toc_label: "Helpers"
|
||||||
toc_icon: "cogs"
|
toc_icon: "cogs"
|
||||||
@@ -173,12 +173,13 @@ And then drop-in the feature row include in the body where you'd like it to appe
|
|||||||
|
|
||||||
## Responsive video embed
|
## Responsive video embed
|
||||||
|
|
||||||
Embed a video from YouTube, Vimeo, or Google Drive that responsively sizes to fit the width of its parent. To help with GDPR compliance, the theme is using the privacy enhanced version of YouTube and Vimeo providers out of the box.
|
Embed a video from YouTube, Vimeo, Google Drive, or bilibili that responsively sizes to fit the width of its parent. To help with GDPR compliance, the theme is using the privacy enhanced version of YouTube and Vimeo providers out of the box.
|
||||||
|
|
||||||
| Parameter | Required | Description |
|
| Parameter | Required | Description |
|
||||||
| ---------- | ------------ | ---------------------------------------------------------- |
|
| ---------- | ------------ | ---------------------------------------------------------- |
|
||||||
| `id` | **Required** | ID of the video |
|
| `id` | **Required** | ID of the video |
|
||||||
| `provider` | **Required** | Hosting provider of the video: `youtube`, vimeo`, or `google-drive` |
|
| `provider` | **Required** | Hosting provider of the video: `youtube`, `vimeo`, `google-drive`, or `bilibili` |
|
||||||
|
| `danmaku` | Optional | Bilibili only, [details below](#Bilibili) |
|
||||||
|
|
||||||
### YouTube
|
### YouTube
|
||||||
|
|
||||||
@@ -199,6 +200,9 @@ header:
|
|||||||
provider: youtube
|
provider: youtube
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Tip:** if you'd like to start the video at a particular timestamp, you can append `?start=110` (for instance) to the video `id` in order to have the video start at 1:50.
|
||||||
|
{: .notice--info }
|
||||||
|
|
||||||
### Vimeo
|
### Vimeo
|
||||||
|
|
||||||
To embed the following Vimeo video at url `https://vimeo.com/212731897` into a post or page's main content you'd use:
|
To embed the following Vimeo video at url `https://vimeo.com/212731897` into a post or page's main content you'd use:
|
||||||
@@ -237,6 +241,30 @@ header:
|
|||||||
provider: google-drive
|
provider: google-drive
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Bilibili
|
||||||
|
|
||||||
|
To embed the following Bilibili video at url `https://www.bilibili.com/video/BV1E7411e7hC` into a post or page's main content you'd use:
|
||||||
|
|
||||||
|
```liquid
|
||||||
|
{% raw %}{% include video id="BV1E7411e7hC" provider="bilibili" %}{% endraw %}
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to enable danmaku (弹幕) for the embeded video, which is disabled by default, you can supply an additional parameter `danmaku="1"` as shown below:
|
||||||
|
|
||||||
|
```liquid
|
||||||
|
{% raw %}{% include video id="BV1E7411e7hC" provider="bilibili" danmaku="1" %}{% endraw %}
|
||||||
|
```
|
||||||
|
|
||||||
|
To embed it as a video header you'd use the following YAML Front Matter:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
header:
|
||||||
|
video:
|
||||||
|
id: BV1E7411e7hC
|
||||||
|
provider: bilibili
|
||||||
|
danmaku: 1
|
||||||
|
```
|
||||||
|
|
||||||
## Table of contents
|
## Table of contents
|
||||||
|
|
||||||
Auto-generated table of contents list for your posts and pages can be enabled using two methods.
|
Auto-generated table of contents list for your posts and pages can be enabled using two methods.
|
||||||
|
|||||||
@@ -172,6 +172,6 @@ You can also add the `.notice` class to a `<div>` element.
|
|||||||
{% endcapture %}
|
{% endcapture %}
|
||||||
|
|
||||||
<div class="notice--info">
|
<div class="notice--info">
|
||||||
<h4>Notice Headline:</h4>
|
<h4 class="no_toc">Notice Headline:</h4>
|
||||||
{{ notice-text | markdownify }}
|
{{ notice-text | markdownify }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -275,6 +275,31 @@ $base0e: #bb90e2;
|
|||||||
$base0f: #b49368;
|
$base0f: #b49368;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### Dracula
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```scss
|
||||||
|
/* dracula syntax highlighting (base16) */
|
||||||
|
/* https://github.com/dracula/base16-dracula-scheme */
|
||||||
|
$base00: #282936;
|
||||||
|
$base01: #3a3c4e;
|
||||||
|
$base02: #4d4f68;
|
||||||
|
$base03: #626483;
|
||||||
|
$base04: #62d6e8;
|
||||||
|
$base05: #e9e9f4;
|
||||||
|
$base06: #f1f2f8;
|
||||||
|
$base07: #f7f7fb;
|
||||||
|
$base08: #ea51b2;
|
||||||
|
$base09: #b45bcf;
|
||||||
|
$base0a: #00f769;
|
||||||
|
$base0b: #ebff87;
|
||||||
|
$base0c: #a1efe4;
|
||||||
|
$base0d: #62d6e8;
|
||||||
|
$base0e: #b45bcf;
|
||||||
|
$base0f: #00f769;
|
||||||
|
```
|
||||||
|
|
||||||
##### Neon
|
##### Neon
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
title: "JavaScript"
|
title: "JavaScript"
|
||||||
permalink: /docs/javascript/
|
permalink: /docs/javascript/
|
||||||
excerpt: "Instructions for customizing and building the theme's scripts."
|
excerpt: "Instructions for customizing and building the theme's scripts."
|
||||||
last_modified_at: 2018-01-03T19:12:35-05:00
|
last_modified_at: 2019-05-02T08:55:27-04:00
|
||||||
---
|
---
|
||||||
|
|
||||||
The theme's `assets/js/main.min.js` script is built from several vendor, jQuery plugins, and other scripts found in [`assets/js/`](https://github.com/mmistakes/minimal-mistakes/tree/master/assets/js).
|
The theme's `assets/js/main.min.js` script is built from several vendor, jQuery plugins, and other scripts found in [`assets/js/`](https://github.com/mmistakes/minimal-mistakes/tree/master/assets/js).
|
||||||
@@ -12,15 +12,17 @@ minimal mistakes
|
|||||||
├── assets
|
├── assets
|
||||||
| ├── js
|
| ├── js
|
||||||
| | ├── plugins
|
| | ├── plugins
|
||||||
|
| | | ├── gumshoe.js # simple scrollspy
|
||||||
|
| | | ├── jquery.ba-throttle-debounce.js # rate-limit functions
|
||||||
| | | ├── jquery.fitvids.js # fluid width video embeds
|
| | | ├── jquery.fitvids.js # fluid width video embeds
|
||||||
| | | ├── jquery.greedy-navigation.js # priority plus navigation
|
| | | ├── jquery.greedy-navigation.js # priority plus navigation
|
||||||
| | | ├── jquery.magnific-popup.js # responsive lightbox
|
| | | ├── jquery.magnific-popup.js # responsive lightbox
|
||||||
| | | └── jquery.smooth-scroll.min.js # make same-page links scroll smoothly
|
| | | └── smooth-scroll.js # make same-page links scroll smoothly
|
||||||
| | ├── vendor
|
| | ├── vendor
|
||||||
| | | └── jquery
|
| | | └── jquery
|
||||||
| | | └── jquery-3.3.1.min.js
|
| | | └── jquery-3.4.1.js
|
||||||
| | ├── _main.js # jQuery plugin settings and other scripts
|
| | ├── _main.js # jQuery plugin settings and other scripts
|
||||||
| | └── main.min.js # concatenated and minified scripts
|
| | └── main.min.js # concatenated and minified theme script
|
||||||
```
|
```
|
||||||
|
|
||||||
## Customizing
|
## Customizing
|
||||||
@@ -39,6 +41,8 @@ head_scripts:
|
|||||||
- /assets/js/your-custom-head-script.js
|
- /assets/js/your-custom-head-script.js
|
||||||
footer_scripts:
|
footer_scripts:
|
||||||
- /assets/js/your-custom-footer-script.js
|
- /assets/js/your-custom-footer-script.js
|
||||||
|
after_footer_scripts:
|
||||||
|
- /assets/js/custom-script-loads-after-footer.js
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** If you assign `footer_scripts` the theme's `/assets/js/main.min.js` file will be deactivated. This script includes jQuery and various other plugins that you'll need to find replacements for and include separately.
|
**Note:** If you assign `footer_scripts` the theme's `/assets/js/main.min.js` file will be deactivated. This script includes jQuery and various other plugins that you'll need to find replacements for and include separately.
|
||||||
|
|||||||
+270
-3
@@ -5,10 +5,277 @@ permalink: /docs/history/
|
|||||||
excerpt: "Change log of enhancements and bug fixes made to the theme."
|
excerpt: "Change log of enhancements and bug fixes made to the theme."
|
||||||
sidebar:
|
sidebar:
|
||||||
nav: docs
|
nav: docs
|
||||||
last_modified_at: 2019-02-17T12:28:30-05:00
|
last_modified_at: 2020-08-04T12:31:35-04:00
|
||||||
toc: false
|
toc: false
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [4.20.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.20.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix grid `entries_layout` in home.html. [#2616](https://github.com/mmistakes/minimal-mistakes/pull/2616)
|
||||||
|
|
||||||
|
## [4.20.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.20.0)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Add `relative_url` filter to author home link [#2575](https://github.com/mmistakes/minimal-mistakes/pull/2575)
|
||||||
|
- Fix `analytics.provider` config comment to list all analytics providers. [#2607](https://github.com/mmistakes/minimal-mistakes/pull/2607)
|
||||||
|
- Fix typo in installation documentation. [#2570](https://github.com/mmistakes/minimal-mistakes/pull/2570)
|
||||||
|
- Fix broken Lunr search with Jekyll v4.1.0. [#2617](https://github.com/mmistakes/minimal-mistakes/pull/2617)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add an optional date alongside the reading time. To enable set `show_date: true` similar to how reading time is. [#2526](https://github.com/mmistakes/minimal-mistakes/pull/2526)
|
||||||
|
- Remove hidden posts from posts.html layout. [#2625](https://github.com/mmistakes/minimal-mistakes/pull/2625)
|
||||||
|
- Add entry layout configuration for `list` (default) or `grid` views on `layout: home`. [#2616](https://github.com/mmistakes/minimal-mistakes/pull/2616)
|
||||||
|
- Add missing Chinese translations. [#2576](https://github.com/mmistakes/minimal-mistakes/pull/2576)
|
||||||
|
- Improve Chinese translations. [#2626](https://github.com/mmistakes/minimal-mistakes/pull/2626)
|
||||||
|
- Add `line-height` to `h4` element in notice helper. [#2602](https://github.com/mmistakes/minimal-mistakes/pull/2602)
|
||||||
|
- Improve Algolia search. [#2572](https://github.com/mmistakes/minimal-mistakes/pull/2572)
|
||||||
|
- Update link to wtfpl license in README. [#2571](https://github.com/mmistakes/minimal-mistakes/pull/2571)
|
||||||
|
- Ignore teaser headline in table of contents when including posts list in another page. [#2558](https://github.com/mmistakes/minimal-mistakes/pull/2558)
|
||||||
|
- Replace Font Awesome Kits with CSS from jsDelivr CDN. [#2583](https://github.com/mmistakes/minimal-mistakes/pull/2583)
|
||||||
|
- Add `danmaku` option to Bilibili video provider and add corresponding documentation/ [#2599](https://github.com/mmistakes/minimal-mistakes/pull/2599)
|
||||||
|
- Update documentation about loading l10n data file from the theme-gem. [#2621](https://github.com/mmistakes/minimal-mistakes/issues/2621) [#2624](https://github.com/mmistakes/minimal-mistakes/pull/2624)
|
||||||
|
|
||||||
|
## [4.19.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.3)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update GreedyNav.js to reduce masthead link overflow/shifting on mobile devices. [#2551](https://github.com/mmistakes/minimal-mistakes/issues/2551)
|
||||||
|
- Replace `<section id="custom-comments"></section>` in `comments.html` include and add `custom_scripts.html` include for loading custom comment provider JavaScript in the footer. [#2549](https://github.com/mmistakes/minimal-mistakes/issues/2549)
|
||||||
|
- Move page date Liquid to include. [#2544](https://github.com/mmistakes/minimal-mistakes/pull/2544)
|
||||||
|
- Strip trailing whitespace in `seo_description`. [#2542](https://github.com/mmistakes/minimal-mistakes/pull/2542)
|
||||||
|
- Improve sticky sidebar's appearance with short content. [#2514](https://github.com/mmistakes/minimal-mistakes/pull/2514)
|
||||||
|
|
||||||
|
## [4.19.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.3)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add support for bilibili videos in [responsive video helper](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#responsive-video-embed). [#2512](https://github.com/mmistakes/minimal-mistakes/pull/2512)
|
||||||
|
- Add Myanmar (Burmese) localized UI text strings. [#2500](https://github.com/mmistakes/minimal-mistakes/pull/2500)
|
||||||
|
- Improve author links underline on hover. [#2472](https://github.com/mmistakes/minimal-mistakes/pull/2472)
|
||||||
|
- Add documentation for applying Front Matter defaults to jekyll-archives pages. [#2466](https://github.com/mmistakes/minimal-mistakes/pull/2466)
|
||||||
|
- Add missing Vietnamese translations. [#2459](https://github.com/mmistakes/minimal-mistakes/pull/2459) [#2486](https://github.com/mmistakes/minimal-mistakes/pull/2486)
|
||||||
|
- Fix Finnish localized UI text strings. [#2455](https://github.com/mmistakes/minimal-mistakes/pull/2455)
|
||||||
|
- Clarify documentation that Lunr only searches documents in collections. [#2450](https://github.com/mmistakes/minimal-mistakes/pull/2450)
|
||||||
|
- Add guide on applying Front Matter defaults to jekyll-archives pages [#2466](https://github.com/mmistakes/minimal-mistakes/pull/2466)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix typo in configuration documentation. [#2497](https://github.com/mmistakes/minimal-mistakes/pull/2497)
|
||||||
|
- Fix "Follow menu falls under post links" on small screens. [#2479](https://github.com/mmistakes/minimal-mistakes/issues/2479)
|
||||||
|
- Hide index page from page-archive. [#2482](https://github.com/mmistakes/minimal-mistakes/pull/2482)
|
||||||
|
|
||||||
|
## [4.19.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add [Dracula](https://draculatheme.com/) Base16 syntax highlighting theme Sass variables to [stylesheets documentation](https://mmistakes.github.io/minimal-mistakes/docs/stylesheets/#syntax-highlighting). [#2438](https://github.com/mmistakes/minimal-mistakes/pull/2438)
|
||||||
|
- Update links to `HTTPS` and remove Google+ from configuration documentation. [#2432](https://github.com/mmistakes/minimal-mistakes/pull/2432)
|
||||||
|
- Use `first_page_path` from jekyll-paginate-v2 if available. [#2431](https://github.com/mmistakes/minimal-mistakes/pull/2431)
|
||||||
|
- Update onchange and uglify-js dependencies.
|
||||||
|
- Update smooth-scroll.js to `v16.1.2`. [#2430](https://github.com/mmistakes/minimal-mistakes/issues/2430)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix author profile links `z-index` order on small screens. [#2440](https://github.com/mmistakes/minimal-mistakes/issues/2440)
|
||||||
|
|
||||||
|
## [4.19.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.19.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add "click" overlay to close masthead and follow button menus when open. [#1168](https://github.com/mmistakes/minimal-mistakes/issues/1168)
|
||||||
|
- Remove deprecated Staticman v1 configurations from `_config.yml`. [#2386](https://github.com/mmistakes/minimal-mistakes/issues/2386)
|
||||||
|
- Use `relative_url` and `absolute_url` filters where possible. [#2387](https://github.com/mmistakes/minimal-mistakes/pull/2387)
|
||||||
|
- Improve headline hierarchy and add Sass specific variables `$h-size-x`. [#2423](https://github.com/mmistakes/minimal-mistakes/issues/2423)
|
||||||
|
- Improve accessibility of `default` skin by increasing color contrast of text and links.
|
||||||
|
- Hide posts with `hidden: true` YAML front matter from appearing in listings. [#2345](https://github.com/mmistakes/minimal-mistakes/pull/2345)
|
||||||
|
- Add Irish (Gaeilge) localized UI text strings. [#2422](https://github.com/mmistakes/minimal-mistakes/pull/2422)
|
||||||
|
- Remove `box-shadow` on radio and checkbox inputs. [#2398](https://github.com/mmistakes/minimal-mistakes/pull/2398)
|
||||||
|
- Bump Jekyll gem dependency to `v3.7`.
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix documentation around using `bundle info` command. [#2425](https://github.com/mmistakes/minimal-mistakes/pull/2425)
|
||||||
|
- Fix rake vulnerability in `.gemspec` file.
|
||||||
|
- Fix Staticman v2 comment submission. [#2402](https://github.com/mmistakes/minimal-mistakes/pull/2402)
|
||||||
|
- Fix repeated site base path for masthead logo. [#2385](https://github.com/mmistakes/minimal-mistakes/pull/2385)
|
||||||
|
|
||||||
|
## [4.18.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.18.1)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix compatibility issue with jekyll-paginate-v2. [#2381](https://github.com/mmistakes/minimal-mistakes/pull/2381)
|
||||||
|
|
||||||
|
## [4.18.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.18.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Allow `home` layout to display posts without pagination. [#2378](https://github.com/mmistakes/minimal-mistakes/pull/2378)
|
||||||
|
- Add links to high resolution skin screenshots in README. [#2363](https://github.com/mmistakes/minimal-mistakes/issues/2363)
|
||||||
|
- Update README and LICENSE. [#2367](https://github.com/mmistakes/minimal-mistakes/pull/2367)
|
||||||
|
- Update `.gitignore` file. [#2366](https://github.com/mmistakes/minimal-mistakes/pull/2366)
|
||||||
|
- Allow override of page excerpt in hero header via `tagline` YAML front matter. [#2307](https://github.com/mmistakes/minimal-mistakes/pull/2307)
|
||||||
|
- Exclude `package-lock.json` from Jekyll build. [#2364](https://github.com/mmistakes/minimal-mistakes/pull/2364)
|
||||||
|
- Use `%-d` instead of `%d` so displayed dates aren't padded with zero. [#2359](https://github.com/mmistakes/minimal-mistakes/pull/2359)
|
||||||
|
- Update table of contents helper (`toc.html`) to [v1.0.8](https://github.com/allejo/jekyll-toc/releases). [#2355](https://github.com/mmistakes/minimal-mistakes/pull/2355)
|
||||||
|
- Add missing Dutch localized UI text strings. [#2321](https://github.com/mmistakes/minimal-mistakes/pull/2321)
|
||||||
|
- Support page header (hero) in `archive-taxonomy` layout. [#2320](https://github.com/mmistakes/minimal-mistakes/pull/2320)
|
||||||
|
- Add social icon color for Keybase. [#2302](https://github.com/mmistakes/minimal-mistakes/pull/2302)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix JavaScript comments in Disqus include to be compatible with `compress` layout. [#2373](https://github.com/mmistakes/minimal-mistakes/pull/2373)
|
||||||
|
- Fix wrong newline concatenation in SEO description [#2368](https://github.com/mmistakes/minimal-mistakes/pull/2368) [#2354](https://github.com/mmistakes/minimal-mistakes/issues/2354)
|
||||||
|
- Fix Staticman v2/v3 conditional for showing comments. [#2351](https://github.com/mmistakes/minimal-mistakes/pull/2351)
|
||||||
|
- Fix masthead logo path. [#2332](https://github.com/mmistakes/minimal-mistakes/pull/2332)
|
||||||
|
- Fix schema.org dates to ISO-8601. [#2339](https://github.com/mmistakes/minimal-mistakes/pull/2339)
|
||||||
|
- Fix background color of code blocks in notices. [#2328](https://github.com/mmistakes/minimal-mistakes/pull/2328)
|
||||||
|
- Fix alignment of feature rows when placed next to a sticky sidebar. [#2327](https://github.com/mmistakes/minimal-mistakes/issues/2327)
|
||||||
|
- Fix `seo_description` in `_includes/seo.html`. [#2326](https://github.com/mmistakes/minimal-mistakes/pull/2326)
|
||||||
|
- Fix typo in `_config.yml`. [#2319](https://github.com/mmistakes/minimal-mistakes/pull/2319)
|
||||||
|
|
||||||
|
## [4.17.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.17.2)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add collection step to documentation about creating a portfolio page. [#2294](https://github.com/mmistakes/minimal-mistakes/pull/2294)
|
||||||
|
- Replace sticky footer JavaScript with flexbox styles. [#2289](https://github.com/mmistakes/minimal-mistakes/pull/2289)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix sticky footer when using MozBar extension. [#2281](https://github.com/mmistakes/minimal-mistakes/issues/2281)
|
||||||
|
|
||||||
|
## [4.17.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.17.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update Chinese (Simplified) localized UI text strings. [#2286](https://github.com/mmistakes/minimal-mistakes/pull/2286)
|
||||||
|
- Update list of 3rd party JavaScript used and licenses. [#2276](https://github.com/mmistakes/minimal-mistakes/pull/2276)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix indention of nested GFM task lists. [#2283](https://github.com/mmistakes/minimal-mistakes/issues/2283)
|
||||||
|
|
||||||
|
## [4.17.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.17.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Show a permalink anchor when hovering over headings in main content area. [#2251](https://github.com/mmistakes/minimal-mistakes/pull/2251)
|
||||||
|
- Allow per-page override of `words_per_minute`. [#2250](https://github.com/mmistakes/minimal-mistakes/pull/2250)
|
||||||
|
- Update [onchange](https://www.npmjs.com/package/onchange) development dependency in `package.json`. [#2241](https://github.com/mmistakes/minimal-mistakes/issues/2241)
|
||||||
|
- Add Catalan localized UI text strings. [#2237](https://github.com/mmistakes/minimal-mistakes/pull/2237)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Remove extraneous space from Internet Explorer conditional statement. [#2273](https://github.com/mmistakes/minimal-mistakes/pull/2273)
|
||||||
|
- Fix typo in `_config.yml`. [#2243](https://github.com/mmistakes/minimal-mistakes/pull/2243)
|
||||||
|
- Replace `http` URLs with `https` where applicable in `_config.yml`. [#2244](https://github.com/mmistakes/minimal-mistakes/pull/2244)
|
||||||
|
|
||||||
|
## [4.16.6](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.6)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Relax Jekyll dependency to allow for version 4.0.
|
||||||
|
- Add missing Spanish localized UI text strings. [#2229](https://github.com/mmistakes/minimal-mistakes/pull/2229)
|
||||||
|
- Allow Markdown in author bio. [#2215](https://github.com/mmistakes/minimal-mistakes/pull/2215)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix `site.url` in Organization/Person JSON-LD schema. [#1906](https://github.com/mmistakes/minimal-mistakes/issues/1906)
|
||||||
|
- Remove full stop in some `comment_form_info` UI text strings. [#2220](https://github.com/mmistakes/minimal-mistakes/pull/2220)
|
||||||
|
- Fix default `site.author` in seo.html [#2230](https://github.com/mmistakes/minimal-mistakes/pull/2230)
|
||||||
|
- Fix overlapping links (linked to and post's permalink) in post link type. [#2222](https://github.com/mmistakes/minimal-mistakes/issues/2222)
|
||||||
|
|
||||||
|
## [4.16.5](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.5)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Add optional site subtitle to masthead. [#2173](https://github.com/mmistakes/minimal-mistakes/issues/2173)
|
||||||
|
- Add missing Punjabi and Hindi localized UI text strings. [#2212](https://github.com/mmistakes/minimal-mistakes/pull/2212)
|
||||||
|
- Add missing Korean localized UI text strings. [#2209](https://github.com/mmistakes/minimal-mistakes/pull/2209)
|
||||||
|
- Use [Font Awesome Kits](https://blog.fontawesome.com/introducing-font-awesome-kits-7134d1d59959) to use the latest version of icons. [#2184](https://github.com/mmistakes/minimal-mistakes/issues/2184)
|
||||||
|
- Remove unnecessary console.log in `lunr-en.js` and `lunr-gr.js` JavaScript. [#2193](https://github.com/mmistakes/minimal-mistakes/issues/2193)
|
||||||
|
- Remove unnecessary `type="text/javascript"` from Google Analytics JavaScript. [#2190](https://github.com/mmistakes/minimal-mistakes/pull/2190)
|
||||||
|
- Update links and fix typos in documentation. [#2186](https://github.com/mmistakes/minimal-mistakes/pull/2186)
|
||||||
|
- Add skip links. [#2182](https://github.com/mmistakes/minimal-mistakes/issues/2182)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix aria issues with Lunr search form. [#2211](https://github.com/mmistakes/minimal-mistakes/pull/2211)
|
||||||
|
- Fix missing fallback title for table of contents.
|
||||||
|
|
||||||
|
## [4.16.4](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.4)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update Brazilian Portuguese localized UI text strings. [#2162](https://github.com/mmistakes/minimal-mistakes/pull/2162)
|
||||||
|
- Update Font Awesome to v5.8.2. [#2150](https://github.com/mmistakes/minimal-mistakes/pull/2150)
|
||||||
|
- Add missing Spanish localized UI text strings. [#2149](https://github.com/mmistakes/minimal-mistakes/pull/2149)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix arithmetic in `_form.scss` partial. [#2169](https://github.com/mmistakes/minimal-mistakes/pull/2169)
|
||||||
|
- Fix pound symbol not displaying properly for post categories and tags. [#2156](https://github.com/mmistakes/minimal-mistakes/issues/2156)
|
||||||
|
- Fix permalink stacking order and click-able area in archives.
|
||||||
|
|
||||||
|
## [4.16.3](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.3)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update jQuery to v3.4.1. [#2137](https://github.com/mmistakes/minimal-mistakes/issues/2137)
|
||||||
|
- Update Gumshoe to v5.1.1. [#2140](https://github.com/mmistakes/minimal-mistakes/issues/2140)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix JavaScript error when resizing pages with table of contents. [#2140](https://github.com/mmistakes/minimal-mistakes/issues/2140)
|
||||||
|
|
||||||
|
## [4.16.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.2)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Revert jQuery back to version v3.3.1, v.3.4.0 causes issues with other plugins that haven't been updated. [#2137](https://github.com/mmistakes/minimal-mistakes/issues/2137)
|
||||||
|
|
||||||
|
## [4.16.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.1)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Update [`compress` layout](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#compress-layout) to v3.1.0. [#2128](https://github.com/mmistakes/minimal-mistakes/pull/2128)
|
||||||
|
- Update jQuery to v3.4.0. [#2129](https://github.com/mmistakes/minimal-mistakes/pull/2129)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix Gumshoe related JavaScript error on pages without a table of contents. [#2124](https://github.com/mmistakes/minimal-mistakes/pull/2124)
|
||||||
|
|
||||||
|
## [4.16.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.16.0)
|
||||||
|
|
||||||
|
### Enhancements
|
||||||
|
|
||||||
|
- Improve search `input` semantics for Lunr and Google search providers. [#2123](https://github.com/mmistakes/minimal-mistakes/pull/2123)
|
||||||
|
- Allow adding JavaScript files after those bundled in the theme. [#2110](https://github.com/mmistakes/minimal-mistakes/issues/2110) [#2116](https://github.com/mmistakes/minimal-mistakes/pull/2116)
|
||||||
|
- Add `$max-width` Sass variable for adjusting page content's maximum width. [#2093](https://github.com/mmistakes/minimal-mistakes/pull/2093)
|
||||||
|
- Add Thai localized UI text strings. [#2111](https://github.com/mmistakes/minimal-mistakes/pull/2111)
|
||||||
|
- Update Font Awesome to [v5.8.1](https://github.com/FortAwesome/Font-Awesome/releases/tag/5.8.1). [#2102](https://github.com/mmistakes/minimal-mistakes/pull/2102)
|
||||||
|
- Add missing Vietnamese localized UI text strings. [#2097](https://github.com/mmistakes/minimal-mistakes/pull/2097)
|
||||||
|
- Replace jQuery Smooth Scroll with Smooth Scroll + Gumshoe. [#2082](https://github.com/mmistakes/minimal-mistakes/pull/2082)
|
||||||
|
- Add styling for [GFM task lists](https://help.github.com/en/articles/about-task-lists#creating-task-lists). [#2092](https://github.com/mmistakes/minimal-mistakes/issues/2092)
|
||||||
|
- Update Google Universal Analytics to load async. [#2079](https://github.com/mmistakes/minimal-mistakes/pull/2079)
|
||||||
|
- Remove Google+ social sharing button, comment provider, and author link configs from theme.
|
||||||
|
- Add missing Chinese text strings. [#2072](https://github.com/mmistakes/minimal-mistakes/pull/2072)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fix table of contents active link styling.
|
||||||
|
- Add missing Hindi localized UI text strings. [#2105](https://github.com/mmistakes/minimal-mistakes/pull/2105) [#2106](https://github.com/mmistakes/minimal-mistakes/pull/2106)
|
||||||
|
- Fix Brazilian Portuguese text strings. [#2098](https://github.com/mmistakes/minimal-mistakes/pull/2098)
|
||||||
|
- Fix typo in French `results_found` text string. [#2096](https://github.com/mmistakes/minimal-mistakes/pull/2096)
|
||||||
|
- Fix figures inside of list elements. [#2094](https://github.com/mmistakes/minimal-mistakes/pull/2094)
|
||||||
|
- Remove Font Awesome `data-search-pseudo-elements` attribute as it degrades smooth scroll performance. [#2075](https://github.com/mmistakes/minimal-mistakes/issues/2075#issuecomment-472437014)
|
||||||
|
- Fix footnote links incompatibility with smooth scroll plugin. [#2075](https://github.com/mmistakes/minimal-mistakes/issues/2075)
|
||||||
|
- Loosen Bundler dependency in ruby gem.
|
||||||
|
|
||||||
## [4.15.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.2)
|
## [4.15.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.2)
|
||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
@@ -20,7 +287,7 @@ toc: false
|
|||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
- Fix table of contents errors with non-English chracters in the headings. [#2042](https://github.com/mmistakes/minimal-mistakes/pull/2042)
|
- Fix table of contents errors with non-English characters in the headings. [#2042](https://github.com/mmistakes/minimal-mistakes/pull/2042)
|
||||||
- Fix `site.logo` false positives. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026#issuecomment-455770730)
|
- Fix `site.logo` false positives. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026#issuecomment-455770730)
|
||||||
- Add empty `alt` attribute to `site.logo` image. [#2035](https://github.com/mmistakes/minimal-mistakes/pull/2035)
|
- Add empty `alt` attribute to `site.logo` image. [#2035](https://github.com/mmistakes/minimal-mistakes/pull/2035)
|
||||||
|
|
||||||
@@ -124,7 +391,7 @@ toc: false
|
|||||||
- Support heading levels 1-6 in table of contents with proper indentation styling. [#1782](https://github.com/mmistakes/minimal-mistakes/issues/1782)
|
- Support heading levels 1-6 in table of contents with proper indentation styling. [#1782](https://github.com/mmistakes/minimal-mistakes/issues/1782)
|
||||||
- Use relative links for masthead navigation menu items when possible. [#1784](https://github.com/mmistakes/minimal-mistakes/pull/1784)
|
- Use relative links for masthead navigation menu items when possible. [#1784](https://github.com/mmistakes/minimal-mistakes/pull/1784)
|
||||||
- Add `.emoji` class to author sidebar to normalize image sizes. [#1780](https://github.com/mmistakes/minimal-mistakes/pull/1780)
|
- Add `.emoji` class to author sidebar to normalize image sizes. [#1780](https://github.com/mmistakes/minimal-mistakes/pull/1780)
|
||||||
- Update Staticman commit message to include commentor's name.
|
- Update Staticman commit message to include comment author's name.
|
||||||
- Improve side navigation spacing in relation to masthead.
|
- Improve side navigation spacing in relation to masthead.
|
||||||
- Style archive links with appropriate link color.
|
- Style archive links with appropriate link color.
|
||||||
- Adjust feature row spacing and font-sizes.
|
- Adjust feature row spacing and font-sizes.
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<!--
|
<!--
|
||||||
Minimal Mistakes Jekyll Theme 4.15.2 by Michael Rose
|
Minimal Mistakes Jekyll Theme 4.20.1 by Michael Rose
|
||||||
Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
|
Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
|
||||||
Free for personal and commercial use under the MIT license
|
Free for personal and commercial use under the MIT license
|
||||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||||
-->
|
-->
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
||||||
|
{% include_cached skip-links.html %}
|
||||||
{% include browser-upgrade.html %}
|
{% include browser-upgrade.html %}
|
||||||
{% include masthead.html %}
|
{% include masthead.html %}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ layouts_gallery:
|
|||||||
- url: /assets/images/mm-layout-archive.png
|
- url: /assets/images/mm-layout-archive.png
|
||||||
image_path: /assets/images/mm-layout-archive.png
|
image_path: /assets/images/mm-layout-archive.png
|
||||||
alt: "archive layout example"
|
alt: "archive layout example"
|
||||||
last_modified_at: 2019-01-23T20:23:03-05:00
|
last_modified_at: 2020-05-01T10:15:22-04:00
|
||||||
toc: true
|
toc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -31,9 +31,9 @@ Minimal Mistakes is a flexible two-column Jekyll theme. Perfect for hosting your
|
|||||||
- Several responsive layout options (single, archive index, search, splash, and paginated home page).
|
- 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
|
- 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.
|
- 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/), [utterances](https://utteranc.es/), static-based via [Staticman v1 and v2](https://staticman.net/), and custom).
|
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), [Discourse](https://www.discourse.org/), [utterances](https://utteranc.es/), static-based via [Staticman v1 and v2](https://staticman.net/), and custom).
|
||||||
- [Google Analytics](https://www.google.com/analytics/) support.
|
- [Google Analytics](https://www.google.com/analytics/) support.
|
||||||
- UI localized text in English (default), Brazilian Portuguese (Português brasileiro), Chinese, Danish, Dutch, French (Français), German (Deutsch), Greek, Hindi (हिंदी), Hungarian, Indonesian, Italian (Italiano), Japanese, Korean, Malayalam, Nepali (Nepalese), Persian (فارسی), Polish, Punjabi (ਪੰਜਾਬੀ), Romanian, Russian, Slovak, Spanish (Español), Swedish, Turkish (Türkçe), and Vietnamese.
|
- 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.
|
||||||
|
|
||||||
## Demo Pages
|
## Demo Pages
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
layout: splash
|
layout: splash
|
||||||
permalink: /
|
permalink: /
|
||||||
|
hidden: true
|
||||||
header:
|
header:
|
||||||
overlay_color: "#5e616c"
|
overlay_color: "#5e616c"
|
||||||
overlay_image: /assets/images/mm-home-page-feature.jpg
|
overlay_image: /assets/images/mm-home-page-feature.jpg
|
||||||
@@ -9,7 +10,7 @@ header:
|
|||||||
url: "/docs/quick-start-guide/"
|
url: "/docs/quick-start-guide/"
|
||||||
excerpt: >
|
excerpt: >
|
||||||
A flexible two-column Jekyll theme. Perfect for building personal sites, blogs, and portfolios.<br />
|
A flexible two-column Jekyll theme. Perfect for building personal sites, blogs, and portfolios.<br />
|
||||||
<small><a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.2">Latest release v4.15.2</a></small>
|
<small><a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.20.1">Latest release v4.20.1</a></small>
|
||||||
feature_row:
|
feature_row:
|
||||||
- image_path: /assets/images/mm-customizable-feature.png
|
- image_path: /assets/images/mm-customizable-feature.png
|
||||||
alt: "customizable"
|
alt: "customizable"
|
||||||
|
|||||||
@@ -6,5 +6,7 @@ author_profile: false
|
|||||||
---
|
---
|
||||||
|
|
||||||
{% for post in site.pages %}
|
{% for post in site.pages %}
|
||||||
|
{% unless post.hidden %}
|
||||||
{% include archive-single.html %}
|
{% include archive-single.html %}
|
||||||
|
{% endunless %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@@ -58,3 +58,9 @@ Nested and mixed lists are an interesting beast. It's a corner case to make sure
|
|||||||
2. **ordered item**
|
2. **ordered item**
|
||||||
* unordered item
|
* unordered item
|
||||||
* unordered item
|
* unordered item
|
||||||
|
|
||||||
|
### Task Lists
|
||||||
|
|
||||||
|
- [x] Finish my changes
|
||||||
|
- [ ] Push my commits to GitHub
|
||||||
|
- [ ] Open a pull request
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: "Edge Case: Post with multiline excerpt"
|
||||||
|
---
|
||||||
|
|
||||||
|
Et ex ullamco duis don't
|
||||||
|
combine these words quis laborum sunt sint. Nisi et Lorem reprehenderit cupidatat. Aliqua fugiat aliquip officia culpa elit. Adipisicing do eu duis aute et aute amet anim ut cillum aliqua. Aliqua adipisicing occaecat et ullamco fugiat.
|
||||||
@@ -17,6 +17,16 @@ When using Kramdown `{: .notice}` can be added after a sentence to assign the `.
|
|||||||
**Primary Notice:** Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. [Praesent libero](#). Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
|
**Primary Notice:** Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. [Praesent libero](#). Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
|
||||||
{: .notice--primary}
|
{: .notice--primary}
|
||||||
|
|
||||||
|
<div class="notice--primary" markdown="1">
|
||||||
|
**Primary Notice with code block:** Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. [Praesent libero](#). Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
|
||||||
|
|
||||||
|
```html
|
||||||
|
<html>
|
||||||
|
<body>Some body.<body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
</div>
|
||||||
|
|
||||||
**Info Notice:** Lorem ipsum dolor sit amet, [consectetur adipiscing elit](#). Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
|
**Info Notice:** Lorem ipsum dolor sit amet, [consectetur adipiscing elit](#). Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet.
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
|
|||||||
@@ -7,4 +7,4 @@ tags:
|
|||||||
- Post Formats
|
- Post Formats
|
||||||
---
|
---
|
||||||
|
|
||||||
[](https://flic.kr/p/8ww3fZ)
|
[](https://flic.kr/p/dNiUYB)
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user