Compare commits

..
242 Commits
Author SHA1 Message Date
Michael Rose 636ea3eb87 Release 4.18.1 💎 2020-01-25 11:18:44 -05:00
iBug ♦ 82a71a59f2 Fix compatibility issue with paginate V2 introduced by mmistakes/minimal-mistakes#2378 (#2381) 2020-01-25 11:14:29 -05:00
Michael Rose ec0b288f9e Release 4.18.0 💎 2020-01-25 10:26:16 -05:00
Michael Rose 1b9b8465b0 Update CHANGELOG and history 2020-01-25 10:19:18 -05:00
Mohamed Akram 3332196ec5 Allow using theme without pagination (#2378) 2020-01-25 10:17:46 -05:00
Michael Rose 1163ddc3f2 Add links to high resolution skin screenshots
Resolves #2363
2020-01-14 12:51:36 -05:00
Michael Rose d6c935aaaa Update CHANGELOG and history 2020-01-14 12:46:02 -05:00
Johannes Ganzenmüller 741b6dcb10 Adjust comments to be compatible with compress_html (#2373) 2020-01-14 12:43:14 -05:00
Michael Rose 0ce6c0d648 Update CHANGELOG and history 2020-01-14 12:42:35 -05:00
Michael Rose 2397da4e28 Add post to test multiline excerpt 2020-01-14 12:41:28 -05:00
iBug ♦ c6b4cdac97 Fix wrong newline concatenation in SEO description, resolves #2354 (#2368)
Close #2354
2020-01-14 12:40:11 -05:00
Michael Rose b84c196178 Update CHANGELOG and history 2020-01-14 12:33:30 -05:00
iBug ♦ d1db419e59 Update README and LICENSE (#2367)
* Update README and LICENSE

* README: Replace RawGit with jsDelivr
2020-01-14 12:32:48 -05:00
Michael Rose 31d230934c Update CHANGELOG and history 2020-01-14 12:32:20 -05:00
iBug ♦ a9f927a353 Update .gitignore (#2366) 2020-01-14 12:31:30 -05:00
Michael Rose 39423bc233 Update CHANGELOG and history 2020-01-07 13:14:57 -05:00
Michael Rose eb1af70810 Document header tagline 2020-01-07 13:14:50 -05:00
Michael Rose 6deaab8d3a Add example posts with header tagline 2020-01-07 13:14:33 -05:00
iBug ♦ be0e7ca971 Allow override of page excerpt in heading (via tagline) (#2307)
Allow the use of `page.tagline` to override `page.excerpt` in heading area
2020-01-07 13:01:47 -05:00
Michael Rose f2af873e94 Update CHANGELOG and history 2020-01-07 12:47:33 -05:00
Rodrigo Graça e2f0cf82f9 🔧 Exclude package-lock.json (#2364) 2020-01-07 12:45:58 -05:00
Michael Rose 65051cce2e Update CHANGELOG and history 2020-01-07 12:39:34 -05:00
iBug ♦ f331584125 Use %-d instead of %d (#2359) 2020-01-07 12:38:08 -05:00
Michael Rose e604b4742a Update CHANGELOG and history 2020-01-07 12:37:31 -05:00
iBug ♦ 8e2d290c7f Update toc.html from allejo/jekyll-toc:master (#2355) 2020-01-07 12:36:05 -05:00
Michael Rose 92401a14b7 Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes 2019-12-19 11:39:42 -05:00
Michael Rose e7d429cd74 Update CHANGELOG and history 2019-12-19 11:39:39 -05:00
Akhyar Amarullah 7607fcf7b6 Fix staticman v2/v3 comments (#2351)
According to the most recent docs, `branch` and `endpoint` should be inside `site.comments.staticman` config.
2019-12-19 11:38:51 -05:00
Michael Rose 4a85725bfe Update CHANGELOG and history 2019-12-19 11:38:16 -05:00
dmitrypvandiBug ♦ abf29432f6 Update masthead.html (#2332)
* Update masthead.html

fix image path in masthead for relative url

* Update _includes/masthead.html

Co-Authored-By: iBug ♦ <git@ibugone.com>
2019-12-19 11:37:11 -05:00
Eloi Perdereau af528d49ce Fix schema.org dates to ISO-8601 (#2339)
* Fix schema.org dates to ISO-8601

* Revert date_to_xmlschema in <time> tag
2019-12-19 11:35:35 -05:00
Michael Rose df3da4f7e3 Update CHANGELOG and history 2019-11-22 09:27:54 -05:00
Michael Rose e749af9ff8 Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes 2019-11-22 09:26:59 -05:00
iBug ♦ ee9aa75213 Set background-color = inherit for <pre code> in notices (#2328) 2019-11-22 09:26:38 -05:00
Michael Rose 032aaf209b Add notices with code blocks for testing 2019-11-22 09:26:06 -05:00
Michael Rose 5c9b5c3218 Update CHANGELOG and history 2019-11-22 09:17:09 -05:00
iBug ♦ 02dd27ccdc Make feature row live well with TOC, fix #2327 (#2329) 2019-11-22 09:15:38 -05:00
Michael Rose 6c733c3b93 Update CHANGELOG and history 2019-11-22 09:13:52 -05:00
Lars Olesen 0be64d50fc Fixed page.excerpt to seo_description (#2326) 2019-11-22 09:12:34 -05:00
Michael Rose 14ebcce4a9 Update CHANGELOG and history 2019-11-22 09:12:12 -05:00
Wouter Overmeire c7e3c5e3cb Add missing dutch ui-text fields (#2321) 2019-11-22 09:11:13 -05:00
Michael Rose c2c33a9ca8 Update CHANGELOG and history 2019-11-12 15:15:20 -05:00
Wouter Janson e09ff7efd7 Add social icon color for Keybase (#2302) 2019-11-12 15:14:32 -05:00
Michael Rose 2d257a905e Update CHANGELOG and history 2019-11-12 15:13:33 -05:00
iBug ♦ 13d7a231f7 Support page header (page hero) in archive-taxonomy layouts (#2320)
* Support page header in archive-taxonomy layout
2019-11-12 15:11:52 -05:00
Michael Rose 4ef8db79ba Update CHANGELOG and history 2019-11-12 15:01:33 -05:00
Michael Rose 5eaa0e5ec8 Fix typo in comments in _config.yml 2019-11-12 15:00:44 -05:00
iBug ♦ 96feec08a9 Fix typo in _config.yml (#2319) 2019-11-12 14:59:26 -05:00
Michael Rose ef22eb314e Update CHANGELOG and history
Fix #2310
2019-11-07 11:52:42 -05:00
Michael Rose d4edd0c1e3 Release 4.17.2 💎 (#2296) 2019-10-27 20:22:16 -04:00
Michael Rose 6d1edf339c Update CHANGELOG and history 2019-10-27 20:17:48 -04:00
Dan Wilde 13ab95d1ad Added another step (#2294)
The step is required to get the portfolio collection to work.
2019-10-27 20:14:58 -04:00
Michael Rose 2328c8192c Update CHANGELOG and history
Close #2281
2019-10-21 10:46:44 -04:00
Michael Rose 6d28d12d1d Flexbox sticky footer (#2289)
* Remove sticky footer JavaScript

* Use flexbox to force footer to the bottom of every page

* Fix flexbox in Internet Explorer
2019-10-21 10:41:36 -04:00
Michael Rose 29263ac102 Release 4.17.1 💎 (#2288) 2019-10-17 20:28:02 -04:00
Michael Rose 8e722d0276 Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes 2019-10-17 20:18:30 -04:00
Michael Rose 4462af335e Update CHANGELOG and history 2019-10-17 20:18:27 -04:00
iBug ♦ 4f206843e4 Update Chinese (Simplified) translation (#2286) 2019-10-17 20:17:16 -04:00
Michael Rose 647c1672c5 Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes 2019-10-17 20:16:46 -04:00
Michael Rose 1c8c7e6844 Update CHANGELOG and history 2019-10-17 20:16:42 -04:00
Baptiste M 9a8a64cfbe Fix and test case (#2285) 2019-10-17 20:15:36 -04:00
Michael Rose f5da37ea7e Update CHANGELOG and history 2019-10-17 20:12:48 -04:00
Luis Puerto 3e4069c5ba Update the info about what js scrips you are using (#2276)
Added Smooth Scroll and Gumshoe info
2019-10-17 20:10:01 -04:00
Michael Rose a101d668e8 Release 4.17.0 (#2275)
* Release 4.17.0 💎

* Update CHANGELOG and history
2019-10-04 20:00:23 -04:00
Michael Rose 2d22b95c32 Update CHANGELOG and history 2019-10-04 11:02:12 -04:00
Christian Oliff 519824eee7 remove extraneous space from IE conditional statement (#2273) 2019-10-04 11:01:09 -04:00
Michael Rose 9238caac41 Update CHANGELOG and history 2019-10-04 11:00:49 -04:00
iBug ♦ 3b3da46fea Show a permalink anchor when hovering over headings in main content (#2251)
* Implement heading permalinks, close #2246

Thanks to jekyll/jekyll for CSS.
Link anchor is visible when the mouse hovers over the title line.

* Build the updated _main.js
2019-10-04 10:59:44 -04:00
Michael Rose 6a3d325cd4 Update CHANGELOG and history 2019-10-04 10:55:08 -04:00
Michael Rose 57a7401768 Document page.words_per_minute 2019-10-04 10:55:01 -04:00
iBug ♦ a52394c02e Allow per-page override of words_per_minute (#2250)
Different languages usually have different read speeds.
This change is useful for sites with multi-lingual content
2019-10-04 10:50:05 -04:00
Michael Rose 69edbfba58 Update CHANGELOG and history 2019-08-30 08:42:32 -04:00
Rico 4b6b76853f Fix http links to use https (#2244)
Every site should support https by now. Better to link the https sites right away. Both sites do support https at the time I checked.
2019-08-30 08:41:17 -04:00
Michael Rose 5c19a81fe6 Update CHANGELOG and history 2019-08-30 08:40:37 -04:00
Rico f2c5d79451 Fix typo in config comment (#2243) 2019-08-30 08:39:20 -04:00
Michael Rose a2fdc94fb7 Update onchange development dependency in package.json
Close #2241
2019-08-28 08:57:31 -04:00
Michael Rose cc365940c5 Update CHANGELOG, history, and docs 2019-08-27 15:46:59 -04:00
Marc Riera c642c0f694 Translate into Catalan (#2237)
* Translate into Catalan
* Translate missing key
* Pluralize key
2019-08-27 15:44:28 -04:00
Michael Rose 5ab086cb4c Release 4.16.6 💎 2019-08-20 21:40:37 -04:00
Michael Rose 58f1d16900 Update documentation 2019-08-20 21:36:49 -04:00
Michael Rose 143bb32a95 Remove jemoji gem 2019-08-20 21:36:00 -04:00
Michael Rose 2388cbe020 Bump dependencies 2019-08-20 21:35:49 -04:00
Michael Rose 35b31e7143 Remove jemoji gem 2019-08-20 21:35:20 -04:00
Michael Rose 724ea26197 Ignore Jekyll cache 2019-08-20 21:34:51 -04:00
Michael Rose 14e009ee29 Relax Jekyll dependency to allow for version 4.0 2019-08-20 11:25:39 -04:00
Michael Rose 43b5e5f2ef Update history 2019-08-09 09:58:48 -04:00
Michael Rose 9ffdabb51f Fix site.url in Organization/Person JSON-LD schema
Close #1906
2019-08-09 09:58:39 -04:00
Michael Rose d48fe54559 Harmonize site.url for Organization JSON-LD schema 2019-08-09 09:46:03 -04:00
Michael Rose 6d44ad6ca4 Fix typos 2019-08-09 09:25:08 -04:00
Michael Rose 0959ef52ce Update CHANGELOG and history 2019-08-09 09:19:30 -04:00
Vincent Tam b84e5fde6a Remove fullstop in some Staticman UI text (#2220)
In this UI text, the 2nd sentence is not finished.
comment_form_info : "Your email address will not be published. Required fields are marked"
2019-08-09 09:18:03 -04:00
Michael Rose 4f9aca2a55 Update CHANGELOG and history 2019-08-09 09:15:53 -04:00
Juan Diego 07461d7648 Complete Spanish localization (#2229) 2019-08-09 09:14:05 -04:00
Michael Rose bd449813e5 Update CHANGELOG and history 2019-08-09 09:08:56 -04:00
Jason Thai 666c15a66b Fix default site.author in seo.html (#2230) 2019-08-09 09:08:02 -04:00
Michael Rose a2255d03e1 Fix overlapping links in post link type
Close #2222
2019-08-02 12:31:54 -04:00
Michael Rose bd2d947a55 Add emphasis 2019-07-24 10:17:14 -04:00
Michael Rose ae2ab92420 Update CHANGELOG and history 2019-07-24 10:16:31 -04:00
Michael Rose c1df29422b Add note about allowed Markdown in author.bio 2019-07-24 10:16:22 -04:00
Ravi a1200bbd1d Allow Markdown in author bio (#2215)
* enable markdown in author bio

added the markdownify liquid filter

* Add markdown to bio in _config.yml

* add markdown to bio in /test/ _config.yml

* Change <p> to <div>
2019-07-24 10:06:29 -04:00
Michael Rose 6311da0b16 Release 4.16.5 💎 2019-07-18 18:53:36 -04:00
Michael Rose 95ad34bcf5 Update CHANGELOG and history 2019-07-18 18:48:00 -04:00
Kulbhushan Chand 958441dc15 Updated localized text string for "Punjabi" and "Hindi" language (#2212) 2019-07-18 18:46:57 -04:00
Michael Rose f1fba3d8db Update CHANGELOG and history 2019-07-17 16:10:51 -04:00
Michael Rose 64daa7f882 Add localized text string 2019-07-17 16:09:57 -04:00
Jim Drury af772af56f Fixes aria issues on search form (#2211)
* Fixes aria issues on search form
* Swapping aria-label for <label> tag in search
* Removing background gray caused by adding <form> tag to search
* Removing redundant space
* Making form not submit if key is enter

Close #2180
2019-07-17 16:05:50 -04:00
Michael Rose 75c120f56d Add site subtitle 2019-07-17 11:54:13 -04:00
Michael Rose ca786b68f7 Update CHANGELOG and history 2019-07-17 11:53:43 -04:00
Michael Rose 3bbfeac62d Document site.subtitle 2019-07-17 11:50:21 -04:00
Michael Rose 8b708a0ee3 Use span instead of div element 2019-07-17 11:46:37 -04:00
Jan De Luyck cfad550975 Display site subtitle in masthead (#2205)
* Add site subtitle
* Tabs vs spaces - the ancient conflict
* updates cfr PR #2205
* Perhaps also add the closing anchor
* Make sure we check for the right variables...
* Brown paper bag - subtitle, not description
2019-07-17 11:43:25 -04:00
Michael Rose 00bec58bee Update CHANGELOG and history 2019-07-17 11:34:35 -04:00
Potados 86e9d31857 Complete missing parts of Korean locale. (#2209)
search_placeholder_text, results_found, and back_to_top
2019-07-17 11:33:23 -04:00
Michael Rose 8444d54593 Use Font Awesome Kits to use the latest version of icons
Close #2184
2019-06-27 19:19:56 -04:00
Michael Rose dc99092c54 Remove unecessary console.log in lunr-en.js and lunr-gr.js JavaScript
Close #2193
2019-06-27 19:05:01 -04:00
Michael Rose b5b8c45530 Fix missing fallback title for table of contents 2019-06-27 19:00:23 -04:00
Michael Rose 098a475726 Update CHANGELOG and history 2019-06-27 18:47:11 -04:00
Christian Oliff 828b0041a6 remove unneeded type="text/javascript" (#2190)
REF: 
- https://google.github.io/styleguide/htmlcssguide.html#type_Attributes
- https://codeguide.co/#html-style-script
- https://developers.google.com/analytics/devguides/collection/analyticsjs/
2019-06-27 18:45:59 -04:00
Michael Rose 56701a0bde Fix broken Flickr images 2019-06-27 18:45:11 -04:00
Michael Rose 301594f1a3 Update CHANGELOG and history 2019-06-27 18:37:01 -04:00
Noah Pivnick ee81b4613a Low hanging fruit (#2186)
* Update 05-configuration.md

- fix dead Twitter Dev docs url
- slight clarification re: Player Card approval
- fix Jekyll docs url

* Update 2013-01-10-markup-image-alignment.md

- fix the/re typo
2019-06-27 18:35:21 -04:00
Michael Rose 349e4840f1 Remove extra {
Fixes #2192
2019-06-20 12:41:19 -04:00
Michael Rose 1436671500 Add skip links
Close #2182
2019-06-10 19:31:59 -04:00
Michael Rose 14adf5c9ef Remove duplicate UI text file in /docs 2019-06-10 19:21:44 -04:00
Michael Rose e664d1d4d6 Release 4.16.4 💎 2019-05-26 20:47:32 -04:00
Michael Rose 08e14587cd Update CHANGELOG and history 2019-05-26 20:37:28 -04:00
Emanuele Barsanti ca12dcd340 Arithmetic fix in _form.scss (#2169) 2019-05-26 20:36:29 -04:00
Michael Rose 74ea18ecc5 Update CHANGELOG and history 2019-05-26 20:36:04 -04:00
Vítor Bernardes 7127afad90 Fix and improve pt-BR localization. (#2162) 2019-05-26 20:35:22 -04:00
Michael Rose 3b43fac12b Update CHANGELOG and history 2019-05-26 20:34:50 -04:00
Christian Oliff f5dafab391 update Font Awesome (#2150)
REF: https://fontawesome.com/changelog/latest
2019-05-26 20:33:50 -04:00
Michael Rose 480e81d285 Update CHANGELOG and history 2019-05-26 20:33:28 -04:00
Juan Diego cd928021ea Fix and complete Spanish localization (#2149) 2019-05-26 20:32:07 -04:00
Michael Rose 80b6f60205 Create FUNDING.yml 2019-05-24 20:01:30 -04:00
Michael Rose 16fc624b82 Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes 2019-05-21 11:41:51 -04:00
Michael Rose f0037aeb00 Update CHANGELOG and history 2019-05-21 11:41:36 -04:00
Michael Rose 1b30ffdec2 Add edge case 2019-05-21 11:40:57 -04:00
Michael Rose 26c1989bf6 Fix pound symbol not displaying properly for post categories and tags
Fixes #2156
2019-05-21 11:40:48 -04:00
Michael Rose cb4acd9423 Change permalink 2019-05-21 11:40:02 -04:00
Christian Oliff 64a34ee5ae add www to facebook.com link (#2160) 2019-05-20 09:11:59 -04:00
Michael Rose 843fa688cc Update CHANGELOG and history 2019-05-07 14:54:39 -04:00
Michael Rose 8da334b517 Fix permalink stacking order 2019-05-07 14:53:15 -04:00
Michael Rose 9b68374559 Release 4.16.3 💎 2019-05-03 23:07:46 -04:00
Michael Rose 06820bc6b1 Reset positioning of rel="permalink" anchors 2019-05-03 20:58:44 -04:00
Michael Rose d7af62a34b Update CHANGELOG and history 2019-05-02 08:58:59 -04:00
Michael Rose 129500b852 Update JavaScript listing 2019-05-02 08:58:17 -04:00
Michael Rose 93d29be369 Update jQuery to v3.4.1
ref #2137
2019-05-02 08:57:57 -04:00
Michael Rose 31cb045a61 Update CHANGELOG and history 2019-04-30 08:29:06 -04:00
Michael Rose abf71c6b2a Update Gumshoe to v5.1.1
Fixes #2140
2019-04-30 08:26:53 -04:00
Michael Rose 3f83a0df91 Release 4.16.2 💎 2019-04-28 14:45:59 -04:00
Michael Rose b83ab5600c Revert back to jQuery v3.3.1
3.4.0 causes issues with older jQuery plugins that haven't been updated to support it.
2019-04-28 14:44:06 -04:00
Michael Rose b797deffeb Release 4.16.1 💎 2019-04-28 14:15:55 -04:00
Michael Rose 4e41e73558 Add link to MM remote theme starter 2019-04-18 15:54:51 -04:00
Michael Rose d90cea5ef3 Update CHANGELOG and history 2019-04-15 16:27:14 -04:00
Alex Malaszkiewicz 7cd711e416 Update layout compress from v3.0.2 to v3.1.0 (#2128) 2019-04-15 16:25:47 -04:00
Michael Rose d84c3ded70 Update CHANGELOG and history 2019-04-15 16:25:12 -04:00
Alex Malaszkiewicz 0cf24b028d Update jquery v3.3.1 to v3.4.0 (#2129)
* Update jquery v3.3.1 to v3.4.0
* Update `main.min.js`

Close #2127
2019-04-15 16:23:58 -04:00
Michael Rose 90df6afc68 Update CHANGELOG and history 2019-04-12 11:43:59 -04:00
Jeckari cf0c046dd2 Made Gumshoe contingent upon a TOC being present. This prevents a console error on pages without a TOC. (#2124) 2019-04-12 11:42:10 -04:00
Michael Rose 44760c989e Release 4.16.0 💎 2019-04-09 21:26:37 -04:00
Michael Rose dce8f9c10a Update CHANGELOG and history 2019-04-09 21:21:58 -04:00
Denver Prophit Jr 3f1f7da5c8 Improve search input semantics (#2123)
* Update search_form.html

Updates Issue #2122 by adding the correct input type and aria label.

* update search_form.html

should be area-placeholder. My mistake. Updates Issue #2122

* fix aria-placeholder

Updates issue #2123 with a typo found by @mmistakes for liquid syntax.

Close #2122
2019-04-09 21:20:35 -04:00
Michael Rose d06e437ced Update CHANGELOG and history 2019-04-08 21:05:26 -04:00
Michael Rose 9164fda18a Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes
* 'master' of https://github.com/mmistakes/minimal-mistakes:
  Allow adding JavaScript files after the theme's (#2116)
2019-04-08 21:04:05 -04:00
Michael Rose df8a030a42 Allow adding JavaScript files after the theme's (#2116)
Allow adding JavaScript files after those bundled in the theme

Close #2110
2019-04-08 21:03:52 -04:00
Michael Rose 9baef1bda2 Update CHANGELOG and history 2019-04-08 21:01:43 -04:00
Luis Puerto e4c0689cda Add max-width Sass variable (#2093) 2019-04-08 20:59:57 -04:00
Michael Rose 29acb2a0bf Fix table of contents active link styling 2019-04-03 16:08:31 -04:00
Michael Rose 60b5bacca8 Add reference to Thai UI text strings 2019-04-03 15:16:04 -04:00
Michael Rose 2413ea7204 Update /docs text strings 2019-04-03 15:13:41 -04:00
Samiti d09bf47087 Add UI Text for Thai Language (#2111) 2019-04-03 15:11:44 -04:00
Michael Rose ac2975a8dd Update CHANGELOG and history 2019-04-03 15:08:02 -04:00
Kulbhushan Chand 146186ab82 Added missing Hindi Translation of ui-text ( for docs folder) (#2106)
Due to unknown reason, Hindi translation of ui-text was missing (https://github.com/mmistakes/minimal-mistakes/issues/2101)
I have added it back from a previous pull request (https://github.com/mmistakes/minimal-mistakes/pull/1888)
2019-04-03 15:06:44 -04:00
Kulbhushan Chand c7184ba2a2 Added missing Hindi Translation of ui-text (#2105)
Due to unknown reason, Hindi translation of ui-text was missing (https://github.com/mmistakes/minimal-mistakes/issues/2101)
I have added it back from a previous pull request (https://github.com/mmistakes/minimal-mistakes/pull/1888)
2019-04-03 15:06:31 -04:00
Michael Rose 63f3240366 Update CHANGELOG and history 2019-04-03 15:05:59 -04:00
Michael Rose 01150a8dac Merge branch 'master' of https://github.com/mmistakes/minimal-mistakes 2019-04-03 15:04:43 -04:00
Christian Oliff 737c011d46 Update Font Awesome (#2102)
REF: https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md
2019-04-03 15:04:07 -04:00
Michael Rose b93ec8ca34 Update CHANGELOG and history 2019-04-03 15:03:27 -04:00
Andre Pacheco baec5d00b5 Typos fix and including more words for pt-br (#2098)
I just fixed some typos PT-BR, included translations for words that were not translated and changed some words to better describe the tag's meaning. This is how I use it in my Portuguese blog.
2019-04-03 15:01:31 -04:00
Michael Rose 54e141aa0b Update CHANGELOG and history 2019-03-22 16:10:47 -04:00
samdx 346c8a9257 Updated vi-VN for some missing terms (#2097)
```yml
search_placeholder_text    : "Nhập từ khóa cần tìm..."
results_found              : "Kết quả tìm được"
back_to_top                : "Về đầu trang"
```
2019-03-22 16:09:49 -04:00
Michael Rose 7fa5ac49db Update CHANGELOG and history 2019-03-22 16:09:05 -04:00
iinimata 2e9e2ab312 Fix French translation typo (#2096) 2019-03-22 16:08:02 -04:00
Michael Rose a66cf1d700 Update CHANGELOG and hsitory 2019-03-22 16:07:37 -04:00
Luis Puerto a1ff46cc59 Fix figures when they are inside of a list (#2094) 2019-03-22 16:05:48 -04:00
Michael Rose 5ed1f79557 Update CHANGELOG and history 2019-03-22 16:05:17 -04:00
Michael Rose a44dc2f914 Replace jQuery Smooth Scroll with Smooth Scroll + Gumshoe (#2082)
* Replace jQuery Smooth Scroll with Smooth Scroll + Gumshoe
* Change smooth scrolling speed
* Set maximum smooth scroll duration
* Remove Font Awesome CSS Ppseudo elements attribute from JS script

Close #2050, close #2075
2019-03-22 16:01:28 -04:00
Michael Rose 94e8280950 Add GFM task list example to post 2019-03-13 08:36:07 -04:00
Michael Rose 8625e0708a Add styling for GFM task lists
Close #2092
2019-03-13 08:30:30 -04:00
Michael Rose 097c01eff1 Adjust wording 2019-03-07 16:26:54 -05:00
Michael Rose 960d6af1a2 Update CHANGELOG and history 2019-03-05 18:56:41 -05:00
Christian Oliff bd5f157833 Update Google Universal Analytics to load async (#2079) 2019-03-05 18:56:03 -05:00
Maxime Michel d5dae86319 Add tip on how to start a YouTube embed at a given timestamp (#2077)
Close #2077
2019-03-05 18:55:29 -05:00
Michael Rose 102924ff94 Update CHANGELOG 2019-03-05 18:54:44 -05:00
Michael Rose 59111d1e01 Remove Google+
Google+ is being shutdown on April 2, 2019. Social sharing buttong, comment provider, and author link configs have been removed from the theme.

ref: https://support.google.com/plus/answer/9195133
2019-03-05 18:53:30 -05:00
Michael Rose 4a38b5fae0 Loosen Bundler dependency for theme gem 2019-03-04 16:56:05 -05:00
Michael Rose 3dbe89d3f0 Fix indents 2019-03-04 11:10:43 -05:00
Michael Rose fb74bde6f6 Fix indendation
Close #2078
2019-03-04 11:09:33 -05:00
Michael Rose 10f62bb9ac Update CHANGELOG and history 2019-03-03 19:03:49 -05:00
Shuo c1094cad44 Add missing translation of chinese (#2072)
Add missing Chinese text strings
2019-03-03 19:02:40 -05:00
Michael Rose 78817f9c66 Release 4.15.2 💎 2019-02-17 12:31:43 -05:00
Michael Rose 7f414f4968 Add link to issue 2019-02-11 16:07:11 -05:00
Michael Rose 4501e4f4b0 Update history page 2019-02-11 16:06:17 -05:00
Michael Rose 397c13f087 Update CHANGELOG and history 2019-02-11 16:03:04 -05:00
safaer 1e78b160ca exit search screen with Esc key (#2055)
* exit search with esc key feature is added
* closing search screen with esc key feature is added to _main.js
2019-02-11 16:00:14 -05:00
Michael Rose 8eb880aaa0 Revert "Add Staticman app endpoint to docs site"
This reverts commit 67c08a05fd.
2019-02-11 15:55:47 -05:00
Michael Rose 67c08a05fd Add Staticman app endpoint to docs site 2019-02-11 15:53:51 -05:00
Michael Rose 65c401b319 Fix bad YAML
Remove comma
2019-02-08 12:51:10 -05:00
Michael Rose 9be0551c69 Update CHANGELOG and history 2019-02-08 12:38:57 -05:00
Michael Rose aefe633770 Update Swedish localized UI text strings 2019-02-08 12:38:47 -05:00
Johannes adfdf4b1d9 Updated swedish translations. (#2056) 2019-02-08 12:37:03 -05:00
Michael Rose 1d4cad2fd7 Update CHANGELOG and history 2019-02-08 12:32:45 -05:00
Christian Oliff f59711945e update Font Awesome (#2053)
* update Font Awesome

REF: https://fontawesome.com/changelog/latest

* Update _includes/scripts.html

Co-Authored-By: coliff <christianoliff@yahoo.com>
2019-02-08 12:30:56 -05:00
Michael Rose 8efaa7e46a Update CHANGELOG and history 2019-02-08 12:30:16 -05:00
Michael Rose 246c678028 Compile main.min.js 2019-02-08 12:29:35 -05:00
정승원 81f7851347 [fix] syntax error of non-english character (#2042)
* Dear the make of one of the world's greatest jekyll theme.

[problem]
I found that
'Syntax Error' occurs when non-english character is included in some html elements(e.g h2, h3 ...) and 'toc' is generated based of that elements.

[debug]
Click the any element of auto generated 'toc' in the below link.
https://aliwo.github.io/swblog/series/principles_of_python/object/#%EA%B0%9D%EC%B2%B4%EC%99%80-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%9D%98-%EC%A0%95%EC%9D%98

[fix]
This happens because escaped url string get right in to jquery. So I fixed it with
javascript's 'decodeURI' function! :)

* rollback unnecessary changes
2019-02-08 12:28:56 -05:00
Lucas Caton ea2b6de555 Remove 'www' from Stack Overflow URL (#2054)
Stack Overflow is no longer including `www` in its URLs.
2019-02-05 08:07:16 -05:00
Vincent Tam 622005cb44 Improve Staticman v3 documentation (#2043)
* Corrected Staticman v3 info

* Added a link to eduardoboucas/staticman#219

* Fix typo
2019-01-27 20:08:03 -05:00
Michael Rose cc4471e4dd Update CHANGELOG, history, and docs 2019-01-23 20:23:29 -05:00
Michael Rose bcb7343b17 Add Malayalam localized UI text strings 2019-01-23 20:21:38 -05:00
Hermit Physicist- Aravindvenma c510b51a43 Update ui-text.yml (#2037)
Add Malayalam localized UI text strings
2019-01-23 20:20:05 -05:00
Michael Rose d41a284bd2 Fix site.logo false positives 2019-01-23 20:05:17 -05:00
Michael Rose f405d24ce2 Update CHANGELOG and history 2019-01-23 19:36:01 -05:00
Alex Malaszkiewicz d0d267697e Add empty alt attribute to img tag with logo (#2035)
* Provide empty alt attribute (alt="") for logo image, because it does not provide information
2019-01-23 19:34:43 -05:00
Michael Rose 8f5140ab42 Update test post 2019-01-21 14:24:50 -05:00
Michael Rose afd8cfd99e Fix empty <img> when site_logo is not assigned
Ref: https://github.com/mmistakes/minimal-mistakes/pull/2026#issuecomment-454809876
2019-01-16 11:06:54 -05:00
Michael Rose c44e65cdec Release 4.15.0 💎 2019-01-16 08:26:45 -05:00
Evan Debenham 282806ae07 Add logo and title customization to the masthead (#2026)
* Add logo and title customization to the masthead

* Adjust config description

* Add test site logo to `/test`

* Document `site.logo` and `site.masthead_title`

* Update CHANGELOG and history
2019-01-15 09:07:56 -05:00
Michael Rose 86e95b4f6f Update CHANGELOG and history 2019-01-15 08:09:45 -05:00
Erik Demaine 1b7e8335fe Fix scrollspy on link clicking, and # for top of page (#2023) 2019-01-15 08:08:41 -05:00
Michael Rose a974e45712 Update 2019-01-08 08:45:57 -05:00
Huan LI (李卓桓) cac73fb87d Add support to customize issue-term (#2022)
Current we hardcoded the `pathname` for `issue-term` when we are using utterances comment provider.

It would be better for let users customize it by setting a `site.comments.utterances.issue_term` in their `_config.yml`.
2019-01-08 08:42:19 -05:00
Michael Rose 89c4169191 Update CHANGELOG, history, and canonical_url documentation 2019-01-08 08:32:24 -05:00
Sean Killeen 77059e3710 assign canonical directly if custom value exists (#2021) 2019-01-08 08:23:31 -05:00
Michael Rose 2274abb67d Update CHANGELOG and history 2019-01-08 08:22:03 -05:00
Michael Rose 4c2557d670 Merge pull request #2020 from edemaine/scrollspy 2019-01-08 08:19:16 -05:00
Erik Demaine 04e1614184 Define $active-color in terms of $primary-color 2019-01-04 15:46:01 -05:00
Erik Demaine 6990f8fcc9 Use jQuery throttle library 2019-01-04 12:57:33 -05:00
Erik Demaine f2f580101e Scrollspy-style updating of hash and TOC highlighting 2019-01-04 12:45:04 -05:00
Michael Rose d361c00f8a Update CHANGELOG and history 2019-01-04 12:33:29 -05:00
Erik Demaine 33551c8cdb Clicking TOC links changes hash fragment (#2019)
* Fix smooth scroll breaking back button #1767
* Change URL's hash fragment when clicking on TOC
* Switch from hashchange to popstate event handler

This seems to have better behavior with the Forward button, on page load,
and always scrolls in the right direction.

Close #1767
2019-01-04 12:31:38 -05:00
Michael Rose 2784b3ad43 Bump version to 4.14.2 2019-01-04 12:16:38 -05:00
100 changed files with 13650 additions and 3453 deletions
+1
View File
@@ -0,0 +1 @@
custom: https://www.paypal.me/mmistakes
+21 -6
View File
@@ -1,14 +1,29 @@
*.gem
# Vim
*~
*.sw[p_]
# Sublime Text
*.sublime-project
*.sublime-workspace
# Ruby Gem
*.gem
.bundle
Gemfile.lock
vendor/bundle
# Node.js and NPM
node_modules
npm-debug.log*
package-lock.json
codekit-config.json
# macOS
.DS_Store
# Jekyll generated files
.jekyll-cache
.jekyll-metadata
.sass-cache
_asset_bundler_cache
_site
codekit-config.json
example/_site
Gemfile.lock
node_modules
npm-debug.log*
+205 -1
View File
@@ -1,3 +1,207 @@
## [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)
### Enhancements
- Close search overlay with <kbd>Esc</kbd>. [#2055](https://github.com/mmistakes/minimal-mistakes/pull/2055)
- Update Swedish localized UI text strings. [#2056](https://github.com/mmistakes/minimal-mistakes/pull/2056)
- Update Font Awesome to 5.7.1 and add `data-search-pseudo-elements` attribute. [#2053](https://github.com/mmistakes/minimal-mistakes/pull/2053)
- Add Malayalam localized UI text strings. [#2037](https://github.com/mmistakes/minimal-mistakes/pull/2037)
### Bug Fixes
- 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)
- Add empty `alt` attribute to `site.logo` image. [#2035](https://github.com/mmistakes/minimal-mistakes/pull/2035)
## [4.15.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.1)
### Bug Fixes
- Fix empty `<img>` when `site_logo` is not assigned. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026#issuecomment-454809876)
## [4.15.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.0)
### Enhancements
- Add logo and title customization to the masthead. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026)
- Add support to customize `issue-term` for utterances comment provider. [#2022](https://github.com/mmistakes/minimal-mistakes/pull/2022)
- Allow custom canonical url on a page-by-page basis. [#2021](https://github.com/mmistakes/minimal-mistakes/pull/2021)
- Update table of contents navigation based on scroll position to indicate which link is currently active in the viewport. [#2020](https://github.com/mmistakes/minimal-mistakes/pull/2020)
- Clicking table of contents links changes URL has fragment. [#2019](https://github.com/mmistakes/minimal-mistakes/pull/2019) [#2023](https://github.com/mmistakes/minimal-mistakes/pull/2023)
## [4.14.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.14.2)
### Enhancements
@@ -82,7 +286,7 @@
- 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)
- 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.
- Style archive links with appropriate link color.
- Adjust feature row spacing and font-sizes.
+2 -2
View File
@@ -1,6 +1,6 @@
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
of this software and associated documentation files (the "Software"), to deal
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+26 -14
View File
@@ -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).
**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.**
[![Support via PayPal](https://cdn.rawgit.com/twolfson/paypal-github-button/1.0.0/dist/button.svg)](https://www.paypal.me/mmistakes)
[![Support via PayPal](https://cdn.jsdelivr.net/gh/twolfson/paypal-github-button@1.0.0/dist/button.svg)](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]
@@ -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.
- 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.
- 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, 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, 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, Thai, Turkish (Türkçe), and Vietnamese.
## 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 skin](https://mmistakes.github.io/minimal-mistakes/assets/images/air-skin-archive.png) | ![contrast skin](https://mmistakes.github.io/minimal-mistakes/assets/images/contrast-skin-archive.png) | ![dark skin](https://mmistakes.github.io/minimal-mistakes/assets/images/dark-skin-archive.png) |
| [![air skin](https://mmistakes.github.io/minimal-mistakes/assets/images/air-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/air-skin-archive-large.png) | [![contrast skin](https://mmistakes.github.io/minimal-mistakes/assets/images/contrast-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/contrast-skin-archive-large.png) | [![dark skin](https://mmistakes.github.io/minimal-mistakes/assets/images/dark-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/dark-skin-archive-large.png) |
| `dirt` | `mint` | `sunrise` |
| --- | --- | --- |
| ![dirt skin](https://mmistakes.github.io/minimal-mistakes/assets/images/dirt-skin-archive.png) | ![mint skin](https://mmistakes.github.io/minimal-mistakes/assets/images/mint-skin-archive.png) | ![sunrise skin](https://mmistakes.github.io/minimal-mistakes/assets/images/sunrise-skin-archive.png) |
| [![dirt skin](https://mmistakes.github.io/minimal-mistakes/assets/images/dirt-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/dirt-skin-archive-large.png) | [![mint skin](https://mmistakes.github.io/minimal-mistakes/assets/images/mint-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/mint-skin-archive-large.png) | [![sunrise skin](https://mmistakes.github.io/minimal-mistakes/assets/images/sunrise-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/sunrise-skin-archive-large.png) |
| `aqua` | `neon` | `plum` |
| --- | --- | --- |
| ![aqua skin](https://mmistakes.github.io/minimal-mistakes/assets/images/aqua-skin-archive.png) | ![neon skin](https://mmistakes.github.io/minimal-mistakes/assets/images/neon-skin-archive.png) | ![plum skin](https://mmistakes.github.io/minimal-mistakes/assets/images/plum-skin-archive.png) |
| [![aqua skin](https://mmistakes.github.io/minimal-mistakes/assets/images/aqua-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/aqua-skin-archive-large.png) | [![neon skin](https://mmistakes.github.io/minimal-mistakes/assets/images/neon-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/neon-skin-archive-large.png) | [![plum skin](https://mmistakes.github.io/minimal-mistakes/assets/images/plum-skin-archive.png)](https://mmistakes.github.io/minimal-mistakes/assets/images/plum-skin-archive-large.png) |
## Demo pages
@@ -126,7 +126,9 @@ To install:
bundle
```
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.14.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.18.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
**Looking for an example?** Fork the [Minimal Mistakes remote theme starter](https://github.com/mmistakes/mm-github-pages-starter) for the quickest method of getting a GitHub Pages hosted site up and running. Replace sample content with your own and configure as needed.
## Usage
@@ -185,7 +187,9 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
- [Magnific Popup](http://dimsemenov.com/plugins/magnific-popup/)
- [FitVids.JS](http://fitvidsjs.com/)
- [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/)
- [Lunr](http://lunrjs.com)
---
@@ -194,7 +198,7 @@ To test the theme, run `bundle exec rake preview` and open your browser at `http
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
of this software and associated documentation files (the "Software"), to deal
@@ -240,9 +244,17 @@ Minimal Mistakes incorporates [Magnific Popup](http://dimsemenov.com/plugins/mag
Copyright (c) 2014-2016 Dmitry Semenov, http://dimsemenov.com.
Magnific Popup is distributed under the terms of the MIT License.
Minimal Mistakes incorporates [jQuery Smooth Scroll](https://github.com/kswedberg/jquery-smooth-scroll),
Copyright (c) 2017 Karl Swedberg.
jQuery Smooth Scroll is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [Smooth Scroll](http://github.com/cferdinandi/smooth-scroll),
Copyright (c) 2019 Chris Ferdinandi.
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/),
Copyright (c) 2010 "Cowboy" Ben Alman.
jQuery throttle / debounce is distributed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
Minimal Mistakes incorporates [GreedyNav.js](https://github.com/lukejacksonn/GreedyNav),
Copyright (c) 2015 Luke Jackson.
+11 -8
View File
@@ -18,16 +18,19 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
locale : "en-US"
title : "Site Title"
title_separator : "-"
subtitle : # site tagline that appears below site title in masthead
name : "Your Name"
description : "An amazing website."
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl : # the subpath of your site, e.g. "/blog"
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
# breadcrumbs : false # true, false (default)
words_per_minute : 200
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:
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
discourse:
@@ -39,6 +42,7 @@ comments:
colorscheme : # "light" (default), "dark"
utterances:
theme : # "github-light" (default), "github-dark"
issue_term : # "pathname" (default)
staticman:
allowedFields : # ['name', 'email', 'url', 'message']
branch : # "master"
@@ -105,7 +109,7 @@ analytics:
author:
name : "Your Name"
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"
email :
links:
@@ -176,6 +180,7 @@ exclude:
- log
- node_modules
- package.json
- package-lock.json
- Rakefile
- README
- tmp
@@ -211,7 +216,7 @@ kramdown:
# Sass/SCSS
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
@@ -227,7 +232,6 @@ plugins:
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
- jekyll-include-cache
# mimic GitHub Pages with --safe
@@ -236,7 +240,6 @@ whitelist:
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
- jekyll-include-cache
@@ -248,8 +251,8 @@ whitelist:
# - Archive page should exist at path when using Liquid method or you can
# expect broken links (especially with breadcrumbs enabled)
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path/my-awesome-category/index.html ~> path: /
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path>/my-awesome-category/index.html ~> path: /
category_archive:
type: liquid
path: /categories/
@@ -270,7 +273,7 @@ tag_archive:
# HTML Compression
# - http://jch.penibelst.de/
# - https://jch.penibelst.de/
compress_html:
clippings: all
ignore:
+415 -51
View File
@@ -3,6 +3,10 @@
# English (default)
# -----------------
en: &DEFAULT_EN
skip_links : "Skip links"
skip_primary_nav : "Skip to primary navigation"
skip_content : "Skip to content"
skip_footer : "Skip to footer"
page : "Page"
pagination_previous : "Previous"
pagination_next : "Next"
@@ -41,6 +45,7 @@ en: &DEFAULT_EN
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved."
comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again."
loading_label : "Loading..."
search_label_text : "Enter your search term..."
search_placeholder_text : "Enter your search term..."
results_found : "Result(s) found"
back_to_top : "Back to top"
@@ -56,44 +61,52 @@ en-AU:
# Spanish
# -------
es: &DEFAULT_ES
skip_links : "Saltar enlaces"
skip_primary_nav : "Saltar a navegación principal"
skip_content : "Saltar a contenido"
skip_footer : "Saltar a pie"
page : "Página"
pagination_previous : "Anterior"
pagination_next : "Siguiente"
breadcrumb_home_label : "Inicio"
breadcrumb_separator : "/"
menu_label :
search_label :
toc_label : "Contenidos"
ext_link_label : "Enlace"
menu_label : "Alternar menú"
search_label : "Alternar búsqueda"
toc_label : "En esta página"
ext_link_label : "Enlace directo"
less_than : "menos de"
minute_read : "minuto de lectura"
share_on_label : "Compartir"
minute_read : "minuto(s) de lectura"
share_on_label : "Compartir en"
meta_label :
tags_label : "Etiquetas:"
categories_label : "Categorías:"
date_label : "Actualizado:"
comments_label : "Dejar un comentario"
comments_title : "Comentar"
comments_label : "Deja un comentario"
comments_title : "Comentarios"
more_label : "Ver más"
related_label : "Podrías ver también"
related_label : "Puede que también te interese"
follow_label : "Seguir:"
feed_label : "Feed"
powered_by : "Powered by"
powered_by : "Funciona con"
website_label : "Sitio web"
email_label : "Email"
email_label : "Correo electrónico"
recent_posts : "Entradas recientes"
undefined_wpm : "Parametro words_per_minute (Palabras por minuto) no definido en _config.yml"
comment_form_info : "Su dirección de correo no será publicada. Se han resaltado los campos requeridos"
undefined_wpm : "El parámetro words_per_minute (palabras por minuto) no está definido en _config.yml"
comment_form_info : "Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados"
comment_form_comment_label : "Comentario"
comment_form_md_info : "Markdown está soportado."
comment_form_md_info : "Puedes utilizar Markdown"
comment_form_name_label : "Nombre"
comment_form_email_label : "Dirección de E-mail"
comment_form_email_label : "Dirección de correo electrónico"
comment_form_website_label : "Sitio web (opcional)"
comment_btn_submit : "Enviar Commentario"
comment_btn_submit : "Enviar comentario"
comment_btn_submitted : "Enviado"
comment_success_msg : "Gracias por su comentario!, Este se visualizará en el sitio una vez haya sido aprobado"
comment_error_msg : "Lo sentimos, ha ocurrido un error al enviar su comentario. Por favor asegurese que todos los campos han sido diligenciados e intente de nuevo"
comment_success_msg : "¡Gracias por tu comentario! Se publicará una vez sea aprobado."
comment_error_msg : "Ha ocurrido un error al enviar el comentario. Asegúrate de completar todos los campos obligatorios e inténtalo de nuevo."
loading_label : "Cargando..."
search_label_text : "Términos de búsqueda..."
search_placeholder_text : "Términos de búsqueda..."
results_found : "resultado(s) encontrado(s)"
back_to_top : "Volver arriba"
es-ES:
<<: *DEFAULT_ES
es-CO:
@@ -102,6 +115,10 @@ es-CO:
# French
# ------
fr: &DEFAULT_FR
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Page"
pagination_previous : "Précédent"
pagination_next : "Suivant"
@@ -140,8 +157,9 @@ fr: &DEFAULT_FR
comment_success_msg : "Merci pour votre commentaire, il sera visible sur le site une fois approuvé."
comment_error_msg : "Désolé, une erreur est survenue lors de la soumission. Vérifiez que les champs obligatoires ont été remplis et réessayez."
loading_label : "Chargement..."
search_label_text :
search_placeholder_text : "Entrez votre recherche..."
results_found : "Aucun résultat trouvé"
results_found : "Résultat(s) trouvé(s)"
back_to_top : "Retour en haut"
fr-FR:
<<: *DEFAULT_FR
@@ -153,6 +171,10 @@ fr-CH:
# Turkish
# -------
tr: &DEFAULT_TR
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Sayfa"
pagination_previous : "Önceki"
pagination_next : "Sonraki"
@@ -191,12 +213,17 @@ tr: &DEFAULT_TR
comment_success_msg : "Yorumunuz için teşekkürler! Yorumunuz onaylandıktan sonra sitede gösterilecektir."
comment_error_msg : "Maalesef bir hata oluştu. Lütfen zorunlu olan tüm alanları doldurduğunuzdan emin olun ve sonrasında tekrar deneyin."
loading_label : "Yükleniyor..."
search_label_text :
tr-TR:
<<: *DEFAULT_TR
# Portuguese
# ----------
pt: &DEFAULT_PT
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Página"
pagination_previous : "Anterior"
pagination_next : "Seguinte"
@@ -235,52 +262,65 @@ pt: &DEFAULT_PT
comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado."
comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente."
loading_label : "A carregar..."
search_label_text :
pt-PT:
<<: *DEFAULT_PT
# Brazilian Portuguese
pt-BR:
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Página"
pagination_previous : "Anterior"
pagination_next : "Próxima"
breadcrumb_home_label : "Home"
breadcrumb_separator : "/"
menu_label :
search_label :
search_label : "Buscar"
toc_label : "Nesta página"
ext_link_label : "Link direto"
less_than : "menos que"
minute_read : "minuto(s) de leitura"
share_on_label : "Compartilhe em"
share_on_label : "Compartilhe"
meta_label :
tags_label : "Tags:"
categories_label : "Categorias:"
date_label : "Atualizado em:"
comments_label : "Deixe um comentário"
comments_title :
more_label : "Aprenda mais"
related_label : "Talvez você goste também"
follow_label : "Acompanhe em"
comments_title : "Comentários"
more_label : "Saiba mais"
related_label : "Talvez você também goste"
follow_label : "Acompanhe no"
feed_label : "Feed"
powered_by : "Feito com"
powered_by : "Desenvolvido com"
website_label : "Site"
email_label : "Email"
recent_posts : "Postagens recentes"
undefined_wpm : "Parâmetro indefinido em words_per_minute no _config.yml"
comment_form_info : "Seu email não será publicado. Os campos obrigatórios estão marcados"
email_label : "E-mail"
recent_posts : "Publicações recentes"
undefined_wpm : "Parâmetro words_per_minute indefinido no _config.yml"
comment_form_info : "Seu e-mail não será publicado. Os campos obrigatórios estão marcados"
comment_form_comment_label : "Comentário"
comment_form_md_info : "Markdown é suportado."
comment_form_md_info : "Você pode usar Markdown."
comment_form_name_label : "Nome"
comment_form_email_label : "Email"
comment_form_email_label : "E-mail"
comment_form_website_label : "Site (opcional)"
comment_btn_submit : "Enviar Comentário"
comment_btn_submit : "Enviar comentário"
comment_btn_submitted : "Enviado"
comment_success_msg : "Obrigado pelo seu comentário! Ele aparecerá no site assim que for aprovado."
comment_error_msg : "Desculpe, ocorreu um erro no envio. Por favor verifique se todos os campos obrigatórios foram preenchidos e tente novamente."
comment_error_msg : "Desculpe, ocorreu um erro no envio. Verifique se todos os campos obrigatórios foram preenchidos e tente novamente."
loading_label : "Carregando..."
search_label_text :
search_placeholder_text : "Pesquisar..."
results_found : "Resultado(s) encontrado(s)"
back_to_top : "Voltar para o topo"
# Italian
# -------
it: &DEFAULT_IT
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Pagina"
pagination_previous : "Precedente"
pagination_next : "Prossima"
@@ -319,6 +359,7 @@ it: &DEFAULT_IT
comment_success_msg : "Grazie per il tuo commento! Verrà visualizzato nel sito una volta che sarà approvato."
comment_error_msg : "C'è stato un errore con il tuo invio. Assicurati che tutti i campi richiesti siano stati completati e riprova."
loading_label : "Caricamento..."
search_label_text :
search_placeholder_text : "Inserisci termini di ricerca..."
results_found : "Risultati"
back_to_top : "Vai su"
@@ -328,6 +369,10 @@ it-IT:
# Chinese (zh-CN Chinese - China)
# --------------------------------
zh: &DEFAULT_ZH_HANS
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "页面"
pagination_previous : "向前"
pagination_next : "向后"
@@ -338,7 +383,7 @@ zh: &DEFAULT_ZH_HANS
toc_label : "在本页上"
ext_link_label : "直接链接"
less_than : "少于"
minute_read : "分钟读完"
minute_read : "分钟阅读"
share_on_label : "分享"
meta_label :
tags_label : "标签:"
@@ -354,10 +399,10 @@ zh: &DEFAULT_ZH_HANS
website_label : "网站"
email_label : "电子邮箱"
recent_posts : "最新文章"
undefined_wpm : "_config.yml配置中words_per_minute字段未定义"
undefined_wpm : "_config.yml 配置中 words_per_minute 字段未定义"
comment_form_info : "您的电子邮箱地址并不会被展示。请填写标记为必须的字段。"
comment_form_comment_label : "评论"
comment_form_md_info : "Markdown语法已支持。"
comment_form_md_info : "支持 Markdown 语法。"
comment_form_name_label : "姓名"
comment_form_email_label : "电子邮箱"
comment_form_website_label : "网站(可选)"
@@ -366,12 +411,20 @@ zh: &DEFAULT_ZH_HANS
comment_success_msg : "感谢您的评论!被批准后它会立即在此站点展示。"
comment_error_msg : "很抱歉,您的提交存在错误。请确保所有必填字段都已填写正确,然后再试一次。"
loading_label : "正在加载..."
search_label_text :
search_placeholder_text : "输入您要搜索的关键词..."
results_found : "条记录匹配"
back_to_top : "返回顶部"
zh-CN:
<<: *DEFAULT_ZH_HANS
zh-SG:
<<: *DEFAULT_ZH_HANS
# Taiwan (Traditional Chinese)
zh-TW: &DEFAULT_ZH_HANT
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "頁面"
pagination_previous : "較舊"
pagination_next : "較新"
@@ -410,12 +463,17 @@ zh-TW: &DEFAULT_ZH_HANT
comment_success_msg : "感謝您的留言! 審核後將會顯示在站上。"
comment_error_msg : "抱歉,部份資料輸入有問題。請確認資料填寫正確後再試一次。"
loading_label : "載入中..."
search_label_text :
zh-HK:
<<: *DEFAULT_ZH_HANT
# German / Deutsch
# ----------------
de: &DEFAULT_DE
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Seite"
pagination_previous : "Vorherige"
pagination_next : "Nächste"
@@ -454,6 +512,7 @@ de: &DEFAULT_DE
comment_success_msg : "Danke für Ihren Kommentar! Er wird auf der Seite angezeigt, nachdem er geprüft wurde."
comment_error_msg : "Entschuldigung, es gab einen Fehler. Bitte füllen Sie alle benötigten Felder aus und versuchen Sie es erneut."
loading_label : "Lade..."
search_label_text :
search_placeholder_text : "Suchbegriff eingeben..."
results_found : "Ergebnis(se) gefunden"
de-DE:
@@ -472,6 +531,10 @@ de-LU:
# Nepali (Nepal)
# --------------
ne: &DEFAULT_NE
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "पृष्‍ठ"
pagination_previous : "अघिल्लो"
pagination_next : "अर्को"
@@ -510,12 +573,17 @@ ne: &DEFAULT_NE
comment_success_msg : "तपाईंको टिप्पणीको लागि धन्यवाद! एक पटक यो अनुमोदन गरेपछी यो साइटमा देखाउनेछ।"
comment_error_msg : "माफ गर्नुहोस्, तपाईंको टिप्पणी त्रुटि थियो।सबै आवश्यक जानकारीहरु पूरा गरिएको छ भने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"
loading_label : "लोड हुँदैछ ..."
search_label_text :
ne-NP:
<<: *DEFAULT_NE
# Korean
# ------
ko: &DEFAULT_KO
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "페이지"
pagination_previous : "이전"
pagination_next : "다음"
@@ -554,12 +622,20 @@ ko: &DEFAULT_KO
comment_success_msg : "감사합니다! 댓글이 머지된 후 확인하실 수 있습니다."
comment_error_msg : "댓글 등록에 문제가 있습니다. 필요 필드를 작성했는지 확인하고 다시 시도하세요."
loading_label : "로딩중..."
search_label_text :
search_placeholder_text : "검색어를 입력하세요..."
results_found : "개 결과 발견"
back_to_top : "맨 위로 이동"
ko-KR:
<<: *DEFAULT_KO
# Russian / Русский
# -----------------
ru: &DEFAULT_RU
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Страница"
pagination_previous : "Предыдущая"
pagination_next : "Следующая"
@@ -598,6 +674,7 @@ ru: &DEFAULT_RU
comment_success_msg : "Спасибо за Ваш комментарий! Он будет опубликован на сайте после проверки."
comment_error_msg : "К сожалению, произошла ошибка с отправкой комментария. Пожалуйста, убедитесь, что все обязательные поля заполнены и попытайтесь снова."
loading_label : "Отправка..."
search_label_text :
search_placeholder_text : "Введите поисковый запрос..."
results_found : "Найдено"
ru-RU:
@@ -606,6 +683,10 @@ ru-RU:
# Lithuanian / Lietuviškai
# ------------------------
lt: &DEFAULT_LT
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Puslapis"
pagination_previous : "Ankstesnis"
pagination_next : "Sekantis"
@@ -633,7 +714,7 @@ lt: &DEFAULT_LT
email_label : "El. paštas"
recent_posts : "Naujausi įrašai"
undefined_wpm : "Nedeklaruotas parametras words_per_minute faile _config.yml"
comment_form_info : "El. pašto adresas nebus viešinamas. Būtini laukai pažymėti."
comment_form_info : "El. pašto adresas nebus viešinamas. Būtini laukai pažymėti"
comment_form_comment_label : "Komentaras"
comment_form_md_info : "Markdown palaikomas."
comment_form_name_label : "Vardas"
@@ -644,12 +725,17 @@ lt: &DEFAULT_LT
comment_success_msg : "Ačiū už komentarą! Jis bus parodytas kai bus patvirtintas."
comment_error_msg : "Atleiskite, įvyko netikėta klaida įrašant komentarą. Pasitikrinkite ar užpildėte visus būtinus laukus ir pamėginkite dar kartą."
loading_label : "Kraunama..."
search_label_text :
lt-LT:
<<: *DEFAULT_LT
# Greek
# -----
gr: &DEFAULT_GR
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Σελίδα"
pagination_previous : "Προηγούμενo"
pagination_next : "Επόμενo"
@@ -688,6 +774,7 @@ gr: &DEFAULT_GR
comment_success_msg : "Ευχαριστούμε για το σχόλιό σας! Θα εμφανιστεί στην ιστοσελίδα αφού εγκριθεί."
comment_error_msg : "Λυπούμαστε, παρουσιάστηκε σφάλμα με την υποβολή σας. Παρακαλούμε βεβαιωθείτε ότι έχετε όλα τα απαιτούμενα πεδία συμπληρωμένα και δοκιμάστε ξανά."
loading_label : "Φόρτωση..."
search_label_text :
search_placeholder_text : "Εισάγετε όρο αναζήτησης..."
results_found : "Αποτελέσματα"
gr-GR:
@@ -696,13 +783,17 @@ gr-GR:
# Swedish
# -------
sv: &DEFAULT_SV
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Sidan"
pagination_previous : "Föregående"
pagination_next : "Nästa"
breadcrumb_home_label : "Hem"
breadcrumb_separator : "/"
menu_label : "Meny ridå"
search_label :
menu_label : "Växla menyläge"
search_label : "Växla sökläge"
toc_label : "På denna sida"
ext_link_label : "Direkt länk"
less_than : "mindre än"
@@ -723,17 +814,21 @@ sv: &DEFAULT_SV
email_label : "E-post"
recent_posts : "Senaste inlägg"
undefined_wpm : "Odefinerade parametrar words_per_minute i _config.yml"
comment_form_info : "Din e-post adress kommer inte att publiceras. Obligatoriska fält är markerade."
comment_form_info : "Din e-post adress kommer inte att publiceras. Obligatoriska fält är markerade"
comment_form_comment_label : "Kommentar"
comment_form_md_info : "Använd Markdown för text-formateringen."
comment_form_md_info : "Stöd för Markdown finns."
comment_form_name_label : "Namn"
comment_form_email_label : "E-post adress"
comment_form_website_label : "Webdsida (valfritt)"
comment_btn_submit : "Skicka en kommentar"
comment_btn_submitted : "Kommentaren har tagits emot"
comment_success_msg : "Tack för din kommentar! Den kommer att visas på sidan så fort den har godkännts."
comment_error_msg : "Tyvärr det har blivit något fel i en av fälten, se till att du fyller i alla rutor och försök igen."
comment_error_msg : "Tyvärr det har blivit något fel i ett av fälten, se till att du fyllt i alla obligatoriska fält och försök igen."
loading_label : "Laddar..."
search_label_text :
search_placeholder_text : "Fyll i sökterm..."
results_found : "Resultat funna"
back_to_top : "Tillbaka till toppen"
sv-SE:
<<: *DEFAULT_SV
sv-FI:
@@ -742,6 +837,10 @@ sv-FI:
# Dutch
# -----
nl: &DEFAULT_NL
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Pagina"
pagination_previous : "Vorige"
pagination_next : "Volgende"
@@ -780,6 +879,10 @@ nl: &DEFAULT_NL
comment_success_msg : "Bedankt voor uw reactie! Het zal op de site worden weergegeven zodra het is goedgekeurd."
comment_error_msg : "Sorry, er is een fout opgetreden bij uw inzending. Zorg ervoor dat alle vereiste velden zijn voltooid en probeer het opnieuw."
loading_label : "Laden..."
search_label_text : "Geef uw zoekterm in..."
search_placeholder_text : "Geef uw zoekterm in..."
results_found : "Resultaat gevonden"
back_to_top : "Terug naar boven"
nl-BE:
<<: *DEFAULT_NL
nl-NL:
@@ -788,6 +891,10 @@ nl-NL:
# Indonesian
# ----------
id: &DEFAULT_ID
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Halaman"
pagination_previous : "Kembali"
pagination_next : "Maju"
@@ -826,12 +933,17 @@ id: &DEFAULT_ID
comment_success_msg : "Terimakasih atas komentar Anda! Komentar ini akan tampil setelah disetujui."
comment_error_msg : "Maaf, ada kesalahan pada submisi Anda. Pastikan seluruh kolom sudah dilengkapi dan coba kembali."
loading_label : "Sedang meload..."
search_label_text :
id-ID:
<<: *DEFAULT_ID
# Vietnamese
# ----------
vi: &DEFAULT_VI
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Trang"
pagination_previous : "Trước"
pagination_next : "Sau"
@@ -859,7 +971,7 @@ vi: &DEFAULT_VI
email_label : "Email"
recent_posts : "Bài viết mới"
undefined_wpm : "Chưa định nghĩa thông số words_per_minute tại _config.yml"
comment_form_info : "Email của bạn sẽ được giữ bí mật. Các phần bắt buộc được đánh dấu."
comment_form_info : "Email của bạn sẽ được giữ bí mật. Các phần bắt buộc được đánh dấu"
comment_form_comment_label : "Bình luận"
comment_form_md_info : "Hỗ trợ Markdown."
comment_form_name_label : "Tên"
@@ -870,12 +982,20 @@ vi: &DEFAULT_VI
comment_success_msg : "Cảm ơn bạn đã bình luận! Bình luận sẽ xuất hiện sau khi được duyệt."
comment_error_msg : "Rất tiếc, có lỗi trong việc gửi bình luận. Hãy đảm bảo toàn bộ các phần bắt buộc đã được điền đầy đủ và thử lại."
loading_label : "Đang tải..."
search_label_text :
search_placeholder_text : "Nhập từ khóa cần tìm..."
results_found : "Kết quả tìm được"
back_to_top : "Lên đầu trang"
vi-VN:
<<: *DEFAULT_VI
# Danish
# ------
da: &DEFAULT_DA
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Side"
pagination_previous : "Forrige"
pagination_next : "Næste"
@@ -914,6 +1034,7 @@ da: &DEFAULT_DA
comment_success_msg : "Tak for din kommentar! Den bliver vist på siden, så snart den er godkendt."
comment_error_msg : "Desværre skete der en fejl. Prøv igen, mens du sørger for at alle obligatoriske felter er udfyldt."
loading_label : "Indlæser..."
search_label_text :
search_placeholder_text : "Hvad leder du efter..."
results_found : "Resultat(er) fundet"
back_to_top : "Tilbage til toppen"
@@ -923,6 +1044,10 @@ da-DK:
# Polish
# ------
pl: &DEFAULT_PL
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Strona"
pagination_previous : "Poprzednia"
pagination_next : "Następna"
@@ -950,7 +1075,7 @@ pl: &DEFAULT_PL
email_label : "Email"
recent_posts : "Najnowsze wpisy"
undefined_wpm : "Parametr words_per_minute nie został zdefiniowany w _config.yml."
comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone."
comment_form_info : "Twój adres email nie będzie udostępiony. Wymagane pola są oznaczone"
comment_form_comment_label : "Skomentuj"
comment_form_md_info : "Markdown jest wspierany"
comment_form_name_label : "Imię"
@@ -961,12 +1086,17 @@ pl: &DEFAULT_PL
comment_success_msg : "Dziękuję za Twój komentarz! Zostanie dodany po akceptacji."
comment_error_msg : "Niestety wystąpił błąd. Proszę upewnij się, że wszystkie wymagane pola zostały wypełnione i spróbuj ponownie."
loading_label : "Trwa ładowanie strony..."
search_label_text :
pl-PL:
<<: *DEFAULT_PL
# Japanese
# --------
ja: &DEFAULT_JA
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "ページ"
pagination_previous : "前へ"
pagination_next : "次へ"
@@ -1005,6 +1135,7 @@ ja: &DEFAULT_JA
comment_success_msg : "コメントありがとうございます! コメントは承認されるとページに表示されます。"
comment_error_msg : "送信エラーです。必須項目がすべて入力されていることを確認して再送信してください。"
loading_label : "読み込み中..."
search_label_text :
search_placeholder_text : "検索キーワードを入力してください..."
results_found : "件"
ja-JP:
@@ -1013,6 +1144,10 @@ ja-JP:
# Slovak
# -----------------
sk: &DEFAULT_SK
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Stránka"
pagination_previous : "Predošlá"
pagination_next : "Ďalšia"
@@ -1051,6 +1186,7 @@ sk: &DEFAULT_SK
comment_success_msg : "Ďakujem za tvoj komentár! Po schválení bude zobrazený na stránke."
comment_error_msg : "Prepáč, pri ukladaní nastala chyba. Ubezpeč sa prosím, že si vyplnil všetky požadované polia a skús znova."
loading_label : "Načítava sa..."
search_label_text :
search_placeholder_text : "Zadaj hľadaný výraz..."
results_found : "Nájdených výsledkov"
back_to_top : "Na začiatok stránky"
@@ -1060,6 +1196,10 @@ sk-SK:
# Hungarian
# -----------------
hu: &DEFAULT_HU
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Oldal"
pagination_previous : "Előző"
pagination_next : "Következő"
@@ -1087,7 +1227,7 @@ hu: &DEFAULT_HU
email_label : "Email"
recent_posts : "Friss cikkek"
undefined_wpm : "Ismeretlen paraméter words_per_minute : _config.yml"
comment_form_info : "Az e-mail címed nem lesz publikus. A csillagozott mezők kitöltése kötelező."
comment_form_info : "Az e-mail címed nem lesz publikus. A csillagozott mezők kitöltése kötelező"
comment_form_comment_label : "Hozzászólás"
comment_form_md_info : "Támogatott formázási mód: Markdown"
comment_form_name_label : "Név"
@@ -1098,6 +1238,7 @@ hu: &DEFAULT_HU
comment_success_msg : "Köszönjük a Hozzászólást! A Hozzászólások csak előzetes moderáció után lesznek publikusak."
comment_error_msg : "Hoppá, hiba történt a beküldés közben. Kérlek ellenőrizd hogy minden kötelező mező ki van-e töltve."
loading_label : "Betöltés..."
search_label_text :
search_placeholder_text : "Keresendő szöveg..."
results_found : "Találatok:"
back_to_top : "Oldal tetejére"
@@ -1107,6 +1248,10 @@ hu-HU:
# Romanian
# -----------------
ro: &DEFAULT_RO
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "Pagina"
pagination_previous : "Anterior"
pagination_next : "Următor"
@@ -1145,28 +1290,33 @@ ro: &DEFAULT_RO
comment_success_msg : "Mulțumesc pentru comentariu! Va apărea pe site în momentul în care va fi aprobat."
comment_error_msg : "Scuze, este o problemă cu comentariul tău. Asigură-te că toate câmpurile obligatorii au fost completate și încearcă din nou."
loading_label : "Se încarcă..."
search_label_text :
search_placeholder_text : "Caută ceva..."
results_found : "Rezultate găsite"
back_to_top : "Înapoi în susul paginii"
ro-RO:
<<: *DEFAULT_RO
# Punjabi
# -----------------
pa: &DEFAULT_PA
skip_links : "ਲਿੰਕ ਛੱਡੋ"
skip_primary_nav : "ਮੂਲ ਮਾਰਗ ਛੱਡੋ"
skip_content : "ਸਮੱਗਰੀ ਛੱਡੋ"
skip_footer : "ਅੰਤ ਵਿਚ ਲਿਖਿਆ ਛੱਡੋ"
page : "ਸਫ਼ਾ"
pagination_previous : "ਪਿਛਲਾ"
pagination_next : "ਅਗਲਾ "
breadcrumb_home_label : "ਘਰ"
breadcrumb_separator : "/"
menu_label : "ਟੌਗਲ ਮੀਨੂ"
search_label :
search_label : "ਖੋਜ"
toc_label : "ਇਸ ਸਫ਼ੇ 'ਤੇ"
ext_link_label : "ਸਿੱਧਾ ਸੰਪਰਕ"
less_than : "ਤੋਂ ਘੱਟ"
minute_read : "ਮਿੰਟ ਵਿੱਚ ਪੜਿਆ ਜਾ ਸਕਦਾ ਹੈ"
share_on_label : "ਸਾਂਝਾ ਕਰੋ"
meta_label :
meta_label : "ਸਵੈ-ਸੰਦਰਭ ਜਾਣਕਾਰੀ"
tags_label : "ਟੈਗ"
categories_label : "ਵਰਗ"
date_label : "ਅਪਡੇਟ ਕੀਤਾ:"
@@ -1192,15 +1342,20 @@ pa: &DEFAULT_PA
comment_success_msg : "ਤੁਹਾਡੀਆਂ ਟਿੱਪਣੀਆਂ ਲਈ ਧੰਨਵਾਦ! ਇਹ ਮਨਜ਼ੂਰੀ ਮਿਲਣ ਦੇ ਬਾਅਦ ਸਾਈਟ 'ਤੇ ਦਿਖਾਇਆ ਜਾਵੇਗਾ।"
comment_error_msg : "ਮੁਆਫ ਕਰਨਾ, ਤੁਹਾਡੀ ਅਧੀਨਗੀ ਵਿੱਚ ਕੋਈ ਗਲਤੀ ਹੋਈ ਸੀ ਕਿਰਪਾ ਕਰਕੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਾਰੇ ਲੋੜੀਂਦੇ ਖੇਤਰ ਪੂਰੇ ਹੋ ਗਏ ਹਨ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"
loading_label : "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ..."
search_placeholder_text : "ਆਪਣੀ ਖੋਜ ਦੇ ਸ਼ਬਦ ਨੂੰ ਦਰਜ ਕਰੋ..."
search_label_text : "ਖੋਜ"
search_placeholder_text : "ਆਪਣੀ ਖੋਜ ਦੇ ਸ਼ਬਦ ਨੂੰ ਦਰਜ ਕਰੋ..."
results_found : "ਨਤੀਜਾ ਮਿਲਿਆ/ਮਿਲੇ"
back_to_top : "ਵਾਪਸ ਚੋਟੀ 'ਤੇ ਜਾਓ"
pa-IN:
<<: *DEFAULT_PA
<<: *DEFAULT_PA
# Persian (Farsi)
# --------------
fa: &DEFAULT_FA
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "صفحه"
pagination_previous : "قبلی"
pagination_next : "بعدی"
@@ -1238,12 +1393,221 @@ fa: &DEFAULT_FA
comment_success_msg : ".باتشکر از ارسال دیدگاه! پس از تأیید، این دیدگاه در سایت نشان داده خواهد شد"
comment_error_msg : ".متاسفانه در ارسال شما خطایی بود. لطفا مطمئن شوید تمام فیلدهای مورد نیاز تکمیل شده و دوباره امتحان کنید"
loading_label : "...بارگذاری"
search_label_text :
search_placeholder_text : "...عبارت جستجوی خود را وارد کنید"
results_found : "نتایج"
back_to_top : "بازگشت به بالا"
fa-IR:
<<: *DEFAULT_FA
# Malayalam
# -----------------
ml: &DEFAULT_ML
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "പേജ്"
pagination_previous : "തിരികെ"
pagination_next : "മുന്നോട്ട്"
breadcrumb_home_label : "ഹോം"
breadcrumb_separator : "/"
menu_label : "ടോഗിൾ മെനു"
search_label : "ടോഗിൾ സെർച്ച്"
toc_label : "ഈ പേജിൽ"
ext_link_label : "ലിങ്കിലേക് പോകാൻ"
less_than : "ഏതാണ്ട്"
minute_read : "മിനിറ്റ് ദൈർഖ്യം"
share_on_label : "ഷെയർ ചെയ്യുവാൻ "
meta_label :
tags_label : "ടാഗുകൾ:"
categories_label : "വിഭാഗങ്ങൾ:"
date_label : "അവസാന മാറ്റം:"
comments_label : "അഭിപ്രായം രേഖപ്പെടുത്തുക"
comments_title : "അഭിപ്രായങ്ങൾ"
more_label : "കൂടുതൽ അറിയുവാൻ"
related_label : "നിങ്ങൾക് ഇതും ഇഷ്ടപ്പെട്ടേക്കാം"
follow_label : "പിന്തുടരുക:"
feed_label : "ഫീഡ്"
powered_by : "പവേർഡ് ബൈ"
website_label : "വെബ്സൈറ്റ്"
email_label : "ഇ-മെയിൽ"
recent_posts : "സമീപകാല പോസ്റ്റുകൾ"
undefined_wpm : "Config.yml ലെ words_per_minute പരാമീറ്റർ നിർവചിച്ചിട്ടില്ല."
comment_form_info : "നിങ്ങളുടെ ഇമെയിൽ വിലാസം പ്രസിദ്ധീകരിക്കില്ല. ആവശ്യമായ ഫീൽഡുകൾ അടയാളപ്പെടുത്തി."
comment_form_comment_label : "കമന്റ്"
comment_form_md_info : "Markdown സപ്പോർട്ട് ചെയ്യുന്നതാണ്."
comment_form_name_label : "പേര്"
comment_form_email_label : "ഇ-മെയിൽ"
comment_form_website_label : "വെബ്സൈറ് (ഓപ്ഷണൽ)"
comment_btn_submit : "അഭിപ്രായം രേഖപ്പെടുത്തുക"
comment_btn_submitted : "രേഖപ്പെടുത്തി"
comment_success_msg : "നിങ്ങളുടെ അഭിപ്രായത്തിന് നന്ദി! ഇത് അംഗീകരിച്ചുകഴിഞ്ഞാൽ ഇത് സൈറ്റിൽ പ്രദർശിപ്പിക്കും."
comment_error_msg : "ക്ഷമിക്കണം, നിങ്ങളുടെ സമർപ്പണവുമായി ബന്ധപ്പെട്ട് ഒരു പിശകുണ്ടായിരുന്നു. ആവശ്യമായ എല്ലാ ഫീൽഡുകളും പൂർത്തിയായിട്ടുണ്ടെന്ന് ഉറപ്പുവരുത്തുക, വീണ്ടും ശ്രമിക്കുക."
loading_label : "ലോഡിംഗ്..."
search_label_text :
search_placeholder_text : "നിങ്ങളുടെ തിരയൽ പദം നൽകുക..."
results_found : "ഫലം (കൾ) കണ്ടെത്തി"
back_to_top : "മുകളിലേയ്ക്ക്"
ml-IN:
<<: *DEFAULT_ML
# Thailand
# --------------
th: &DEFAULT_TH
skip_links :
skip_primary_nav :
skip_content :
skip_footer :
page : "หน้า"
pagination_previous : "ก่อนหน้า"
pagination_next : "ถัดไป"
breadcrumb_home_label : "หน้าแรก"
breadcrumb_separator : "/"
menu_label : "พับเมนู"
search_label : "พับการค้นหา"
toc_label : "บนหน้านี้"
ext_link_label : "ลิงก์โดยตรง"
less_than : "น้อยกว่า"
minute_read : "นาที ในการอ่าน"
share_on_label : "แชร์ไปที่"
meta_label :
tags_label : "แท็ก:"
categories_label : "หมวดหมู่:"
date_label : "อัพเดตล่าสุด:"
comments_label : "แสดงความคิดเห็น"
comments_title : "ความคิดเห็น"
more_label : "อ่านต่อ"
related_label : "คุณอาจจะชอบสิ่งนี้"
follow_label : "ติดตาม:"
feed_label : "ฟืดข่าว"
powered_by : "ขับเคลื่อนโดย"
website_label : "เว็บไซต์"
email_label : "อีเมล"
recent_posts : "โพสล่าสุด"
undefined_wpm : "ไม่สามารถระบุพารามิเตอร์ words_per_minute ได้ใน _config.yml"
comment_form_info : "อีเมลของคุณไม่สามารถโพสสาธารณะได้ กรุณากรอกช่องที่ระบุด้วยเครื่องหมายดอกจันไว้"
comment_form_comment_label : "แสดงความคิดเห็น"
comment_form_md_info : "มาร์กดาวน์ได้รับการสนับสนุน"
comment_form_name_label : "ชื่อ"
comment_form_email_label : "ที่อยู่อีเมล"
comment_form_website_label : "เว็บไซต์ (ตัวเลือก)"
comment_btn_submit : "ส่งความคิดเห็น"
comment_btn_submitted : "ส่งเรียบร้อยแล้ว"
comment_success_msg : "ขอบคุณสำหรับการแสดงความคิดเห็น! ความคิดเห็นจะได้รับการแสดงหลังจากได้รับการยืนยัน"
comment_error_msg : "ขออภัย, มีบางอย่างผิดพลาดจากการส่งแบบฟอร์ม กรุณาตรวจทานทุกช่อง และลองส่งใหม่อีกครั้ง"
loading_label : "กำลังโหลด..."
search_label_text :
search_placeholder_text : "ใส่คำค้นหาของคุณ..."
results_found : "ผลการค้นหา พบ"
back_to_top : "กลับด้านบน"
th-TH:
<<: *DEFAULT_TH
# Hindi
# -----------------
hi: &DEFAULT_HI
skip_links : "लिंक छोड़ें"
skip_primary_nav : "प्राथमिक पथ-प्रदर्शन छोड़ें"
skip_content : "सामग्री छोड़ें"
skip_footer : "अंत-में लिखा छोड़ें"
page : "पृष्ठ"
pagination_previous : "पिछला"
pagination_next : "अगला"
breadcrumb_home_label : "घर"
breadcrumb_separator : "/"
menu_label : "टॉगल मेनू"
toc_label : "इस पृष्ठ पर"
ext_link_label : "सीधा संपर्क"
less_than : "से कम"
minute_read : "मिनट में पढ़ सकते हैं"
share_on_label : "साझा करें"
meta_label : "स्व-संदर्भात्मक जानकारी"
tags_label : "अंकितक:"
categories_label : "श्रेणियाँ:"
date_label : "अपडेट किया गया:"
comments_label : "एक टिप्पणी छोड़ें"
comments_title : "टिप्पणियाँ"
more_label : "और अधिक जानें"
related_label : "आप इसका भी आनंद ले सकते हैं"
follow_label : "अनुसरण करे:"
feed_label : "फ़ीड"
powered_by : "द्वारा संचालित"
website_label : "वेबसाइट"
email_label : "ईमेल"
recent_posts : "हाल के पोस्ट"
undefined_wpm : "_config.yml पर अपरिभाषित पैरामीटर words_per_minute"
comment_form_info : "आपका ईमेल पता प्रकाशित नहीं किया जाएगा। अपेक्षित स्थानों को रेखांकित कर दिया गया है"
comment_form_comment_label : "टिप्पणी"
comment_form_md_info : "मार्कडाउन की अनुमति है।"
comment_form_name_label : "नाम"
comment_form_email_label : "ईमेल पता"
comment_form_website_label : "वेबसाइट (ऐच्छिक)"
comment_btn_submit : "टिप्पणी भेजें"
comment_btn_submitted : "प्रस्तुत"
comment_success_msg : "आपके कमेंट के लिए धन्यवाद! इसे स्वीकृति मिलने के बाद साइट पर दिखाया जाएगा।"
comment_error_msg : "क्षमा करें, आपके सबमिशन के साथ एक त्रुटि हुई थी। कृपया सुनिश्चित करें कि सभी आवश्यक फ़ील्ड पूरा हो गए हैं और पुनः प्रयास करें।"
loading_label : "लोड हो रहा है..."
search_label_text : "खोज"
search_placeholder_text : "अपना खोज शब्द दर्ज करें..."
results_found : "परिणाम मिला/मिले"
back_to_top : "शीर्ष पर वापस"
hi-IN:
<<: *DEFAULT_HI
# Catalan
# --------------
ca: &DEFAULT_CA
skip_links : "Salta els enllaços"
skip_primary_nav : "Salta a la navegació primària"
skip_content : "Salta al contingut"
skip_footer : "Salta al peu"
page : "Pàgina"
pagination_previous : "Anterior"
pagination_next : "Següent"
breadcrumb_home_label : "Inici"
breadcrumb_separator : "/"
menu_label : "Mostra/amaga el menú"
search_label : "Mostra/amaga la cerca"
toc_label : "En aquesta pàgina"
ext_link_label : "Enllaç directe"
less_than : "es llegeix en menys de"
minute_read : "minut(s)"
share_on_label : "Comparteix a"
meta_label :
tags_label : "Etiquetes:"
categories_label : "Categories:"
date_label : "Actualitzat:"
comments_label : "Deixa un comentari"
comments_title : "Comentaris"
more_label : "Llegeix més"
related_label : "També et pot agradar"
follow_label : "Segueix-me:"
feed_label : "Feed"
powered_by : "Funciona amb"
website_label : "Pàgina web"
email_label : "Correu electrònic"
recent_posts : "Entrades recents"
undefined_wpm : "El paràmetre words_per_minute no està definit a _config.yml"
comment_form_info : "No es mostrarà el teu correu electrònic. Els camps obligatoris estan marcats"
comment_form_comment_label : "Comentari"
comment_form_md_info : "Admet Markdown."
comment_form_name_label : "Nom"
comment_form_email_label : "Correu electrònic"
comment_form_website_label : "Pàgina web (opcional)"
comment_btn_submit : "Envia"
comment_btn_submitted : "Enviat"
comment_success_msg : "Gràcies pel teu comentari! Apareixerà un cop sigui aprovat."
comment_error_msg : "Hi ha hagut un error enviat el comentari. Comprova que els camps obligatirs estiguin omplerts i torna-ho a provar."
loading_label : "Carregant..."
search_label_text : "Introdueix termes per cercar..."
search_placeholder_text : "Introdueix termes per cercar..."
results_found : "resultat(s)"
back_to_top : "Torna a dalt"
ca-ES:
<<: *DEFAULT_CA
# Another locale
# --------------
#
@@ -1,10 +1,7 @@
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(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('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }})
ga('send', 'pageview');
window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
ga('create','{{ site.analytics.google.tracking_id }}','auto');
ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }});
ga('send','pageview')
</script>
<script src="https://www.google-analytics.com/analytics.js" async></script>
+2 -2
View File
@@ -1,4 +1,4 @@
<script type="text/javascript">
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
{% if site.analytics.google.anonymize_ip == true %}
@@ -11,4 +11,4 @@
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</script>
+4 -12
View File
@@ -33,9 +33,9 @@
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
{% endif %}
{% if author.bio %}
<p class="author__bio" itemprop="description">
{{ author.bio }}
</p>
<div class="author__bio" itemprop="description">
{{ author.bio | markdownify }}
</div>
{% endif %}
</div>
@@ -97,14 +97,6 @@
</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>
</li>
{% endif %}
{% if author.linkedin %}
<li>
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
@@ -163,7 +155,7 @@
{% if author.stackoverflow %}
<li>
<a href="https://www.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
</a>
</li>
+2 -2
View File
@@ -10,14 +10,14 @@
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}|{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign category_hashes = page_categories | split: ',' | sort %}
<p class="page__taxonomy">
<strong><i class="fas fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>
<span itemprop="keywords">
{% for hash in category_hashes %}
{% assign keyValue = hash | split: '#' %}
{% assign keyValue = hash | split: '|' %}
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %}
+1 -1
View File
@@ -13,7 +13,7 @@
<p class="comment__date">
{% if include.date %}
{% 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 %}
{% endif %}
</p>
+3 -3
View File
@@ -1,10 +1,10 @@
{% if site.comments.disqus.shortname %}
<script>
var disqus_config = function () {
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.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 */
};
(function() { // DON'T EDIT BELOW THIS LINE
(function() { /* DON'T EDIT BELOW THIS LINE */
var d = document, s = d.createElement('script');
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
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 %}
{% when "facebook" %}
{% include /comments-providers/facebook.html %}
{% when "google-plus" %}
{% include /comments-providers/google-plus.html %}
{% when "staticman" %}
{% include /comments-providers/staticman.html %}
{% when "staticman_v2" %}
+2 -2
View File
@@ -11,10 +11,10 @@
var script = document.createElement('script');
script.setAttribute('src', 'https://utteranc.es/client.js');
script.setAttribute('repo', '{{ site.repository }}');
script.setAttribute('issue-term', 'pathname');
script.setAttribute('issue-term', '{{ site.comments.utterances.issue_term | default: "pathname" }}');
script.setAttribute('theme', '{{ site.comments.utterances.theme | default: "github-light" }}');
script.setAttribute('crossorigin', 'anonymous');
commentContainer.appendChild(script);
})();
</script>
</script>
+2 -17
View File
@@ -10,24 +10,9 @@
{% when "facebook" %}
<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>
{% 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" %}
<section id="static-comments">
{% if site.repository and site.staticman.branch %}
{% if site.repository and site.comments.staticman.branch %}
<!-- Start static comments -->
<div class="js-comments">
{% if site.data.comments[page.slug] %}
@@ -50,7 +35,7 @@
<div class="page__comments-form">
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post" action="{{ site.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">
<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>
+3 -3
View File
@@ -7,6 +7,6 @@
{% endif %}
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
{% if include.caption %}
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
{% endif %}
</figure>
<figcaption>
{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
</figcaption>{% endif %}</figure>
+1 -1
View File
@@ -14,7 +14,7 @@
<!-- For all browsers -->
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
<!--[if IE ]>
<!--[if IE]>
<style>
/* old IE unsupported flexbox fixes */
.greedy-nav .site-title {
+13 -1
View File
@@ -1,8 +1,20 @@
{% if site.logo contains "://" %}
{% capture logo_path %}{{ site.logo }}{% endcapture %}
{% else %}
{% capture logo_path %}{{ site.logo | relative_url }}{% endcapture %}
{% endif %}
<div class="masthead">
<div class="masthead__inner-wrap">
<div class="masthead__menu">
<nav id="site-nav" class="greedy-nav">
<a class="site-title" href="{{ '/' | relative_url }}">{{ site.title }}</a>
{% unless logo_path == empty %}
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt=""></a>
{% endunless %}
<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">
{%- for link in site.data.navigation.main -%}
{%- if link.url contains '://' -%}
+3 -1
View File
@@ -42,7 +42,9 @@
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
{% endif %}
</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>
{% endif %}
{% if page.read_time %}
+2 -2
View File
@@ -1,4 +1,4 @@
{% assign words_per_minute = site.words_per_minute | default: 200 %}
{% assign words_per_minute = page.words_per_minute | default: site.words_per_minute | default: 200 %}
{% if post.read_time %}
{% assign words = post.content | strip_html | number_of_words %}
@@ -12,4 +12,4 @@
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 %}
+12 -1
View File
@@ -9,7 +9,7 @@
{% endfor %}
{% else %}
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
<script defer src="https://use.fontawesome.com/releases/v5.6.0/js/all.js" integrity="sha384-z9ZOvGHHo21RqN5De4rfJMoAxYpaVoiYhuJXPyVmSs8yn20IE3PmBM534CffwSJI" crossorigin="anonymous"></script>
<script src="https://kit.fontawesome.com/4eee35f757.js"></script>
{% endif %}
{% if site.search == true or page.layout == "search" %}
@@ -26,3 +26,14 @@
{% include analytics.html %}
{% include /comments-providers/scripts.html %}
{% if site.after_footer_scripts %}
{% for script in site.after_footer_scripts %}
{% if script contains "://" %}
{% capture script_path %}{{ script }}{% endcapture %}
{% else %}
{% capture script_path %}{{ script | relative_url }}{% endcapture %}
{% endif %}
<script src="{{ script_path }}"></script>
{% endfor %}
{% endif %}
+21 -13
View File
@@ -1,18 +1,26 @@
<div class="search-content__inner-wrap">
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- when "lunr" -%}
<input type="text" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
<div id="results" class="results"></div>
<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>
{%- when "google" -%}
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
<input type="text" id="cse-search-input-box-id" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
</form>
<div id="results" class="results">
<gcse:searchresults-only></gcse:searchresults-only>
</div>
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
<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>
<div id="results" class="results">
<gcse:searchresults-only></gcse:searchresults-only>
</div>
{%- when "algolia" -%}
<div class="search-searchbar"></div>
<div class="search-hits"></div>
{%- endcase -%}
<div class="search-searchbar"></div>
<div class="search-hits"></div>
{%- endcase -%}
</div>
+21 -24
View File
@@ -14,14 +14,18 @@
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
{%- endif -%}
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
{% if page.canonical_url %}
{%- assign canonical_url = page.canonical_url %}
{% else %}
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
{% endif %}
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
{%- 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 -%}
{%- 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 -%}
{%- if author.twitter -%}
@@ -65,7 +69,7 @@
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
<meta property="og:url" content="{{ canonical_url }}">
{% if page.excerpt %}
{% if seo_description %}
<meta property="og:description" content="{{ seo_description }}">
{% endif %}
@@ -123,28 +127,21 @@
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
{% endif %}
{% if site.og_image %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
<script type="application/ld+json">
{
"@context": "https://schema.org",
{% if site.social.type == "Organization" %}
"@type": "Organization",
"url": {{ seo_url | jsonify }},
"logo": {{ site_og_image | jsonify }}
}
</script>
{% endif %}
{% if site.social %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "{% if site.social.type %}{{ site.social.type }}{% else %}Person{% endif %}",
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
"logo": {{ site_og_image | jsonify }}{% endif %}
{% else %}
"@type": "Person",
"name": {{ site.social.name | default: site.name | jsonify }},
"url": {{ seo_url | jsonify }},
"sameAs": {{ site.social.links | jsonify }}
}
</script>
{% endif %}
"url": {{ '/' | absolute_url |jsonify }}{% if site.social.links %},
"sameAs": {{ site.social.links | jsonify }}{% endif %}
{% endif %}
}
</script>
{% if site.google_site_verification %}
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
+8
View File
@@ -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>
-2
View File
@@ -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://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>
</section>
+2 -2
View File
@@ -10,14 +10,14 @@
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}|{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign tag_hashes = page_tags | split: ',' | sort %}
<p class="page__taxonomy">
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
<span itemprop="keywords">
{% for hash in tag_hashes %}
{% assign keyValue = hash | split: '#' %}
{% assign keyValue = hash | split: '|' %}
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %}
+25 -14
View File
@@ -1,6 +1,6 @@
{% capture tocWorkspace %}
{% comment %}
Version 1.0.5
Version 1.0.8
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
@@ -9,20 +9,22 @@
{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
Parameters:
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
Optional Parameters:
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
* class (string) : '' - a CSS class assigned to the TOC
* id (string) : '' - an ID to assigned to the TOC
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
* item_class (string) : '' - add custom class 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
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
* class (string) : '' - a CSS class assigned to the TOC
* id (string) : '' - an ID to assigned to the TOC
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
* item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
* baseurl (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
* anchor_class (string) : '' - add custom class(es) for each anchor element
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 %}
{% capture my_toc %}{% endcapture %}
@@ -50,13 +52,21 @@
{% assign minHeader = headerLevel %}
{% endif %}
{% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
{% assign indentAmount = headerLevel | minus: minHeader %}
{% assign _workspace = node | split: '</h' %}
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
{% assign html_id = _idWorkspace[0] %}
{% assign _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 %}
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
@@ -69,8 +79,9 @@
{% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
{% endunless %}
{% capture heading_body %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
{% 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 %}
{% if include.class %}
@@ -82,4 +93,4 @@
{% capture my_toc %}{: #{{ include.id }}}
{{ my_toc | lstrip }}{% endcapture %}
{% endif %}
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
+16 -2
View File
@@ -3,13 +3,27 @@ layout: default
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">
{% include sidebar.html %}
<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 %}
{% include archive-single.html %}
{% endfor %}
</div>
</div>
</div>
+2 -2
View File
@@ -1,10 +1,10 @@
---
# Jekyll layout that compresses HTML
# v3.0.2
# v3.1.0
# http://jch.penibelst.de/
# © 2014–2015 Anatol Broder
# MIT License
---
{% 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 -3
View File
@@ -3,7 +3,7 @@
<!doctype html>
<!--
Minimal Mistakes Jekyll Theme 4.14.2 by Michael Rose
Minimal Mistakes Jekyll Theme 4.18.1 by Michael Rose
Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
Free for personal and commercial use under the MIT license
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
@@ -15,7 +15,7 @@
</head>
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
{% include_cached skip-links.html %}
{% include_cached browser-upgrade.html %}
{% include_cached masthead.html %}
@@ -29,7 +29,7 @@
</div>
{% endif %}
<div class="page__footer">
<div id="footer" class="page__footer">
<footer>
{% include footer/custom.html %}
{% include_cached footer.html %}
+7 -1
View File
@@ -6,7 +6,13 @@ layout: archive
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3>
{% for post in paginator.posts %}
{% if paginator %}
{% assign posts = paginator.posts %}
{% else %}
{% assign posts = site.posts %}
{% endif %}
{% for post in posts %}
{% include archive-single.html %}
{% endfor %}
+5 -5
View File
@@ -20,8 +20,8 @@ layout: default
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | 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_to_xmlschema }}">{% endif %}
<div class="page__inner-wrap">
{% unless page.header.overlay_color or page.header.overlay_image %}
@@ -37,7 +37,7 @@ layout: default
{% if page.toc %}
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
<nav class="toc">
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label }}</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" %}
</nav>
</aside>
@@ -52,9 +52,9 @@ layout: default
{% endif %}
{% include page__taxonomy.html %}
{% if page.last_modified_at %}
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: "%B %d, %Y" }}</time></p>
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time 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>
<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>
+2 -2
View File
@@ -12,8 +12,8 @@ layout: default
<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.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.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | 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_to_xmlschema }}">{% endif %}
<section class="page__content" itemprop="text">
{{ content }}
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Minimal Mistakes Jekyll Theme 4.14.2 by Michael Rose
* Minimal Mistakes Jekyll Theme 4.18.1 by Michael Rose
* Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE)
*/
+19 -2
View File
@@ -20,6 +20,15 @@
.archive__item {
position: relative;
a {
position: relative;
z-index: 10;
}
a[rel="permalink"] {
position: static;
}
}
.archive__subtitle {
@@ -41,7 +50,7 @@
overflow: hidden;
text-overflow: ellipsis;
a::before {
a[rel="permalink"]::before {
content: '';
position: absolute;
left: 0;
@@ -435,4 +444,12 @@
padding-right: 0;
}
}
}
}
/* Place inside a single layout */
.layout--single {
.feature__wrapper {
display: inline-block;
}
}
-1
View File
@@ -39,7 +39,6 @@
(info, $info-color),
(facebook, $facebook-color),
(twitter, $twitter-color),
(google-plus, $google-plus-color),
(linkedin, $linkedin-color);
@each $buttoncolor, $color in $buttoncolors {
-5
View File
@@ -9,11 +9,6 @@
margin-right: 0;
width: 100%;
clear: both;
/* sticky footer fix start */
position: absolute;
bottom: 0;
height: auto;
/* sticky footer fix end */
margin-top: 3em;
color: $muted-text-color;
-webkit-animation: $intro-transition;
+1 -1
View File
@@ -25,7 +25,7 @@ form {
}
p {
margin-bottom: 5px / 2;
margin-bottom: (5px / 2);
}
ul {
+10 -1
View File
@@ -26,7 +26,7 @@
font-family: $sans-serif-narrow;
@include breakpoint($x-large) {
max-width: $x-large;
max-width: $max-width;
}
nav {
@@ -39,6 +39,10 @@
}
}
.site-logo img {
max-height: 2rem;
}
.site-title {
display: -webkit-box;
display: -ms-flexbox;
@@ -49,6 +53,11 @@
z-index: 20;
}
.site-subtitle {
display: block;
font-size: $type-size-8;
}
.masthead__menu {
float: left;
margin-left: 0;
+10
View File
@@ -189,6 +189,11 @@
color: $masthead-link-color-hover;
}
&.site-logo {
margin-left: 0;
margin-right: 0.5rem;
}
&.site-title {
margin-left: 0;
}
@@ -507,6 +512,11 @@
border-top-left-radius: $border-radius;
border-top-right-radius: $border-radius;
}
// Scrollspy marks toc items as .active when they are in focus
.active a {
@include yiq-contrasted($active-color);
}
}
.toc__menu {
+5 -1
View File
@@ -56,6 +56,10 @@
background-color: mix(#fff, $notice-color, 95%)
}
pre code {
background-color: inherit;
}
ul {
&:last-child {
margin-bottom: 0; /* override*/
@@ -97,4 +101,4 @@
.notice--danger {
@include notice($danger-color);
}
}
+34 -1
View File
@@ -15,10 +15,26 @@
animation-delay: 0.15s;
@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 {
@include breakpoint($large) {
float: right;
@@ -72,6 +88,23 @@
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,
li,
dl {
+7 -1
View File
@@ -48,8 +48,13 @@
animation-delay: 0.15s;
@include breakpoint($x-large) {
max-width: $x-large;
max-width: $max-width;
}
}
&__form {
background-color: transparent;
}
.search-input {
@@ -119,6 +124,7 @@
font-style: normal;
text-decoration: underline;
}
.archive__item-excerpt .ais-Highlight {
color: $primary-color;
font-style: normal;
+25 -6
View File
@@ -103,6 +103,27 @@ body:hover .visually-hidden button {
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
========================================================================== */
@@ -228,16 +249,14 @@ body:hover .visually-hidden button {
color: $gitlab-color;
}
.fa-google-plus,
.fa-google-plus-square,
.fa-google-plus-g {
color: $google-plus-color;
}
.fa-instagram {
color: $instagram-color;
}
.fa-keybase {
color: $keybase-color;
}
.fa-lastfm,
.fa-lastfm-square {
color: $lastfm-color;
+3 -1
View File
@@ -68,6 +68,7 @@ $warning-color: #d67f05 !default;
$danger-color: #ee5f5b !default;
$info-color: #3b9cba !default;
$focus-color: $primary-color !default;
$active-color: mix(#fff, $primary-color, 80%) !default;
/* YIQ color contrast */
$yiq-contrasted-dark-default: $dark-gray !default;
@@ -84,8 +85,8 @@ $flickr-color: #ff0084 !default;
$foursquare-color: #0072b1 !default;
$github-color: #171516 !default;
$gitlab-color: #e24329 !default;
$google-plus-color: #dd4b39 !default;
$instagram-color: #517fa4 !default;
$keybase-color: #ef7639 !default;
$lastfm-color: #d51007 !default;
$linkedin-color: #007bb6 !default;
$mastodon-color: #2b90d9 !default;
@@ -136,6 +137,7 @@ $medium: 768px !default;
$medium-wide: 900px !default;
$large: 1024px !default;
$x-large: 1280px !default;
$max-width: $x-large !default;
/*
Grid
+50 -20
View File
@@ -3,24 +3,6 @@
========================================================================== */
$(document).ready(function() {
// Sticky footer
var bumpIt = function() {
$("body").css("margin-bottom", $(".page__footer").outerHeight(true));
},
didResize = false;
bumpIt();
$(window).resize(function() {
didResize = true;
});
setInterval(function() {
if (didResize) {
didResize = false;
bumpIt();
}
}, 250);
// FitVids init
$("#main").fitVids();
@@ -51,6 +33,16 @@ $(document).ready(function() {
$(".author__urls-wrapper button").toggleClass("open");
});
// Close search screen with Esc key
$(document).keyup(function(e) {
if (e.keyCode === 27) {
if ($(".initial-content").hasClass("is--hidden")) {
$(".search-content").toggleClass("is--visible");
$(".initial-content").toggleClass("is--hidden");
}
}
});
// Search toggle
$(".search__toggle").on("click", function() {
$(".search-content").toggleClass("is--visible");
@@ -61,8 +53,33 @@ $(document).ready(function() {
}, 400);
});
// init smooth scroll
$("a").smoothScroll({ offset: -20 });
// Smooth scrolling
var scroll = new SmoothScroll('a[href*="#"]', {
offset: 20,
speed: 400,
speedAsDuration: true,
durationMax: 500
});
// Gumshoe scroll spy init
if($("nav.toc").length > 0) {
var spy = new Gumshoe("nav.toc a", {
// Active classes
navClass: "active", // applied to the nav list item
contentClass: "active", // applied to the content
// Nested navigation
nested: false, // if true, add classes to parents of active link
nestedClass: "active", // applied to the parent items
// Offset & reflow
offset: 20, // how far from the top of the page to activate a content area
reflow: true, // if true, listen for reflows
// Event support
events: true // if true, emit custom events
});
}
// add lightbox class to all image links
$(
@@ -103,4 +120,17 @@ $(document).ready(function() {
closeOnContentClick: true,
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);
}
});
});
-2
View File
@@ -22,8 +22,6 @@ var idx = lunr(function () {
}
});
console.log( jQuery.type(idx) );
$(document).ready(function() {
$('input#search').on('keyup', function () {
var resultdiv = $('#results');
-2
View File
@@ -475,8 +475,6 @@ var idx = lunr(function () {
}
});
console.log( jQuery.type(idx) );
$(document).ready(function() {
$('input#search').on('keyup', function () {
var resultdiv = $('#results');
Vendored Regular → Executable
+6 -6
View File
File diff suppressed because one or more lines are too long
+484
View File
@@ -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;
}));
+252
View File
@@ -0,0 +1,252 @@
/*!
* jQuery throttle / debounce - v1.1 - 3/7/2010
* http://benalman.com/projects/jquery-throttle-debounce-plugin/
*
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
*/
// Script: jQuery throttle / debounce: Sometimes, less is more!
//
// *Version: 1.1, Last updated: 3/7/2010*
//
// Project Home - http://benalman.com/projects/jquery-throttle-debounce-plugin/
// GitHub - http://github.com/cowboy/jquery-throttle-debounce/
// Source - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.js
// (Minified) - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.min.js (0.7kb)
//
// About: License
//
// Copyright (c) 2010 "Cowboy" Ben Alman,
// Dual licensed under the MIT and GPL licenses.
// http://benalman.com/about/license/
//
// About: Examples
//
// These working examples, complete with fully commented code, illustrate a few
// ways in which this plugin can be used.
//
// Throttle - http://benalman.com/code/projects/jquery-throttle-debounce/examples/throttle/
// Debounce - http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/
//
// About: Support and Testing
//
// Information about what version or versions of jQuery this plugin has been
// tested with, what browsers it has been tested in, and where the unit tests
// reside (so you can test it yourself).
//
// jQuery Versions - none, 1.3.2, 1.4.2
// Browsers Tested - Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome 4-5, Opera 9.6-10.1.
// Unit Tests - http://benalman.com/code/projects/jquery-throttle-debounce/unit/
//
// About: Release History
//
// 1.1 - (3/7/2010) Fixed a bug in <jQuery.throttle> where trailing callbacks
// executed later than they should. Reworked a fair amount of internal
// logic as well.
// 1.0 - (3/6/2010) Initial release as a stand-alone project. Migrated over
// from jquery-misc repo v0.4 to jquery-throttle repo v1.0, added the
// no_trailing throttle parameter and debounce functionality.
//
// Topic: Note for non-jQuery users
//
// jQuery isn't actually required for this plugin, because nothing internal
// uses any jQuery methods or properties. jQuery is just used as a namespace
// under which these methods can exist.
//
// Since jQuery isn't actually required for this plugin, if jQuery doesn't exist
// when this plugin is loaded, the method described below will be created in
// the `Cowboy` namespace. Usage will be exactly the same, but instead of
// $.method() or jQuery.method(), you'll need to use Cowboy.method().
(function(window,undefined){
'$:nomunge'; // Used by YUI compressor.
// Since jQuery really isn't required for this plugin, use `jQuery` as the
// namespace only if it already exists, otherwise use the `Cowboy` namespace,
// creating it if necessary.
var $ = window.jQuery || window.Cowboy || ( window.Cowboy = {} ),
// Internal method reference.
jq_throttle;
// Method: jQuery.throttle
//
// Throttle execution of a function. Especially useful for rate limiting
// execution of handlers on events like resize and scroll. If you want to
// rate-limit execution of a function to a single time, see the
// <jQuery.debounce> method.
//
// In this visualization, | is a throttled-function call and X is the actual
// callback execution:
//
// > Throttled with `no_trailing` specified as false or unspecified:
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
// > X X X X X X X X X X X X
// >
// > Throttled with `no_trailing` specified as true:
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
// > X X X X X X X X X X
//
// Usage:
//
// > var throttled = jQuery.throttle( delay, [ no_trailing, ] callback );
// >
// > jQuery('selector').bind( 'someevent', throttled );
// > jQuery('selector').unbind( 'someevent', throttled );
//
// This also works in jQuery 1.4+:
//
// > jQuery('selector').bind( 'someevent', jQuery.throttle( delay, [ no_trailing, ] callback ) );
// > jQuery('selector').unbind( 'someevent', callback );
//
// Arguments:
//
// delay - (Number) A zero-or-greater delay in milliseconds. For event
// callbacks, values around 100 or 250 (or even higher) are most useful.
// no_trailing - (Boolean) Optional, defaults to false. If no_trailing is
// true, callback will only execute every `delay` milliseconds while the
// throttled-function is being called. If no_trailing is false or
// unspecified, callback will be executed one final time after the last
// throttled-function call. (After the throttled-function has not been
// called for `delay` milliseconds, the internal counter is reset)
// callback - (Function) A function to be executed after delay milliseconds.
// The `this` context and all arguments are passed through, as-is, to
// `callback` when the throttled-function is executed.
//
// Returns:
//
// (Function) A new, throttled, function.
$.throttle = jq_throttle = function( delay, no_trailing, callback, debounce_mode ) {
// After wrapper has stopped being called, this timeout ensures that
// `callback` is executed at the proper times in `throttle` and `end`
// debounce modes.
var timeout_id,
// Keep track of the last time `callback` was executed.
last_exec = 0;
// `no_trailing` defaults to falsy.
if ( typeof no_trailing !== 'boolean' ) {
debounce_mode = callback;
callback = no_trailing;
no_trailing = undefined;
}
// The `wrapper` function encapsulates all of the throttling / debouncing
// functionality and when executed will limit the rate at which `callback`
// is executed.
function wrapper() {
var that = this,
elapsed = +new Date() - last_exec,
args = arguments;
// Execute `callback` and update the `last_exec` timestamp.
function exec() {
last_exec = +new Date();
callback.apply( that, args );
};
// If `debounce_mode` is true (at_begin) this is used to clear the flag
// to allow future `callback` executions.
function clear() {
timeout_id = undefined;
};
if ( debounce_mode && !timeout_id ) {
// Since `wrapper` is being called for the first time and
// `debounce_mode` is true (at_begin), execute `callback`.
exec();
}
// Clear any existing timeout.
timeout_id && clearTimeout( timeout_id );
if ( debounce_mode === undefined && elapsed > delay ) {
// In throttle mode, if `delay` time has been exceeded, execute
// `callback`.
exec();
} else if ( no_trailing !== true ) {
// In trailing throttle mode, since `delay` time has not been
// exceeded, schedule `callback` to execute `delay` ms after most
// recent execution.
//
// If `debounce_mode` is true (at_begin), schedule `clear` to execute
// after `delay` ms.
//
// If `debounce_mode` is false (at end), schedule `callback` to
// execute after `delay` ms.
timeout_id = setTimeout( debounce_mode ? clear : exec, debounce_mode === undefined ? delay - elapsed : delay );
}
};
// Set the guid of `wrapper` function to the same of original callback, so
// it can be removed in jQuery 1.4+ .unbind or .die by using the original
// callback as a reference.
if ( $.guid ) {
wrapper.guid = callback.guid = callback.guid || $.guid++;
}
// Return the wrapper function.
return wrapper;
};
// Method: jQuery.debounce
//
// Debounce execution of a function. Debouncing, unlike throttling,
// guarantees that a function is only executed a single time, either at the
// very beginning of a series of calls, or at the very end. If you want to
// simply rate-limit execution of a function, see the <jQuery.throttle>
// method.
//
// In this visualization, | is a debounced-function call and X is the actual
// callback execution:
//
// > Debounced with `at_begin` specified as false or unspecified:
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
// > X X
// >
// > Debounced with `at_begin` specified as true:
// > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
// > X X
//
// Usage:
//
// > var debounced = jQuery.debounce( delay, [ at_begin, ] callback );
// >
// > jQuery('selector').bind( 'someevent', debounced );
// > jQuery('selector').unbind( 'someevent', debounced );
//
// This also works in jQuery 1.4+:
//
// > jQuery('selector').bind( 'someevent', jQuery.debounce( delay, [ at_begin, ] callback ) );
// > jQuery('selector').unbind( 'someevent', callback );
//
// Arguments:
//
// delay - (Number) A zero-or-greater delay in milliseconds. For event
// callbacks, values around 100 or 250 (or even higher) are most useful.
// at_begin - (Boolean) Optional, defaults to false. If at_begin is false or
// unspecified, callback will only be executed `delay` milliseconds after
// the last debounced-function call. If at_begin is true, callback will be
// executed only at the first debounced-function call. (After the
// throttled-function has not been called for `delay` milliseconds, the
// internal counter is reset)
// callback - (Function) A function to be executed after delay milliseconds.
// The `this` context and all arguments are passed through, as-is, to
// `callback` when the debounced-function is executed.
//
// Returns:
//
// (Function) A new, debounced, function.
$.debounce = function( delay, at_begin, callback ) {
return callback === undefined
? jq_throttle( delay, at_begin, false )
: jq_throttle( delay, callback, at_begin !== false );
};
})(this);
-9
View File
@@ -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});
+632
View File
@@ -0,0 +1,632 @@
/*!
* smooth-scroll v15.2.1
* Animate scrolling to anchor links
* (c) 2019 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 (settings) {
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);
// 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 the user prefers reduced motion
if (reduceMotion(settings)) return;
// Don't run if right-click or command/control + click
if (event.button !== 0 || event.metaKey || event.ctrlKey) 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 = escapeCharacters(toggle.hash);
// Get the anchored element
var anchor = settings.topOnEmptyHash && hash === '#' ? document.documentElement : 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
*/
smoothScroll.init = function (options) {
// 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
//
smoothScroll.init(options);
//
// Public APIs
//
return smoothScroll;
};
return SmoothScroll;
}));
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+9 -5
View File
@@ -13,16 +13,19 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
locale : "en-US"
title : "Minimal Mistakes"
title_separator : "-"
subtitle : "A Jekyll theme"
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."
url : https://mmistakes.github.io # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl : "/minimal-mistakes" # the subpath of your site, e.g. "/blog"
repository : "mmistakes/minimal-mistakes"
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
# breadcrumbs : false # true, false (default)
words_per_minute : 200
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:
shortname :
discourse:
@@ -34,6 +37,7 @@ comments:
colorscheme : # "light" (default), "dark"
utterances:
theme : # "github-light" (default), "github-dark"
issue_term : # "pathname" (default)
staticman:
allowedFields : # ['name', 'email', 'url', 'message']
branch : # "master"
@@ -90,7 +94,7 @@ social:
name : # If the user or organization name differs from the site's name
links: # An array of links to social media profiles
- "https://twitter.com/mmistakes"
- "https://facebook.com/michaelrose"
- "https://www.facebook.com/michaelrose"
# Analytics
analytics:
@@ -104,7 +108,7 @@ analytics:
author:
name : *name # *name is a YAML reference pointing to the &anchor earlier
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"
links:
- label: "Made Mistakes"
@@ -306,8 +310,8 @@ whitelist:
# - Archive page should exist at path when using Liquid method or you can
# expect broken links (especially with breadcrumbs enabled)
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path/my-awesome-category/index.html ~> path: /
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path>/my-awesome-category/index.html ~> path: /
category_archive:
type: liquid
path: /categories/
+17 -7
View File
@@ -2,17 +2,27 @@
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."
avatar : "/assets/images/bio-photo-2.jpg"
twitter : "extravagantman"
google_plus : "BillyRick"
links:
- 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:
name : "Cornelius Fiddlebone"
email : "cornelius@thewhip.com"
bio : "I ordered what?"
avatar : "/assets/images/bio-photo.jpg"
twitter : "rhymeswithsackit"
google_plus : "CorneliusFiddlebone"
links:
- 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
+7 -5
View File
@@ -2,7 +2,7 @@
title: "Quick-Start Guide"
permalink: /docs/quick-start-guide/
excerpt: "How to quickly install and setup Minimal Mistakes for use with GitHub Pages."
last_modified_at: 2018-11-25T22:21:33-05:00
last_modified_at: 2019-08-20T21:36:11-04:00
redirect_from:
- /theme-setup/
toc: true
@@ -12,7 +12,7 @@ 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.**
[![Support via PayPal](https://cdn.rawgit.com/twolfson/paypal-github-button/1.0.0/dist/button.svg)](https://www.paypal.me/mmistakes)
[![Support via PayPal](https://cdn.jsdelivr.net/gh/twolfson/paypal-github-button@1.0.0/dist/button.svg)](https://www.paypal.me/mmistakes)
## Installing the theme
@@ -74,10 +74,13 @@ To install as a remote theme:
bundle
```
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.14.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
4. Add `remote_theme: "mmistakes/minimal-mistakes@4.18.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.
**Looking for an example?** Fork the [Minimal Mistakes remote theme starter](https://github.com/mmistakes/mm-github-pages-starter) for the quickest method of getting a GitHub Pages hosted site up and running. 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).
@@ -135,8 +138,7 @@ Starting with an empty folder and `Gemfile` you'll need to copy or re-create thi
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.
However like all other bundled files, you'll need to create and edit these data files to customize them.
The bundled data files are:
You'll need to create and edit these data files to customize them:
- [`_data/ui-text.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_data/ui-text.yml) - UI text [documentation]({{ "/docs/ui-text/" | relative_url }})
- [`_data/navigation.yml`](https://github.com/mmistakes/minimal-mistakes/blob/master/_data/navigation.yml) - navigation [documentation]({{ "/docs/navigation/" | relative_url }})
+2 -4
View File
@@ -2,7 +2,7 @@
title: "Installation"
permalink: /docs/installation/
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
---
@@ -73,7 +73,7 @@ source "https://rubygems.org"
# To upgrade, run `bundle update`.
gem "jekyll", "~> 3.5"
gem "jekyll"
gem "minimal-mistakes-jekyll"
# The following plugins are automatically loaded by the theme-gem:
@@ -81,8 +81,6 @@ gem "minimal-mistakes-jekyll"
# gem "jekyll-sitemap"
# gem "jekyll-gist"
# gem "jekyll-feed"
# gem "jemoji"
# gem "jekyll-data"
# gem "jekyll-include-cache"
#
# If you have any other plugins, put them here!
+3 -3
View File
@@ -12,7 +12,7 @@ To check which version you are currently using, view the source of your built si
```
<!--
Minimal Mistakes Jekyll Theme 4.9.0 by Michael Rose
Minimal Mistakes Jekyll Theme 4.18.1 by Michael Rose
Copyright 2013-2018 Michael Rose - mademistakes.com | @mmistakes
Free for personal and commercial use under the MIT 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`:
```ruby
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "4.9.0"
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :tag => "4.18.1"
```
For more information on [installing gems from git repositories](http://bundler.io/v1.16/guides/git.html) consult Bundler's documentation.
## Remote theme
When setting `remote_theme: "mmistakes/minimal-mistakes@4.13.0"` 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.18.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).
+52 -9
View File
@@ -2,7 +2,7 @@
title: "Configuration"
permalink: /docs/configuration/
excerpt: "Settings for configuring and customizing the theme."
last_modified_at: 2018-11-25T19:42:42-05:00
last_modified_at: 2019-10-04T10:54:48-04:00
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".
{: .notice--warning}
### Site subtitle
A short tagline that appears below the title in site masthead.
_Example:_ `subtitle: "Version 2.0"`
### 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.
@@ -223,6 +229,27 @@ header:
<figcaption>Example of teaser images found in the related posts module.</figcaption>
</figure>
### Site masthead logo
To insert a logo before the site title, place a graphic in the `/assets/images/` directory and add the filename to `_config.yml`:
```yaml
logo: "/assets/images/88x88.png"
```
<figure>
<img src="{{ '/assets/images/mm-masthead-logo.png' | relative_url }}" alt="masthead with logo and custom title">
<figcaption>Example of masthead with logo and custom title.</figcaption>
</figure>
### Site masthead title
By default your site title is used in the masthead. You can override this text by adding the following to your `_config.yml`:
```yaml
masthead_title: "My Custom Title"
```
### Breadcrumb navigation (beta)
Enable breadcrumb links to help visitors better navigate deep sites. Because of the fragile method of implementing them they don't always produce accurate links reliably. For best results:
@@ -258,16 +285,21 @@ defaults:
To disable reading time for a post, add `read_time: false` 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
```
### 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 |
| ---------------- | ------------------------- |
| **disqus** | Disqus |
| **discourse** | Discourse |
| **facebook** | Facebook Comments |
| **google-plus** | Google+ Comments |
| **staticman_v2** | Staticman v2 |
| **staticman** | Staticman v1 (deprecated) |
| **utterances** | utterances |
@@ -349,6 +381,7 @@ comments:
provider: "utterances"
utterances:
theme: "github-light" # "github-dark"
issue_term: "pathname"
```
#### Static-based comments via Staticman
@@ -370,7 +403,19 @@ Transform user comments into `_data` files that live inside of your GitHub repos
###### Staticman v3
Due to the support for GitLab, the URL scheme has been changed. Bewteen `v3` and `/entry`, one needs to input a Git service provider (either `github` or `gitlab`). Apart from that, the setup for GitHub remains the same.
Due to the [support for GitLab](https://github.com/eduardoboucas/staticman/pull/219), the URL scheme has been changed. Between `v3/entry/` and `/{your Git username}`, one needs to input a Git service provider (either `github` or `gitlab`). For example
https://{your Staticman v3 API}/v3/entry/github/{your Git username}/{your repository name}/...
```yaml
# _config.yml (defaults)
repository : # Git username/repo-name e.g. "mmistakes/minimal-mistakes"
comments:
provider : "staticman_v2"
staticman:
branch : "master"
endpoint : https://{your Staticman v3 API}/v3/entry/github/
```
###### Staticman v2
@@ -644,7 +689,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.
**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}
##### Facebook Open Graph
@@ -764,7 +809,7 @@ Author links are all optional, include the ones you want visible under the `auth
author:
name: "Your Name"
avatar: "/assets/images/bio-photo.jpg"
bio: "I am an amazing person."
bio: "I am an **amazing** person." # Note: Markdown is allowed
location: "Somewhere"
links:
- label: "Made Mistakes"
@@ -822,7 +867,7 @@ Again nothing out of the ordinary here as the theme adheres to the defaults used
## 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.
@@ -911,14 +956,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-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. |
| [jemoji][jemoji] | GitHub-flavored emoji plugin for Jekyll. |
| [jekyll-include-cache][jekyll-include-cache] | Liquid tag that caches Liquid includes. |
[jekyll-paginate]: https://github.com/jekyll/jekyll-paginate
[jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
[jekyll-gist]: https://github.com/jekyll/jekyll-gist
[jekyll-feed]: https://github.com/jekyll/jekyll-feed
[jemoji]: https://github.com/jekyll/jemoji
[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.
+4 -1
View File
@@ -2,7 +2,7 @@
title: "UI Text"
permalink: /docs/ui-text/
excerpt: "Text for customizing user interface elements found in the theme."
last_modified_at: 2018-06-04T12:04:02-04:00
last_modified_at: 2019-08-27T15:45:54-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.
@@ -10,6 +10,7 @@ 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:
- Brazilian Portuguese (Português brasileiro)
- Catalan
- Chinese
- Danish
- Dutch
@@ -21,6 +22,7 @@ The English[^yaml-anchors] main keys in [`_data/ui-text.yml`](https://github.com
- Italian (Italiano)
- Korean
- Japanese
- Malayalam
- Nepali (Nepalese)
- Polish
- Persian (فارسی)
@@ -29,6 +31,7 @@ The English[^yaml-anchors] main keys in [`_data/ui-text.yml`](https://github.com
- Slovak
- Spanish (Español)
- Swedish
- Thai
- Turkish (Türkçe)
- Vietnamese
+22 -6
View File
@@ -7,7 +7,7 @@ single_layout_gallery:
alt: "single layout with header example"
- image_path: /assets/images/mm-layout-single-meta.png
alt: "single layout with comments and related posts"
last_modified_at: 2018-11-25T19:45:55-05:00
last_modified_at: 2020-01-07T13:14:09-05:00
toc: true
toc_label: "Included Layouts"
toc_icon: "columns"
@@ -65,6 +65,22 @@ Outputs:
<body class="layout--splash landing dark-theme">
```
### Canonical URL
You can set custom Canonical URL for a page by specifying `canonical_url` option in pages YAML Front Matter. For example, if you have the following:
```yaml
layout: single
title: Title of Your Post
canonical_url: "https://yoursite.com/custom-canonical-url"
```
This will generate the following in the `<head>` of your page:
```html
<link rel="canonical" href="https://yoursite.com/custom-canonical-url" />
```
## Compress layout
A Jekyll layout that compresses HTML in pure Liquid. To enable add `layout: compress` to `_layouts/default.html`.
@@ -411,6 +427,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)`. |
| **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. | |
| **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. | |
| **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. | |
@@ -531,7 +548,7 @@ To assign more author links, add to the `author.links` array in [`_config.yml`]
author:
name: "Your Name"
avatar: "/assets/images/bio-photo.jpg"
bio: "I am an amazing person."
bio: "I am an **amazing** person." # Note: Markdown is allowed
location: "Somewhere"
links:
- label: "Made Mistakes"
@@ -548,7 +565,7 @@ author:
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}
For example, to color a Reddit icon, simply add a `color` declaration and the corresponding hex code like so:
@@ -685,7 +702,7 @@ defaults:
## 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.
![default social share link buttons]({{ "/assets/images/mm-social-share-links-default.png" | relative_url }})
@@ -693,7 +710,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).
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
{% 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 %}
@@ -716,7 +733,6 @@ Under the `$social` color map in `assets/_scss/_buttons.scss` simply add a name
$social:
(facebook, $facebook-color),
(twitter, $twitter-color),
(google-plus, $google-plus-color),
(linkedin, $linkedin-color);
(reddit, #ff4500;)
```
+14 -1
View File
@@ -41,6 +41,19 @@ defaults:
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.
![portfolio collection example]({{ "/assets/images/mm-portfolio-collection-example.jpg" | relative_url }})
![portfolio collection example]({{ "/assets/images/mm-portfolio-collection-example.jpg" | relative_url }})
+3
View File
@@ -199,6 +199,9 @@ header:
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
To embed the following Vimeo video at url `https://vimeo.com/212731897` into a post or page's main content you'd use:
+12 -8
View File
@@ -2,7 +2,7 @@
title: "JavaScript"
permalink: /docs/javascript/
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).
@@ -12,15 +12,17 @@ minimal mistakes
├── assets
| ├── js
| | ├── plugins
| | | ├── jquery.fitvids.js # fluid width video embeds
| | | ├── jquery.greedy-navigation.js # priority plus navigation
| | | ├── jquery.magnific-popup.js # responsive lightbox
| | | └── jquery.smooth-scroll.min.js # make same-page links scroll smoothly
| | | ├── gumshoe.js # simple scrollspy
| | | ├── jquery.ba-throttle-debounce.js # rate-limit functions
| | | ├── jquery.fitvids.js # fluid width video embeds
| | | ├── jquery.greedy-navigation.js # priority plus navigation
| | | ├── jquery.magnific-popup.js # responsive lightbox
| | | └── smooth-scroll.js # make same-page links scroll smoothly
| | ├── vendor
| | | └── jquery
| | | └── jquery-3.3.1.min.js
| | ├── _main.js # jQuery plugin settings and other scripts
| | └── main.min.js # concatenated and minified scripts
| | | └── jquery-3.4.1.js
| | ├── _main.js # jQuery plugin settings and other scripts
| | └── main.min.js # concatenated and minified theme script
```
## Customizing
@@ -39,6 +41,8 @@ head_scripts:
- /assets/js/your-custom-head-script.js
footer_scripts:
- /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.
+209 -4
View File
@@ -1,13 +1,218 @@
---
title: "History"
classes: wide
permalink: /docs/history/
excerpt: "Change log of enhancements and bug fixes made to the theme."
sidebar:
nav: docs
last_modified_at: 2019-01-01T19:10:40-05:00
toc: true
last_modified_at: 2020-01-25T11:15:45-05:00
toc: false
---
## [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)
### Enhancements
- Close search overlay with <kbd>Esc</kbd>. [#2055](https://github.com/mmistakes/minimal-mistakes/pull/2055)
- Update Swedish localized UI text strings. [#2056](https://github.com/mmistakes/minimal-mistakes/pull/2056)
- Update Font Awesome to 5.7.1 and add `data-search-pseudo-elements` attribute. [#2053](https://github.com/mmistakes/minimal-mistakes/pull/2053)
- Add Malayalam localized UI text strings. [#2037](https://github.com/mmistakes/minimal-mistakes/pull/2037)
### Bug Fixes
- 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)
- Add empty `alt` attribute to `site.logo` image. [#2035](https://github.com/mmistakes/minimal-mistakes/pull/2035)
## [4.15.1](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.1)
### Bug Fixes
- Fix empty `<img>` when `site_logo` is not assigned. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026#issuecomment-454809876)
## [4.15.0](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.15.0)
### Enhancements
- Add logo and title customization to the masthead. [#2026](https://github.com/mmistakes/minimal-mistakes/pull/2026)
- Add support to customize `issue-term` for utterances comment provider. [#2022](https://github.com/mmistakes/minimal-mistakes/pull/2022)
- Allow custom canonical url on a page-by-page basis. [#2021](https://github.com/mmistakes/minimal-mistakes/pull/2021)
- Update table of contents navigation based on scroll position to indicate which link is currently active in the viewport. [#2020](https://github.com/mmistakes/minimal-mistakes/pull/2020)
- Clicking table of contents links changes URL has fragment. [#2019](https://github.com/mmistakes/minimal-mistakes/pull/2019) [#2023](https://github.com/mmistakes/minimal-mistakes/pull/2023)
## [4.14.2](https://github.com/mmistakes/minimal-mistakes/releases/tag/4.14.2)
### Enhancements
@@ -48,7 +253,7 @@ toc: true
- Add Punjabi localized UI text strings. [#1962](https://github.com/mmistakes/minimal-mistakes/pull/1962)
- Add Hindi localized UI text strings. [#1888](https://github.com/mmistakes/minimal-mistakes/pull/1888)
- Update Lunr to `2.3.3`. [#1885](https://github.com/mmistakes/minimal-mistakes/pull/1885)
- Cache "static" includes to improve build performance. **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. [#1874]
- Cache "static" includes to improve build performance. **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. [#1874](https://github.com/mmistakes/minimal-mistakes/pull/1874)
- Make entire feature and archive items "clickable". [#1864](https://github.com/mmistakes/minimal-mistakes/pull/1864)
- Allow custom Staticman endpoints. [#1842](https://github.com/mmistakes/minimal-mistakes/issues/1842)
- Remove `type="text/css"` from Algolia script includes. [#1836](https://github.com/mmistakes/minimal-mistakes/pull/1836)
@@ -92,7 +297,7 @@ toc: true
- 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)
- 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.
- Style archive links with appropriate link color.
- Adjust feature row spacing and font-sizes.
+2 -2
View File
@@ -3,7 +3,7 @@
<!doctype html>
<!--
Minimal Mistakes Jekyll Theme 4.14.2 by Michael Rose
Minimal Mistakes Jekyll Theme 4.18.1 by Michael Rose
Copyright 2013-2019 Michael Rose - mademistakes.com | @mmistakes
Free for personal and commercial use under the MIT license
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
@@ -15,7 +15,7 @@
</head>
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
{% include_cached skip-links.html %}
{% include browser-upgrade.html %}
{% include masthead.html %}
+3 -3
View File
@@ -12,7 +12,7 @@ layouts_gallery:
- url: /assets/images/mm-layout-archive.png
image_path: /assets/images/mm-layout-archive.png
alt: "archive layout example"
last_modified_at: 2018-11-21T14:49:33-05:00
last_modified_at: 2019-08-27T15:46:43-04:00
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).
- Optimized for search engines with support for [Twitter Cards](https://dev.twitter.com/cards/overview) and [Open Graph](http://ogp.me/) data
- Optional [header images](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#headers), [custom sidebars](https://mmistakes.github.io/minimal-mistakes/docs/layouts/#sidebars), [table of contents](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#table-of-contents), [galleries](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#gallery), related posts, [breadcrumb links](https://mmistakes.github.io/minimal-mistakes/docs/configuration/#breadcrumb-navigation-beta), [navigation lists](https://mmistakes.github.io/minimal-mistakes/docs/helpers/#navigation-list), and more.
- Commenting support (powered by [Disqus](https://disqus.com/), [Facebook](https://developers.facebook.com/docs/plugins/comments), Google+, [Discourse](https://www.discourse.org/), [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.
- 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, 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, 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, Thai, Turkish (Türkçe), and Vietnamese.
## Demo Pages
+1 -1
View File
@@ -9,7 +9,7 @@ header:
url: "/docs/quick-start-guide/"
excerpt: >
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.14.2">Latest release v4.14.2</a></small>
<small><a href="https://github.com/mmistakes/minimal-mistakes/releases/tag/4.18.1">Latest release v4.18.1</a></small>
feature_row:
- image_path: /assets/images/mm-customizable-feature.png
alt: "customizable"
@@ -19,10 +19,10 @@ Nested and mixed lists are an interesting beast. It's a corner case to make sure
1. ordered item
2. ordered item
* **unordered**
* **unordered**
1. ordered item
2. ordered item
* **unordered**
* **unordered**
1. ordered item
2. ordered item
3. ordered item
4. ordered item
@@ -30,10 +30,10 @@ Nested and mixed lists are an interesting beast. It's a corner case to make sure
1. ordered item
2. ordered item
* **unordered**
* **unordered**
* unordered item
* unordered item
* **unordered**
* **unordered**
* unordered item
* unordered item
3. ordered item
4. ordered item
@@ -43,8 +43,8 @@ Nested and mixed lists are an interesting beast. It's a corner case to make sure
* unordered item
1. ordered
2. ordered
* unordered item
* unordered item
* unordered item
* unordered item
* unordered item
* unordered item
@@ -57,4 +57,10 @@ Nested and mixed lists are an interesting beast. It's a corner case to make sure
1. **ordered item**
2. **ordered 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.
+10
View File
@@ -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.
{: .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.
{: .notice--info}
+1 -1
View File
@@ -7,4 +7,4 @@ tags:
- Post Formats
---
[![foo](https://farm5.staticflickr.com/4073/4939853213_33ffc0290b_b.jpg)](https://flic.kr/p/8ww3fZ)
[![foo](https://live.staticflickr.com/8361/8400335147_5fabaa504c_o.jpg)](https://flic.kr/p/dNiUYB)
@@ -1,7 +1,7 @@
---
title: "Layout: Header Image (External URL)"
header:
image: https://farm5.staticflickr.com/4140/4939863887_84705982fd_b.jpg
image: https://live.staticflickr.com/8084/8396909762_813a2b1829_h.jpg
categories:
- Layout
- Uncategorized
@@ -0,0 +1,28 @@
---
title: "Layout: Header Image Overlay with Custom Tagline"
tagline: "This is a custom tagline content which overrides the *default* page excerpt."
header:
overlay_image: /assets/images/unsplash-image-1.jpg
caption: "Photo credit: [**Unsplash**](https://unsplash.com)"
categories:
- Layout
- Uncategorized
tags:
- edge case
- image
- layout
last_modified_at: 2020-01-07T13:05:25-05:00
---
This post should display a **header with an overlay image** and **custom tagline**, if the theme supports it.
Non-square images can provide some unique styling issues.
This post tests overlay header images with custom `page.tagline`.
```yaml
tagline: "This is a custom tagline content which overrides the default page excerpt."
header:
overlay_image: /assets/images/unsplash-image-1.jpg
caption: "Photo credit: [**Unsplash**](https://unsplash.com)"
```
+2 -1
View File
@@ -1,5 +1,6 @@
---
title: "Layout: More Tag"
excerpt_separator: <!--more-->
categories:
- Layout
- Uncategorized
@@ -11,7 +12,7 @@ tags:
This content is before the [excerpt separator tag](http://jekyllrb.com/docs/posts/#post-excerpts).
Right after this sentence there should be a **continue reading** link of some sort in archive-index pages.
Additional content before the more tag.
<!--more-->
@@ -19,7 +19,7 @@ The image above happens to be **centered**.
![image-left]({{ site.url }}{{ site.baseurl }}/assets/images/image-alignment-150x150.jpg){: .align-left} The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is **left aligned**.
As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we'll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it's thing. Mission accomplished!
As you can see there should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we'll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it's thing. Mission accomplished!
And now for a **massively large image**. It also has **no alignment**.
@@ -49,7 +49,7 @@ The figure above happens to be **centered**. The caption also has a link in it,
The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is **left aligned**.
As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we'll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it's thing. Mission accomplished!
As you can see there should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we'll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it's thing. Mission accomplished!
And now for a **massively large image**. It also has **no alignment**.
@@ -56,7 +56,6 @@ group :jekyll_plugins do
gem "jekyll-sitemap"
gem "jekyll-gist"
gem "jekyll-feed"
gem "jemoji"
end
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

+5 -7
View File
@@ -2,7 +2,7 @@
Gem::Specification.new do |spec|
spec.name = "minimal-mistakes-jekyll"
spec.version = "4.14.2"
spec.version = "4.18.1"
spec.authors = ["Michael Rose"]
spec.summary = %q{A flexible two-column Jekyll theme.}
@@ -15,15 +15,13 @@ Gem::Specification.new do |spec|
f.match(%r{^(assets|_(data|includes|layouts|sass)/|(LICENSE|README|CHANGELOG)((\.(txt|md|markdown)|$)))}i)
end
spec.add_runtime_dependency "jekyll", "~> 3.7"
spec.add_runtime_dependency "jekyll", ">= 3.6", "< 5.0"
spec.add_runtime_dependency "jekyll-paginate", "~> 1.1"
spec.add_runtime_dependency "jekyll-sitemap", "~> 1.2"
spec.add_runtime_dependency "jekyll-sitemap", "~> 1.3"
spec.add_runtime_dependency "jekyll-gist", "~> 1.5"
spec.add_runtime_dependency "jekyll-feed", "~> 0.10"
spec.add_runtime_dependency "jekyll-data", "~> 1.0"
spec.add_runtime_dependency "jemoji", "~> 0.10"
spec.add_runtime_dependency "jekyll-feed", "~> 0.1"
spec.add_runtime_dependency "jekyll-include-cache", "~> 0.1"
spec.add_development_dependency "bundler", "~> 1.15"
spec.add_development_dependency "bundler"
spec.add_development_dependency "rake", "~> 10.0"
end
+154 -1828
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "minimal-mistakes",
"version": "4.14.2",
"version": "4.18.1",
"description": "Minimal Mistakes 2 column Jekyll theme.",
"repository": {
"type": "git",
@@ -22,11 +22,11 @@
},
"devDependencies": {
"npm-run-all": "^4.1.5",
"onchange": "^5.1.3",
"onchange": "^6.0.0",
"uglify-js": "^3.4.9"
},
"scripts": {
"uglify": "uglifyjs assets/js/vendor/jquery/jquery-3.3.1.min.js assets/js/plugins/jquery.fitvids.js assets/js/plugins/jquery.greedy-navigation.js assets/js/plugins/jquery.magnific-popup.js assets/js/plugins/jquery.smooth-scroll.min.js assets/js/_main.js -c -m -o assets/js/main.min.js",
"uglify": "uglifyjs assets/js/vendor/jquery/jquery-3.4.1.js assets/js/plugins/jquery.fitvids.js assets/js/plugins/jquery.greedy-navigation.js assets/js/plugins/jquery.magnific-popup.js assets/js/plugins/jquery.ba-throttle-debounce.js assets/js/plugins/smooth-scroll.js assets/js/plugins/gumshoe.js assets/js/_main.js -c -m -o assets/js/main.min.js",
"add-banner": "node banner.js",
"watch:js": "onchange \"assets/js/**/*.js\" -e \"assets/js/main.min.js\" -- npm run build:js",
"build:js": "npm run uglify && npm run add-banner"
-1
View File
@@ -2,7 +2,6 @@ source "https://rubygems.org"
# use local theme gem for testing
gem "minimal-mistakes-jekyll", path: "../"
group :jekyll_plugins do
gem 'jekyll-algolia', '~> 1.0'
end
+12 -8
View File
@@ -10,18 +10,21 @@ minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt"
# Site Settings
locale : "en-US"
title : "Minimal Mistakes Development Test Site"
title : "Minimal Mistakes"
title_separator : "-"
subtitle : "Development Test Site"
name : "Your Name"
description : "Minimal Mistakes theme test."
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
baseurl : "/test"
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
logo : "/assets/images/apple-touch-icon.png" # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
masthead_title : "Custom Title" # overrides the website title displayed in the masthead, use " " for no title
# breadcrumbs : false # true, false (default)
words_per_minute : 200
comments:
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "utterances", "custom"
provider : # false (default), "disqus", "discourse", "facebook", "staticman", "utterances", "custom"
disqus:
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
discourse:
@@ -33,6 +36,7 @@ comments:
colorscheme : # "light" (default), "dark"
utterances:
theme : # "github-light" (default), "github-dark"
issue_term : # "pathname" (default)
staticman:
allowedFields : ['name', 'email', 'url', 'message']
branch : # "master", "gh-pages"
@@ -54,7 +58,7 @@ atom_feed:
path : # blank (default) uses feed.xml
search : true # true, false (default)
search_full_content : true # true, false (default)
search_provider : "algolia"
search_provider : "lunr"
algolia:
application_id : "QB6HVGBSBA"
index_name : "dev_minimal-mistakes"
@@ -80,6 +84,8 @@ social:
type : # Person or Organization (defaults to Person)
name : # If the user or organization name differs from the site's name
links: # An array of links to social media profiles
- https://twitter.com/
- https://github.com/
# Analytics
analytics:
@@ -92,7 +98,7 @@ analytics:
author:
name : "Your Name"
avatar : "/assets/images/bio-photo.jpg"
bio : "I am an amazing person."
bio : "I am an **amazing** person."
location : "Somewhere"
links:
- label: "Your Website"
@@ -201,7 +207,6 @@ plugins:
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
- jekyll-include-cache
# mimic GitHub Pages with --safe
@@ -210,7 +215,6 @@ whitelist:
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
- jekyll-include-cache
@@ -222,8 +226,8 @@ whitelist:
# - Archive page should exist at path when using Liquid method or you can
# expect broken links (especially with breadcrumbs enabled)
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path/my-awesome-category/index.html ~> path: /
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path>/my-awesome-category/index.html ~> path: /
category_archive:
type: liquid
path: /categories/
+1 -1
View File
@@ -1,6 +1,6 @@
---
title: "Posts by Category"
layout: categories
permalink: /categories-archive/
permalink: /categories/
author_profile: true
---
+1 -1
View File
@@ -1,6 +1,6 @@
---
title: "Posts by Tag"
permalink: /tags-archive/
permalink: /tags/
layout: tags
author_profile: true
---
@@ -57,4 +57,12 @@ Nested and mixed lists are an interesting beast. It's a corner case to make sure
1. **ordered item**
2. **ordered item**
* unordered item
* unordered item
* unordered item
### Task Lists
- [x] Finish my changes
- [ ] Push my commits to GitHub
- [ ] Open a pull request
- [ ] Follow discussions
- [x] Push new commits
@@ -44,6 +44,8 @@ tags:
- Unseen
- video
- YouTube
- U:R:COOL
- C#
---
This post has many tags.
@@ -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.
+10
View File
@@ -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.
{: .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.
{: .notice--info}
+1 -1
View File
@@ -7,4 +7,4 @@ tags:
- Post Formats
---
[![foo](https://farm5.staticflickr.com/4073/4939853213_33ffc0290b_b.jpg)](https://flic.kr/p/8ww3fZ)
[![foo](https://live.staticflickr.com/8361/8400335147_5fabaa504c_o.jpg)](https://flic.kr/p/dNiUYB)
@@ -1,7 +1,7 @@
---
title: "Layout: Header Image (External URL)"
header:
image: https://farm5.staticflickr.com/4140/4939863887_84705982fd_b.jpg
image: https://live.staticflickr.com/8084/8396909762_813a2b1829_h.jpg
categories:
- Layout
- Uncategorized
@@ -0,0 +1,28 @@
---
title: "Layout: Header Image Overlay with Custom Tagline"
tagline: "This is a custom tagline content which overrides the *default* page excerpt."
header:
overlay_image: /assets/images/unsplash-image-1.jpg
caption: "Photo credit: [**Unsplash**](https://unsplash.com)"
categories:
- Layout
- Uncategorized
tags:
- edge case
- image
- layout
last_modified_at: 2020-01-07T13:05:25-05:00
---
This post should display a **header with an overlay image** and **custom tagline**, if the theme supports it.
Non-square images can provide some unique styling issues.
This post tests overlay header images with custom `page.tagline`.
```yaml
tagline: "This is a custom tagline content which overrides the default page excerpt."
header:
overlay_image: /assets/images/unsplash-image-1.jpg
caption: "Photo credit: [**Unsplash**](https://unsplash.com)"
```
+2 -1
View File
@@ -1,5 +1,6 @@
---
title: "Layout: More Tag"
excerpt_separator: <!--more-->
categories:
- Layout
- Uncategorized
@@ -11,7 +12,7 @@ tags:
This content is before the [excerpt separator tag](http://jekyllrb.com/docs/posts/#post-excerpts).
Right after this sentence there should be a **continue reading** link of some sort in archive-index pages.
Additional content before the more tag.
<!--more-->
+3 -1
View File
@@ -10,7 +10,9 @@ tags:
You'll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in [many different ways](https://jekyllrb.com/docs/usage/), but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
To add new posts, simply add a file in the `_posts`[^posts] directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
[^posts]: Footnote test.
Jekyll also offers powerful support for code snippets:
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB