treewide: import snapshot of minimal mistakes 4.24.0 and guide-specific changes

Guide_3DS@4de4c0b4ba894ce6a0fa7662d951d55cf42fbe56
This commit is contained in:
lifehackerhansol 2023-09-28 19:03:51 -07:00
parent 78db1b4ea9
commit 4e7fce4b19
No known key found for this signature in database
GPG key ID: 80FB184AFC0B3B0E
144 changed files with 20707 additions and 4019 deletions

View file

@ -1,3 +0,0 @@
---
BUNDLE_PATH: "vendor/bundle"
BUNDLE_DISABLE_SHARED_GEMS: "true"

4
.gitattributes vendored
View file

@ -4,3 +4,7 @@ assets/js/lunr/* linguist-vendored
assets/js/plugins/* linguist-vendored assets/js/plugins/* linguist-vendored
assets/js/vendor/* linguist-vendored assets/js/vendor/* linguist-vendored
_sass/minimal-mistakes/vendor/* linguist-vendored _sass/minimal-mistakes/vendor/* linguist-vendored
CHANGELOG.md text merge=union
docs/_docs/18-history.md text merge=union
*.md text

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Some issue with your console after/during following the guide?
url: https://discord.gg/MWxPgEp
about: "Please join the Nintendo Homebrew Discord server to for support-related questions"

12
.github/ISSUE_TEMPLATE/guide-issue.md vendored Normal file
View file

@ -0,0 +1,12 @@
---
name: Guide Issue
about: Did you find some issue with the guide?
---
**Pages with issue(s)**
<!--Links to the page(s) with the issue(s).-->
**Description of the issue(s)**
<!--Describe the issue(s) with the page(s) above.-->

3
.github/pull_request_template.md vendored Normal file
View file

@ -0,0 +1,3 @@
**Description**
<!--What does this pull request do? Why is it needed?-->

40
.github/workflows/publish.yml vendored Normal file
View file

@ -0,0 +1,40 @@
name: Deploy site
on:
push:
branches: [ master ]
workflow_dispatch:
jobs:
doc-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
- name: Install dependencies
run: bundle install
- name: Run Jekyll
# Build the site using Jekyll
run: JEKYLL_ENV=production bundle exec jekyll build
# Copy (or touch) other needed files
# .nojekyll: to tell GH Pages to not rebuild (lol)
# CNAME: to tell GH Pages about the domain name
- name: Post-Jekyll build copy files
run: |
touch _site/.nojekyll
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4.4.1
with:
branch: gh-pages # The branch the action should deploy to.
folder: _site # The folder the action should deploy.
clean: true # Automatically remove deleted files from the deploy branch

24
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,24 @@
name: Test site build
on:
pull_request:
jobs:
doc-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
- name: Install dependencies
run: bundle install
- name: Run Jekyll
# Build the site using Jekyll
run: JEKYLL_ENV=production bundle exec jekyll build

30
.gitignore vendored
View file

@ -1,17 +1,29 @@
*.gem # Vim
*~
*.sw[p_]
# Sublime Text
*.sublime-project *.sublime-project
*.sublime-workspace *.sublime-workspace
# Ruby Gem
*.gem
.bundle .bundle
Gemfile.lock
**/vendor/bundle
# Node.js and NPM
node_modules
npm-debug.log*
package-lock.json
codekit-config.json
# macOS
.DS_Store .DS_Store
.jekyll-metadata
# Jekyll generated files
.jekyll-cache .jekyll-cache
.jekyll-metadata
.sass-cache .sass-cache
_asset_bundler_cache _asset_bundler_cache
_site _site
codekit-config.json
example/_site
node_modules
npm-debug.log*
/vendor
/.idea
Gemfile.lock

View file

@ -1,10 +1,2 @@
source "https://rubygems.org" source "https://rubygems.org"
gem "jekyll", "~> 3.9"
gem "jekyll-sitemap", "~> 1.4"
gem "jekyll-gist", "~> 1.5"
gem "jekyll-feed", "~> 0.16.0"
gem "jekyll-data", "~> 1.1"
gem "kramdown-parser-gfm", "~> 1.1"
gem "webrick", "~> 1.7"
gemspec gemspec

View file

@ -1,6 +1,10 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2017 Michael Rose Copyright (c) 2013-2020 Michael Rose and contributors
Copyright (c) 2016-2017 Plailect
Copyright (c) 2017-2023 RiiConnect24
Copyright (c) 2023 Nintendo Homebrew
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View file

@ -1,48 +0,0 @@
# Wii Guide
[![License](https://img.shields.io/github/license/riiconnect24/wii-guide.svg?style=flat-square)](LICENSE.txt)
![Production List](https://img.shields.io/discord/206934458954153984.svg?style=flat-square)
Wii.guide is the complete guide to modding your Nintendo Wii console.
We're here to help people installing Homebrew Channel and many other mods to their consoles, allowing for doing pretty much anything with your console.
The site: [wii.guide](https://wii.guide)
## Would you like to contribute?
You can translate the site by using Crowdin, a site created to translate projects.
You can join here: [Wii.guide's Crowdin Page](https://crowdin.com/project/wii-guide)
## Running Wii-Guide locally
### Installing on Windows:
1. Download the latest RubyInstaller **with devkit** from <https://rubyinstaller.org/downloads/>
1. Run the installer and on the last screen make sure to have the `ridk install` step _checked_
1. A command prompt window should appear, choose the number for `MSYS2 and MINGW development tool chain` and press enter.
1. Open a new command prompt window then continue to Running Jekyll
### Installing on Linux:
1. Install Ruby with `sudo apt install ruby ruby-dev build-essentials git -y` (Or your package manager equivalent)
1. Run `gem install jekyll bundler`
1. Continue to Running Jekyll
### Running Jekyll:
1. Please follow the installation steps for your platform if you haven't in the past
1. Navigate to a directory for git to create the Wii-Guide folder in
1. Run `git clone https://github.com/RiiConnect24/Wii-Guide` (Or the url of the fork you want to clone)
1. If you want to use another branch, now run `git checkout <branch-name>`
1. Next run `bundle install`
1. Finally, run `bundle exec jekyll serve --incremental`
1. Navigate to https://localhost:4000, your server should be running!
### Notes:
- From now on you can just run `bundle exec jekyll serve --incremental` from the Wii-Guide directory
- When (re)cloning a repository or updating the `Gemfile` file, run `bundle install` first
- If a page isn't updating correctly after making local changes, try removing the `--incremental` argument first
- You can also hard refresh the website with `Ctrl + Shift + R` usually
- If this doesn't help close your web browser entirely (All windows!) and try again
- Making a change to a file will regenerate the local webview automatically if jekyll is running

View file

@ -5,23 +5,33 @@
# For technical reasons, this file is *NOT* reloaded automatically when you use # For technical reasons, this file is *NOT* reloaded automatically when you use
# `jekyll serve`. If you change this file, please restart the server process. # `jekyll serve`. If you change this file, please restart the server process.
minimal_mistakes_skin : "nord" # Theme Settings
#
# Review documentation to determine if you should use `theme` or `remote_theme`
# https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/#installing-the-theme
# theme : "minimal-mistakes-jekyll"
# remote_theme : "mmistakes/minimal-mistakes"
minimal_mistakes_skin : "nord" # "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
# Site Settings # Site Settings
locale : "en-US" locale : "en-US"
title : "Wii Guide" title : "Wii Hacks Guide"
title_separator : "-" title_separator : "-"
name : "RiiConnect24" subtitle : # site tagline that appears below site title in masthead
description : "Wii modding guide" name : "Nintendo Homebrew"
url : "https://wii.guide" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io" description : "A complete guide to Wii custom firmware"
enforce_ssl : "wii.guide" url : "https://wii.hacks.guide" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
enforce_ssl : "wii.hacks.guide"
baseurl : # the subpath of your site, e.g. "/blog" baseurl : # the subpath of your site, e.g. "/blog"
repository : "RiiConnect24/Wii-Guide" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes" repository : "hacks-guide/Guide_Wii" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
teaser : # filename of teaser fallback teaser image placed in /images/, .e.g. "500x300.png" teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
breadcrumbs : # true, false (default) 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 words_per_minute : 200
comments: comments:
provider : # false (default), "disqus", "discourse", "facebook", "google-plus", "staticman", "custom" provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "giscus", "custom"
disqus: disqus:
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname- shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
discourse: discourse:
@ -31,36 +41,47 @@ comments:
appid : appid :
num_posts : # 5 (default) num_posts : # 5 (default)
colorscheme : # "light" (default), "dark" colorscheme : # "light" (default), "dark"
staticman: utterances:
allowedFields : ['name', 'email', 'url', 'message'] theme : # "github-light" (default), "github-dark"
branch : "master" issue_term : # "pathname" (default)
commitMessage : "New comment." giscus:
filename : comment-{@timestamp} repo_id : # Shown during giscus setup at https://giscus.app
format : "yml" category_name : # Full text name of the category
moderation : true category_id : # Shown during giscus setup at https://giscus.app
path : "_data/comments/{options.slug}" discussion_term : # "pathname" (default), "url", "title", "og:title"
requiredFields : ['name', 'email', 'message'] reactions_enabled : # '1' for enabled (default), '0' for disabled
transforms: theme : # "light" (default), "dark", "dark_dimmed", "transparent_dark", "preferred_color_scheme"
email : "md5" staticman:
generatedFields: branch : # "master"
date: endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
type : "date" reCaptcha:
options: siteKey :
format : "iso8601" # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds" secret :
atom_feed: atom_feed:
path : # blank (default) uses feed.xml path : # blank (default) uses feed.xml
hide : # true, false (default)
search : # true, false (default)
search_full_content : # true, false (default)
search_provider : # lunr (default), algolia, google
algolia:
application_id : # YOUR_APPLICATION_ID
index_name : # YOUR_INDEX_NAME
search_only_api_key : # YOUR_SEARCH_ONLY_API_KEY
powered_by : # true (default), false
google:
search_engine_id : # YOUR_SEARCH_ENGINE_ID
instant_search : # false (default), true
# SEO Related # SEO Related
google_site_verification : NJHNJQvHO4NNbW_2IYtDhRIfX5-4kUpwkxsmVfM7S34 google_site_verification :
bing_site_verification : 229FBDF9FE2F1A36CEDFAB9F171C6A4E bing_site_verification :
alexa_site_verification :
yandex_site_verification : yandex_site_verification :
naver_site_verification :
# Social Sharing # Social Sharing
twitter: twitter:
username : "RiiConnect24" username :
facebook: facebook:
username : "RiiConnect24" username :
app_id : app_id :
publisher : publisher :
og_image : # Open Graph/Twitter default site image og_image : # Open Graph/Twitter default site image
@ -73,41 +94,60 @@ social:
# Analytics # Analytics
analytics: analytics:
provider : "google-universal" # false (default), "google", "google-universal", "custom" provider : # false (default), "google", "google-universal", "google-gtag", "custom"
google: google:
tracking_id : "UA-72766480-5" tracking_id :
anonymize_ip : # true, false (default)
# Site Author # Site Author
author: author:
name : "RiiConnect24" name : "Nintendo Homebrew"
avatar : "bio-photo.png" avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
bio : "WiiConnect24 replacement" bio : "Nintendo Homebrew Community"
location : "United States" location : "Nullsec"
email : "support@riiconnect24.net" email :
uri : "https://rc24.xyz" links:
bitbucket : # - label: "Email"
codepen : # icon: "fas fa-fw fa-envelope-square"
dribbble : # url: "mailto:your.name@email.com"
flickr : # - label: "Website"
facebook : "RiiConnect24" # icon: "fas fa-fw fa-link"
foursquare : # url: "https://your-website.com"
github : "RiiConnect24" # - label: "Twitter"
google_plus : "RiiConnect24" # icon: "fab fa-fw fa-twitter-square"
keybase : # url: "https://twitter.com/"
instagram : "RiiConnect24" # - label: "Facebook"
lastfm : # icon: "fab fa-fw fa-facebook-square"
linkedin : # url: "https://facebook.com/"
pinterest : - label: "GitHub"
soundcloud : icon: "fab fa-fw fa-github"
stackoverflow : # "123456/username" (the last part of your profile url, e.g. http://stackoverflow.com/users/123456/username) url: "https://github.com/hacks-guide/Guide_Wii"
steam : # - label: "Instagram"
tumblr : # icon: "fab fa-fw fa-instagram"
twitter : "RiiConnect24" # url: "https://instagram.com/"
vine :
weibo : # Site Footer
xing : footer:
youtube : "RiiConnect24" links:
# - label: "Twitter"
# icon: "fab fa-fw fa-twitter-square"
# url:
# - label: "Facebook"
# icon: "fab fa-fw fa-facebook-square"
# url:
- label: "GitHub"
icon: "fab fa-fw fa-github"
url: "https://github.com/hacks-guide/Guide_Wii"
# - label: "GitLab"
# icon: "fab fa-fw fa-gitlab"
# url:
# - label: "Bitbucket"
# icon: "fab fa-fw fa-bitbucket"
# url:
# - label: "Instagram"
# icon: "fab fa-fw fa-instagram"
# url:
# Reading Files # Reading Files
@ -126,6 +166,7 @@ exclude: [
assets/js/plugins, assets/js/plugins,
assets/js/_main.js, assets/js/_main.js,
assets/js/vendor, assets/js/vendor,
banner.js,
Capfile, Capfile,
CHANGELOG, CHANGELOG,
config, config,
@ -134,20 +175,30 @@ exclude: [
gulpfile.js, gulpfile.js,
LICENSE, LICENSE,
log, log,
minimal-mistakes-jekyll.gemspec,
node_modules, node_modules,
package.json, package.json,
package-lock.json,
Rakefile, Rakefile,
README, README,
tmp, crowdin.yaml,
staticman.yml,
_pages/af_ZA,
_pages/ar_SA,
_pages/ca_ES, _pages/ca_ES,
_pages/cs_CZ, _pages/cs_CZ,
_pages/da_DK, _pages/da_DK,
# _pages/de_DE, # _pages/de_DE,
_ pages/el_GR, _pages/el_GR,
# _pages/en_US,
_pages/es_419,
_pages/es_EM,
# _pages/es_ES, # _pages/es_ES,
_pages/es_MX,
_pages/fi_FI, _pages/fi_FI,
# _pages/fr_FR, # _pages/fr_FR,
_pages/he_IL, _pages/he_IL,
_pages/hu_HU,
# _pages/it_IT, # _pages/it_IT,
_pages/ja_JP, _pages/ja_JP,
# _pages/ko_KR, # _pages/ko_KR,
@ -156,11 +207,15 @@ exclude: [
# _pages/pl_PL, # _pages/pl_PL,
_pages/pt_BR, _pages/pt_BR,
_pages/pt_PT, _pages/pt_PT,
_pages/ro_RO,
_pages/ru_RU, _pages/ru_RU,
_pages/sr_SP,
_pages/sv_SE, _pages/sv_SE,
# _pages/tr_TR, # _pages/tr_TR,
_pages/uk_UA,
_pages/vi_VN,
# _pages/zh_CN, # _pages/zh_CN,
_pages/zh_TW _pages/zh_TW,
] ]
keep_files: keep_files:
@ -193,19 +248,31 @@ kramdown:
# Sass/SCSS # Sass/SCSS
sass: sass:
sass_dir: _sass sass_dir: _sass
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style style: compressed # https://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
# Plugins
# Outputting
# permalink: /:categories/:title/
# paginate: 5 # amount of posts to show
# paginate_path: /page:num/
# timezone: # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# Plugins (previously gems:)
plugins: plugins:
- jekyll-paginate
- jekyll-sitemap - jekyll-sitemap
- jekyll-gist - jekyll-gist
- jekyll-feed - jekyll-feed
- jekyll-include-cache
# mimic GitHub Pages with --safe # mimic GitHub Pages with --safe
whitelist: whitelist:
- jekyll-paginate
- jekyll-sitemap - jekyll-sitemap
- jekyll-gist - jekyll-gist
- jekyll-feed - jekyll-feed
- jekyll-include-cache
# Archives # Archives
@ -216,8 +283,8 @@ whitelist:
# - Archive page should exist at path when using Liquid method or you can # - Archive page should exist at path when using Liquid method or you can
# expect broken links (especially with breadcrumbs enabled) # expect broken links (especially with breadcrumbs enabled)
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/ # - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
# - <base_path/categories/my-awesome-category/index.html ~> path: /categories/ # - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path/my-awesome-category/index.html ~> path: / # - <base_path>/my-awesome-category/index.html ~> path: /
category_archive: category_archive:
type: liquid type: liquid
path: /categories/ path: /categories/
@ -238,12 +305,13 @@ tag_archive:
# HTML Compression # HTML Compression
# - http://jch.penibelst.de/ # - https://jch.penibelst.de/
compress_html: compress_html:
clippings: all clippings: all
ignore: ignore:
envs: development envs: development
# Defaults # Defaults
defaults: defaults:
# _pages # _pages
@ -296,18 +364,18 @@ defaults:
values: values:
permalink: /el_GR/:basename:output_ext permalink: /el_GR/:basename:output_ext
lang: el lang: el
- scope:
path: "_pages/en_PT"
type: pages
values:
permalink: /en_PT/:basename:output_ext
lang: en-PT
- scope: - scope:
path: "_pages/en_US" path: "_pages/en_US"
type: pages type: pages
values: values:
permalink: /:basename:output_ext permalink: /:basename:output_ext
lang: en lang: en
- scope:
path: "_pages/es_MX"
type: pages
values:
permalink: /es_MX/:basename:output_ext
lang: es_MX
- scope: - scope:
path: "_pages/es_ES" path: "_pages/es_ES"
type: pages type: pages
@ -338,12 +406,6 @@ defaults:
values: values:
permalink: /hu_HU/:basename:output_ext permalink: /hu_HU/:basename:output_ext
lang: hu lang: hu
- scope:
path: "_pages/id_ID"
type: pages
values:
permalink: /id_ID/:basename:output_ext
lang: id
- scope: - scope:
path: "_pages/it_IT" path: "_pages/it_IT"
type: pages type: pages
@ -363,35 +425,23 @@ defaults:
permalink: /ko_KR/:basename:output_ext permalink: /ko_KR/:basename:output_ext
lang: ko lang: ko
- scope: - scope:
path: "_pages/ms_MY" path: "_pages/nl_NL"
type: pages type: pages
values: values:
permalink: /ms_MY/:basename:output_ext permalink: /nl_NL/:basename:output_ext
lang: ms lang: nl
- scope: - scope:
path: "_pages/no_NO" path: "_pages/no_NO"
type: pages type: pages
values: values:
permalink: /no_NO/:basename:output_ext permalink: /no_NO/:basename:output_ext
lang: no-NO lang: no-NO
- scope:
path: "_pages/nl_NL"
type: pages
values:
permalink: /nl_NL/:basename:output_ext
lang: nl
- scope: - scope:
path: "_pages/pl_PL" path: "_pages/pl_PL"
type: pages type: pages
values: values:
permalink: /pl_PL/:basename:output_ext permalink: /pl_PL/:basename:output_ext
lang: pl lang: pl
- scope:
path: "_pages/es_MX"
type: pages
values:
permalink: /es_MX/:basename:output_ext
lang: es_MX
- scope: - scope:
path: "_pages/pt_BR" path: "_pages/pt_BR"
type: pages type: pages
@ -428,12 +478,6 @@ defaults:
values: values:
permalink: /sv_SE/:basename:output_ext permalink: /sv_SE/:basename:output_ext
lang: sv lang: sv
- scope:
path: "_pages/th_TH"
type: pages
values:
permalink: /th_TH/:basename:output_ext
lang: th
- scope: - scope:
path: "_pages/tr_TR" path: "_pages/tr_TR"
type: pages type: pages
@ -499,11 +543,6 @@ defaults:
type: pages type: pages
values: values:
permalink: /el_GR/index:output_ext permalink: /el_GR/index:output_ext
- scope:
path: "_pages/en_PT/home.md"
type: pages
values:
permalink: /en_PT/index:output_ext
- scope: - scope:
path: "_pages/en_US/home.md" path: "_pages/en_US/home.md"
type: pages type: pages
@ -514,6 +553,11 @@ defaults:
type: pages type: pages
values: values:
permalink: /es_ES/index:output_ext permalink: /es_ES/index:output_ext
- scope:
path: "_pages/es_MX/home.md"
type: pages
values:
permalink: /es_MX/index:output_ext
- scope: - scope:
path: "_pages/fi_FI/home.md" path: "_pages/fi_FI/home.md"
type: pages type: pages
@ -534,11 +578,6 @@ defaults:
type: pages type: pages
values: values:
permalink: /hu_HU/index:output_ext permalink: /hu_HU/index:output_ext
- scope:
path: "_pages/id_ID/home.md"
type: pages
values:
permalink: /id_ID/index:output_ext
- scope: - scope:
path: "_pages/it_IT/home.md" path: "_pages/it_IT/home.md"
type: pages type: pages
@ -555,30 +594,20 @@ defaults:
values: values:
permalink: /ko_KR/index:output_ext permalink: /ko_KR/index:output_ext
- scope: - scope:
path: "_pages/ms_MY/home.md" path: "_pages/nl_NL/home.md"
type: pages type: pages
values: values:
permalink: /ms_MY/index:output_ext permalink: /nl_NL/index:output_ext
- scope: - scope:
path: "_pages/no_NO/home.md" path: "_pages/no_NO/home.md"
type: pages type: pages
values: values:
permalink: /no_NO/index:output_ext permalink: /no_NO/index:output_ext
- scope:
path: "_pages/nl_NL/home.md"
type: pages
values:
permalink: /nl_NL/index:output_ext
- scope: - scope:
path: "_pages/pl_PL/home.md" path: "_pages/pl_PL/home.md"
type: pages type: pages
values: values:
permalink: /pl_PL/index:output_ext permalink: /pl_PL/index:output_ext
- scope:
path: "_pages/es_MX/home.md"
type: pages
values:
permalink: /es_MX/index:output_ext
- scope: - scope:
path: "_pages/pt_BR/home.md" path: "_pages/pt_BR/home.md"
type: pages type: pages
@ -609,11 +638,6 @@ defaults:
type: pages type: pages
values: values:
permalink: /sv_SE/index:output_ext permalink: /sv_SE/index:output_ext
- scope:
path: "_pages/th_TH/home.md"
type: pages
values:
permalink: /th_TH/index:output_ext
- scope: - scope:
path: "_pages/tr_TR/home.md" path: "_pages/tr_TR/home.md"
type: pages type: pages

View file

@ -0,0 +1,9 @@
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.analytics.google.tracking_id }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ site.analytics.google.tracking_id }}', { 'anonymize_ip': {{ site.analytics.google.anonymize_ip | default: false }}});
</script>

View file

@ -1,9 +1,7 @@
<script> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), ga('create','{{ site.analytics.google.tracking_id }}','auto');
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }});
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('send','pageview')
ga('create', '{{ site.analytics.google.tracking_id }}', 'auto');
ga('send', 'pageview');
</script> </script>
<script src="https://www.google-analytics.com/analytics.js" async></script>

View file

@ -1,6 +1,9 @@
<script type="text/javascript"> <script>
var _gaq = _gaq || []; var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']); _gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
{% if site.analytics.google.anonymize_ip == true %}
_gaq.push(['_gat._anonymizeIp']);
{% endif %}
_gaq.push(['_trackPageview']); _gaq.push(['_trackPageview']);
(function() { (function() {

View file

@ -1,10 +1,12 @@
{% if site.analytics.provider and page.analytics != false %} {% if jekyll.environment == 'production' and site.analytics.provider and page.analytics != false %}
{% case site.analytics.provider %} {% case site.analytics.provider %}
{% when "google" %} {% when "google" %}
{% include /analytics-providers/google.html %} {% include /analytics-providers/google.html %}
{% when "google-universal" %} {% when "google-universal" %}
{% include /analytics-providers/google-universal.html %} {% include /analytics-providers/google-universal.html %}
{% when "google-gtag" %}
{% include /analytics-providers/google-gtag.html %}
{% when "custom" %} {% when "custom" %}
{% include /analytics-providers/custom.html %} {% include /analytics-providers/custom.html %}
{% endcase %} {% endcase %}

View file

@ -10,29 +10,21 @@
{% assign title = post.title %} {% assign title = post.title %}
{% endif %} {% endif %}
<div class="{{ include.type | default: "list" }}__item"> <div class="{{ include.type | default: 'list' }}__item">
<article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork"> <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
{% if include.type == "grid" and teaser %} {% if include.type == "grid" and teaser %}
<div class="archive__item-teaser"> <div class="archive__item-teaser">
<img src= <img src="{{ teaser | relative_url }}" alt="">
{% if teaser contains "://" %}
"{{ teaser }}"
{% else %}
"{{ teaser | absolute_url }}"
{% endif %}
alt="">
</div> </div>
{% endif %} {% endif %}
<h2 class="archive__item-title" itemprop="headline"> <h2 class="archive__item-title no_toc" itemprop="headline">
{% if post.link %} {% if post.link %}
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | absolute_url }}" rel="permalink"><i class="fa fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a> <a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink"><i class="fas fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
{% else %} {% else %}
<a href="{{ post.url | absolute_url }}" rel="permalink">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
{% endif %} {% endif %}
</h2> </h2>
{% if post.read_time %} {% include page__meta.html type=include.type %}
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %} {% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
</article> </article>
</div> </div>

View file

@ -1,7 +1,7 @@
<!-- <!--
<li> <li>
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs"> <a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw" aria-hidden="true"></i> Custom Social Profile Link <i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
</a> </a>
</li> </li>
--> -->

View file

@ -1,27 +1,30 @@
{% if page.author and site.data.authors[page.author] %} {% assign author = page.author | default: page.authors[0] | default: site.author %}
{% assign author = site.data.authors[page.author] %} {% assign author = site.data.authors[author] | default: author %}
{% else %}
{% assign author = site.author %}
{% endif %}
<div itemscope itemtype="http://schema.org/Person"> <div itemscope itemtype="https://schema.org/Person">
{% if author.avatar %} {% if author.avatar %}
<div class="author__avatar"> <div class="author__avatar">
{% if author.avatar contains "://" %} {% if author.home %}
<img src="{{ author.avatar }}" alt="{{ author.name }}" itemprop="image"> <a href="{{ author.home | relative_url }}">
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
</a>
{% else %} {% else %}
<img src="{{ author.avatar | absolute_url }}" class="author__avatar" alt="{{ author.name }}" itemprop="image"> <img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
{% endif %} {% endif %}
</div> </div>
{% endif %} {% endif %}
<div class="author__content"> <div class="author__content">
{% if author.home %}
<a href="{{ author.home | relative_url }}"><h3 class="author__name" itemprop="name">{{ author.name }}</h3></a>
{% else %}
<h3 class="author__name" itemprop="name">{{ author.name }}</h3> <h3 class="author__name" itemprop="name">{{ author.name }}</h3>
{% endif %}
{% if author.bio %} {% if author.bio %}
<p class="author__bio" itemprop="description"> <div class="author__bio" itemprop="description">
{{ author.bio }} {{ author.bio | markdownify }}
</p> </div>
{% endif %} {% endif %}
</div> </div>
@ -29,15 +32,23 @@
<button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button> <button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button>
<ul class="author__urls social-icons"> <ul class="author__urls social-icons">
{% if author.location %} {% if author.location %}
<li itemprop="homeLocation" itemscope itemtype="http://schema.org/Place"> <li itemprop="homeLocation" itemscope itemtype="https://schema.org/Place">
<i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> <span itemprop="name">{{ author.location }}</span> <i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name">{{ author.location }}</span>
</li> </li>
{% endif %} {% endif %}
{% if author.links %}
{% for link in author.links %}
{% if link.label and link.url %}
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i><span class="label">{{ link.label }}</span></a></li>
{% endif %}
{% endfor %}
{% endif %}
{% if author.uri %} {% if author.uri %}
<li> <li>
<a href="{{ author.uri }}" itemprop="url"> <a href="{{ author.uri }}" itemprop="url">
<i class="fa fa-fw fa-chain" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].website_label | default: "Website" }} <i class="fas fa-fw fa-link" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].website_label | default: "Website" }}</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
@ -46,143 +57,135 @@
<li> <li>
<a href="mailto:{{ author.email }}"> <a href="mailto:{{ author.email }}">
<meta itemprop="email" content="{{ author.email }}" /> <meta itemprop="email" content="{{ author.email }}" />
<i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].email_label | default: "Email" }} <i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.keybase %} {% if author.keybase %}
<li> <li>
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs"> <a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-key" aria-hidden="true"></i> Keybase <i class="fas fa-fw fa-key" aria-hidden="true"></i><span class="label">Keybase</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.twitter %} {% if author.twitter %}
<li> <li>
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs"> <a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> Twitter <i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i><span class="label">Twitter</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.facebook %} {% if author.facebook %}
<li> <li>
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs"> <a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-facebook-square" aria-hidden="true"></i> Facebook <i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i><span class="label">Facebook</span>
</a>
</li>
{% endif %}
{% if author.google_plus %}
<li>
<a href="https://plus.google.com/+{{ author.google_plus }}" itemprop="sameAs">
<i class="fa fa-fw fa-google-plus-square" aria-hidden="true"></i> Google+
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.linkedin %} {% if author.linkedin %}
<li> <li>
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs"> <a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-linkedin-square" aria-hidden="true"></i> LinkedIn <i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span class="label">LinkedIn</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.xing %} {% if author.xing %}
<li> <li>
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs"> <a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-xing-square" aria-hidden="true"></i> XING <i class="fab fa-fw fa-xing-square" aria-hidden="true"></i><span class="label">XING</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.instagram %} {% if author.instagram %}
<li> <li>
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs"> <a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-instagram" aria-hidden="true"></i> Instagram <i class="fab fa-fw fa-instagram" aria-hidden="true"></i><span class="label">Instagram</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.tumblr %} {% if author.tumblr %}
<li> <li>
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs"> <a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-tumblr-square" aria-hidden="true"></i> Tumblr <i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i><span class="label">Tumblr</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.bitbucket %} {% if author.bitbucket %}
<li> <li>
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs"> <a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-bitbucket" aria-hidden="true"></i> Bitbucket <i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i><span class="label">Bitbucket</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.github %} {% if author.github %}
<li> <li>
<a href="https://github.com/{{ author.github }}" itemprop="sameAs"> <a href="https://github.com/{{ author.github }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub <i class="fab fa-fw fa-github" aria-hidden="true"></i><span class="label">GitHub</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.gitlab %} {% if author.gitlab %}
<li> <li>
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs"> <a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-gitlab" aria-hidden="true"></i> Gitlab <i class="fab fa-fw fa-gitlab" aria-hidden="true"></i><span class="label">GitLab</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.stackoverflow %} {% if author.stackoverflow %}
<li> <li>
<a href="https://www.stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs"> <a href="https://stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> Stackoverflow <i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i><span class="label">Stack Overflow</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.lastfm %} {% if author.lastfm %}
<li> <li>
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs"> <a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-lastfm-square" aria-hidden="true"></i> Last.fm <i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i><span class="label">Last.fm</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.dribbble %} {% if author.dribbble %}
<li> <li>
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs"> <a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-dribbble" aria-hidden="true"></i> Dribbble <i class="fab fa-fw fa-dribbble" aria-hidden="true"></i><span class="label">Dribbble</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.pinterest %} {% if author.pinterest %}
<li> <li>
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs"> <a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-pinterest" aria-hidden="true"></i> Pinterest <i class="fab fa-fw fa-pinterest" aria-hidden="true"></i><span class="label">Pinterest</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.foursquare %} {% if author.foursquare %}
<li> <li>
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs"> <a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-foursquare" aria-hidden="true"></i> Foursquare <i class="fab fa-fw fa-foursquare" aria-hidden="true"></i><span class="label">Foursquare</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.steam %} {% if author.steam %}
<li> <li>
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs"> <a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-steam-square" aria-hidden="true"></i> Steam <i class="fab fa-fw fa-steam" aria-hidden="true"></i><span class="label">Steam</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
@ -190,14 +193,14 @@
{% if author.youtube %} {% if author.youtube %}
{% if author.youtube contains "://" %} {% if author.youtube contains "://" %}
<li> <li>
<a href="{{ author.youtube }}" itemprop="sameAs"> <a href="{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube <i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
</a> </a>
</li> </li>
{% else author.youtube %} {% elsif author.youtube %}
<li> <li>
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs"> <a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-youtube-square" aria-hidden="true"></i> YouTube <i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
@ -205,40 +208,40 @@
{% if author.soundcloud %} {% if author.soundcloud %}
<li> <li>
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs"> <a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-soundcloud" aria-hidden="true"></i> Soundcloud <i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i><span class="label">SoundCloud</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.weibo %} {% if author.weibo %}
<li> <li>
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs"> <a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-weibo" aria-hidden="true"></i> Weibo <i class="fab fa-fw fa-weibo" aria-hidden="true"></i><span class="label">Weibo</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.flickr %} {% if author.flickr %}
<li> <li>
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs"> <a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-flickr" aria-hidden="true"></i> Flickr <i class="fab fa-fw fa-flickr" aria-hidden="true"></i><span class="label">Flickr</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.codepen %} {% if author.codepen %}
<li> <li>
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs"> <a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-codepen" aria-hidden="true"></i> CodePen <i class="fab fa-fw fa-codepen" aria-hidden="true"></i><span class="label">CodePen</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}
{% if author.vine %} {% if author.vine %}
<li> <li>
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs"> <a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs" rel="nofollow noopener noreferrer">
<i class="fa fa-fw fa-vine" aria-hidden="true"></i> Vine <i class="fab fa-fw fa-vine" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
</a> </a>
</li> </li>
{% endif %} {% endif %}

View file

@ -1,5 +0,0 @@
{% if site.url %}
{% assign base_path = site.url | append: site.baseurl %}
{% else %}
{% assign base_path = site.github.url %}
{% endif %}

View file

@ -13,12 +13,12 @@
{% endif %} {% endif %}
<nav class="breadcrumbs"> <nav class="breadcrumbs">
<ol itemscope itemtype="http://schema.org/BreadcrumbList"> <ol itemscope itemtype="https://schema.org/BreadcrumbList">
{% assign crumbs = page.url | split: '/' %} {% assign crumbs = page.url | split: '/' %}
{% assign i = 1 %} {% assign i = 1 %}
{% for crumb in crumbs offset: 1 %} {% for crumb in crumbs offset: 1 %}
{% if forloop.first %} {% if forloop.first %}
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{{ site.url }}{{ site.baseurl }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a> <a href="{{ site.url }}{{ site.baseurl }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
<meta itemprop="position" content="{{ i }}" /> <meta itemprop="position" content="{{ i }}" />
</li> </li>
@ -28,8 +28,8 @@
<li class="current">{{ page.title }}</li> <li class="current">{{ page.title }}</li>
{% else %} {% else %}
{% assign i = i | plus: 1 %} {% assign i = i | plus: 1 %}
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | absolute_url }}" itemprop="item"><span itemprop="name">{{ crumb | replace: '-', ' ' | replace: '%20', ' ' | capitalize }}</span></a> <a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | relative_url }}" itemprop="item"><span itemprop="name">{{ crumb | replace: '-', ' ' | replace: '%20', ' ' | capitalize }}</span></a>
<meta itemprop="position" content="{{ i }}" /> <meta itemprop="position" content="{{ i }}" />
</li> </li>
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span> <span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>

View file

@ -1,3 +1,3 @@
<!--[if lt IE 9]> <!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div> <div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]--> <![endif]-->

View file

@ -6,20 +6,13 @@
{% endcase %} {% endcase %}
{% if site.category_archive.path %} {% if site.category_archive.path %}
{% comment %} {% assign categories_sorted = page.categories | sort_natural %}
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_categories %}{% for category in page.categories %}{{ category | downcase }}#{{ category }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign category_hashes = page_categories | split: ',' | sort %}
<p class="page__taxonomy"> <p class="page__taxonomy">
<strong><i class="fa fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong> <strong><i class="fas fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>
<span itemprop="keywords"> <span itemprop="keywords">
{% for hash in category_hashes %} {% for category_word in categories_sorted %}
{% assign keyValue = hash | split: '#' %} <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 %}
{% capture category_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | absolute_url }}" class="page__taxonomy-item" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %} {% endfor %}
</span> </span>
</p> </p>

View file

@ -1,9 +1,9 @@
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="http://schema.org/Comment"> <article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="https://schema.org/Comment">
<div class="comment__avatar-wrapper"> <div class="comment__avatar-wrapper">
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}"> <img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
</div> </div>
<div class="comment__content-wrapper"> <div class="comment__content-wrapper">
<h3 class="comment__author" itemprop="author" itemscope itemtype="http://schema.org/Person"> <h3 class="comment__author" itemprop="author" itemscope itemtype="https://schema.org/Person">
{% unless include.url == blank %} {% unless include.url == blank %}
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span> <span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
{% else %} {% else %}
@ -13,7 +13,7 @@
<p class="comment__date"> <p class="comment__date">
{% if include.date %} {% if include.date %}
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %} {% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %d, %Y at %I:%M %p" }}</time> <time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %-d, %Y at %I:%M %p" }}</time>
{% if include.index %}</a>{% endif %} {% if include.index %}</a>{% endif %}
{% endif %} {% endif %}
</p> </p>

View file

@ -0,0 +1,3 @@
<!-- start custom comments scripts -->
<!-- end custom comments scripts -->

View file

@ -1,10 +1,10 @@
{% if site.comments.disqus.shortname %} {% if site.comments.disqus.shortname %}
<script> <script>
var disqus_config = function () { var disqus_config = function () {
this.page.url = "{{ page.url | absolute_url }}"; // Replace PAGE_URL with your page's canonical URL variable this.page.url = "{{ page.url | absolute_url }}"; /* Replace PAGE_URL with your page's canonical URL variable */
this.page.identifier = "{{ page.id }}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable this.page.identifier = "{{ page.id }}"; /* Replace PAGE_IDENTIFIER with your page's unique identifier variable */
}; };
(function() { // DON'T EDIT BELOW THIS LINE (function() { /* DON'T EDIT BELOW THIS LINE */
var d = document, s = d.createElement('script'); var d = document, s = d.createElement('script');
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js'; s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date()); s.setAttribute('data-timestamp', +new Date());

View file

@ -0,0 +1,24 @@
<script>
'use strict';
(function () {
var commentContainer = document.querySelector('#giscus-comments');
if (!commentContainer) {
return;
}
var script = document.createElement('script');
script.setAttribute('src', 'https://giscus.app/client.js');
script.setAttribute('data-repo', '{{ site.repository | downcase }}');
script.setAttribute('data-repo-id', '{{ site.comments.giscus.repo_id }}');
script.setAttribute('data-category', '{{ site.comments.giscus.category_name }}');
script.setAttribute('data-category-id', '{{ site.comments.giscus.category_id }}');
script.setAttribute('data-mapping', '{{ site.comments.giscus.discussion_term | default: "pathname" }}');
script.setAttribute('data-reactions-enabled', '{{ site.comments.giscus.reactions_enabled | default: 1 }}');
script.setAttribute('data-theme', '{{ site.comments.giscus.theme | default: "light" }}');
script.setAttribute('crossorigin', 'anonymous');
commentContainer.appendChild(script);
})();
</script>

View file

@ -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>

View file

@ -1,16 +1,20 @@
{% if site.comments.provider and page.comments %} {% if site.comments.provider and page.comments %}
{% case site.comments.provider %} {% case site.comments.provider %}
{% when "disqus" %} {% when "disqus" %}
{% include /comments-providers/disqus.html %} {% include /comments-providers/disqus.html %}
{% when "discourse" %} {% when "discourse" %}
{% include /comments-providers/discourse.html %} {% include /comments-providers/discourse.html %}
{% when "facebook" %} {% when "facebook" %}
{% include /comments-providers/facebook.html %} {% include /comments-providers/facebook.html %}
{% when "google-plus" %}
{% include /comments-providers/google-plus.html %}
{% when "staticman" %} {% when "staticman" %}
{% include /comments-providers/staticman.html %} {% include /comments-providers/staticman.html %}
{% when "staticman_v2" %}
{% include /comments-providers/staticman_v2.html %}
{% when "utterances" %}
{% include /comments-providers/utterances.html %}
{% when "giscus" %}
{% include /comments-providers/giscus.html %}
{% when "custom" %} {% when "custom" %}
{% include /comments-providers/custom.html %} {% include /comments-providers/custom_scripts.html %}
{% endcase %} {% endcase %}
{% endif %} {% endif %}

View file

@ -1,13 +1,11 @@
{% if site.repository and site.staticman.branch %} {% if site.repository and site.staticman.branch %}
<script> <script>
(function ($) { (function ($) {
var $comments = $('.js-comments');
$('#new_comment').submit(function () { $('#new_comment').submit(function () {
var form = this; var form = this;
$(form).addClass('disabled'); $(form).addClass('disabled');
$('#comment-form-submit').html('<i class="fa fa-spinner fa-spin fa-fw"></i> {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}'); $('#comment-form-submit').html('<i class="fas fa-spinner fa-spin fa-fw"></i> {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}');
$.ajax({ $.ajax({
type: $(this).attr('method'), type: $(this).attr('method'),

View file

@ -0,0 +1,40 @@
{% if site.repository and site.comments.staticman.branch %}
<script>
(function ($) {
$('#new_comment').submit(function () {
var form = this;
$(form).addClass('disabled');
$('#comment-form-submit').html('<i class="fas fa-spinner fa-spin fa-fw"></i> {{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}');
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize(),
contentType: 'application/x-www-form-urlencoded',
success: function (data) {
$('#comment-form-submit').html('{{ site.data.ui-text[site.locale].comment_btn_submitted | default: "Submitted" }}');
$('.page__comments-form .js-notice').removeClass('notice--danger');
$('.page__comments-form .js-notice').addClass('notice--success');
showAlert('{{ site.data.ui-text[site.locale].comment_success_msg | default: "Thanks for your comment! It will show on the site once it has been approved." }}');
},
error: function (err) {
console.log(err);
$('#comment-form-submit').html('{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}');
$('.page__comments-form .js-notice').removeClass('notice--success');
$('.page__comments-form .js-notice').addClass('notice--danger');
showAlert('{{ site.data.ui-text[site.locale].comment_error_msg | default: "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again." }}');
$(form).removeClass('disabled');
}
});
return false;
});
function showAlert(message) {
$('.page__comments-form .js-notice').removeClass('hidden');
$('.page__comments-form .js-notice-text').html(message);
}
})(jQuery);
</script>
{% endif %}

View file

@ -0,0 +1,20 @@
<script>
'use strict';
(function() {
var commentContainer = document.querySelector('#utterances-comments');
if (!commentContainer) {
return;
}
var script = document.createElement('script');
script.setAttribute('src', 'https://utteranc.es/client.js');
script.setAttribute('repo', '{{ site.repository }}');
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>

View file

@ -10,21 +10,80 @@
{% when "facebook" %} {% when "facebook" %}
<h4 class="page__comments-title">{{ comments_label }}</h4> <h4 class="page__comments-title">{{ comments_label }}</h4>
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section> <section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
{% when "google-plus" %} {% when "staticman_v2" %}
<h4 class="page__comments-title">{{ comments_label }}</h4> <section id="static-comments">
<section id="g-comments" class="g-comments">Loading Google+ Comments ...</section> {% if site.repository and site.comments.staticman.branch %}
<script> <!-- Start static comments -->
function initComment() { <div class="js-comments">
gapi.comments.render("g-comments", { {% if site.data.comments[page.slug] %}
href: "{{ page.url | absolute_url }}", <h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
width: "624", {% assign comments = site.data.comments[page.slug] | sort %}
first_party_property: "BLOGGER",
view_type: "FILTERED_POSTMOD" {% for comment in comments %}
}) {% assign email = comment[1].email %}
} {% assign name = comment[1].name %}
</script> {% assign url = comment[1].url %}
<script async type="text/javascript" src="https://apis.google.com/js/plusone.js" onload="initComment()" /> {% assign date = comment[1].date %}
<noscript>Please enable JavaScript to view the <a href="https://plus.google.com/">comments powered by Google+.</a></noscript>--> {% assign message = comment[1].message %}
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
{% endfor %}
{% endif %}
</div>
<!-- End static comments -->
<!-- Start new comment form -->
<div class="page__comments-form">
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_label | default: "Leave a Comment" }}</h4>
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post" action="{{ site.comments.staticman.endpoint }}{{ 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>
</div>
<div class="form-group">
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
</div>
<div class="form-group">
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
</div>
<div class="form-group">
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
</div>
<div class="form-group">
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
</div>
<div class="form-group hidden" style="display: none;">
<input type="hidden" name="options[slug]" value="{{ page.slug }}">
<label for="comment-form-location">Not used. Leave blank if you are a human.</label>
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
{% if site.reCaptcha.siteKey %}<input type="hidden" name="options[reCaptcha][siteKey]" value="{{ site.reCaptcha.siteKey }}">{% endif %}
{% if site.reCaptcha.secret %}<input type="hidden" name="options[reCaptcha][secret]" value="{{ site.reCaptcha.secret }}">{% endif %}
</div>
<!-- Start comment form alert messaging -->
<p class="hidden js-notice">
<strong class="js-notice-text"></strong>
</p>
<!-- End comment form alert messaging -->
{% if site.reCaptcha.siteKey %}
<div class="form-group">
<div class="g-recaptcha" data-sitekey="{{ site.reCaptcha.siteKey }}"></div>
</div>
{% endif %}
<div class="form-group">
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
</div>
</form>
</div>
<!-- End new comment form -->
{% if site.reCaptcha.siteKey %}<script async src="https://www.google.com/recaptcha/api.js"></script>{% endif %}
{% endif %}
</section>
{% when "staticman" %} {% when "staticman" %}
<section id="static-comments"> <section id="static-comments">
{% if site.repository and site.staticman.branch %} {% if site.repository and site.staticman.branch %}
@ -52,46 +111,52 @@
<p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p> <p class="small">{{ site.data.ui-text[site.locale].comment_form_info | default: "Your email address will not be published. Required fields are marked" }} <span class="required">*</span></p>
<form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}"> <form id="new_comment" class="page__comments-form js-form form" method="post" action="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
<div class="form__spinner"> <div class="form__spinner">
<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i> <i class="fas fa-spinner fa-spin fa-3x fa-fw"></i>
<span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span> <span class="sr-only">{{ site.data.ui-text[site.locale].loading_label | default: "Loading..." }}</span>
</div> </div>
<fieldset> <div class="form-group">
<label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label> <label for="comment-form-message">{{ site.data.ui-text[site.locale].comment_form_comment_label | default: "Comment" }} <small class="required">*</small></label>
<textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea> <textarea type="text" rows="3" id="comment-form-message" name="fields[message]" tabindex="1"></textarea>
<div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div> <div class="small help-block"><a href="https://daringfireball.net/projects/markdown/">{{ site.data.ui-text[site.locale].comment_form_md_info | default: "Markdown is supported." }}</a></div>
</fieldset> </div>
<fieldset> <div class="form-group">
<label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label> <label for="comment-form-name">{{ site.data.ui-text[site.locale].comment_form_name_label | default: "Name" }} <small class="required">*</small></label>
<input type="text" id="comment-form-name" name="fields[name]" tabindex="2" /> <input type="text" id="comment-form-name" name="fields[name]" tabindex="2" />
</fieldset> </div>
<fieldset> <div class="form-group">
<label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label> <label for="comment-form-email">{{ site.data.ui-text[site.locale].comment_form_email_label | default: "Email address" }} <small class="required">*</small></label>
<input type="email" id="comment-form-email" name="fields[email]" tabindex="3" /> <input type="email" id="comment-form-email" name="fields[email]" tabindex="3" />
</fieldset> </div>
<fieldset> <div class="form-group">
<label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label> <label for="comment-form-url">{{ site.data.ui-text[site.locale].comment_form_website_label | default: "Website (optional)" }}</label>
<input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/> <input type="url" id="comment-form-url" name="fields[url]" tabindex="4"/>
</fieldset> </div>
<fieldset class="hidden" style="display: none;"> <div class="form-group hidden" style="display: none;">
<input type="hidden" name="options[slug]" value="{{ page.slug }}"> <input type="hidden" name="options[slug]" value="{{ page.slug }}">
<label for="comment-form-location">Not used. Leave blank if you are a human.</label> <label for="comment-form-location">Not used. Leave blank if you are a human.</label>
<input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/> <input type="text" id="comment-form-location" name="fields[hidden]" autocomplete="off"/>
</fieldset> </div>
<!-- Start comment form alert messaging --> <!-- Start comment form alert messaging -->
<p class="hidden js-notice"> <p class="hidden js-notice">
<strong class="js-notice-text"></strong> <strong class="js-notice-text"></strong>
</p> </p>
<!-- End comment form alert messaging --> <!-- End comment form alert messaging -->
<fieldset> <div class="form-group">
<button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button> <button type="submit" id="comment-form-submit" tabindex="5" class="btn btn--primary btn--large">{{ site.data.ui-text[site.locale].comment_btn_submit | default: "Submit Comment" }}</button>
</fieldset> </div>
</form> </form>
</div> </div>
<!-- End new comment form --> <!-- End new comment form -->
{% endif %} {% endif %}
</section> </section>
{% when "utterances" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="utterances-comments"></section>
{% when "giscus" %}
<h4 class="page__comments-title">{{ comments_label }}</h4>
<section id="giscus-comments"></section>
{% when "custom" %} {% when "custom" %}
<section id="custom-comments"></section> {% include /comments-providers/custom.html %}
{% endcase %} {% endcase %}
</div> </div>

View file

@ -0,0 +1,15 @@
{% assign entries = site[include.collection] %}
{% if include.sort_by %}
{% assign entries = entries | sort: include.sort_by %}
{% endif %}
{% if include.sort_order == 'reverse' %}
{% assign entries = entries | reverse %}
{% endif %}
{%- for post in entries -%}
{%- unless post.hidden -%}
{% include archive-single.html %}
{%- endunless -%}
{%- endfor -%}

View file

@ -7,24 +7,15 @@
<div class="feature__wrapper"> <div class="feature__wrapper">
{% for f in feature_row %} {% for f in feature_row %}
{% if f.url contains "://" %}
{% capture f_url %}{{ f.url }}{% endcapture %}
{% else %}
{% capture f_url %}{{ f.url | absolute_url }}{% endcapture %}
{% endif %}
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}"> <div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
<div class="archive__item"> <div class="archive__item">
{% if f.image_path %} {% if f.image_path %}
<div class="archive__item-teaser"> <div class="archive__item-teaser">
<img src= <img src="{{ f.image_path | relative_url }}"
{% if f.image_path contains "://" %}
"{{ f.image_path }}"
{% else %}
"{{ f.image_path | absolute_url }}"
{% endif %}
alt="{% if f.alt %}{{ f.alt }}{% endif %}"> alt="{% if f.alt %}{{ f.alt }}{% endif %}">
{% if f.image_caption %}
<span class="archive__item-caption">{{ f.image_caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
{% endif %}
</div> </div>
{% endif %} {% endif %}
@ -40,7 +31,7 @@
{% endif %} {% endif %}
{% if f.url %} {% if f.url %}
<p><a href="{{ f_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p> <p><a href="{{ f.url | relative_url }}" class="btn {{ f.btn_class }}">{{ f.btn_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
{% endif %} {% endif %}
</div> </div>
</div> </div>

View file

@ -1,12 +1,9 @@
<figure class="{{ include.class }}"> <figure class="{{ include.class }}">
<img src= <img src="{{ include.image_path | relative_url }}"
{% if include.image_path contains "://" %}
"{{ include.image_path }}"
{% else %}
"{{ include.image_path | absolute_url }}"
{% endif %}
alt="{% if include.alt %}{{ include.alt }}{% endif %}"> alt="{% if include.alt %}{{ include.alt }}{% endif %}">
{% if include.caption %} {%- if include.caption -%}
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption> <figcaption>
{% endif %} {{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
</figcaption>
{%- endif -%}
</figure> </figure>

View file

@ -1,5 +1,26 @@
{% include base_path %} <div class="page__footer-follow">
<ul class="social-icons">
{% if site.data.ui-text[site.locale].follow_label %}
<li><strong>{{ site.data.ui-text[site.locale].follow_label }}</strong></li>
{% endif %}
{% if site.footer.links %}
{% for link in site.footer.links %}
{% if link.label and link.url %}
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i> {{ link.label }}</a></li>
{% endif %}
{% endfor %}
{% endif %}
<!--
{% unless site.atom_feed.hide %}
<li><a href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].feed_label | default: "Feed" }}</a></li>
{% endunless %}
</ul>
-->
</div>
<!-- custom footer, guide specific -->
{% assign split_path = page.path | split: "/" %} {% assign split_path = page.path | split: "/" %}
{% assign locale = split_path[1] %} {% assign locale = split_path[1] %}
{% assign titles = site.data.navigation[locale].footer %} {% assign titles = site.data.navigation[locale].footer %}
<div class="page__footer-copyright">&copy; {{ site.time | date: '%Y' }} {{ site.name | default: site.title }} - <a href="https://github.com/RiiConnect24/Wii-Guide">{{ titles[0].title }}</a> - <a href="site-navigation">{{ titles[1].title }}</a> - <a href="privacy-policy">{{ titles[3].title }}</a></div> <div class="page__footer-copyright">&copy; {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. - <a href="site-navigation">{{ titles[1].title }}</a> - <a href="privacy-policy">{{ titles[2].title }}</a> <!-- {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.--></div>

View file

@ -4,40 +4,28 @@
{% assign gallery = page.gallery %} {% assign gallery = page.gallery %}
{% endif %} {% endif %}
{% if gallery.size == 2 %} {% if include.layout %}
{% assign gallery_layout = 'half' %} {% assign gallery_layout = include.layout %}
{% elsif gallery.size >= 3 %}
{% assign gallery_layout = 'third' %}
{% else %} {% else %}
{% if gallery.size == 2 %}
{% assign gallery_layout = 'half' %}
{% elsif gallery.size >= 3 %}
{% assign gallery_layout = 'third' %}
{% else %}
{% assign gallery_layout = '' %} {% assign gallery_layout = '' %}
{% endif %}
{% endif %} {% endif %}
<figure class="{{ gallery_layout }} {{ include.class }}"> <figure class="{{ gallery_layout }} {{ include.class }}">
{% for img in gallery %} {% for img in gallery %}
{% if img.url %} {% if img.url %}
<a href= <a href="{{ img.url | relative_url }}"
{% if img.url contains "://" %} {% if img.title %}title="{{ img.title }}"{% endif %}>
"{{ img.url }}" <img src="{{ img.image_path | relative_url }}"
{% else %}
"{{ img.url | absolute_url }}"
{% endif %}
{% if img.title %}title="{{ img.title }}"{% endif %}
>
<img src=
{% if img.image_path contains "://" %}
"{{ img.image_path }}"
{% else %}
"{{ img.image_path | absolute_url }}"
{% endif %}
alt="{% if img.alt %}{{ img.alt }}{% endif %}"> alt="{% if img.alt %}{{ img.alt }}{% endif %}">
</a> </a>
{% else %} {% else %}
<img src= <img src="{{ img.image_path | relative_url }}"
{% if img.image_path contains "://" %}
"{{ img.image_path }}"
{% else %}
"{{ img.image_path | absolute_url }}"
{% endif %}
alt="{% if img.alt %}{{ img.alt }}{% endif %}"> alt="{% if img.alt %}{{ img.alt }}{% endif %}">
{% endif %} {% endif %}
{% endfor %} {% endfor %}

View file

@ -2,11 +2,11 @@
{% include seo.html %} {% include seo.html %}
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | absolute_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed"> {% unless site.atom_feed.hide %}
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
{% endunless %}
<!-- http://t.co/dKP3o1e --> <!-- https://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<script> <script>
@ -14,30 +14,12 @@
</script> </script>
<!-- For all browsers --> <!-- For all browsers -->
<link rel="stylesheet" href="{{ '/assets/css/main.css' | absolute_url }}"> <link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<!--[if lte IE 9]> <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css"></noscript>
<style>
/* old IE unsupported flexbox fixes */
.greedy-nav .site-title {
padding-right: 3em;
}
.greedy-nav button {
position: absolute;
top: 0;
right: 0;
height: 100%;
}
</style>
<![endif]-->
{% if site.head_scripts %} {% if site.head_scripts %}
{% for script in site.head_scripts %} {% for script in site.head_scripts %}
{% if script contains "://" %} <script src="{{ script | relative_url }}"></script>
{% capture script_path %}{{ script }}{% endcapture %}
{% else %}
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
{% endif %}
<script src="{{ script_path }}"></script>
{% endfor %} {% endfor %}
{% endif %} {% endif %}

View file

@ -1,5 +1,4 @@
<!-- start custom head snippets --> <!-- start custom head snippets -->
{% include base_path %}
<!-- insert favicons. use http://realfavicongenerator.net/ --> <!-- insert favicons. use http://realfavicongenerator.net/ -->
<link rel="apple-touch-icon" sizes="180x180" href="{{ base_path }}/images/apple-touch-icon.png?v=PYEmwKvQAx"> <link rel="apple-touch-icon" sizes="180x180" href="{{ base_path }}/images/apple-touch-icon.png?v=PYEmwKvQAx">
@ -27,9 +26,8 @@
{% endif %} {% endif %}
{% assign top = site.data.navigation[locale].top %} {% assign top = site.data.navigation[locale].top %}
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.css" integrity="sha512-LQ97camar/lOliT/MqjcQs5kWgy6Qz/cCRzzRzUCfv0fotsCTC9ZHXaPQmJV8Xu/PVALfJZ7BDezl5lW3/qBxg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.js" integrity="sha512-yXXqOFjdjHNH1GND+1EO0jbvvebABpzGKD66djnUfiKlYME5HGMUJHoCaeE4D5PTG2YsSJf6dwqyUUvQvS0vaA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="text/javascript" src="{{ base_path }}/images/pwa.js"></script>
<script> <script>
window.addEventListener("load", function(){ window.addEventListener("load", function(){
window.cookieconsent.initialise({ window.cookieconsent.initialise({

View file

@ -1,8 +1,19 @@
{% capture logo_path %}{{ site.logo }}{% endcapture %}
<div class="masthead"> <div class="masthead">
<div class="masthead__inner-wrap"> <div class="masthead__inner-wrap">
<div class="masthead__menu"> <div class="masthead__menu">
<nav id="site-nav" class="greedy-nav"> <nav id="site-nav" class="greedy-nav">
{% unless logo_path == empty %}
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt="{{ site.masthead_title | default: site.title }}"></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"> <ul class="visible-links">
<!-- modified to use multilang, guide-specific -->
{% assign split_path = page.path | split: "/" %} {% assign split_path = page.path | split: "/" %}
{% assign locale = split_path[1] %} {% assign locale = split_path[1] %}
{% assign titles = site.data.navigation[locale].main %} {% assign titles = site.data.navigation[locale].main %}
@ -11,6 +22,7 @@
{% else %} {% else %}
{% assign locale_var = locale | prepend:'/' | append:'/' %} {% assign locale_var = locale | prepend:'/' | append:'/' %}
{% endif %} {% endif %}
{% for link in site.data.navigation[locale].main %} {% for link in site.data.navigation[locale].main %}
{% if link.url == "/" %} {% if link.url == "/" %}
<li class="masthead__menu-item masthead__menu-item--lg"><a href="{{ domain }}{{ locale_var }}">{{ link.title }}</a></li> <li class="masthead__menu-item masthead__menu-item--lg"><a href="{{ domain }}{{ locale_var }}">{{ link.title }}</a></li>
@ -18,7 +30,15 @@
<li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}{{ link.url }}">{{ link.title }}</a></li> <li class="masthead__menu-item"><a href="{{ domain }}{{ locale_var }}{{ link.url }}">{{ link.title }}</a></li>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
<!-- end guide specific -->
</ul> </ul>
{% if site.search == true %}
<button class="search__toggle" type="button">
<span class="visually-hidden">{{ site.data.ui-text[site.locale].search_label | default: "Toggle search" }}</span>
<i class="fas fa-search"></i>
</button>
{% endif %}
<!-- completely redo hidden links for multilang, guide-specific -->
<ul class="hidden-links links-menu hidden"></ul> <ul class="hidden-links links-menu hidden"></ul>
<ul class="hidden-links lang-menu hidden"> <ul class="hidden-links lang-menu hidden">
{% assign split_url = page.url | split: "/" %} {% assign split_url = page.url | split: "/" %}
@ -63,8 +83,11 @@
<!-- <li class="masthead__menu-item"><a href="{{ site.url }}/cs_CZ/{{ langless_url }}">Čeština</a></li> --> <!-- <li class="masthead__menu-item"><a href="{{ site.url }}/cs_CZ/{{ langless_url }}">Čeština</a></li> -->
<!-- <li class="masthead__menu-item"><a href="{{ site.url }}/en_PT/{{ langless_url }}">Pirate English</a></li> --> <!-- <li class="masthead__menu-item"><a href="{{ site.url }}/en_PT/{{ langless_url }}">Pirate English</a></li> -->
</ul> </ul>
<button class="navsel"><div class="navicon"></div></button> <button class="greedy-nav__toggle hidden" type="button">
<button class="langsel"><div class="langicon"><i class="fa fa-language fa-lg" aria-hidden="true"></i></div></button> <span class="visually-hidden">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle menu" }}</span>
<div class="navicon"></div>
</button>
<button class="greedy-nav__toggle_lang" type="button"><div class="langicon"><i class="fa fa-language fa-lg" aria-hidden="true"></i></div></button>
</nav> </nav>
</div> </div>
</div> </div>

View file

@ -0,0 +1,6 @@
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
{% if page.last_modified_at %}
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: date_format }}</time></p>
{% elsif page.date %}
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: date_format }}</time></p>
{% endif %}

View file

@ -1,25 +1,13 @@
{% if page.header.image contains "://" %} {% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %}
{% capture img_path %}{{ page.header.image }}{% endcapture %}
{% else %}
{% capture img_path %}{{ page.header.image | absolute_url }}{% endcapture %}
{% endif %}
{% if page.header.cta_url contains "://" %} {% if page.header.overlay_filter contains "gradient" %}
{% capture cta_path %}{{ page.header.cta_url }}{% endcapture %}
{% else %}
{% capture cta_path %}{{ page.header.cta_url | absolute_url }}{% endcapture %}
{% endif %}
{% if page.header.overlay_image contains "://" %}
{% capture overlay_img_path %}{{ page.header.overlay_image }}{% endcapture %}
{% elsif page.header.overlay_image %}
{% capture overlay_img_path %}{{ page.header.overlay_image | absolute_url }}{% endcapture %}
{% endif %}
{% if page.header.overlay_filter contains "rgba" %}
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %} {% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
{% elsif page.header.overlay_filter contains "rgba" %}
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
{% elsif page.header.overlay_filter %} {% elsif page.header.overlay_filter %}
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %} {% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
{% endif %} {% endif %}
{% if page.header.image_description %} {% if page.header.image_description %}
@ -31,29 +19,35 @@
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %} {% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}" <div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}), {% endif %}url('{{ overlay_img_path }}');{% endif %}" style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}{{ overlay_filter }}, {% endif %}url('{{ overlay_img_path }}');{% endif %}"
> >
{% if page.header.overlay_color or page.header.overlay_image %} {% if page.header.overlay_color or page.header.overlay_image %}
<div class="wrapper"> <div class="wrapper">
<h1 class="page__title" itemprop="headline"> <h1 id="page-title" class="page__title" itemprop="headline">
{% if paginator and site.paginate_show_page_num %} {% if paginator and site.paginate_show_page_num %}
{{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %} {{ site.title }}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}
{% else %} {% else %}
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }} {{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
{% endif %} {% endif %}
</h1> </h1>
{% if page.excerpt %} {% if page.tagline %}
<p class="page__lead">{{ page.tagline | markdownify | remove: "<p>" | remove: "</p>" }}</p>
{% elsif page.header.show_overlay_excerpt != false and page.excerpt %}
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p> <p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
{% endif %} {% endif %}
{% if site.read_time and page.read_time %} {% include page__meta.html %}
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
{% if page.header.cta_url %} {% if page.header.cta_url %}
<p><a href="{{ cta_path }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p> <p><a href="{{ page.header.cta_url | relative_url }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
{% endif %}
{% if page.header.actions %}
<p>
{% for action in page.header.actions %}
<a href="{{ action.url | relative_url }}" class="btn btn--light-outline btn--large">{{ action.label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a>
{% endfor %}
{% endif %} {% endif %}
</div> </div>
{% else %} {% else %}
<img src="{{ img_path }}" alt="{{ image_description }}" class="page__hero-image"> <img src="{{ page.header.image | relative_url }}" alt="{{ image_description }}" class="page__hero-image">
{% endif %} {% endif %}
{% if page.header.caption %} {% if page.header.caption %}
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span> <span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>

View file

@ -1,4 +1,2 @@
{% capture video_id %}{{ page.header.video.id }}{% endcapture %} {% assign video = page.header.video %}
{% capture video_provider %}{{ page.header.video.provider }}{% endcapture %} {% include video id=video.id provider=video.provider danmaku=video.danmaku %}
{% include video id=video_id provider=video_provider %}

31
_includes/page__meta.html Normal file
View file

@ -0,0 +1,31 @@
{% assign document = post | default: page %}
{% if document.read_time or document.show_date %}
<p class="page__meta">
{% if document.show_date and document.date %}
{% assign date = document.date %}
<span class="page__meta-date">
<i class="far {% if include.type == 'grid' and document.read_time and document.show_date %}fa-fw {% endif %}fa-calendar-alt" aria-hidden="true"></i>
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
<time datetime="{{ date | date_to_xmlschema }}">{{ date | date: date_format }}</time>
</span>
{% endif %}
{% if document.read_time and document.show_date %}<span class="page__meta-sep"></span>{% endif %}
{% if document.read_time %}
{% assign words_per_minute = document.words_per_minute | default: site.words_per_minute | default: 200 %}
{% assign words = document.content | strip_html | number_of_words %}
<span class="page__meta-readtime">
<i class="far {% if include.type == 'grid' and document.read_time and document.show_date %}fa-fw {% endif %}fa-clock" aria-hidden="true"></i>
{% if words < words_per_minute %}
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% elsif words == words_per_minute %}
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% else %}
{{ words | divided_by: words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% endif %}
</span>
{% endif %}
</p>
{% endif %}

View file

@ -1,13 +1,13 @@
{% if paginator.total_pages > 1 %} {% if paginator.total_pages > 1 %}
<nav class="pagination"> <nav class="pagination">
{% assign first_page_path = site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | absolute_url %} {% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | relative_url %}
<ul> <ul>
{% comment %} Link for previous page {% endcomment %} {% comment %} Link for previous page {% endcomment %}
{% if paginator.previous_page %} {% if paginator.previous_page %}
{% if paginator.previous_page == 1 %} {% if paginator.previous_page == 1 %}
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li> <li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
{% else %} {% else %}
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li> <li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
{% endif %} {% endif %}
{% else %} {% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li> <li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
@ -35,7 +35,7 @@
{% for index in (page_start..page_end) %} {% for index in (page_start..page_end) %}
{% if index == paginator.page %} {% if index == paginator.page %}
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | absolute_url }}" class="disabled current">{{ index }}</a></li> <li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
{% else %} {% else %}
{% comment %} Distance from current page and this link {% endcomment %} {% comment %} Distance from current page and this link {% endcomment %}
{% assign dist = paginator.page | minus: index %} {% assign dist = paginator.page | minus: index %}
@ -43,7 +43,7 @@
{% comment %} Distance must be a positive value {% endcomment %} {% comment %} Distance must be a positive value {% endcomment %}
{% assign dist = 0 | minus: dist %} {% assign dist = 0 | minus: dist %}
{% endif %} {% endif %}
<li><a href="{{ site.paginate_path | replace: ':num', index | absolute_url }}">{{ index }}</a></li> <li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
@ -55,12 +55,12 @@
{% if paginator.page == paginator.total_pages %} {% if paginator.page == paginator.total_pages %}
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li> <li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
{% else %} {% else %}
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | absolute_url }}">{{ paginator.total_pages }}</a></li> <li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
{% endif %} {% endif %}
{% comment %} Link next page {% endcomment %} {% comment %} Link next page {% endcomment %}
{% if paginator.next_page %} {% if paginator.next_page %}
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | absolute_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li> <li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
{% else %} {% else %}
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li> <li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
{% endif %} {% endif %}

View file

@ -1,12 +1,12 @@
{% if page.previous or page.next %} {% if page.previous or page.next %}
<nav class="pagination"> <nav class="pagination">
{% if page.previous %} {% if page.previous %}
<a href="{{ page.previous.url | absolute_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a> <a href="{{ page.previous.url | relative_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
{% else %} {% else %}
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a> <a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
{% endif %} {% endif %}
{% if page.next %} {% if page.next %}
<a href="{{ page.next.url | absolute_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a> <a href="{{ page.next.url | relative_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
{% else %} {% else %}
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a> <a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
{% endif %} {% endif %}

View file

@ -0,0 +1,5 @@
{%- for post in site.categories[include.taxonomy] -%}
{%- unless post.hidden -%}
{% include archive-single.html %}
{%- endunless -%}
{%- endfor -%}

5
_includes/posts-tag.html Normal file
View file

@ -0,0 +1,5 @@
{%- for post in site.tags[include.taxonomy] -%}
{%- unless post.hidden -%}
{% include archive-single.html %}
{%- endunless -%}
{%- endfor -%}

View file

@ -1,15 +0,0 @@
{% assign words_per_minute = site.words_per_minute | default: 200 %}
{% if post.read_time %}
{% assign words = post.content | strip_html | number_of_words %}
{% elsif page.read_time %}
{% assign words = page.content | strip_html | number_of_words %}
{% endif %}
{% if words < words_per_minute %}
{{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% elsif words == words_per_minute %}
1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% else %}
{{ words | divided_by:words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }}
{% endif %}

View file

@ -1,15 +1,29 @@
{% if site.footer_scripts %} {% if site.footer_scripts %}
{% for script in site.footer_scripts %} {% for script in site.footer_scripts %}
{% if script contains "://" %} <script src="{{ script | relative_url }}"></script>
{% capture script_path %}{{ script }}{% endcapture %}
{% else %}
{% capture script_path %}{{ script | absolute_url }}{% endcapture %}
{% endif %}
<script src="{{ script_path }}"></script>
{% endfor %} {% endfor %}
{% else %} {% else %}
<script src="{{ '/assets/js/main.min.js' | absolute_url }}"></script> <script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
{% endif %}
<!-- for guide purposes all caching is removed and is separately built. -->
{% if site.search == true or page.layout == "search" %}
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- when "lunr" -%}
{% include search/lunr-search-scripts.html %}
{%- when "google" -%}
{% include search/google-search-scripts.html %}
{%- when "algolia" -%}
{% include search/algolia-search-scripts.html %}
{%- endcase -%}
{% endif %} {% endif %}
{% include analytics.html %} {% include analytics.html %}
{% include /comments-providers/scripts.html %} {% include /comments-providers/scripts.html %}
{% if site.after_footer_scripts %}
{% for script in site.after_footer_scripts %}
<script src="{{ script | relative_url }}"></script>
{% endfor %}
{% endif %}

View file

@ -0,0 +1,61 @@
<!-- Including InstantSearch.js library and styling -->
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css">
<script>
// Instanciating InstantSearch.js with Algolia credentials
const search = instantsearch({
appId: '{{ site.algolia.application_id }}',
apiKey: '{{ site.algolia.search_only_api_key }}',
indexName: '{{ site.algolia.index_name }}',
searchParameters: {
restrictSearchableAttributes: [
'title',
'content'
]
}
});
const hitTemplate = function(hit) {
const url = hit.url;
const title = hit._highlightResult.title.value;
const content = hit._highlightResult.html.value;
return `
<div class="list__item">
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
<div class="archive__item-excerpt" itemprop="description">${content}</div>
</article>
</div>
`;
}
// Adding searchbar and results widgets
search.addWidget(
instantsearch.widgets.searchBox({
container: '.search-searchbar',
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
})
);
search.addWidget(
instantsearch.widgets.hits({
container: '.search-hits',
templates: {
item: hitTemplate,
empty: '{{ site.data.ui-text[site.locale].search_algolia_no_results | default: "No results" }}',
}
})
);
// Starting the search only when toggle is clicked
$(document).ready(function () {
$(".search__toggle").on("click", function() {
if(!search.started) {
search.start();
}
});
});
</script>

View file

@ -0,0 +1,30 @@
<script>
(function () {
var cx = '{{ site.google.search_engine_id }}';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
function googleCustomSearchExecute() {
var input = document.getElementById('cse-search-input-box-id');
var element = google.search.cse.element.getElement('searchresults-only0');
if (input.value == '') {
element.clearAllResults();
} else {
element.execute(input.value);
}
return false;
}
{% if site.google.instant_search %}
$(document).ready(function () {
$('input#cse-search-input-box-id').on('keyup', function () {
googleCustomSearchExecute();
});
});
{% endif %}
</script>

View file

@ -0,0 +1,10 @@
{% assign lang = site.locale | slice: 0,2 | default: "en" %}
{% case lang %}
{% when "gr" %}
{% assign lang = "gr" %}
{% else %}
{% assign lang = "en" %}
{% endcase %}
<script src="{{ '/assets/js/lunr/lunr.min.js' | relative_url }}"></script>
<script src="{{ '/assets/js/lunr/lunr-store.js' | relative_url }}"></script>
<script src="{{ '/assets/js/lunr/lunr-' | append: lang | append: '.js' | relative_url }}"></script>

View file

@ -0,0 +1,26 @@
<div class="search-content__inner-wrap">
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- when "lunr" -%}
<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">
<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>

View file

@ -1,57 +1,76 @@
<!-- begin SEO --> <!-- begin _includes/seo.html -->
{% if site.url %} {%- if site.url -%}
{% assign seo_url = site.url | append: site.baseurl %} {%- assign seo_url = site.url | append: site.baseurl -%}
{% endif %} {%- endif -%}
{% assign seo_url = seo_url | default: site.github.url %} {%- assign seo_url = seo_url | default: site.github.url -%}
{% if page.title %} {% assign title_separator = site.title_separator | default: '-' | replace: '|', '&#124;' %}
{% assign seo_title = page.title | append: " " | append: site.title_separator | append: " " | append: site.title %}
{%- if page.title -%}
{%- assign seo_title = page.title | append: " " | append: title_separator | append: " " | append: site.title -%}
{%- endif -%}
{%- if seo_title -%}
{%- assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once -%}
{%- endif -%}
{% if page.canonical_url %}
{%- assign canonical_url = page.canonical_url %}
{% else %}
{%- assign canonical_url = page.url | replace: "index.html", "" | absolute_url %}
{% endif %} {% endif %}
{% if seo_title %} {%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
{% assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once %} {%- if seo_description -%}
{% endif %} {%- assign seo_description = seo_description | markdownify | strip_html | newline_to_br | strip_newlines | replace: '<br />', ' ' | escape_once | strip -%}
{%- endif -%}
{% if site.url %} {%- assign author = page.author | default: page.authors[0] | default: site.author -%}
{% assign canonical_url = page.url | replace: "index.html", "" | prepend: site.url %} {%- assign author = site.data.authors[author] | default: author -%}
{% endif %}
<title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ site.title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title> {%- if author.twitter -%}
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
{%- endif -%}
{% assign seo_description = page.description | default: page.excerpt | default: site.description %} {%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url -%}
{% if seo_description %} {%- assign page_large_image = page_large_image | escape -%}
{% assign seo_description = seo_description | markdownify | strip_html | strip_newlines | escape_once %}
{% endif %}
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url -%}
{%- assign page_teaser_image = page_teaser_image | escape -%}
{%- assign site_og_image = site.og_image | absolute_url -%}
{%- assign site_og_image = site_og_image | escape -%}
{%- if page.date -%}
{%- assign og_type = "article" -%}
{%- else -%}
{%- assign og_type = "website" -%}
{%- endif -%}
<title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
<meta name="description" content="{{ seo_description }}"> <meta name="description" content="{{ seo_description }}">
{% assign seo_author = page.author | default: page.author[0] | default: site.author.name %} {% if author.name %}
{% if seo_author %} <meta name="author" content="{{ author.name | default: author }}">
{% if seo_author.twitter %} {% if og_type == "article" %}
{% assign seo_author_twitter = seo_author.twitter %} <meta property="article:author" content="{{ author.name | default: author }}">
{% else %}
{% if site.data.authors and site.data.authors[seo_author] %}
{% assign seo_author_twitter = site.data.authors[seo_author].twitter %}
{% else %}
{% assign seo_author_twitter = seo_author %}
{% endif %} {% endif %}
{% endif %}
{% assign seo_author_twitter = seo_author_twitter | replace: "@", "" %}
{% endif %} {% endif %}
<meta name="author" content="{{ seo_author }}"> <meta property="og:type" content="{{ og_type }}">
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}"> <meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
<meta property="og:site_name" content="{{ site.title }}"> <meta property="og:site_name" content="{{ site.title }}">
<meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}"> <meta property="og:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
<meta property="og:url" content="{{ canonical_url }}">
{% if seo_url %} {% if seo_description %}
<link rel="canonical" href="{{ page.url | prepend: seo_url | replace: "/index.html", "/" }}"> <meta property="og:description" content="{{ seo_description }}">
<meta property="og:url" content="{{ page.url | prepend: seo_url | replace: "/index.html", "/" }}">
{% endif %} {% endif %}
{% if page.excerpt %} {% if page_large_image %}
<meta property="og:description" content="{{ seo_description }}"> <meta property="og:image" content="{{ page_large_image }}">
{% elsif page_teaser_image %}
<meta property="og:image" content="{{ page_teaser_image }}">
{% endif %} {% endif %}
{% if site.twitter.username %} {% if site.twitter.username %}
@ -60,23 +79,29 @@
<meta name="twitter:description" content="{{ seo_description }}"> <meta name="twitter:description" content="{{ seo_description }}">
<meta name="twitter:url" content="{{ canonical_url }}"> <meta name="twitter:url" content="{{ canonical_url }}">
{% if page.header.image %} {% if page_large_image %}
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}"> <meta name="twitter:image" content="{{ page_large_image }}">
{% else %} {% else %}
<meta name="twitter:card" content="summary"> <meta name="twitter:card" content="summary">
{% if page.header.teaser %} {% if page_teaser_image %}
<meta name="twitter:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}"> <meta name="twitter:image" content="{{ page_teaser_image }}">
{% elsif site.og_image %}
<meta name="twitter:image" content="{{ site.og_image | absolute_url }}">
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if seo_author_twitter %} {% if author_twitter %}
<meta name="twitter:creator" content="@{{ seo_author_twitter }}"> <meta name="twitter:creator" content="@{{ author_twitter }}">
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if page.date %}
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
{% endif %}
{% if og_type == "article" and page.last_modified_at %}
<meta property="article:modified_time" content="{{ page.last_modified_at | date_to_xmlschema }}">
{% endif %}
{% if site.facebook %} {% if site.facebook %}
{% if site.facebook.publisher %} {% if site.facebook.publisher %}
<meta property="article:publisher" content="{{ site.facebook.publisher }}"> <meta property="article:publisher" content="{{ site.facebook.publisher }}">
@ -87,50 +112,30 @@
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if page.header.image %} <link rel="canonical" href="{{ canonical_url }}">
<meta property="og:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}">
{% elsif page.header.overlay_image %}
<meta property="og:image" content="{% if page.header.overlay_image contains "://" %}{{ page.header.overlay_image }}{% else %}{{ page.header.overlay_image | absolute_url }}{% endif %}">
{% elsif page.header.teaser %}
<meta property="og:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
{% elsif site.og_image %}
<meta property="og:image" content="{% if site.og_image contains "://" %}{{ site.og_image }}{% else %}{{ site.og_image | absolute_url }}{% endif %}">
{% endif %}
{% if page.date %}
<meta property="og:type" content="article">
<meta property="article:published_time" content="{{ page.date | date_to_xmlschema }}">
{% endif %}
{% if paginator.previous_page %} {% if paginator.previous_page %}
<link rel="prev" href="{{ paginator.previous_page_path | prepend: seo_url }}"> <link rel="prev" href="{{ paginator.previous_page_path | absolute_url }}">
{% endif %} {% endif %}
{% if paginator.next_page %} {% if paginator.next_page %}
<link rel="next" href="{{ paginator.next_page_path | prepend: seo_url }}"> <link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
{% endif %} {% endif %}
{% if site.og_image %} <script type="application/ld+json">
<script type="application/ld+json">
{ {
"@context": "http://schema.org", "@context": "https://schema.org",
{% if site.social.type == "Organization" %}
"@type": "Organization", "@type": "Organization",
"url": {{ seo_url | jsonify }}, "url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
"logo": {{ site.og_image | absolute_url | jsonify }} "logo": {{ site_og_image | jsonify }}{% endif %}
{% else %}
"@type": "Person",
"name": {{ site.social.name | default: site.name | jsonify }},
"url": {{ '/' | absolute_url |jsonify }}{% if site.social.links %},
"sameAs": {{ site.social.links | jsonify }}{% endif %}
{% endif %}
} }
</script> </script>
{% endif %}
{% if site.social %}
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "{% if site.social.type %}{{ site.social.type }}{% else %}Person{% endif %}",
"name" : "{{ site.social.name | default: site.name }}",
"url" : {{ seo_url | jsonify }},
"sameAs" : {{ site.social.links | jsonify }}
}
</script>
{% endif %}
{% if site.google_site_verification %} {% if site.google_site_verification %}
<meta name="google-site-verification" content="{{ site.google_site_verification }}" /> <meta name="google-site-verification" content="{{ site.google_site_verification }}" />
@ -144,4 +149,10 @@
{% if site.yandex_site_verification %} {% if site.yandex_site_verification %}
<meta name="yandex-verification" content="{{ site.yandex_site_verification }}"> <meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
{% endif %} {% endif %}
<!-- end SEO --> {% if site.naver_site_verification %}
<meta name="naver-site-verification" content="{{ site.naver_site_verification }}">
{% endif %}
{% if site.baidu_site_verification %}
<meta name="baidu-site-verification" content="{{ site.baidu_site_verification }}">
{% endif %}
<!-- end _includes/seo.html -->

View file

@ -1,3 +1,24 @@
<!-- {% if page.author_profile or layout.author_profile or page.sidebar %}
<div class="sidebar sticky">
{% if page.author_profile or layout.author_profile %}{% include author-profile.html %}{% endif %}
{% if page.sidebar %}
{% for s in page.sidebar %}
{% if s.image %}
<img src="{{ s.image | relative_url }}"
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
{% endif %}
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
{% if s.text %}{{ s.text | markdownify }}{% endif %}
{% if s.nav %}{% include nav_list nav=s.nav %}{% endif %}
{% endfor %}
{% if page.sidebar.nav %}
{% include nav_list nav=page.sidebar.nav %}
{% endif %}
{% endif %}
</div>
{% endif %}
-->
{% if page.sidebar %} {% if page.sidebar %}
<div class="sidebar sticky" style="display: none;"> <div class="sidebar sticky" style="display: none;">

View file

@ -0,0 +1,7 @@
<nav class="skip-links">
<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>

View file

@ -3,11 +3,9 @@
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4> <h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
{% endif %} {% endif %}
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fa fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a> <a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fab fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fa fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a> <a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
<a href="https://plus.google.com/share?url={{ page.url | absolute_url | url_encode }}" class="btn btn--google-plus" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Google Plus"><i class="fa fa-fw fa-google-plus" aria-hidden="true"></i><span> Google+</span></a> <a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fa fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
</section> </section>

View file

@ -6,20 +6,13 @@
{% endcase %} {% endcase %}
{% if site.tag_archive.path %} {% if site.tag_archive.path %}
{% comment %} {% assign tags_sorted = page.tags | sort_natural %}
<!-- Sort alphabetically regardless of case e.g. a B c d E -->
<!-- modified from http://www.codeofclimber.ru/2015/sorting-site-tags-in-jekyll/ -->
{% endcomment %}
{% capture page_tags %}{% for tag in page.tags %}{{ tag | downcase }}#{{ tag }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
{% assign tag_hashes = page_tags | split: ',' | sort %}
<p class="page__taxonomy"> <p class="page__taxonomy">
<strong><i class="fa fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong> <strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
<span itemprop="keywords"> <span itemprop="keywords">
{% for hash in tag_hashes %} {% for tag_word in tags_sorted %}
{% assign keyValue = hash | split: '#' %} <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 %}
{% capture tag_word %}{{ keyValue[1] | strip_newlines }}{% endcapture %}
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | absolute_url }}" class="page__taxonomy-item" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
{% endfor %} {% endfor %}
</span> </span>
</p> </p>

View file

@ -1,6 +1,6 @@
<aside class="sidebar__right"> <aside class="sidebar__right">
<nav class="toc" markdown="1"> <nav class="toc" markdown="1">
<header><h4 class="nav__title"><i class="fa fa-{{ include.icon | default: 'file-text' }}"></i> {{ include.title | default: site.data.ui-text[site.locale].toc_label }}</h4></header> <header><h4 class="nav__title"><i class="fas fa-{{ include.icon | default: 'file-alt' }}"></i> {{ include.title | default: site.data.ui-text[site.locale].toc_label }}</h4></header>
* Auto generated table of contents * Auto generated table of contents
{:toc .toc__menu} {:toc .toc__menu}
</nav> </nav>

182
_includes/toc.html Normal file
View file

@ -0,0 +1,182 @@
{% capture tocWorkspace %}
{% comment %}
Copyright (c) 2017 Vladimir "allejo" Jimenez
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
{% endcomment %}
{% comment %}
Version 1.1.0
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
Usage:
{% 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
Optional Parameters:
* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
* class (string) : '' - a CSS class assigned to the TOC
* id (string) : '' - an ID to assigned to the TOC
* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
* item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level
* submenu_class (string) : '' - add custom class(es) for each child group of headings; has support for '%level%' placeholder which is the current "submenu" heading level
* base_url (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content
* anchor_class (string) : '' - add custom class(es) for each anchor element
* skip_no_ids (bool) : false - skip headers that do not have an `id` attribute
Output:
An ordered or unordered list representing the table of contents of a markdown block. This snippet will only
generate the table of contents and will NOT output the markdown given to it
{% endcomment %}
{% capture newline %}
{% endcapture %}
{% assign newline = newline | rstrip %} <!-- Remove the extra spacing but preserve the newline -->
{% capture deprecation_warnings %}{% endcapture %}
{% if include.baseurl %}
{% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "baseurl" has been deprecated, use "base_url" instead -->{{ newline }}{% endcapture %}
{% endif %}
{% if include.skipNoIDs %}
{% capture deprecation_warnings %}{{ deprecation_warnings }}<!-- jekyll-toc :: "skipNoIDs" has been deprecated, use "skip_no_ids" instead -->{{ newline }}{% endcapture %}
{% endif %}
{% capture jekyll_toc %}{% endcapture %}
{% assign orderedList = include.ordered | default: false %}
{% assign baseURL = include.base_url | default: include.baseurl | default: '' %}
{% assign skipNoIDs = include.skip_no_ids | default: include.skipNoIDs | default: false %}
{% assign minHeader = include.h_min | default: 1 %}
{% assign maxHeader = include.h_max | default: 6 %}
{% assign nodes = include.html | strip | split: '<h' %}
{% assign firstHeader = true %}
{% assign currLevel = 0 %}
{% assign lastLevel = 0 %}
{% capture listModifier %}{% if orderedList %}ol{% else %}ul{% endif %}{% endcapture %}
{% for node in nodes %}
{% if node == "" %}
{% continue %}
{% endif %}
{% assign currLevel = node | replace: '"', '' | slice: 0, 1 | times: 1 %}
{% if currLevel < minHeader or currLevel > maxHeader %}
{% continue %}
{% endif %}
{% assign _workspace = node | split: '</h' %}
{% assign _idWorkspace = _workspace[0] | split: 'id="' %}
{% assign _idWorkspace = _idWorkspace[1] | split: '"' %}
{% assign htmlID = _idWorkspace[0] %}
{% assign _classWorkspace = _workspace[0] | split: 'class="' %}
{% assign _classWorkspace = _classWorkspace[1] | split: '"' %}
{% assign htmlClass = _classWorkspace[0] %}
{% if htmlClass contains "no_toc" %}
{% continue %}
{% endif %}
{% if firstHeader %}
{% assign minHeader = currLevel %}
{% endif %}
{% capture _hAttrToStrip %}{{ _workspace[0] | split: '>' | first }}>{% endcapture %}
{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
{% if include.item_class and include.item_class != blank %}
{% capture listItemClass %} class="{{ include.item_class | replace: '%level%', currLevel | split: '.' | join: ' ' }}"{% endcapture %}
{% endif %}
{% if include.submenu_class and include.submenu_class != blank %}
{% assign subMenuLevel = currLevel | minus: 1 %}
{% capture subMenuClass %} class="{{ include.submenu_class | replace: '%level%', subMenuLevel | split: '.' | join: ' ' }}"{% endcapture %}
{% endif %}
{% capture anchorBody %}{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}{% endcapture %}
{% if htmlID %}
{% capture anchorAttributes %} href="{% if baseURL %}{{ baseURL }}{% endif %}#{{ htmlID }}"{% endcapture %}
{% if include.anchor_class %}
{% capture anchorAttributes %}{{ anchorAttributes }} class="{{ include.anchor_class | split: '.' | join: ' ' }}"{% endcapture %}
{% endif %}
{% capture listItem %}<a{{ anchorAttributes }}>{{ anchorBody }}</a>{% endcapture %}
{% elsif skipNoIDs == true %}
{% continue %}
{% else %}
{% capture listItem %}{{ anchorBody }}{% endcapture %}
{% endif %}
{% if currLevel > lastLevel %}
{% capture jekyll_toc %}{{ jekyll_toc }}<{{ listModifier }}{{ subMenuClass }}>{% endcapture %}
{% elsif currLevel < lastLevel %}
{% assign repeatCount = lastLevel | minus: currLevel %}
{% for i in (1..repeatCount) %}
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
{% endfor %}
{% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
{% else %}
{% capture jekyll_toc %}{{ jekyll_toc }}</li>{% endcapture %}
{% endif %}
{% capture jekyll_toc %}{{ jekyll_toc }}<li{{ listItemClass }}>{{ listItem }}{% endcapture %}
{% assign lastLevel = currLevel %}
{% assign firstHeader = false %}
{% endfor %}
{% assign repeatCount = minHeader | minus: 1 %}
{% assign repeatCount = lastLevel | minus: repeatCount %}
{% for i in (1..repeatCount) %}
{% capture jekyll_toc %}{{ jekyll_toc }}</li></{{ listModifier }}>{% endcapture %}
{% endfor %}
{% if jekyll_toc != '' %}
{% assign rootAttributes = '' %}
{% if include.class and include.class != blank %}
{% capture rootAttributes %} class="{{ include.class | split: '.' | join: ' ' }}"{% endcapture %}
{% endif %}
{% if include.id and include.id != blank %}
{% capture rootAttributes %}{{ rootAttributes }} id="{{ include.id }}"{% endcapture %}
{% endif %}
{% if rootAttributes %}
{% assign nodes = jekyll_toc | split: '>' %}
{% capture jekyll_toc %}<{{ listModifier }}{{ rootAttributes }}>{{ nodes | shift | join: '>' }}>{% endcapture %}
{% endif %}
{% endif %}
{% endcapture %}{% assign tocWorkspace = '' %}{{ deprecation_warnings }}{{ jekyll_toc }}

View file

@ -1,11 +1,24 @@
{% capture video_id %}{{ include.id }}{% endcapture %} {% capture video_id %}{{ include.id }}{% endcapture %}
{% capture video_provider %}{{ include.provider }}{% endcapture %} {% capture video_provider %}{{ include.provider }}{% endcapture %}
{% capture video_danmaku %}{{ include.danmaku | default: 0 }}{% endcapture %}
{% capture video_src %}
{% case video_provider %}
{% when "vimeo" %}
https://player.vimeo.com/video/{{ video_id }}?dnt=true
{% when "youtube" %}
https://www.youtube-nocookie.com/embed/{{ video_id }}
{% when "google-drive" %}
https://drive.google.com/file/d/{{ video_id }}/preview
{% when "bilibili" %}
https://player.bilibili.com/player.html?bvid={{ video_id }}&page=1&as_wide=1&high_quality=1&danmaku={{ video_danmaku }}
{% endcase %}
{% endcapture %}
{% assign video_src = video_src | strip %}
<!-- Courtesy of embedresponsively.com //--> <!-- Courtesy of embedresponsively.com //-->
<div class="responsive-video-container"> {% unless video_src == "" %}
{% if video_provider == "vimeo" %} <div class="responsive-video-container">
<iframe src="https://player.vimeo.com/video/{{ video_id }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> <iframe src="{{ video_src }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>
{% elsif video_provider == "youtube" %} </div>
<iframe src="https://www.youtube.com/embed/{{ video_id }}" frameborder="0" allowfullscreen></iframe> {% endunless %}
{% endif %}
</div>

View file

@ -3,11 +3,25 @@ layout: default
author_profile: false author_profile: false
--- ---
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
{% unless paginator %}
{% include breadcrumbs.html %}
{% endunless %}
{% endif %}
<div id="main" role="main"> <div id="main" role="main">
{% include sidebar.html %} {% include sidebar.html %}
<div class="archive"> <div class="archive">
<h1 class="page__title">{{ page.title }}</h1> {% unless page.header.overlay_color or page.header.overlay_image %}
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
{% endunless %}
{% for post in page.posts %} {% for post in page.posts %}
{% include archive-single.html %} {% include archive-single.html %}
{% endfor %} {% endfor %}

View file

@ -19,7 +19,7 @@ layout: default
<div class="archive"> <div class="archive">
{% unless page.header.overlay_color or page.header.overlay_image %} {% unless page.header.overlay_color or page.header.overlay_image %}
<h1 class="page__title">{{ page.title }}</h1> <h1 id="page-title" class="page__title">{{ page.title }}</h1>
{% endunless %} {% endunless %}
{{ content }} {{ content }}
</div> </div>

43
_layouts/categories.html Normal file
View file

@ -0,0 +1,43 @@
---
layout: archive
---
{{ content }}
{% assign categories_max = 0 %}
{% for category in site.categories %}
{% if category[1].size > categories_max %}
{% assign categories_max = category[1].size %}
{% endif %}
{% endfor %}
<ul class="taxonomy__index">
{% for i in (1..categories_max) reversed %}
{% for category in site.categories %}
{% if category[1].size == i %}
<li>
<a href="#{{ category[0] | slugify }}">
<strong>{{ category[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
</a>
</li>
{% endif %}
{% endfor %}
{% endfor %}
</ul>
{% assign entries_layout = page.entries_layout | default: 'list' %}
{% for i in (1..categories_max) reversed %}
{% for category in site.categories %}
{% if category[1].size == i %}
<section id="{{ category[0] | slugify | downcase }}" class="taxonomy__section">
<h2 class="archive__subtitle">{{ category[0] }}</h2>
<div class="entries-{{ entries_layout }}">
{% for post in category.last %}
{% include archive-single.html type=entries_layout %}
{% endfor %}
</div>
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} &uarr;</a>
</section>
{% endif %}
{% endfor %}
{% endfor %}

10
_layouts/category.html Normal file
View file

@ -0,0 +1,10 @@
---
layout: archive
---
{{ content }}
{% assign entries_layout = page.entries_layout | default: 'list' %}
<div class="entries-{{ entries_layout }}">
{% include posts-category.html taxonomy=page.taxonomy type=entries_layout %}
</div>

10
_layouts/collection.html Normal file
View file

@ -0,0 +1,10 @@
---
layout: archive
---
{{ content }}
{% assign entries_layout = page.entries_layout | default: 'list' %}
<div class="entries-{{ entries_layout }}">
{% include documents-collection.html collection=page.collection sort_by=page.sort_by sort_order=page.sort_order type=entries_layout %}
</div>

View file

@ -1,10 +1,10 @@
--- ---
# Jekyll layout that compresses HTML # Jekyll layout that compresses HTML
# v3.0.2 # v3.1.0
# http://jch.penibelst.de/ # http://jch.penibelst.de/
# © 20142015 Anatol Broder # © 20142015 Anatol Broder
# MIT License # MIT License
--- ---
{% capture _LINE_FEED %} {% capture _LINE_FEED %}
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %} {% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment or site.compress_html.ignore.envs == "all" %}{{ content }}{% else %}{% capture _content %}{{ content }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ content | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}

View file

@ -3,11 +3,13 @@
<!doctype html> <!doctype html>
<!-- <!--
Minimal Mistakes Jekyll Theme 4.6.0 by Michael Rose Minimal Mistakes Jekyll Theme 4.24.0 by Michael Rose
Copyright 2017 Michael Rose - mademistakes.com | @mmistakes Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
Free for personal and commercial use under the MIT license Free for personal and commercial use under the MIT license
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
--> -->
<!-- for guide purposes all caching is removed and is separately built. -->
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js"> <html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
<head> <head>
{% include head.html %} {% include head.html %}
@ -15,13 +17,21 @@
</head> </head>
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}"> <body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
{% include skip-links.html %}
{% include browser-upgrade.html %} {% include browser-upgrade.html %}
{% include masthead.html %} {% include masthead.html %}
<div class="initial-content">
{{ content }} {{ content }}
</div>
<div class="page__footer"> {% if site.search == true %}
<div class="search-content">
{% include search/search_form.html %}
</div>
{% endif %}
<div id="footer" class="page__footer">
<footer> <footer>
{% include footer/custom.html %} {% include footer/custom.html %}
{% include footer.html %} {% include footer.html %}

View file

@ -2,10 +2,21 @@
layout: archive layout: archive
--- ---
{{ content }}
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3> <h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3>
{% for post in paginator.posts %} {% if paginator %}
{% include archive-single.html %} {% assign posts = paginator.posts %}
{% endfor %} {% else %}
{% assign posts = site.posts %}
{% endif %}
{% assign entries_layout = page.entries_layout | default: 'list' %}
<div class="entries-{{ entries_layout }}">
{% for post in posts %}
{% include archive-single.html type=entries_layout %}
{% endfor %}
</div>
{% include paginator.html %} {% include paginator.html %}

30
_layouts/posts.html Normal file
View file

@ -0,0 +1,30 @@
---
layout: archive
---
{{ content }}
<ul class="taxonomy__index">
{% assign postsInYear = site.posts | where_exp: "item", "item.hidden != true" | group_by_exp: 'post', 'post.date | date: "%Y"' %}
{% for year in postsInYear %}
<li>
<a href="#{{ year.name }}">
<strong>{{ year.name }}</strong> <span class="taxonomy__count">{{ year.items | size }}</span>
</a>
</li>
{% endfor %}
</ul>
{% assign entries_layout = page.entries_layout | default: 'list' %}
{% assign postsByYear = site.posts | where_exp: "item", "item.hidden != true" | group_by_exp: 'post', 'post.date | date: "%Y"' %}
{% for year in postsByYear %}
<section id="{{ year.name }}" class="taxonomy__section">
<h2 class="archive__subtitle">{{ year.name }}</h2>
<div class="entries-{{ entries_layout }}">
{% for post in year.items %}
{% include archive-single.html type=entries_layout %}
{% endfor %}
</div>
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} &uarr;</a>
</section>
{% endfor %}

42
_layouts/search.html Normal file
View file

@ -0,0 +1,42 @@
---
layout: default
---
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.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">
{% unless page.header.overlay_color or page.header.overlay_image %}
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
{% endunless %}
{{ content }}
{%- assign search_provider = site.search_provider | default: "lunr" -%}
{%- case search_provider -%}
{%- when "lunr" -%}
<input type="text" id="search" class="search-input" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
<div id="results" class="results"></div>
{%- when "google" -%}
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
<input type="text" id="cse-search-input-box-id" class="search-input" 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>
</div>

View file

@ -1,85 +0,0 @@
---
layout: default
---
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
{% include page__hero.html %}
{% elsif page.header.video.id and page.header.video.provider %}
{% include page__hero_video.html %}
{% endif %}
{% if page.url != "/" and site.breadcrumbs %}
{% unless paginator %}
{% include breadcrumbs.html %}
{% endunless %}
{% endif %}
<div id="main" role="main">
{% include sidebar.html %}
<article class="page" itemscope itemtype="http://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 %}
<div class="page__inner-wrap">
{% unless page.header.overlay_color or page.header.overlay_image %}
<header>
{% if page.title %}<h1 class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
{% if page.read_time %}
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
</header>
{% endunless %}
<section class="page__content" itemprop="text">
{{ content }}
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
</section>
<footer class="page__meta">
{% if site.data.ui-text[site.locale].meta_label %}
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
{% endif %}
{% include page__taxonomy.html %}
{% if page.last_modified_at %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" 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="fa fa-fw fa-calendar" 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>
{% if page.share %}{% include social-share.html %}{% endif %}
{% include post_pagination.html %}
</div>
{% if site.comments.provider and page.comments %}
{% include comments.html %}
{% endif %}
</article>
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
{% if page.id and page.related and site.related_posts.size > 0 %}
<div class="page__related">
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.related_posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
{% elsif page.id and page.related %}
<div class="page__related">
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper">
{% for post in site.posts limit:4 %}
{% include archive-single.html type="grid" %}
{% endfor %}
</div>
</div>
{% endif %}
</div>

View file

@ -17,23 +17,31 @@ layout: default
<div id="main" role="main"> <div id="main" role="main">
{% include sidebar.html %} {% include sidebar.html %}
<article class="page" itemscope itemtype="http://schema.org/CreativeWork"> <article class="page" itemscope itemtype="https://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %} {% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %} {% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %} {% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %} {% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
<div class="page__inner-wrap"> <div class="page__inner-wrap">
{% unless page.header.overlay_color or page.header.overlay_image %} {% unless page.header.overlay_color or page.header.overlay_image %}
<header> <header>
{% if page.title %}<h1 class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %} {% if page.title %}<h1 id="page-title" class="page__title" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
{% if page.read_time %} {% include page__meta.html %}
<p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> {% include read-time.html %}</p>
{% endif %}
</header> </header>
{% endunless %} {% endunless %}
<section class="page__content" itemprop="text"> <section class="page__content" itemprop="text">
{% if page.toc %}
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
<nav class="toc">
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label | default: "On this page" }}</h4></header>
{% include toc.html sanitize=true html=content h_min=1 h_max=6 class="toc__menu" skip_no_ids=true %}
</nav>
</aside>
{% endif %}
<hr>
{% assign split_path = page.path | split: "/" %} {% assign split_path = page.path | split: "/" %}
{% assign locale = split_path[1] %} {% assign locale = split_path[1] %}
@ -44,15 +52,13 @@ layout: default
{% else %} {% else %}
{% assign domain = site.url | append: site.baseurl %} {% assign domain = site.url | append: site.baseurl %}
{% endif %} {% endif %}
<div class ="notice"><b>{{ link.title }}</b></div>
{% endfor %} {% endfor %}
<hr> <hr>
{{ content }} {{ content }}
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %} {% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
<hr>
</section> </section>
<footer class="page__meta"> <footer class="page__meta">
@ -60,11 +66,7 @@ layout: default
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4> <h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
{% endif %} {% endif %}
{% include page__taxonomy.html %} {% include page__taxonomy.html %}
{% if page.last_modified_at %} {% include page__date.html %}
<p class="page__date"><strong><i class="fa fa-fw fa-calendar" 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="fa fa-fw fa-calendar" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %d, %Y" }}</time></p>
{% endif %}
</footer> </footer>
{% if page.share %}{% include social-share.html %}{% endif %} {% if page.share %}{% include social-share.html %}{% endif %}
@ -72,7 +74,7 @@ layout: default
{% include post_pagination.html %} {% include post_pagination.html %}
</div> </div>
{% if site.comments.provider and page.comments %} {% if jekyll.environment == 'production' and site.comments.provider and page.comments %}
{% include comments.html %} {% include comments.html %}
{% endif %} {% endif %}
</article> </article>
@ -93,6 +95,9 @@ layout: default
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4> <h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
<div class="grid__wrapper"> <div class="grid__wrapper">
{% for post in site.posts limit:4 %} {% for post in site.posts limit:4 %}
{% if post.id == page.id %}
{% continue %}
{% endif %}
{% include archive-single.html type="grid" %} {% include archive-single.html type="grid" %}
{% endfor %} {% endfor %}
</div> </div>

View file

@ -9,13 +9,14 @@ layout: default
{% endif %} {% endif %}
<div id="main" role="main"> <div id="main" role="main">
<article class="splash" itemscope itemtype="http://schema.org/CreativeWork"> <article class="splash" itemscope itemtype="https://schema.org/CreativeWork">
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %} {% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %} {% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date: "%B %d, %Y" }}">{% endif %} {% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date: "%B %d, %Y" }}">{% endif %} {% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
<section class="page__content" itemprop="text"> <section class="page__content" itemprop="text">
<hr>
{% assign split_path = page.path | split: "/" %} {% assign split_path = page.path | split: "/" %}
{% assign locale = split_path[1] %} {% assign locale = split_path[1] %}
@ -26,18 +27,11 @@ layout: default
{% else %} {% else %}
{% assign domain = site.url | append: site.baseurl %} {% assign domain = site.url | append: site.baseurl %}
{% endif %} {% endif %}
<div class ="notice"><b>{{ link.title }}</b></div>
{% endfor %} {% endfor %}
<hr> <hr>
{{ content }} {{ content }}
</section> </section>
</article> </article>
<hr>
<center>
<div id="waldo-tag-4187"></div>
</center>
</div> </div>

10
_layouts/tag.html Normal file
View file

@ -0,0 +1,10 @@
---
layout: archive
---
{{ content }}
{% assign entries_layout = page.entries_layout | default: 'list' %}
<div class="entries-{{ entries_layout }}">
{% include posts-tag.html taxonomy=page.taxonomy type=entries_layout %}
</div>

43
_layouts/tags.html Normal file
View file

@ -0,0 +1,43 @@
---
layout: archive
---
{{ content }}
{% assign tags_max = 0 %}
{% for tag in site.tags %}
{% if tag[1].size > tags_max %}
{% assign tags_max = tag[1].size %}
{% endif %}
{% endfor %}
<ul class="taxonomy__index">
{% for i in (1..tags_max) reversed %}
{% for tag in site.tags %}
{% if tag[1].size == i %}
<li>
<a href="#{{ tag[0] | slugify }}">
<strong>{{ tag[0] }}</strong> <span class="taxonomy__count">{{ i }}</span>
</a>
</li>
{% endif %}
{% endfor %}
{% endfor %}
</ul>
{% assign entries_layout = page.entries_layout | default: 'list' %}
{% for i in (1..tags_max) reversed %}
{% for tag in site.tags %}
{% if tag[1].size == i %}
<section id="{{ tag[0] | slugify | downcase }}" class="taxonomy__section">
<h2 class="archive__subtitle">{{ tag[0] }}</h2>
<div class="entries-{{ entries_layout }}">
{% for post in tag.last %}
{% include archive-single.html type=entries_layout %}
{% endfor %}
</div>
<a href="#page-title" class="back-to-top">{{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} &uarr;</a>
</section>
{% endif %}
{% endfor %}
{% endfor %}

View file

@ -1,7 +1,7 @@
/*! /*!
* Minimal Mistakes Jekyll Theme 4.6.0 by Michael Rose * Minimal Mistakes Jekyll Theme 4.24.0 by Michael Rose
* Copyright 2017 Michael Rose - mademistakes.com | @mmistakes * Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt) * Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE)
*/ */
/* Variables */ /* Variables */
@ -10,7 +10,6 @@
/* Mixins and functions */ /* Mixins and functions */
@import "minimal-mistakes/vendor/breakpoint/breakpoint"; @import "minimal-mistakes/vendor/breakpoint/breakpoint";
@include breakpoint-set("to ems", true); @include breakpoint-set("to ems", true);
@import "minimal-mistakes/vendor/font-awesome/font-awesome";
@import "minimal-mistakes/vendor/magnific-popup/magnific-popup"; // Magnific Popup @import "minimal-mistakes/vendor/magnific-popup/magnific-popup"; // Magnific Popup
@import "minimal-mistakes/vendor/susy/susy"; @import "minimal-mistakes/vendor/susy/susy";
@import "minimal-mistakes/mixins"; @import "minimal-mistakes/mixins";
@ -28,6 +27,7 @@
@import "minimal-mistakes/masthead"; @import "minimal-mistakes/masthead";
@import "minimal-mistakes/navigation"; @import "minimal-mistakes/navigation";
@import "minimal-mistakes/footer"; @import "minimal-mistakes/footer";
@import "minimal-mistakes/search";
@import "minimal-mistakes/syntax"; @import "minimal-mistakes/syntax";
/* Utility classes */ /* Utility classes */

View file

@ -3,6 +3,7 @@
========================================================================== */ ========================================================================== */
.archive { .archive {
margin-top: 1em;
margin-bottom: 2em; margin-bottom: 2em;
@include breakpoint($large) { @include breakpoint($large) {
@ -15,15 +16,23 @@
width: calc(100% - #{$right-sidebar-width}); width: calc(100% - #{$right-sidebar-width});
padding-right: $right-sidebar-width; padding-right: $right-sidebar-width;
} }
}
.archive__item {
position: relative;
a { a {
color: inherit; position: relative;
text-decoration: none; z-index: 10;
}
a[rel="permalink"] {
position: static;
} }
} }
.archive__subtitle { .archive__subtitle {
margin: 1.414em 0 0; margin: 1.414em 0 0.5em;
padding-bottom: 0.5em; padding-bottom: 0.5em;
font-size: $type-size-5; font-size: $type-size-5;
color: $muted-text-color; color: $muted-text-color;
@ -37,9 +46,19 @@
.archive__item-title { .archive__item-title {
margin-bottom: 0.25em; margin-bottom: 0.25em;
font-family: $sans-serif-narrow; font-family: $sans-serif-narrow;
line-height: initial;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
a[rel="permalink"]::before {
content: '';
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
a + a { a + a {
opacity: 0.5; opacity: 0.5;
} }
@ -47,7 +66,6 @@
/* remove border*/ /* remove border*/
.page__content { .page__content {
.archive__item-title { .archive__item-title {
margin-top: 1em; margin-top: 1em;
border-bottom: none; border-bottom: none;
@ -61,46 +79,63 @@
& + p { & + p {
text-indent: 0; text-indent: 0;
} }
a {
position: relative;
}
} }
.archive__item-teaser { .archive__item-teaser {
position: relative;
border-radius: $border-radius; border-radius: $border-radius;
overflow: hidden; overflow: hidden;
img { img {
width: 100%; width: 100%;
} }
} }
.archive__item:hover { .archive__item-caption {
position: absolute;
bottom: 0;
right: 0;
margin: 0 auto;
padding: 2px 5px;
color: #fff;
font-family: $caption-font-family;
font-size: $type-size-8;
background: #000;
text-align: right;
z-index: 5;
opacity: 0.5;
border-radius: $border-radius 0 0 0;
.archive__item-teaser { @include breakpoint($large) {
box-shadow: 0 0 10px rgba(#000, 0.25); padding: 5px 10px;
} }
.archive__item-title { a {
text-decoration: underline; color: #fff;
text-decoration: none;
} }
} }
/* /*
List view List view
========================================================================== */ ========================================================================== */
.list__item { .list__item {
.page__meta { .page__meta {
margin: 0 0 4px; margin: 0 0 4px;
font-size: 0.6em;
} }
} }
/* /*
Grid view Grid view
========================================================================== */ ========================================================================== */
.archive { .archive {
.grid__wrapper { .grid__wrapper {
/* extend grid elements to the right */ /* extend grid elements to the right */
@ -121,12 +156,12 @@
float: left; float: left;
width: span(5 of 10); width: span(5 of 10);
&:nth-child(2n+1) { &:nth-child(2n + 1) {
clear: both; clear: both;
margin-left: 0; margin-left: 0;
} }
&:nth-child(2n+2) { &:nth-child(2n + 2) {
clear: none; clear: none;
margin-left: gutter(of 10); margin-left: gutter(of 10);
} }
@ -137,25 +172,25 @@
margin-right: 0; /* override margin*/ margin-right: 0; /* override margin*/
width: span(3 of 12); width: span(3 of 12);
&:nth-child(2n+1) { &:nth-child(2n + 1) {
clear: none; clear: none;
} }
&:nth-child(4n+1) { &:nth-child(4n + 1) {
clear: both; clear: both;
} }
&:nth-child(4n+2) { &:nth-child(4n + 2) {
clear: none; clear: none;
margin-left: gutter(1 of 12); margin-left: gutter(1 of 12);
} }
&:nth-child(4n+3) { &:nth-child(4n + 3) {
clear: none; clear: none;
margin-left: gutter(1 of 12); margin-left: gutter(1 of 12);
} }
&:nth-child(4n+4) { &:nth-child(4n + 4) {
clear: none; clear: none;
margin-left: gutter(1 of 12); margin-left: gutter(1 of 12);
} }
@ -163,6 +198,15 @@
.page__meta { .page__meta {
margin: 0 0 4px; margin: 0 0 4px;
font-size: 0.6em;
}
.page__meta-sep {
display: block;
&::before {
display: none;
}
} }
.archive__item-title { .archive__item-title {
@ -180,7 +224,6 @@
} }
.archive__item-teaser { .archive__item-teaser {
@include breakpoint($small) { @include breakpoint($small) {
max-height: 200px; max-height: 200px;
} }
@ -191,7 +234,6 @@
} }
} }
/* /*
Features Features
========================================================================== */ ========================================================================== */
@ -200,28 +242,33 @@
@include clearfix(); @include clearfix();
margin-bottom: 2em; margin-bottom: 2em;
border-bottom: 1px solid $border-color; border-bottom: 1px solid $border-color;
.archive__item-title {
margin-bottom: 0;
}
} }
.feature__item { .feature__item {
position: relative;
margin-bottom: 2em; margin-bottom: 2em;
font-size: 1.25rem; font-size: 1.125em;
@include breakpoint($small) { @include breakpoint($small) {
float: left; float: left;
margin-bottom: 0; margin-bottom: 0;
width: span(4 of 12); width: span(4 of 12);
&:nth-child(3n+1) { &:nth-child(3n + 1) {
clear: both; clear: both;
margin-left: 0; margin-left: 0;
} }
&:nth-child(3n+2) { &:nth-child(3n + 2) {
clear: none; clear: none;
margin-left: gutter(of 12); margin-left: gutter(of 12);
} }
&:nth-child(3n+3) { &:nth-child(3n + 3) {
clear: none; clear: none;
margin-left: gutter(of 12); margin-left: gutter(of 12);
} }
@ -232,20 +279,47 @@
} }
} }
.archive__item-body {
padding-left: gutter(1 of 12);
padding-right: gutter(1 of 12);
}
a.btn::before {
content: '';
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
&--left { &--left {
position: relative;
float: left; float: left;
margin-left: 0; margin-left: 0;
margin-right: 0; margin-right: 0;
width: 100%; width: 100%;
clear: both; clear: both;
font-size: 1.25rem; font-size: 1.125em;
.archive__item {
float: left;
}
.archive__item-teaser { .archive__item-teaser {
margin-bottom: 2em; margin-bottom: 2em;
} }
@include breakpoint($small) { a.btn::before {
content: '';
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
@include breakpoint($small) {
.archive__item-teaser { .archive__item-teaser {
float: left; float: left;
width: span(5 of 12); width: span(5 of 12);
@ -261,17 +335,31 @@
} }
&--right { &--right {
position: relative;
float: left; float: left;
margin-left: 0; margin-left: 0;
margin-right: 0; margin-right: 0;
width: 100%; width: 100%;
clear: both; clear: both;
font-size: 1.25rem; font-size: 1.125em;
.archive__item {
float: left;
}
.archive__item-teaser { .archive__item-teaser {
margin-bottom: 2em; margin-bottom: 2em;
} }
a.btn::before {
content: '';
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
@include breakpoint($small) { @include breakpoint($small) {
text-align: right; text-align: right;
@ -281,7 +369,7 @@
} }
.archive__item-body { .archive__item-body {
float: right; float: left;
width: span(7 of 12); width: span(7 of 12);
padding-left: gutter(0.5 of 12); padding-left: gutter(0.5 of 12);
padding-right: gutter(1 of 12); padding-right: gutter(1 of 12);
@ -290,17 +378,32 @@
} }
&--center { &--center {
position: relative;
float: left; float: left;
margin-left: 0; margin-left: 0;
margin-right: 0; margin-right: 0;
width: 100%; width: 100%;
clear: both; clear: both;
font-size: 1.25rem; font-size: 1.125em;
.archive__item {
float: left;
width: 100%;
}
.archive__item-teaser { .archive__item-teaser {
margin-bottom: 2em; margin-bottom: 2em;
} }
a.btn::before {
content: '';
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
@include breakpoint($small) { @include breakpoint($small) {
text-align: center; text-align: center;
@ -316,3 +419,45 @@
} }
} }
} }
/* Place inside an archive layout */
.archive {
.feature__wrapper {
.archive__item-title {
margin-top: 0.25em;
font-size: 1em;
}
}
.feature__item,
.feature__item--left,
.feature__item--center,
.feature__item--right {
font-size: 1em;
}
}
/*
Wide Pages
========================================================================== */
.wide {
.archive {
@include breakpoint($large) {
padding-right: 0;
}
@include breakpoint($x-large) {
padding-right: 0;
}
}
}
/* Place inside a single layout */
.layout--single {
.feature__wrapper {
display: inline-block;
}
}

View file

@ -6,6 +6,10 @@ html {
/* sticky footer fix */ /* sticky footer fix */
position: relative; position: relative;
min-height: 100%; min-height: 100%;
::selection {
color: $text-color;
background: $text-highlight-color;
}
} }
body { body {
@ -21,7 +25,12 @@ body {
} }
} }
h1, h2, h3, h4, h5, h6 { h1,
h2,
h3,
h4,
h5,
h6 {
margin: 2em 0 0.5em; margin: 2em 0 0.5em;
line-height: 1.2; line-height: 1.2;
font-family: $header-font-family; font-family: $header-font-family;
@ -30,30 +39,31 @@ h1, h2, h3, h4, h5, h6 {
h1 { h1 {
margin-top: 0; margin-top: 0;
font-size: $type-size-3; font-size: $h-size-1;
} }
h2 { h2 {
font-size: $type-size-4; font-size: $h-size-2;
} }
h3 { h3 {
font-size: $type-size-5; font-size: $h-size-3;
} }
h4 { h4 {
font-size: $type-size-6; font-size: $h-size-4;
} }
h5 { h5 {
font-size: $type-size-6; font-size: $h-size-5;
} }
h6 { h6 {
font-size: $type-size-6; font-size: $h-size-6;
} }
small, .small { small,
.small {
font-size: $type-size-6; font-size: $type-size-6;
} }
@ -76,7 +86,15 @@ del a {
/* reduce orphans and widows when printing */ /* reduce orphans and widows when printing */
p, pre, blockquote, ul, ol, dl, figure, table, fieldset { p,
pre,
blockquote,
ul,
ol,
dl,
figure,
table,
fieldset {
orphans: 3; orphans: 3;
widows: 3; widows: 3;
} }
@ -116,20 +134,29 @@ a {
@extend %tab-focus; @extend %tab-focus;
} }
&:hover,
&:active {
color: $link-color-hover;
outline: 0;
}
&:visited { &:visited {
color: $link-color-visited; color: $link-color-visited;
} }
&:hover {
color: $link-color-hover;
outline: 0;
}
}
/* buttons */
button:focus {
@extend %tab-focus;
} }
/* code */ /* code */
tt, code, kbd, samp, pre { tt,
code,
kbd,
samp,
pre {
font-family: $monospace; font-family: $monospace;
} }
@ -144,13 +171,12 @@ figcaption > code,
td > code { td > code {
padding-top: 0.1rem; padding-top: 0.1rem;
padding-bottom: 0.1rem; padding-bottom: 0.1rem;
font-size: $type-size-6; font-size: 0.8em;
background: $code-background-color; background: $code-background-color;
border: 1px solid $border-color;
border-radius: $border-radius; border-radius: $border-radius;
box-shadow: $box-shadow;
&:before, &:after { &:before,
&:after {
letter-spacing: -0.2em; letter-spacing: -0.2em;
content: "\00a0"; /* non-breaking space*/ content: "\00a0"; /* non-breaking space*/
} }
@ -255,14 +281,12 @@ figcaption {
} }
} }
/* Fix IE9 SVG bug */ /* Fix IE9 SVG bug */
svg:not(:root) { svg:not(:root) {
overflow: hidden; overflow: hidden;
} }
/* /*
Navigation lists Navigation lists
========================================================================== */ ========================================================================== */
@ -310,7 +334,28 @@ nav {
Global animation transition Global animation transition
========================================================================== */ ========================================================================== */
b, i, strong, em, blockquote, p, q, span, figure, img, h1, h2, header, input, a, tr, td, form button, input[type="submit"], .btn, .highlight, .archive__item-teaser { b,
i,
strong,
em,
blockquote,
p,
q,
span,
figure,
img,
h1,
h2,
header,
input,
a,
tr,
td,
form button,
input[type="submit"],
.btn,
.highlight,
.archive__item-teaser {
-webkit-transition: $global-transition; -webkit-transition: $global-transition;
transition: $global-transition; transition: $global-transition;
} }

View file

@ -39,7 +39,6 @@
(info, $info-color), (info, $info-color),
(facebook, $facebook-color), (facebook, $facebook-color),
(twitter, $twitter-color), (twitter, $twitter-color),
(google-plus, $google-plus-color),
(linkedin, $linkedin-color); (linkedin, $linkedin-color);
@each $buttoncolor, $color in $buttoncolors { @each $buttoncolor, $color in $buttoncolors {
@ -52,13 +51,13 @@
border: 1px solid #fff; border: 1px solid #fff;
} }
&:hover {
@include yiq-contrasted(mix(#000, $color, 20%));
}
&:visited { &:visited {
@include yiq-contrasted($color); @include yiq-contrasted($color);
} }
&:hover {
@include yiq-contrasted(mix(#000, $color, 20%));
}
} }
} }

View file

@ -8,12 +8,6 @@
margin-left: 0; margin-left: 0;
margin-right: 0; margin-right: 0;
width: 100%; width: 100%;
clear: both;
/* sticky footer fix start */
position: absolute;
bottom: 0;
height: auto;
/* sticky footer fix end */
margin-top: 3em; margin-top: 3em;
color: $muted-text-color; color: $muted-text-color;
-webkit-animation: $intro-transition; -webkit-animation: $intro-transition;
@ -44,7 +38,10 @@
} }
} }
.fa { .fas,
.fab,
.far,
.fal {
color: $muted-text-color; color: $muted-text-color;
} }
} }
@ -55,7 +52,6 @@
} }
.page__footer-follow { .page__footer-follow {
ul { ul {
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -80,4 +76,10 @@
padding-right: 10px; padding-right: 10px;
font-weight: bold; font-weight: bold;
} }
.social-icons {
a {
white-space: nowrap;
}
}
} }

View file

@ -25,7 +25,7 @@ form {
} }
p { p {
margin-bottom: 5px / 2; margin-bottom: (5px / 2);
} }
ul { ul {
@ -107,6 +107,7 @@ input[type="radio"] {
cursor: pointer; cursor: pointer;
border-radius: 0; border-radius: 0;
border: 0 \9; border: 0 \9;
box-shadow: none;
} }
input[type="checkbox"], input[type="checkbox"],
@ -119,7 +120,6 @@ input[type="radio"] {
input[type="image"] { input[type="image"] {
border: 0; border: 0;
box-shadow: none;
} }
input[type="file"] { input[type="file"] {
@ -196,7 +196,6 @@ input[type="hidden"] {
margin-left: 10px; margin-left: 10px;
} }
/* /*
Disabled state Disabled state
========================================================================== */ ========================================================================== */
@ -211,7 +210,6 @@ textarea[readonly] {
cursor: not-allowed; cursor: not-allowed;
} }
/* /*
Focus & active state Focus & active state
========================================================================== */ ========================================================================== */
@ -221,7 +219,8 @@ textarea:focus {
border-color: $primary-color; border-color: $primary-color;
outline: 0; outline: 0;
outline: thin dotted \9; outline: thin dotted \9;
box-shadow: inset 0 1px 3px rgba($text-color, 0.06), 0 0 5px rgba($primary-color, 0.7); box-shadow: inset 0 1px 3px rgba($text-color, 0.06),
0 0 5px rgba($primary-color, 0.7);
} }
input[type="file"]:focus, input[type="file"]:focus,
@ -231,7 +230,6 @@ select:focus {
box-shadow: none; box-shadow: none;
} }
/* /*
Help text Help text
========================================================================== */ ========================================================================== */
@ -253,6 +251,15 @@ select:focus {
padding-left: 5px; padding-left: 5px;
} }
/*
.form-group
========================================================================== */
.form-group {
margin-bottom: 5px;
padding: 0;
border-width: 0;
}
/* /*
.form-inline .form-inline
@ -281,8 +288,8 @@ select:focus {
.form-inline .checkbox input[type="checkbox"] { .form-inline .checkbox input[type="checkbox"] {
float: left; float: left;
margin-left: 0; margin-left: 0;
margin-right: 3px; } margin-right: 3px;
}
/* /*
.form-search .form-search
@ -321,13 +328,12 @@ select:focus {
margin-right: 3px; margin-right: 3px;
} }
/* /*
.form--loading .form--loading
========================================================================== */ ========================================================================== */
.form--loading:before { .form--loading:before {
content: ''; content: "";
} }
.form--loading .form__spinner { .form--loading .form__spinner {
@ -351,39 +357,3 @@ select:focus {
left: 50%; left: 50%;
z-index: 11; z-index: 11;
} }
/*
Google search form
========================================================================== */
#goog-fixurl {
ul {
list-style: none;
margin-left: 0;
padding-left: 0;
li {
list-style-type: none;
}
}
}
#goog-wm-qt {
width: auto;
margin-right: 10px;
margin-bottom: 20px;
padding: 8px 20px;
display: inline-block;
font-size: $type-size-6;
background-color: #fff;
color: #000;
border-width: 2px !important;
border-style: solid !important;
border-color: $border-color;
border-radius: $border-radius;
}
#goog-wm-sb {
@extend .btn;
}

View file

@ -18,13 +18,15 @@
padding: 1em; padding: 1em;
max-width: 100%; max-width: 100%;
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-pack: justify; -webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between; justify-content: space-between;
font-family: $sans-serif-narrow; font-family: $sans-serif-narrow;
@include breakpoint($x-large) { @include breakpoint($x-large) {
max-width: $x-large; max-width: $max-width;
} }
nav { nav {
@ -37,15 +39,23 @@
} }
} }
.site-logo img {
max-height: 2rem;
}
.site-title { .site-title {
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox;
display: flex; display: flex;
padding: 0.5rem 0; -ms-flex-item-align: center;
align-self: stretch; align-self: center;
-webkit-box-align: center;
align-items: center;
font-weight: bold; font-weight: bold;
z-index: 20; // z-index: 20;
}
.site-subtitle {
display: block;
font-size: $type-size-8;
} }
.masthead__menu { .masthead__menu {

View file

@ -4,9 +4,9 @@
%tab-focus { %tab-focus {
/* Default*/ /* Default*/
outline: thin dotted $warning-color; outline: thin dotted $focus-color;
/* Webkit*/ /* Webkit*/
outline: 5px auto $warning-color; outline: 5px auto $focus-color;
outline-offset: -2px; outline-offset: -2px;
} }

View file

@ -6,22 +6,17 @@
Breadcrumb navigation links Breadcrumb navigation links
========================================================================== */ ========================================================================== */
.breadcrumbs { .breadcrumbs {
@include clearfix; @include clearfix;
margin: 0 auto; margin: 0 auto;
max-width: 100%; max-width: 100%;
padding-left: 2em; padding-left: 1em;
padding-right: 2em; padding-right: 1em;
font-family: $sans-serif; font-family: $sans-serif;
-webkit-animation: $intro-transition; -webkit-animation: $intro-transition;
animation: $intro-transition; animation: $intro-transition;
-webkit-animation-delay: 0.30s; -webkit-animation-delay: 0.3s;
animation-delay: 0.30s; animation-delay: 0.3s;
@include breakpoint($large) {
padding-left: 1em;
padding-right: 1em;
}
@include breakpoint($x-large) { @include breakpoint($x-large) {
max-width: $x-large; max-width: $x-large;
@ -34,11 +29,11 @@
@include breakpoint($large) { @include breakpoint($large) {
float: right; float: right;
width: span(10 of 12); width: calc(100% - #{$right-sidebar-width-narrow});
} }
@include breakpoint($x-large) { @include breakpoint($x-large) {
padding-left: gutter(0.5 of 12); width: calc(100% - #{$right-sidebar-width});
} }
} }
@ -49,14 +44,13 @@
.current { .current {
font-weight: bold; font-weight: bold;
} }
} }
/*
/*
Post pagination navigation links Post pagination navigation links
========================================================================== */ ========================================================================== */
.pagination { .pagination {
@include clearfix(); @include clearfix();
float: left; float: left;
margin-top: 1em; margin-top: 1em;
@ -159,79 +153,95 @@
cursor: not-allowed; cursor: not-allowed;
} }
} }
} }
.page__content + .pagination, .page__content + .pagination,
.page__meta + .pagination, .page__meta + .pagination,
.page__share + .pagination, .page__share + .pagination,
.page__comments + .pagination { .page__comments + .pagination {
margin-top: 2em; margin-top: 2em;
padding-top: 2em; padding-top: 2em;
border-top: 1px solid $border-color; border-top: 1px solid $border-color;
} }
/*
/*
Priority plus navigation Priority plus navigation
========================================================================== */ ========================================================================== */
.greedy-nav { .greedy-nav {
position: relative; position: relative;
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-align: center; -webkit-box-align: center;
-ms-flex-align: center;
align-items: center; align-items: center;
min-height: $nav-height;
background: $background-color; background: $background-color;
a { a {
display: block; display: block;
margin: 0 1rem; margin: 0 1rem;
padding: 0.5rem 0;
color: $masthead-link-color; color: $masthead-link-color;
text-decoration: none; text-decoration: none;
-webkit-transition: none;
transition: none;
&:hover { &:hover {
color: $masthead-link-color-hover; color: $masthead-link-color-hover;
} }
&.site-title { // &.site-logo {
margin-left: 0; // margin-left: 0;
} // margin-right: 0.5rem;
// }
// &.site-title {
// margin-left: 0;
// }
} }
button { img{
padding: 0 0.5rem; -webkit-transition: none;
align-self: stretch; transition: none;
}
&__toggle {
-ms-flex-item-align: center;
align-self: center;
height: $nav-toggle-height;
border: 0; border: 0;
outline: none; outline: none;
color: #fff; background-color: transparent;
background: transparent; cursor: pointer;
}
&__toggle_lang {
-ms-flex-item-align: center;
align-self: center;
height: $nav-toggle-height;
border: 0;
outline: none;
background-color: transparent;
cursor: pointer; cursor: pointer;
} }
.visible-links { .visible-links {
display: -webkit-box; display: -webkit-box;
display: -ms-flexbox;
display: flex; display: flex;
-webkit-box-pack: end; -webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-box-flex: 1; -webkit-box-flex: 1;
-ms-flex: 1;
flex: 1; flex: 1;
padding-right: 2rem;
overflow: hidden; overflow: hidden;
li { li {
-webkit-box-flex: 0; -webkit-box-flex: 0;
-ms-flex: none;
flex: none; flex: none;
&:first-child {
a {
margin-left: 0;
}
}
&:last-child {
a {
margin-right: 0;
}
}
} }
a { a {
@ -247,34 +257,29 @@
width: 100%; width: 100%;
-webkit-transition: $global-transition; -webkit-transition: $global-transition;
transition: $global-transition; transition: $global-transition;
-webkit-transform: scaleX(0) translate3d(0, 0 , 0); -webkit-transform: scaleX(0) translate3d(0, 0, 0);
transform: scaleX(0) translate3d(0, 0 , 0); /* hide*/ transform: scaleX(0) translate3d(0, 0, 0); // hide
} }
&:hover:before { &:hover:before {
-webkit-transform: scaleX(1); -webkit-transform: scaleX(1);
-ms-transform: scaleX(1); -ms-transform: scaleX(1);
transform: scaleX(1); /* reveal*/ transform: scaleX(1); // reveal
} }
} }
} }
.links-menu{
right: 2.5rem;
}
.lang-menu{
right: .2rem;
}
.hidden-links { .hidden-links {
position: absolute; position: absolute;
top: 100%; top: 100%;
right: 0;
margin-top: 15px; margin-top: 15px;
padding: 5px; padding: 5px;
border: 1px solid $border-color; border: 1px solid $border-color;
border-radius: $border-radius; border-radius: $border-radius;
background: $background-color; background: $background-color;
-webkit-box-shadow: 0 2px 4px 0 rgba(#000, 0.16),
0 2px 10px 0 rgba(#000, 0.12);
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12); box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
&.hidden { &.hidden {
@ -296,7 +301,7 @@
content: ""; content: "";
position: absolute; position: absolute;
top: -11px; top: -11px;
right: 5px; right: 10px;
width: 0; width: 0;
border-style: solid; border-style: solid;
border-width: 0 10px 10px; border-width: 0 10px 10px;
@ -309,7 +314,7 @@
content: ""; content: "";
position: absolute; position: absolute;
top: -10px; top: -10px;
right: 5px; right: 10px;
width: 0; width: 0;
border-style: solid; border-style: solid;
border-width: 0 10px 10px; border-width: 0 10px 10px;
@ -327,14 +332,28 @@
} }
} }
} }
.links-menu{
right: 2rem;
} }
}
/* .no-js {
.greedy-nav {
.visible-links {
-ms-flex-wrap: wrap;
flex-wrap: wrap;
overflow: visible;
}
}
}
/*
Navigation list Navigation list
========================================================================== */ ========================================================================== */
.nav__list { .nav__list {
margin-bottom: 1.5em; margin-bottom: 1.5em;
input[type="checkbox"], input[type="checkbox"],
@ -342,12 +361,12 @@
display: none; display: none;
} }
@include breakpoint(max-width ($large - 1px)) { @include breakpoint(max-width $large - 1px) {
label { label {
position: relative; position: relative;
display: inline-block; display: inline-block;
padding: 0.5em 2.5em 0.5em 1em; padding: 0.5em 2.5em 0.5em 1em;
color: $gray;
font-size: $type-size-6; font-size: $type-size-6;
font-weight: bold; font-weight: bold;
border: 1px solid $light-gray; border: 1px solid $light-gray;
@ -359,7 +378,7 @@
&:before, &:before,
&:after { &:after {
content: ''; content: "";
position: absolute; position: absolute;
right: 1em; right: 1em;
top: 1.25em; top: 1.25em;
@ -431,17 +450,18 @@
} }
} }
} }
} }
.nav__list .nav__items { .nav__list .nav__items {
margin: 0; margin: 0;
font-size: 1.4rem; font-size: 1.25rem;
a { a {
color: inherit; color: inherit;
line-height: 1.6; // line-height: 1.6;
} }
// progress list, guide-specific
ol { ol {
padding-left: 0.9rem; padding-left: 0.9rem;
} }
@ -450,16 +470,21 @@
list-style: inherit; list-style: inherit;
} }
.active {
font-weight: bold;
}
.completed { .completed {
color: $gray; color: $gray;
text-decoration: line-through; text-decoration: line-through;
} }
// end guide-specific
@include breakpoint(max-width ($large - 1px)) { .active {
// margin-left: -0.5em;
// padding-left: 0.5em;
// padding-right: 0.5em;
font-weight: bold;
}
@include breakpoint(max-width $large - 1px) {
position: relative; position: relative;
max-height: 0; max-height: 0;
opacity: 0%; opacity: 0%;
@ -471,9 +496,9 @@
-ms-transform: translate(0, 10%); -ms-transform: translate(0, 10%);
transform: translate(0, 10%); transform: translate(0, 10%);
} }
} }
@include breakpoint(max-width ($large - 1px)) { @include breakpoint(max-width $large - 1px) {
.nav__list input:checked ~ .nav__items { .nav__list input:checked ~ .nav__items {
-webkit-transition: 0.5s ease-in-out; -webkit-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out; transition: 0.5s ease-in-out;
@ -485,40 +510,38 @@
-ms-transform: translate(0, 0); -ms-transform: translate(0, 0);
transform: translate(0, 0); transform: translate(0, 0);
} }
} }
.nav__title { .nav__title {
margin: 0; margin: 0;
padding: 0.5rem 1rem; padding: 0.5rem 0.75rem;
font-family: $sans-serif-narrow; font-family: $sans-serif-narrow;
font-size: $type-size-5; font-size: $type-size-5;
font-weight: bold; font-weight: bold;
} }
.nav__sub-title { .nav__sub-title {
display: block; display: block;
margin: 0.5rem 0; margin: 0.5rem 0;
padding: 0.5rem 0; padding: 0.25rem 0;
font-family: $sans-serif-narrow; font-family: $sans-serif-narrow;
font-size: $type-size-6; font-size: $type-size-6;
font-weight: bold; font-weight: bold;
text-transform: uppercase; text-transform: uppercase;
border-bottom: 1px solid $border-color; border-bottom: 1px solid $border-color;
} }
/*
/*
Table of contents navigation Table of contents navigation
========================================================================== */ ========================================================================== */
.toc { .toc {
font-family: $sans-serif-narrow; font-family: $sans-serif-narrow;
color: $gray; color: $gray;
text-transform: uppercase;
letter-spacing: 1px;
background-color: $background-color; background-color: $background-color;
border: 1px solid $border-color; border: 1px solid $border-color;
border-radius: $border-radius; border-radius: $border-radius;
-webkit-box-shadow: $box-shadow;
box-shadow: $box-shadow; box-shadow: $box-shadow;
.nav__title { .nav__title {
@ -528,42 +551,55 @@
border-top-left-radius: $border-radius; border-top-left-radius: $border-radius;
border-top-right-radius: $border-radius; border-top-right-radius: $border-radius;
} }
}
.toc__menu { // Scrollspy marks toc items as .active when they are in focus
.active a {
@include yiq-contrasted($active-color);
}
}
.toc__menu {
margin: 0; margin: 0;
padding: 0; padding: 0;
width: 100%; width: 100%;
list-style: none; list-style: none;
font-size: 1rem; font-size: $type-size-6;
@include breakpoint($large) {
font-size: $type-size-7;
}
a { a {
display: block; display: block;
padding: 0.5rem 1rem; padding: 0.25rem 0.75rem;
color: $text-color; color: $muted-text-color;
font-size: $type-size-7;
font-weight: bold; font-weight: bold;
line-height: 1.5; line-height: 1.5;
border-bottom: 1px solid $border-color; border-bottom: 1px solid $border-color;
}
> li:last-child { &:hover {
a { color: $text-color;
border-bottom: none;
} }
} }
li ul > li a { li ul > li a {
padding-left: 1.75rem; padding-left: 1.25rem;
font-weight: normal; font-weight: normal;
} }
/* hide sub sub links on small screens*/ li ul li ul > li a {
li > ul li { padding-left: 1.75rem;
display: none; }
@include breakpoint($medium) { li ul li ul li ul > li a {
display: block; padding-left: 2.25rem;
} }
li ul li ul li ul li ul > li a {
padding-left: 2.75rem;
} }
li ul li ul li ul li ul li ul > li a {
padding-left: 3.25rem
} }
}

View file

@ -11,19 +11,21 @@
*/ */
@mixin notice($notice-color) { @mixin notice($notice-color) {
margin: 2em 0 !important; /* override */ margin: 2em 0 !important; /* override*/
padding: 1em; padding: 1em;
color: $text-color;
font-family: $global-font-family; font-family: $global-font-family;
font-size: $type-size-6 !important; font-size: $type-size-6 !important;
text-indent: initial; /* override */ text-indent: initial; /* override*/
font-weight: bold; font-weight: bold; // guide specific
background-color: mix($background-color, $notice-color, 45%); background-color: mix($background-color, $notice-color, $notice-background-mix);
border-radius: $border-radius; border-radius: $border-radius;
box-shadow: 0 1px 1px rgba($notice-color, 0.25); box-shadow: 0 1px 1px rgba($notice-color, 0.25);
h4 { h4 {
margin-top: 0 !important; /* override */ margin-top: 0 !important; /* override*/
margin-bottom: 0.75em; margin-bottom: 0.75em;
line-height: inherit;
} }
@at-root .page__content #{&} h4 { @at-root .page__content #{&} h4 {
@ -34,7 +36,7 @@
p { p {
&:last-child { &:last-child {
margin-bottom: 0 !important; /* override */ margin-bottom: 0 !important; /* override*/
} }
} }
@ -45,23 +47,27 @@
} }
a { a {
// guide specific linking
color: mix(#fff, $notice-color, 30%); color: mix(#fff, $notice-color, 30%);
text-decoration: none;
&:hover { &:hover {
text-decoration: underline; color: mix(#fff, $notice-color, 70%);
} }
} }
code {
background-color: mix($background-color, $notice-color, $code-notice-background-mix)
}
pre code {
background-color: inherit;
}
ul { ul {
&:last-child { &:last-child {
margin-bottom: 0; /* override */ margin-bottom: 0; /* override*/
} }
} }
img {
padding-top: 15px;
}
} }
/* Default notice */ /* Default notice */

View file

@ -5,23 +5,37 @@
#main { #main {
@include clearfix; @include clearfix;
margin-left: auto; margin-left: auto;
margin-top: 2em;
margin-right: auto; margin-right: auto;
padding-left: 1em; padding-left: 1em;
padding-right: 1em; padding-right: 1em;
-webkit-animation: $intro-transition; -webkit-animation: $intro-transition;
animation: $intro-transition; animation: $intro-transition;
max-width: 100%; max-width: 100%;
-webkit-animation-delay: 0.35s; -webkit-animation-delay: 0.15s;
animation-delay: 0.35s; animation-delay: 0.15s;
@include breakpoint($x-large) { @include breakpoint($x-large) {
max-width: $x-large; max-width: $max-width;
} }
} }
.page { 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) { @include breakpoint($large) {
float: right; float: right;
width: calc(100% - #{$right-sidebar-width-narrow}); width: calc(100% - #{$right-sidebar-width-narrow});
@ -35,6 +49,7 @@
.page__inner-wrap { .page__inner-wrap {
float: left; float: left;
margin-top: 1em;
margin-left: 0; margin-left: 0;
margin-right: 0; margin-right: 0;
width: 100%; width: 100%;
@ -68,14 +83,33 @@
} }
.page__content { .page__content {
h2 { h2 {
padding-bottom: 0.5em; padding-bottom: 0.5em;
border-bottom: 1px solid $border-color; border-bottom: 1px solid $border-color;
} }
p, li, dl { h1, h2, h3, h4, h5, h6 {
font-size: .85em; .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;
user-select: none;
}
&:hover .header-link {
opacity: 1;
}
}
p,
li,
dl {
font-size: 1em;
} }
/* paragraph indents */ /* paragraph indents */
@ -92,7 +126,6 @@
} }
a:not(.btn) { a:not(.btn) {
&:hover { &:hover {
text-decoration: underline; text-decoration: underline;
@ -242,7 +275,6 @@
text-transform: uppercase; text-transform: uppercase;
} }
/* /*
Page meta Page meta
========================================================================== */ ========================================================================== */
@ -268,6 +300,11 @@
text-transform: uppercase; text-transform: uppercase;
} }
.page__meta-sep::before {
content: "\2022";
padding-left: 0.5em;
padding-right: 0.5em;
}
/* /*
Page taxonomy Page taxonomy
@ -298,6 +335,73 @@
} }
} }
.taxonomy__section {
margin-bottom: 2em;
padding-bottom: 1em;
&:not(:last-child) {
border-bottom: solid 1px $border-color;
}
.archive__item-title {
margin-top: 0;
}
.archive__subtitle {
clear: both;
border: 0;
}
+ .taxonomy__section {
margin-top: 2em;
}
}
.taxonomy__title {
margin-bottom: 0.5em;
color: $muted-text-color;
}
.taxonomy__count {
color: $muted-text-color;
}
.taxonomy__index {
display: grid;
grid-column-gap: 2em;
grid-template-columns: repeat(2, 1fr);
margin: 1.414em 0;
padding: 0;
font-size: 0.75em;
list-style: none;
@include breakpoint($large) {
grid-template-columns: repeat(3, 1fr);
}
a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
padding: 0.25em 0;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
color: inherit;
text-decoration: none;
border-bottom: 1px solid $border-color;
}
}
.back-to-top {
display: block;
clear: both;
color: $muted-text-color;
font-size: 0.6em;
text-transform: uppercase;
text-align: right;
text-decoration: none;
}
/* /*
Comments Comments
@ -397,7 +501,6 @@
} }
} }
/* /*
Related Related
========================================================================== */ ========================================================================== */
@ -429,3 +532,29 @@
font-size: $type-size-6; font-size: $type-size-6;
text-transform: uppercase; text-transform: uppercase;
} }
/*
Wide Pages
========================================================================== */
.wide {
.page {
@include breakpoint($large) {
padding-right: 0;
}
@include breakpoint($x-large) {
padding-right: 0;
}
}
.page__related {
@include breakpoint($large) {
padding-right: 0;
}
@include breakpoint($x-large) {
padding-right: 0;
}
}
}

View file

@ -2,9 +2,7 @@
STYLE RESETS STYLE RESETS
========================================================================== */ ========================================================================== */
* { * { box-sizing: border-box; }
box-sizing: border-box;
}
html { html {
/* apply a natural box layout model to all elements */ /* apply a natural box layout model to all elements */
@ -30,9 +28,7 @@ html {
/* Remove margin */ /* Remove margin */
body { body { margin: 0; }
margin: 0;
}
/* Selected elements */ /* Selected elements */
@ -117,16 +113,13 @@ sub {
img { img {
/* Responsive images (ensure images don't scale beyond their parents) */ /* Responsive images (ensure images don't scale beyond their parents) */
max-width: 100%; /* part 1: Set a maximum relative to the parent */ max-width: 100%; /* part 1: Set a maximum relative to the parent*/
width: auto; /* IE7-8 need help adjusting responsive images */ width: auto\9; /* IE7-8 need help adjusting responsive images*/
height: auto; /* part 2: Scale the height according to the width, otherwise you get stretching */ height: auto; /* part 2: Scale the height according to the width, otherwise you get stretching*/
vertical-align: middle;
-ms-interpolation-mode: bicubic;
}
/* gives some room to images under list item elements */ vertical-align: middle;
li img { border: 0;
padding-top: 15px; -ms-interpolation-mode: bicubic;
} }
/* Prevent max-width from affecting Google Maps */ /* Prevent max-width from affecting Google Maps */
@ -149,24 +142,22 @@ textarea {
button, button,
input { input {
*overflow: visible; /* inner spacing ie IE6/7 */ *overflow: visible; /* inner spacing ie IE6/7*/
line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet */ line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/
} }
button::-moz-focus-inner, button::-moz-focus-inner,
input::-moz-focus-inner { input::-moz-focus-inner { /* inner padding and border oddities in FF3/4*/
/* inner padding and border oddities in FF3/4 */
padding: 0; padding: 0;
border: 0; border: 0;
} }
button, button,
html input[type="button"], /* avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls */ html input[type="button"], // avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls
input[type="reset"], input[type="reset"],
input[type="submit"] { input[type="submit"] {
appearance: button; -webkit-appearance: button; /* corrects inability to style clickable `input` types in iOS*/
-webkit-appearance: button; /* corrects inability to style clickable `input` types in iOS */ cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/
cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others */
} }
label, label,
@ -177,22 +168,20 @@ input[type="reset"],
input[type="submit"], input[type="submit"],
input[type="radio"], input[type="radio"],
input[type="checkbox"] { input[type="checkbox"] {
cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others */ cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/
} }
input[type="search"] { input[type="search"] { /* Appearance in Safari/Chrome*/
/* Appearance in Safari/Chrome */ box-sizing: border-box;
box-sizing: content-box;
appearance: textfield;
-webkit-appearance: textfield; -webkit-appearance: textfield;
} }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button { input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none; /* inner-padding issues in Chrome OSX, Safari 5 */ -webkit-appearance: none; /* inner-padding issues in Chrome OSX, Safari 5*/
} }
textarea { textarea {
overflow: auto; /* remove vertical scrollbar in IE6-9 */ overflow: auto; /* remove vertical scrollbar in IE6-9*/
vertical-align: top; /* readability and alignment cross-browser */ vertical-align: top; /* readability and alignment cross-browser*/
} }

View file

@ -0,0 +1,132 @@
/* ==========================================================================
SEARCH
========================================================================== */
.layout--search {
.archive__item-teaser {
margin-bottom: 0.25em;
}
}
.search__toggle {
margin-left: 1rem;
margin-right: 1rem;
height: $nav-toggle-height;
border: 0;
outline: none;
color: $primary-color;
background-color: transparent;
cursor: pointer;
-webkit-transition: 0.2s;
transition: 0.2s;
&:hover {
color: mix(#000, $primary-color, 25%);
}
}
.search-icon {
width: 100%;
height: 100%;
}
.search-content {
display: none;
visibility: hidden;
padding-top: 1em;
padding-bottom: 1em;
&__inner-wrap {
width: 100%;
margin-left: auto;
margin-right: auto;
padding-left: 1em;
padding-right: 1em;
-webkit-animation: $intro-transition;
animation: $intro-transition;
-webkit-animation-delay: 0.15s;
animation-delay: 0.15s;
@include breakpoint($x-large) {
max-width: $max-width;
}
}
&__form {
background-color: transparent;
}
.search-input {
display: block;
margin-bottom: 0;
padding: 0;
border: none;
outline: none;
box-shadow: none;
background-color: transparent;
font-size: $type-size-3;
@include breakpoint($large) {
font-size: $type-size-2;
}
@include breakpoint($x-large) {
font-size: $type-size-1;
}
}
&.is--visible {
display: block;
visibility: visible;
&::after {
content: "";
display: block;
}
}
.results__found {
margin-top: 0.5em;
font-size: $type-size-6;
}
.archive__item {
margin-bottom: 2em;
@include breakpoint($large) {
width: 75%;
}
@include breakpoint($x-large) {
width: 50%;
}
}
.archive__item-title {
margin-top: 0;
}
.archive__item-excerpt {
margin-bottom: 0;
}
}
/* Algolia search */
.ais-search-box {
max-width: 100% !important;
margin-bottom: 2em;
}
.archive__item-title .ais-Highlight {
color: $primary-color;
font-style: normal;
text-decoration: underline;
}
.archive__item-excerpt .ais-Highlight {
color: $primary-color;
font-style: normal;
font-weight: bold;
}

View file

@ -8,33 +8,31 @@
.sidebar { .sidebar {
@include clearfix(); @include clearfix();
margin-bottom: 1em; // @include breakpoint(max-width $large) {
-webkit-transform: translate3d(0, 0 , 0); // /* fix z-index order of follow links */
transform: translate3d(0, 0 , 0); // position: relative;
// z-index: 10;
@include breakpoint(max-width $large) { // -webkit-transform: translate3d(0, 0, 0);
/* fix z-index order of follow links */ // transform: translate3d(0, 0, 0);
position: relative; // }
z-index: 10;
}
@include breakpoint($large) { @include breakpoint($large) {
float: left; float: left;
width: calc(#{$right-sidebar-width-narrow} - 1em); width: calc(#{$right-sidebar-width-narrow} - 1em);
opacity: 1; opacity: 0.75;
-webkit-transition: opacity 0.2s ease-in-out; -webkit-transition: opacity 0.2s ease-in-out;
transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out;
a {
&:hover { &:hover {
text-decoration: underline; opacity: 1;
}
} }
&.sticky { &.sticky {
overflow-y: auto; overflow-y: auto;
/* calculate height of nav list */ /* calculate height of nav list
height: calc(100vh - 90px - 2em); // viewport height - approx. masthead height - main content top margin viewport height - nav height - masthead x-padding
*/
max-height: calc(100vh - #{$nav-height} - 2em);
} }
} }
@ -42,12 +40,22 @@
width: calc(#{$right-sidebar-width} - 1em); width: calc(#{$right-sidebar-width} - 1em);
} }
h2, h3, h4, h5, h6 { > * {
margin-top: 1em;
margin-bottom: 1em;
}
h2,
h3,
h4,
h5,
h6 {
margin-bottom: 0; margin-bottom: 0;
font-family: $sans-serif-narrow; font-family: $sans-serif-narrow;
} }
p, li { p,
li {
font-family: $sans-serif; font-family: $sans-serif;
font-size: $type-size-6; font-size: $type-size-6;
line-height: 1.5; line-height: 1.5;
@ -55,6 +63,11 @@
img { img {
width: 100%; width: 100%;
&.emoji {
width: 20px;
height: 20px;
}
} }
} }
@ -69,6 +82,14 @@
margin-right: -1 * $right-sidebar-width-narrow; margin-right: -1 * $right-sidebar-width-narrow;
padding-left: 1em; padding-left: 1em;
z-index: 10; z-index: 10;
&.sticky {
@include clearfix();
position: -webkit-sticky;
position: sticky;
top: 2em;
float: right;
}
} }
@include breakpoint($x-large) { @include breakpoint($x-large) {
@ -78,7 +99,6 @@
} }
.splash .sidebar__right { .splash .sidebar__right {
@include breakpoint($large) { @include breakpoint($large) {
position: relative; position: relative;
float: right; float: right;
@ -130,6 +150,11 @@
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
} }
a {
color: inherit;
text-decoration: none;
}
} }
.author__name { .author__name {
@ -159,8 +184,7 @@
display: table-cell; display: table-cell;
vertical-align: middle; vertical-align: middle;
font-family: $sans-serif; font-family: $sans-serif;
z-index: 10; z-index: 20;
position: relative;
cursor: pointer; cursor: pointer;
li:last-child { li:last-child {
@ -169,13 +193,38 @@
} }
} }
.author__urls {
span.label {
padding-left: 5px;
}
}
@include breakpoint($large) { @include breakpoint($large) {
display: block; display: block;
} }
button { button {
position: relative;
margin-bottom: 0; margin-bottom: 0;
&:before {
@supports (pointer-events: none) {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
}
&.open {
&:before {
pointer-events: auto;
}
}
@include breakpoint($large) { @include breakpoint($large) {
display: none; display: none;
} }
@ -192,7 +241,6 @@
border: 1px solid $border-color; border: 1px solid $border-color;
border-radius: $border-radius; border-radius: $border-radius;
background: $background-color; background: $background-color;
z-index: -1;
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12); box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
cursor: default; cursor: default;
@ -244,6 +292,11 @@
} }
} }
ul {
padding: 10px;
list-style-type: none;
}
li { li {
white-space: nowrap; white-space: nowrap;
} }
@ -263,3 +316,31 @@
} }
} }
} }
/*
Wide Pages
========================================================================== */
.wide .sidebar__right {
margin-bottom: 1em;
@include breakpoint($large) {
position: initial;
top: initial;
right: initial;
width: initial;
margin-right: initial;
padding-left: initial;
z-index: initial;
&.sticky {
float: none;
}
}
@include breakpoint($x-large) {
width: initial;
margin-right: initial;
}
}

View file

@ -6,50 +6,44 @@ div.highlighter-rouge,
figure.highlight { figure.highlight {
position: relative; position: relative;
margin-bottom: 1em; margin-bottom: 1em;
background: $base00;
color: $base05;
font-family: $monospace; font-family: $monospace;
font-size: $type-size-6; font-size: $type-size-6;
line-height: 1.8; line-height: 1.8;
border: 1px solid $border-color;
border-radius: $border-radius; border-radius: $border-radius;
background-color: $code-background-color;
box-shadow: $box-shadow;
&:before { > pre,
position: absolute; pre.highlight {
top: 0;
right: 0;
padding: 0.5em;
background-color: $border-color;
content: "\f121";
font-family: "fontawesome" !important;
line-height: 1;
text-transform: none;
speak: none;
}
.highlight {
margin: 0; margin: 0;
padding: 1em; padding: 1em;
} }
} }
figure.highlight {
padding-left: 1em;
padding-right: 1em;
}
.highlight table { .highlight table {
margin-bottom: 0;
font-size: 1em; font-size: 1em;
border: 0; border: 0;
td { td {
padding: 5px; padding: 0;
width: calc(100% - 1em);
border: 0; border: 0;
/* line numbers*/ /* line numbers*/
&.gutter { &.gutter,
&.rouge-gutter {
padding-right: 1em; padding-right: 1em;
color: rgba($muted-text-color, 0.5); width: 1em;
color: $base04;
border-right: 1px solid $base04;
text-align: right;
}
/* code */
&.code,
&.rouge-code {
padding-left: 1em;
} }
} }
@ -58,89 +52,273 @@ figure.highlight {
} }
} }
.highlight pre { width: 100%; } .highlight pre {
width: 100%;
}
/* .highlight .hll {
Solarized Light background-color: $base06;
http://ethanschoonover.com/solarized }
.highlight {
.c {
/* Comment */
color: $base04;
}
.err {
/* Error */
color: $base08;
}
.k {
/* Keyword */
color: $base0e;
}
.l {
/* Literal */
color: $base09;
}
.n {
/* Name */
color: $base05;
}
.o {
/* Operator */
color: $base0c;
}
.p {
/* Punctuation */
color: $base05;
}
.cm {
/* Comment.Multiline */
color: $base04;
}
.cp {
/* Comment.Preproc */
color: $base04;
}
.c1 {
/* Comment.Single */
color: $base04;
}
.cs {
/* Comment.Special */
color: $base04;
}
.gd {
/* Generic.Deleted */
color: $base08;
}
.ge {
/* Generic.Emph */
font-style: italic;
}
.gh {
/* Generic.Heading */
color: $base05;
font-weight: bold;
}
.gi {
/* Generic.Inserted */
color: $base0b;
}
.gp {
/* Generic.Prompt */
color: $base04;
font-weight: bold;
}
.gs {
/* Generic.Strong */
font-weight: bold;
}
.gu {
/* Generic.Subheading */
color: $base0c;
font-weight: bold;
}
.kc {
/* Keyword.Constant */
color: $base0e;
}
.kd {
/* Keyword.Declaration */
color: $base0e;
}
.kn {
/* Keyword.Namespace */
color: $base0c;
}
.kp {
/* Keyword.Pseudo */
color: $base0e;
}
.kr {
/* Keyword.Reserved */
color: $base0e;
}
.kt {
/* Keyword.Type */
color: $base0a;
}
.ld {
/* Literal.Date */
color: $base0b;
}
.m {
/* Literal.Number */
color: $base09;
}
.s {
/* Literal.String */
color: $base0b;
}
.na {
/* Name.Attribute */
color: $base0d;
}
.nb {
/* Name.Builtin */
color: $base05;
}
.nc {
/* Name.Class */
color: $base0a;
}
.no {
/* Name.Constant */
color: $base08;
}
.nd {
/* Name.Decorator */
color: $base0c;
}
.ni {
/* Name.Entity */
color: $base05;
}
.ne {
/* Name.Exception */
color: $base08;
}
.nf {
/* Name.Function */
color: $base0d;
}
.nl {
/* Name.Label */
color: $base05;
}
.nn {
/* Name.Namespace */
color: $base0a;
}
.nx {
/* Name.Other */
color: $base0d;
}
.py {
/* Name.Property */
color: $base05;
}
.nt {
/* Name.Tag */
color: $base0c;
}
.nv {
/* Name.Variable */
color: $base08;
}
.ow {
/* Operator.Word */
color: $base0c;
}
.w {
/* Text.Whitespace */
color: $base05;
}
.mf {
/* Literal.Number.Float */
color: $base09;
}
.mh {
/* Literal.Number.Hex */
color: $base09;
}
.mi {
/* Literal.Number.Integer */
color: $base09;
}
.mo {
/* Literal.Number.Oct */
color: $base09;
}
.sb {
/* Literal.String.Backtick */
color: $base0b;
}
.sc {
/* Literal.String.Char */
color: $base05;
}
.sd {
/* Literal.String.Doc */
color: $base04;
}
.s2 {
/* Literal.String.Double */
color: $base0b;
}
.se {
/* Literal.String.Escape */
color: $base09;
}
.sh {
/* Literal.String.Heredoc */
color: $base0b;
}
.si {
/* Literal.String.Interpol */
color: $base09;
}
.sx {
/* Literal.String.Other */
color: $base0b;
}
.sr {
/* Literal.String.Regex */
color: $base0b;
}
.s1 {
/* Literal.String.Single */
color: $base0b;
}
.ss {
/* Literal.String.Symbol */
color: $base0b;
}
.bp {
/* Name.Builtin.Pseudo */
color: $base05;
}
.vc {
/* Name.Variable.Class */
color: $base08;
}
.vg {
/* Name.Variable.Global */
color: $base08;
}
.vi {
/* Name.Variable.Instance */
color: $base08;
}
.il {
/* Literal.Number.Integer.Long */
color: $base09;
}
}
SOLARIZED HEX ROLE .gist {
--------- -------- ------------------------------------------ th, td {
base01 #586e75 body text / default code / primary content border-bottom: 0;
base1 #93a1a1 comments / secondary content }
base3 #fdf6e3 background }
orange #cb4b16 constants
red #dc322f regex, special keywords
blue #22b3eb reserved keywords
cyan #2aa198 strings, numbers
green #859900 operators, other keywords
========================================================================== */
.highlight .c { color: #93a1a1 } /* Comment */
.highlight .err { color: #586e75 } /* Error */
.highlight .g { color: #586e75 } /* Generic */
.highlight .k { color: #859900 } /* Keyword */
.highlight .l { color: #586e75 } /* Literal */
.highlight .n { color: #586e75 } /* Name */
.highlight .o { color: #859900 } /* Operator */
.highlight .x { color: #cb4b16 } /* Other */
.highlight .p { color: #586e75 } /* Punctuation */
.highlight .cm { color: #93a1a1 } /* Comment.Multiline */
.highlight .cp { color: #859900 } /* Comment.Preproc */
.highlight .c1 { color: #93a1a1 } /* Comment.Single */
.highlight .cs { color: #859900 } /* Comment.Special */
.highlight .gd { color: #2aa198 } /* Generic.Deleted */
.highlight .ge { color: #586e75; font-style: italic } /* Generic.Emph */
.highlight .gr { color: #dc322f } /* Generic.Error */
.highlight .gh { color: #cb4b16 } /* Generic.Heading */
.highlight .gi { color: #859900 } /* Generic.Inserted */
.highlight .go { color: #586e75 } /* Generic.Output */
.highlight .gp { color: #586e75 } /* Generic.Prompt */
.highlight .gs { color: #586e75; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #cb4b16 } /* Generic.Subheading */
.highlight .gt { color: #586e75 } /* Generic.Traceback */
.highlight .kc { color: #cb4b16 } /* Keyword.Constant */
.highlight .kd { color: #22b3eb } /* Keyword.Declaration */
.highlight .kn { color: #859900 } /* Keyword.Namespace */
.highlight .kp { color: #859900 } /* Keyword.Pseudo */
.highlight .kr { color: #22b3eb } /* Keyword.Reserved */
.highlight .kt { color: #dc322f } /* Keyword.Type */
.highlight .ld { color: #586e75 } /* Literal.Date */
.highlight .m { color: #2aa198 } /* Literal.Number */
.highlight .s { color: #2aa198 } /* Literal.String */
.highlight .na { color: #586e75 } /* Name.Attribute */
.highlight .nb { color: #B58900 } /* Name.Builtin */
.highlight .nc { color: #22b3eb } /* Name.Class */
.highlight .no { color: #cb4b16 } /* Name.Constant */
.highlight .nd { color: #22b3eb } /* Name.Decorator */
.highlight .ni { color: #cb4b16 } /* Name.Entity */
.highlight .ne { color: #cb4b16 } /* Name.Exception */
.highlight .nf { color: #22b3eb } /* Name.Function */
.highlight .nl { color: #586e75 } /* Name.Label */
.highlight .nn { color: #586e75 } /* Name.Namespace */
.highlight .nx { color: #586e75 } /* Name.Other */
.highlight .py { color: #586e75 } /* Name.Property */
.highlight .nt { color: #22b3eb } /* Name.Tag */
.highlight .nv { color: #22b3eb } /* Name.Variable */
.highlight .ow { color: #859900 } /* Operator.Word */
.highlight .w { color: #586e75 } /* Text.Whitespace */
.highlight .mf { color: #2aa198 } /* Literal.Number.Float */
.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */
.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */
.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */
.highlight .sb { color: #93a1a1 } /* Literal.String.Backtick */
.highlight .sc { color: #2aa198 } /* Literal.String.Char */
.highlight .sd { color: #586e75 } /* Literal.String.Doc */
.highlight .s2 { color: #2aa198 } /* Literal.String.Double */
.highlight .se { color: #cb4b16 } /* Literal.String.Escape */
.highlight .sh { color: #586e75 } /* Literal.String.Heredoc */
.highlight .si { color: #2aa198 } /* Literal.String.Interpol */
.highlight .sx { color: #2aa198 } /* Literal.String.Other */
.highlight .sr { color: #dc322f } /* Literal.String.Regex */
.highlight .s1 { color: #2aa198 } /* Literal.String.Single */
.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */
.highlight .bp { color: #22b3eb } /* Name.Builtin.Pseudo */
.highlight .vc { color: #22b3eb } /* Name.Variable.Class */
.highlight .vg { color: #22b3eb } /* Name.Variable.Global */
.highlight .vi { color: #22b3eb } /* Name.Variable.Instance */
.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */

View file

@ -3,12 +3,14 @@
========================================================================== */ ========================================================================== */
table { table {
display: table;
margin-bottom: 1em; margin-bottom: 1em;
width: 100%; width: 100%;
font-family: $global-font-family; font-family: $global-font-family;
font-size: $type-size-6; font-size: $type-size-6;
border-collapse: collapse; border-collapse: collapse;
border: 1px solid $light-gray; border: 1px solid $light-gray; // guide-specific
overflow-x: auto;
& + table { & + table {
margin-top: 1em; margin-top: 1em;
@ -16,24 +18,29 @@ table {
} }
thead { thead {
background-color: mix($background-color, $dark-gray, 45%);; background-color: $border-color;
// border-bottom: 2px solid mix(#000, $border-color, 25%);
// guide-specific
border-bottom: 1px solid $light-gray; border-bottom: 1px solid $light-gray;
color: $primary-color;
} }
th { th {
padding: 0.5em; padding: 0.5em;
font-weight: bold; font-weight: bold;
text-align: left; text-align: left;
border-right: 1px solid $light-gray; border-right: 1px solid $light-gray; // guide-specific
} }
td { td {
padding: 0.5em; padding: 0.5em;
// border-bottom: 1px solid mix(#000, $border-color, 25%);
// guide-specific
border-bottom: 1px solid $light-gray; border-bottom: 1px solid $light-gray;
border-right: 1px solid $light-gray; border-right: 1px solid $light-gray;
} }
tr, td, th { tr,
td,
th {
vertical-align: middle; vertical-align: middle;
} }

View file

@ -8,7 +8,8 @@
/* http://www.456bereastreet.com/archive/200711/screen_readers_sometimes_ignore_displaynone/ */ /* http://www.456bereastreet.com/archive/200711/screen_readers_sometimes_ignore_displaynone/ */
.hidden { .hidden,
.is--hidden {
display: none; display: none;
visibility: hidden; visibility: hidden;
} }
@ -60,7 +61,6 @@ body:hover .visually-hidden button {
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
} }
/* /*
Skip links Skip links
========================================================================== */ ========================================================================== */
@ -79,7 +79,6 @@ body:hover .visually-hidden button {
list-style: none; list-style: none;
} }
/* /*
Type Type
========================================================================== */ ========================================================================== */
@ -104,6 +103,26 @@ body:hover .visually-hidden button {
white-space: nowrap; white-space: nowrap;
} }
/*
Task lists
========================================================================== */
.task-list {
padding:0;
li {
list-style-type: none;
}
.task-list-item-checkbox {
margin-right: 0.5em;
opacity: 1;
}
}
.task-list .task-list {
margin-left: 1em;
}
/* /*
Alignment Alignment
@ -111,7 +130,9 @@ body:hover .visually-hidden button {
/* clearfix */ /* clearfix */
.cf { clear: both; } .cf {
clear: both;
}
.wrapper { .wrapper {
margin-left: auto; margin-left: auto;
@ -119,7 +140,6 @@ body:hover .visually-hidden button {
width: 100%; width: 100%;
} }
/* /*
Images Images
========================================================================== */ ========================================================================== */
@ -161,7 +181,7 @@ body:hover .visually-hidden button {
/* file page content container */ /* file page content container */
.full { .full {
@include breakpoint($large){ @include breakpoint($large) {
margin-right: -1 * span(2.5 of 12) !important; margin-right: -1 * span(2.5 of 12) !important;
} }
} }
@ -184,7 +204,10 @@ body:hover .visually-hidden button {
/* social icons*/ /* social icons*/
.social-icons { .social-icons {
.fa { .fas,
.fab,
.far,
.fal {
color: $text-color; color: $text-color;
} }
@ -193,17 +216,18 @@ body:hover .visually-hidden button {
color: $behance-color; color: $behance-color;
} }
.fa-bitbucket, .fa-bitbucket {
.fa-bitbucket-square {
color: $bitbucket-color; color: $bitbucket-color;
} }
.fa-dribbble { .fa-dribbble,
.fa-dribble-square {
color: $dribbble-color; color: $dribbble-color;
} }
.fa-facebook, .fa-facebook,
.fa-facebook-square { .fa-facebook-square,
.fa-facebook-f {
color: $facebook-color; color: $facebook-color;
} }
@ -221,31 +245,43 @@ body:hover .visually-hidden button {
color: $github-color; color: $github-color;
} }
.fa-google-plus, .fa-gitlab {
.fa-google-plus-square { color: $gitlab-color;
color: $google-plus-color;
} }
.fa-instagram { .fa-instagram {
color: $instagram-color; color: $instagram-color;
} }
.fa-keybase {
color: $keybase-color;
}
.fa-lastfm, .fa-lastfm,
.fa-lastfm-square { .fa-lastfm-square {
color: $lastfm-color; color: $lastfm-color;
} }
.fa-linkedin, .fa-linkedin,
.fa-linkedin-square { .fa-linkedin-in {
color: $linkedin-color; color: $linkedin-color;
} }
.fa-mastodon,
.fa-mastodon-square {
color: $mastodon-color;
}
.fa-pinterest, .fa-pinterest,
.fa-pinterest-p, .fa-pinterest-p,
.fa-pinterest-square { .fa-pinterest-square {
color: $pinterest-color; color: $pinterest-color;
} }
.fa-reddit {
color: $reddit-color;
}
.fa-rss, .fa-rss,
.fa-rss-square { .fa-rss-square {
color: $rss-color; color: $rss-color;
@ -271,7 +307,8 @@ body:hover .visually-hidden button {
} }
.fa-vimeo, .fa-vimeo,
.fa-vimeo-square { .fa-vimeo-square,
.fa-vimeo-v {
color: $vimeo-color; color: $vimeo-color;
} }
@ -279,9 +316,7 @@ body:hover .visually-hidden button {
color: $vine-color; color: $vine-color;
} }
.fa-youtube, .fa-youtube {
.fa-youtube-square,
.fa-youtube-play {
color: $youtube-color; color: $youtube-color;
} }
@ -291,7 +326,6 @@ body:hover .visually-hidden button {
} }
} }
/* /*
Navicons Navicons
========================================================================== */ ========================================================================== */
@ -300,9 +334,10 @@ body:hover .visually-hidden button {
position: relative; position: relative;
width: $navicon-width; width: $navicon-width;
height: $navicon-height; height: $navicon-height;
top: ($navicon-height / 2); background: $primary-color;
background: $text-color;
margin: auto; margin: auto;
-webkit-transition: 0.3s;
transition: 0.3s;
&:before, &:before,
&:after { &:after {
@ -311,7 +346,9 @@ body:hover .visually-hidden button {
left: 0; left: 0;
width: $navicon-width; width: $navicon-width;
height: $navicon-height; height: $navicon-height;
background: $text-color; background: $primary-color;
-webkit-transition: 0.3s;
transition: 0.3s;
} }
&:before { &:before {
@ -324,10 +361,12 @@ body:hover .visually-hidden button {
} }
.close .navicon { .close .navicon {
/* hide the middle line*/
background: transparent; background: transparent;
/* overlay the lines by setting both their top values to 0*/ /* overlay the lines by setting both their top values to 0*/
&:before, &:after{ &:before,
&:after {
-webkit-transform-origin: 50% 50%; -webkit-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%;
transform-origin: 50% 50%; transform-origin: 50% 50%;
@ -336,13 +375,221 @@ body:hover .visually-hidden button {
} }
/* rotate the lines to form the x shape*/ /* rotate the lines to form the x shape*/
&:before{ &:before {
-webkit-transform: rotate3d(0,0,1,45deg); -webkit-transform: rotate3d(0, 0, 1, 45deg);
transform: rotate3d(0,0,1,45deg); transform: rotate3d(0, 0, 1, 45deg);
} }
&:after{ &:after {
-webkit-transform: rotate3d(0,0,1,-45deg); -webkit-transform: rotate3d(0, 0, 1, -45deg);
transform: rotate3d(0,0,1,-45deg); transform: rotate3d(0, 0, 1, -45deg);
}
}
/*
.greedy-nav__toggle {
&:before {
@supports (pointer-events: none) {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
background-color: $background-color;
-webkit-transition: $global-transition;
transition: $global-transition;
pointer-events: none;
}
}
&.close {
&:before {
opacity: 0.9;
-webkit-transition: $global-transition;
transition: $global-transition;
pointer-events: auto;
}
}
}
.greedy-nav__toggle:hover {
.navicon,
.navicon:before,
.navicon:after {
background: mix(#000, $primary-color, 25%);
}
&.close {
.navicon {
background: transparent;
}
}
}
*/
/*
Sticky, fixed to top content
========================================================================== */
.sticky {
@include breakpoint($large) {
@include clearfix();
position: -webkit-sticky;
position: sticky;
top: 2em;
> * {
display: block;
}
}
}
/*
Wells
========================================================================== */
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: $border-radius;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
/*
Modals
========================================================================== */
.show-modal {
overflow: hidden;
position: relative;
&:before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999;
background-color: rgba(255, 255, 255, 0.85);
}
.modal {
display: block;
}
}
.modal {
display: none;
position: fixed;
width: 300px;
top: 50%;
left: 50%;
margin-left: -150px;
margin-top: -150px;
min-height: 0;
z-index: 9999;
background: #fff;
border: 1px solid $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
&__title {
margin: 0;
padding: 0.5em 1em;
}
&__supporting-text {
padding: 0 1em 0.5em 1em;
}
&__actions {
padding: 0.5em 1em;
border-top: 1px solid $border-color;
}
}
/*
Footnotes
========================================================================== */
.footnote {
color: mix(#fff, $gray, 25%);
text-decoration: none;
}
.footnotes {
color: mix(#fff, $gray, 25%);
ol,
li,
p {
margin-bottom: 0;
font-size: $type-size-6;
}
}
a.reversefootnote {
color: $gray;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
/*
Required
========================================================================== */
.required {
color: $danger-color;
font-weight: bold;
}
/*
Google Custom Search Engine
========================================================================== */
.gsc-control-cse {
table,
tr,
td {
border: 0; /* remove table borders widget */
}
}
/*
Responsive Video Embed
========================================================================== */
.responsive-video-container {
position: relative;
margin-bottom: 1em;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
max-width: 100%;
iframe,
object,
embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
// full screen video fixes
:-webkit-full-screen-ancestor {
.masthead,
.page__footer {
position: static;
} }
} }
@ -408,190 +655,3 @@ body:hover .visually-hidden button {
transform: rotate3d(0,0,1,-45deg); transform: rotate3d(0,0,1,-45deg);
} }
} }
/*
Sticky, fixed to top content
========================================================================== */
.sticky {
@include breakpoint($large) {
@include clearfix();
position: -webkit-sticky;
position: sticky;
top: 2em;
> * {
display: block;
}
}
}
/*
Wells
========================================================================== */
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: $border-radius;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
/*
Modals
========================================================================== */
.show-modal {
overflow: hidden;
position: relative;
&:before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999;
background-color: rgba(255, 255, 255, 0.85);
}
.modal {
display: block;
}
}
.modal {
display: none;
position: fixed;
width: 300px;
top: 50%;
left: 50%;
margin-left: -150px;
margin-top: -150px;
min-height: 0;
z-index: 9999;
background: #fff;
border: 1px solid $border-color;
border-radius: $border-radius;
box-shadow: $box-shadow;
&__title {
margin: 0;
padding: 0.5em 1em;
}
&__supporting-text {
padding: 0 1em 0.5em 1em;
}
&__actions {
padding: 0.5em 1em;
border-top: 1px solid $border-color;
}
}
/*
Footnotes
========================================================================== */
.footnote {
color: mix(#fff, $gray, 25%);
text-decoration: none;
}
.footnotes {
color: mix(#fff, $gray, 25%);
ol, li, p {
margin-bottom: 0;
font-size: $type-size-6;
}
}
a.reversefootnote {
color: $gray;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
/*
Required
========================================================================== */
.required {
color: $danger-color;
font-weight: bold;
}
/*
Google Custom Search Engine
========================================================================== */
.gsc-control-cse {
table, tr, td {
border: 0; /* remove table borders widget */
}
}
/*
Responsive Video Embed
========================================================================== */
.responsive-video-container {
position: relative;
margin-bottom: 1em;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
max-width: 100%;
iframe,
object,
embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
// full screen video fixes
:-webkit-full-screen-ancestor {
.masthead,
.page__footer {
position: static;
}
}
/*
Ads
========================================================================== */
.adsbygoogle {
border-bottom: none;
margin-bottom: 1rem;
margin-top: 1rem;
}
.adsbygoogle:last-child {
margin-bottom: 0;
}
.adsbygoogle:first-child {
margin-top: 0;
}

View file

@ -6,132 +6,168 @@
Typography Typography
========================================================================== */ ========================================================================== */
$doc-font-size : 16 !default; $doc-font-size: 16 !default;
/* paragraph indention */ /* paragraph indention */
$paragraph-indent : false !default; // true, false (default) $paragraph-indent: false !default; // true, false (default)
$indent-var : 1.3em !default; $indent-var: 1.3em !default;
/* system typefaces */ /* system typefaces */
$serif : Georgia, Times, serif !default; $serif: Georgia, Times, serif !default;
$sans-serif : -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, "Microsoft Yahei", "微软雅黑", STXihei, "华文细黑", sans-serif !default; $sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI",
$monospace : Monaco, Consolas, "Lucida Console", monospace !default; "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default;
$monospace: Monaco, Consolas, "Lucida Console", monospace !default;
/* sans serif typefaces */ /* sans serif typefaces */
$sans-serif-narrow : $sans-serif !default; $sans-serif-narrow: $sans-serif !default;
$helvetica : Helvetica, "Helvetica Neue", Arial, sans-serif !default; $helvetica: Helvetica, "Helvetica Neue", Arial, sans-serif !default;
/* serif typefaces */ /* serif typefaces */
$georgia : Georgia, serif !default; $georgia: Georgia, serif !default;
$times : Times, serif !default; $times: Times, serif !default;
$bodoni : "Bodoni MT", serif !default; $bodoni: "Bodoni MT", serif !default;
$calisto : "Calisto MT", serif !default; $calisto: "Calisto MT", serif !default;
$garamond : Garamond, serif !default; $garamond: Garamond, serif !default;
$global-font-family : $sans-serif !default; $global-font-family: $sans-serif !default;
$header-font-family : $sans-serif !default; $header-font-family: $sans-serif !default;
$caption-font-family : $serif !default; $caption-font-family: $serif !default;
/* type scale */ /* type scale */
$type-size-1 : 2.441em !default; // ~39.056px $type-size-1: 2.441em !default; // ~39.056px
$type-size-2 : 1.953em !default; // ~31.248px $type-size-2: 1.953em !default; // ~31.248px
$type-size-3 : 1.563em !default; // ~25.008px $type-size-3: 1.563em !default; // ~25.008px
$type-size-4 : 1.25em !default; // ~20px $type-size-4: 1.25em !default; // ~20px
$type-size-5 : 1em !default; $type-size-5: 1em !default; // ~16px
$type-size-6 : 0.75em !default; // ~12px $type-size-6: 0.75em !default; // ~12px
$type-size-7 : 0.6875em !default; // ~11px $type-size-7: 0.6875em !default; // ~11px
$type-size-8 : 0.625em !default; // ~10px $type-size-8: 0.625em !default; // ~10px
/* headline scale */
$h-size-1: 1.563em !default; // ~25.008px
$h-size-2: 1.25em !default; // ~20px
$h-size-3: 1.125em !default; // ~18px
$h-size-4: 1.0625em !default; // ~17px
$h-size-5: 1.03125em !default; // ~16.5px
$h-size-6: 1em !default; // ~16px
/* /*
Colors Colors
========================================================================== */ ========================================================================== */
$gray : #7a8288 !default; $gray: #7a8288 !default;
$dark-gray : mix(#000, $gray, 40%) !default; $dark-gray: mix(#000, $gray, 50%) !default;
$darker-gray : mix(#000, $gray, 60%) !default; $darker-gray: mix(#000, $gray, 60%) !default;
$light-gray : mix(#fff, $gray, 50%) !default; $light-gray: mix(#fff, $gray, 50%) !default;
$lighter-gray : mix(#fff, $gray, 90%) !default; $lighter-gray: mix(#fff, $gray, 90%) !default;
$background-color : #fff !default; $background-color: #fff !default;
$code-background-color : #fafafa !default; $code-background-color: #fafafa !default;
$code-background-color-dark : $light-gray !default; $code-background-color-dark: $light-gray !default;
$text-color : $dark-gray !default; $text-color: $dark-gray !default;
$muted-text-color : mix(#fff, $text-color, 35%) !default; $muted-text-color: mix(#fff, $text-color, 20%) !default;
$border-color : $lighter-gray !default; $border-color: $lighter-gray !default;
$form-background-color : $lighter-gray !default; $form-background-color: $lighter-gray !default;
$footer-background-color : $lighter-gray !default; $footer-background-color: $lighter-gray !default;
$primary-color : #88C0D0 !default; $primary-color: #6f777d !default;
$success-color : #A3BE8C !default; $success-color: #3fa63f !default;
$warning-color : #D08770 !default; $warning-color: #d67f05 !default;
$danger-color : #BF616A !default; $danger-color: #ee5f5b !default;
$info-color : #5E81AC !default; $info-color: #3b9cba !default;
$focus-color: $primary-color !default;
$active-color: mix(#fff, $primary-color, 80%) !default;
/* YIQ color contrast */ /* YIQ color contrast */
$yiq-contrasted-dark-default : $dark-gray !default; $yiq-contrasted-dark-default: $dark-gray !default;
$yiq-contrasted-light-default : #fff !default; $yiq-contrasted-light-default: #fff !default;
$yiq-contrasted-threshold : 175 !default; $yiq-contrasted-threshold: 175 !default;
$yiq-debug : false !default; $yiq-debug: false !default;
/* brands */ /* brands */
$behance-color : #1769FF !default; $behance-color: #1769ff !default;
$bitbucket-color : #205081 !default; $bitbucket-color: #205081 !default;
$dribbble-color : #ea4c89 !default; $dribbble-color: #ea4c89 !default;
$facebook-color : #3b5998 !default; $facebook-color: #3b5998 !default;
$flickr-color : #ff0084 !default; $flickr-color: #ff0084 !default;
$foursquare-color : #0072b1 !default; $foursquare-color: #0072b1 !default;
$github-color : #171516 !default; $github-color: #171516 !default;
$google-plus-color : #dd4b39 !default; $gitlab-color: #e24329 !default;
$instagram-color : #517fa4 !default; $instagram-color: #517fa4 !default;
$lastfm-color : #d51007 !default; $keybase-color: #ef7639 !default;
$linkedin-color : #007bb6 !default; $lastfm-color: #d51007 !default;
$pinterest-color : #cb2027 !default; $linkedin-color: #007bb6 !default;
$rss-color : #fa9b39 !default; $mastodon-color: #2b90d9 !default;
$soundcloud-color : #ff3300 !default; $pinterest-color: #cb2027 !default;
$stackoverflow-color : #fe7a15 !default; $reddit-color: #ff4500 !default;
$tumblr-color : #32506d !default; $rss-color: #fa9b39 !default;
$twitter-color : #55acee !default; $soundcloud-color: #ff3300 !default;
$vimeo-color : #1ab7ea !default; $stackoverflow-color: #fe7a15 !default;
$vine-color : #00bf8f !default; $tumblr-color: #32506d !default;
$youtube-color : #bb0000 !default; $twitter-color: #55acee !default;
$xing-color : #006567 !default; $vimeo-color: #1ab7ea !default;
$vine-color: #00bf8f !default;
$youtube-color: #bb0000 !default;
$xing-color: #006567 !default;
/* links */ /* links */
$link-color : mix(#fff, $info-color, 15%) !default; $link-color: mix(#000, $info-color, 20%) !default;
$link-color-hover : mix(#fff, $link-color, 25%) !default; $link-color-hover: mix(#000, $link-color, 25%) !default;
$link-color-visited : mix(#000, $link-color, 25%) !default; $link-color-visited: mix(#fff, $link-color, 15%) !default;
$masthead-link-color : $primary-color !default; $masthead-link-color: $primary-color !default;
$masthead-link-color-hover : mix(#fff, $primary-color, 25%) !default; $masthead-link-color-hover: mix(#000, $primary-color, 25%) !default;
$navicon-link-color-hover : mix(#fff, $primary-color, 75%) !default; $navicon-link-color-hover: mix(#fff, $primary-color, 75%) !default;
/* notices */
$notice-background-mix: 80% !default;
$code-notice-background-mix: 90% !default;
/* syntax highlighting (base16) */
$base00: #263238 !default;
$base01: #2e3c43 !default;
$base02: #314549 !default;
$base03: #546e7a !default;
$base04: #b2ccd6 !default;
$base05: #eeffff !default;
$base06: #eeffff !default;
$base07: #ffffff !default;
$base08: #f07178 !default;
$base09: #f78c6c !default;
$base0a: #ffcb6b !default;
$base0b: #c3e88d !default;
$base0c: #89ddff !default;
$base0d: #82aaff !default;
$base0e: #c792ea !default;
$base0f: #ff5370 !default;
/* /*
Breakpoints Breakpoints
========================================================================== */ ========================================================================== */
$small : 600px !default; $small: 600px !default;
$medium : 768px !default; $medium: 768px !default;
$medium-wide : 900px !default; $medium-wide: 900px !default;
$large : 1024px !default; $large: 1024px !default;
$x-large : 1280px !default; $x-large: 1280px !default;
$max-width: $x-large !default;
/* /*
Grid Grid
========================================================================== */ ========================================================================== */
$right-sidebar-width-narrow : 200px !default; $right-sidebar-width-narrow: 200px !default;
$right-sidebar-width : 300px !default; $right-sidebar-width: 300px !default;
$right-sidebar-width-wide : 400px !default; $right-sidebar-width-wide: 400px !default;
/* /*
Other Other
========================================================================== */ ========================================================================== */
$border-radius : 4px !default; $border-radius: 4px !default;
$box-shadow : 0 1px 1px rgba(0, 0, 0, 0.125) !default; $box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125) !default;
$navicon-width : 1.3rem !default; $nav-height: 2em !default;
$navicon-height : 0.22rem !default; $nav-toggle-height: 2rem !default;
$global-transition : all 0.2s ease-in-out !default; $navicon-width: 1.5rem !default;
$intro-transition : intro 0.3s both !default; $navicon-height: 0.25rem !default;
$global-transition: all 0.2s ease-in-out !default;
$intro-transition: intro 0.3s both !default;

View file

@ -18,6 +18,6 @@ $navicon-link-color-hover: mix(#fff, $text-color, 80%) !default;
color: #fff !important; // override color: #fff !important; // override
} }
.page__footer-follow .social-icons .fa { .page__footer-follow .social-icons .svg-inline--fa {
color: inherit; color: inherit;
} }

View file

@ -0,0 +1,34 @@
/* ==========================================================================
Aqua skin
========================================================================== */
/* Colors */
$gray : #1976d2 !default;
$dark-gray : mix(#000, $gray, 40%) !default;
$darker-gray : mix(#000, $gray, 60%) !default;
$light-gray : mix(#fff, $gray, 50%) !default;
$lighter-gray : mix(#fff, $gray, 90%) !default;
$body-color : #fff !default;
$background-color : #f0fff0 !default;
$code-background-color : $lighter-gray !default;
$code-background-color-dark : $light-gray !default;
$text-color : $dark-gray !default;
$border-color : $lighter-gray !default;
$primary-color : $gray !default;
$success-color : #27ae60 !default;
$warning-color : #e67e22 !default;
$danger-color : #c0392b !default;
$info-color : #03a9f4 !default;
/* links */
$link-color : $info-color !default;
$link-color-hover : mix(#000, $link-color, 25%) !default;
$link-color-visited : mix(#fff, $link-color, 25%) !default;
$masthead-link-color : $primary-color !default;
$masthead-link-color-hover : mix(#000, $primary-color, 25%) !default;
/* notices */
$notice-background-mix: 90% !default;
$code-notice-background-mix: 95% !default;

View file

@ -13,8 +13,25 @@ $masthead-link-color: $text-color !default;
$masthead-link-color-hover: $text-color !default; $masthead-link-color-hover: $text-color !default;
$navicon-link-color-hover: mix(#fff, $text-color, 80%) !default; $navicon-link-color-hover: mix(#fff, $text-color, 80%) !default;
.page__content { /* contrast syntax highlighting (base16) */
$base00: #000000 !default;
$base01: #242422 !default;
$base02: #484844 !default;
$base03: #6c6c66 !default;
$base04: #918f88 !default;
$base05: #b5b3aa !default;
$base06: #d9d7cc !default;
$base07: #fdfbee !default;
$base08: #ff6c60 !default;
$base09: #e9c062 !default;
$base0a: #ffffb6 !default;
$base0b: #a8ff60 !default;
$base0c: #c6c5fe !default;
$base0d: #96cbfe !default;
$base0e: #ff73fd !default;
$base0f: #b18a3d !default;
.page__content {
.notice, .notice,
.notice--primary, .notice--primary,
.notice--info, .notice--info,
@ -29,6 +46,7 @@ $navicon-link-color-hover: mix(#fff, $text-color, 80%) !default;
color: #fff !important; // override color: #fff !important; // override
} }
.page__footer-follow .social-icons .fa { .page__footer-follow .social-icons i,
.page__footer-follow .social-icons .svg-inline--fa {
color: inherit; color: inherit;
} }

View file

@ -18,7 +18,13 @@ $masthead-link-color: $text-color !default;
$masthead-link-color-hover: mix(#000, $text-color, 20%) !default; $masthead-link-color-hover: mix(#000, $text-color, 20%) !default;
$navicon-link-color-hover: mix(#000, $background-color, 30%) !default; $navicon-link-color-hover: mix(#000, $background-color, 30%) !default;
.author__urls.social-icons .fa, .author__urls.social-icons i,
.page__footer-follow .social-icons .fa { .author__urls.social-icons .svg-inline--fa,
.page__footer-follow .social-icons i,
.page__footer-follow .social-icons .svg-inline--fa {
color: inherit; color: inherit;
} }
.ais-search-box .ais-search-box--input {
background-color: $form-background-color;
}

Some files were not shown because too many files have changed in this diff Show more