mirror of
https://github.com/codeninjasuk/codeninjasuk.github.io.git
synced 2024-11-22 07:18:00 -05:00
Initial Push
This commit is contained in:
parent
fdb3f460ad
commit
e37cd189cb
729 changed files with 49256 additions and 2 deletions
13
.editorconfig
Normal file
13
.editorconfig
Normal file
|
@ -0,0 +1,13 @@
|
|||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = false
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
29
.gitignore
vendored
Normal file
29
.gitignore
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Vim
|
||||
*~
|
||||
*.sw[p_]
|
||||
|
||||
# Sublime Text
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
|
||||
# Ruby Gem
|
||||
*.gem
|
||||
.bundle
|
||||
Gemfile.lock
|
||||
**/vendor/bundle
|
||||
|
||||
# Node.js and NPM
|
||||
node_modules
|
||||
npm-debug.log*
|
||||
package-lock.json
|
||||
codekit-config.json
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
|
||||
# Jekyll generated files
|
||||
.jekyll-cache
|
||||
.jekyll-metadata
|
||||
.sass-cache
|
||||
_asset_bundler_cache
|
||||
_site
|
2
Gemfile
Normal file
2
Gemfile
Normal file
|
@ -0,0 +1,2 @@
|
|||
source "https://rubygems.org"
|
||||
gemspec
|
|
@ -1,2 +0,0 @@
|
|||
# codeninjasuk.github.io
|
||||
Repo to hold the website
|
76
Rakefile
Normal file
76
Rakefile
Normal file
|
@ -0,0 +1,76 @@
|
|||
require "bundler/gem_tasks"
|
||||
require "jekyll"
|
||||
require "listen"
|
||||
|
||||
def listen_ignore_paths(base, options)
|
||||
[
|
||||
/_config\.ya?ml/,
|
||||
/_site/,
|
||||
/\.jekyll-metadata/
|
||||
]
|
||||
end
|
||||
|
||||
def listen_handler(base, options)
|
||||
site = Jekyll::Site.new(options)
|
||||
Jekyll::Command.process_site(site)
|
||||
proc do |modified, added, removed|
|
||||
t = Time.now
|
||||
c = modified + added + removed
|
||||
n = c.length
|
||||
relative_paths = c.map{ |p| Pathname.new(p).relative_path_from(base).to_s }
|
||||
print Jekyll.logger.message("Regenerating:", "#{relative_paths.join(", ")} changed... ")
|
||||
begin
|
||||
Jekyll::Command.process_site(site)
|
||||
puts "regenerated in #{Time.now - t} seconds."
|
||||
rescue => e
|
||||
puts "error:"
|
||||
Jekyll.logger.warn "Error:", e.message
|
||||
Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information."
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
task :preview do
|
||||
base = Pathname.new('.').expand_path
|
||||
options = {
|
||||
"source" => base.join('test').to_s,
|
||||
"destination" => base.join('test/_site').to_s,
|
||||
"force_polling" => false,
|
||||
"serving" => true,
|
||||
"theme" => "minimal-mistakes-jekyll"
|
||||
}
|
||||
|
||||
options = Jekyll.configuration(options)
|
||||
|
||||
ENV["LISTEN_GEM_DEBUGGING"] = "1"
|
||||
listener = Listen.to(
|
||||
base.join("_data"),
|
||||
base.join("_includes"),
|
||||
base.join("_layouts"),
|
||||
base.join("_sass"),
|
||||
base.join("assets"),
|
||||
options["source"],
|
||||
:ignore => listen_ignore_paths(base, options),
|
||||
:force_polling => options['force_polling'],
|
||||
&(listen_handler(base, options))
|
||||
)
|
||||
|
||||
begin
|
||||
listener.start
|
||||
Jekyll.logger.info "Auto-regeneration:", "enabled for '#{options["source"]}'"
|
||||
|
||||
unless options['serving']
|
||||
trap("INT") do
|
||||
listener.stop
|
||||
puts " Halting auto-regeneration."
|
||||
exit 0
|
||||
end
|
||||
|
||||
loop { sleep 1000 }
|
||||
end
|
||||
rescue ThreadError
|
||||
# You pressed Ctrl-C, oh my!
|
||||
end
|
||||
|
||||
Jekyll::Commands::Serve.process(options)
|
||||
end
|
292
_config.yml
Normal file
292
_config.yml
Normal file
|
@ -0,0 +1,292 @@
|
|||
# Welcome to Jekyll!
|
||||
#
|
||||
# This config file is meant for settings that affect your entire site, values
|
||||
# which you are expected to set up once and rarely need to edit after that.
|
||||
# For technical reasons, this file is *NOT* reloaded automatically when you use
|
||||
# `jekyll serve`. If you change this file, please restart the server process.
|
||||
|
||||
# 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 : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
||||
|
||||
# Site Settings
|
||||
locale : "en-US"
|
||||
title : "Code Ninjas Langley"
|
||||
title_separator : "-"
|
||||
subtitle : # site tagline that appears below site title in masthead
|
||||
name : "Code Ninjas Langley"
|
||||
description : "Your kids will love learning to code while building video games at Code Ninjas."
|
||||
url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
||||
baseurl : # the subpath of your site, e.g. "/blog"
|
||||
repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
|
||||
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
|
||||
logo : "https://www.codeninjas.co.uk/assets/img/brands/codeNinjas/code-ninjas-logo.png" # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
|
||||
masthead_title : " " # overrides the website title displayed in the masthead, use " " for no title
|
||||
# breadcrumbs : false # true, false (default)
|
||||
words_per_minute : 200
|
||||
comments:
|
||||
provider : # false (default), "disqus", "discourse", "facebook", "staticman", "staticman_v2", "utterances", "giscus", "custom"
|
||||
disqus:
|
||||
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
|
||||
discourse:
|
||||
server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org
|
||||
facebook:
|
||||
# https://developers.facebook.com/docs/plugins/comments
|
||||
appid :
|
||||
num_posts : # 5 (default)
|
||||
colorscheme : # "light" (default), "dark"
|
||||
utterances:
|
||||
theme : # "github-light" (default), "github-dark"
|
||||
issue_term : # "pathname" (default)
|
||||
giscus:
|
||||
repo_id : # Shown during giscus setup at https://giscus.app
|
||||
category_name : # Full text name of the category
|
||||
category_id : # Shown during giscus setup at https://giscus.app
|
||||
discussion_term : # "pathname" (default), "url", "title", "og:title"
|
||||
reactions_enabled : # '1' for enabled (default), '0' for disabled
|
||||
theme : # "light" (default), "dark", "dark_dimmed", "transparent_dark", "preferred_color_scheme"
|
||||
staticman:
|
||||
branch : # "master"
|
||||
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
|
||||
reCaptcha:
|
||||
siteKey :
|
||||
secret :
|
||||
atom_feed:
|
||||
path : # blank (default) uses feed.xml
|
||||
hide : # true, false (default)
|
||||
search : # true, false (default)
|
||||
search_full_content : # true, false (default)
|
||||
search_provider : # lunr (default), algolia, google
|
||||
lunr:
|
||||
search_within_pages : # true, false (default)
|
||||
algolia:
|
||||
application_id : # YOUR_APPLICATION_ID
|
||||
index_name : # YOUR_INDEX_NAME
|
||||
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
|
||||
google_site_verification :
|
||||
bing_site_verification :
|
||||
naver_site_verification :
|
||||
yandex_site_verification :
|
||||
baidu_site_verification :
|
||||
|
||||
# Social Sharing
|
||||
twitter:
|
||||
username :
|
||||
facebook:
|
||||
username :
|
||||
app_id :
|
||||
publisher :
|
||||
og_image : # Open Graph/Twitter default site image
|
||||
# For specifying social profiles
|
||||
# - https://developers.google.com/structured-data/customize/social-profiles
|
||||
social:
|
||||
type : # Person or Organization (defaults to Person)
|
||||
name : # If the user or organization name differs from the site's name
|
||||
links: # An array of links to social media profiles
|
||||
|
||||
# Analytics
|
||||
analytics:
|
||||
provider : false # false (default), "google", "google-universal", "google-gtag", "custom"
|
||||
google:
|
||||
tracking_id :
|
||||
anonymize_ip : # true, false (default)
|
||||
|
||||
|
||||
# Site Author
|
||||
author:
|
||||
name : "Code Ninjas"
|
||||
avatar : "assets/img/logo-cn-langley.png" # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
|
||||
bio : "We make coding Fun!"
|
||||
location : "Langley (Berks), United Kingdom"
|
||||
email : "langley@codeninjas.com"
|
||||
links:
|
||||
- label: "Email"
|
||||
icon: "fas fa-fw fa-envelope-square"
|
||||
# url: "mailto:langley@codeninjas.com"
|
||||
- label: "Website"
|
||||
icon: "fas fa-fw fa-link"
|
||||
# url: "https://codeninjas.com"
|
||||
- label: "Twitter"
|
||||
icon: "fab fa-fw fa-twitter-square"
|
||||
# url: "https://twitter.com/"
|
||||
# - label: "Facebook"
|
||||
# icon: "fab fa-fw fa-facebook-square"
|
||||
# # url: "https://facebook.com/"
|
||||
# - label: "GitHub"
|
||||
# icon: "fab fa-fw fa-github"
|
||||
# # url: "https://github.com/"
|
||||
- label: "Instagram"
|
||||
icon: "fab fa-fw fa-instagram"
|
||||
# url: "https://instagram.com/codeninjaslangley"
|
||||
|
||||
# Site Footer
|
||||
footer:
|
||||
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:
|
||||
# - 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
|
||||
include:
|
||||
- .htaccess
|
||||
- _pages
|
||||
exclude:
|
||||
- "*.sublime-project"
|
||||
- "*.sublime-workspace"
|
||||
- vendor
|
||||
- .asset-cache
|
||||
- .bundle
|
||||
- .jekyll-assets-cache
|
||||
- .sass-cache
|
||||
- assets/js/plugins
|
||||
- assets/js/_main.js
|
||||
- assets/js/vendor
|
||||
- Capfile
|
||||
- CHANGELOG
|
||||
- config
|
||||
- Gemfile
|
||||
- Gruntfile.js
|
||||
- gulpfile.js
|
||||
- LICENSE
|
||||
- log
|
||||
- node_modules
|
||||
- package.json
|
||||
- package-lock.json
|
||||
- Rakefile
|
||||
- README
|
||||
- tmp
|
||||
- /docs # ignore Minimal Mistakes /docs
|
||||
- /test # ignore Minimal Mistakes /test
|
||||
keep_files:
|
||||
- .git
|
||||
- .svn
|
||||
encoding: "utf-8"
|
||||
markdown_ext: "markdown,mkdown,mkdn,mkd,md"
|
||||
|
||||
|
||||
# Conversion
|
||||
markdown: kramdown
|
||||
highlighter: rouge
|
||||
lsi: false
|
||||
excerpt_separator: "\n\n"
|
||||
incremental: false
|
||||
|
||||
|
||||
# Markdown Processing
|
||||
kramdown:
|
||||
input: GFM
|
||||
hard_wrap: false
|
||||
auto_ids: true
|
||||
footnote_nr: 1
|
||||
entity_output: as_char
|
||||
toc_levels: 1..6
|
||||
smart_quotes: lsquo,rsquo,ldquo,rdquo
|
||||
enable_coderay: false
|
||||
|
||||
|
||||
# Sass/SCSS
|
||||
sass:
|
||||
sass_dir: _sass
|
||||
style: compressed # https://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
|
||||
|
||||
|
||||
# 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:
|
||||
- jekyll-paginate
|
||||
- jekyll-sitemap
|
||||
- jekyll-gist
|
||||
- jekyll-feed
|
||||
- jekyll-include-cache
|
||||
|
||||
# mimic GitHub Pages with --safe
|
||||
whitelist:
|
||||
- jekyll-paginate
|
||||
- jekyll-sitemap
|
||||
- jekyll-gist
|
||||
- jekyll-feed
|
||||
- jekyll-include-cache
|
||||
|
||||
|
||||
# Archives
|
||||
# Type
|
||||
# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default)
|
||||
# - Jekyll Archives plugin archive pages ~> type: jekyll-archives
|
||||
# Path (examples)
|
||||
# - Archive page should exist at path when using Liquid method or you can
|
||||
# expect broken links (especially with breadcrumbs enabled)
|
||||
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
|
||||
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
|
||||
# - <base_path>/my-awesome-category/index.html ~> path: /
|
||||
category_archive:
|
||||
type: liquid
|
||||
path: /categories/
|
||||
tag_archive:
|
||||
type: liquid
|
||||
path: /tags/
|
||||
# https://github.com/jekyll/jekyll-archives
|
||||
# jekyll-archives:
|
||||
# enabled:
|
||||
# - categories
|
||||
# - tags
|
||||
# layouts:
|
||||
# category: archive-taxonomy
|
||||
# tag: archive-taxonomy
|
||||
# permalinks:
|
||||
# category: /categories/:name/
|
||||
# tag: /tags/:name/
|
||||
|
||||
|
||||
# HTML Compression
|
||||
# - https://jch.penibelst.de/
|
||||
compress_html:
|
||||
clippings: all
|
||||
ignore:
|
||||
envs: development
|
||||
|
||||
|
||||
# Defaults
|
||||
defaults:
|
||||
# _posts
|
||||
- scope:
|
||||
path: ""
|
||||
type: posts
|
||||
values:
|
||||
layout: single
|
||||
author_profile: true
|
||||
read_time: true
|
||||
comments: # true
|
||||
share: true
|
||||
related: true
|
14
_data/navigation.yml
Normal file
14
_data/navigation.yml
Normal file
|
@ -0,0 +1,14 @@
|
|||
# main links
|
||||
main:
|
||||
- title: "About"
|
||||
url: https://mmistakes.github.io/minimal-mistakes/about/
|
||||
- title: "Programmes"
|
||||
url: /year-archive/
|
||||
- title: "Camps"
|
||||
url: /year-archive/
|
||||
- title: "Gallery"
|
||||
url: /year-archive/
|
||||
# - title: "Sample Collections"
|
||||
# url: /collection-archive/
|
||||
# - title: "Sitemap"
|
||||
# url: /sitemap/
|
2024
_data/ui-text.yml
Normal file
2024
_data/ui-text.yml
Normal file
File diff suppressed because it is too large
Load diff
3
_includes/analytics-providers/custom.html
Normal file
3
_includes/analytics-providers/custom.html
Normal file
|
@ -0,0 +1,3 @@
|
|||
<!-- start custom analytics snippet -->
|
||||
|
||||
<!-- end custom analytics snippet -->
|
9
_includes/analytics-providers/google-gtag.html
Normal file
9
_includes/analytics-providers/google-gtag.html
Normal 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>
|
7
_includes/analytics-providers/google-universal.html
Normal file
7
_includes/analytics-providers/google-universal.html
Normal file
|
@ -0,0 +1,7 @@
|
|||
<script>
|
||||
window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
|
||||
ga('create','{{ site.analytics.google.tracking_id }}','auto');
|
||||
ga('set', 'anonymizeIp', {{ site.analytics.google.anonymize_ip | default: false }});
|
||||
ga('send','pageview')
|
||||
</script>
|
||||
<script src="https://www.google-analytics.com/analytics.js" async></script>
|
14
_includes/analytics-providers/google.html
Normal file
14
_includes/analytics-providers/google.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
<script>
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', '{{ site.analytics.google.tracking_id }}']);
|
||||
{% if site.analytics.google.anonymize_ip == true %}
|
||||
_gaq.push(['_gat._anonymizeIp']);
|
||||
{% endif %}
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
14
_includes/analytics.html
Normal file
14
_includes/analytics.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
{% if jekyll.environment == 'production' and site.analytics.provider and page.analytics != false %}
|
||||
|
||||
{% case site.analytics.provider %}
|
||||
{% when "google" %}
|
||||
{% include /analytics-providers/google.html %}
|
||||
{% when "google-universal" %}
|
||||
{% include /analytics-providers/google-universal.html %}
|
||||
{% when "google-gtag" %}
|
||||
{% include /analytics-providers/google-gtag.html %}
|
||||
{% when "custom" %}
|
||||
{% include /analytics-providers/custom.html %}
|
||||
{% endcase %}
|
||||
|
||||
{% endif %}
|
30
_includes/archive-single.html
Normal file
30
_includes/archive-single.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
{% if post.header.teaser %}
|
||||
{% capture teaser %}{{ post.header.teaser }}{% endcapture %}
|
||||
{% else %}
|
||||
{% assign teaser = site.teaser %}
|
||||
{% endif %}
|
||||
|
||||
{% if post.id %}
|
||||
{% assign title = post.title | markdownify | remove: "<p>" | remove: "</p>" %}
|
||||
{% else %}
|
||||
{% assign title = post.title %}
|
||||
{% endif %}
|
||||
|
||||
<div class="{{ include.type | default: 'list' }}__item">
|
||||
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
{% if include.type == "grid" and teaser %}
|
||||
<div class="archive__item-teaser">
|
||||
<img src="{{ teaser | relative_url }}" alt="">
|
||||
</div>
|
||||
{% endif %}
|
||||
<h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
{% if post.link %}
|
||||
<a href="{{ post.link }}">{{ title }}</a> <a href="{{ post.url | relative_url }}" rel="permalink"><i class="fas fa-link" aria-hidden="true" title="permalink"></i><span class="sr-only">Permalink</span></a>
|
||||
{% else %}
|
||||
<a href="{{ post.url | relative_url }}" rel="permalink">{{ title }}</a>
|
||||
{% endif %}
|
||||
</h2>
|
||||
{% include page__meta.html type=include.type %}
|
||||
{% if post.excerpt %}<p class="archive__item-excerpt" itemprop="description">{{ post.excerpt | markdownify | strip_html | truncate: 160 }}</p>{% endif %}
|
||||
</article>
|
||||
</div>
|
7
_includes/author-profile-custom-links.html
Normal file
7
_includes/author-profile-custom-links.html
Normal file
|
@ -0,0 +1,7 @@
|
|||
<!--
|
||||
<li>
|
||||
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
||||
</a>
|
||||
</li>
|
||||
-->
|
246
_includes/author-profile.html
Normal file
246
_includes/author-profile.html
Normal file
|
@ -0,0 +1,246 @@
|
|||
{% assign author = page.author | default: page.authors[0] | default: site.author %}
|
||||
{% assign author = site.data.authors[author] | default: author %}
|
||||
|
||||
<div itemscope itemtype="https://schema.org/Person" class="h-card">
|
||||
|
||||
{% if author.avatar %}
|
||||
<div class="author__avatar">
|
||||
<a href="{{ author.home | default: '/' | absolute_url }}">
|
||||
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image" class="u-photo">
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="author__content">
|
||||
<h3 class="author__name p-name" itemprop="name">
|
||||
<a class="u-url" rel="me" href="{{ author.home | default: '/' | absolute_url }}" itemprop="url">{{ author.name }}</a>
|
||||
</h3>
|
||||
{% if author.bio %}
|
||||
<div class="author__bio p-note" itemprop="description">
|
||||
{{ author.bio | markdownify }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="author__urls-wrapper">
|
||||
<button class="btn btn--inverse">{{ site.data.ui-text[site.locale].follow_label | remove: ":" | default: "Follow" }}</button>
|
||||
<ul class="author__urls social-icons">
|
||||
{% if author.location %}
|
||||
<li itemprop="homeLocation" itemscope itemtype="https://schema.org/Place">
|
||||
<i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name" class="p-locality">{{ author.location }}</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.links %}
|
||||
{% for link in author.links %}
|
||||
{% if link.label and link.url %}
|
||||
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer me"{% if link.url contains 'http' %} itemprop="sameAs"{% endif %}><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i><span class="label">{{ link.label }}</span></a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if author.uri %}
|
||||
<li>
|
||||
<a href="{{ author.uri }}" itemprop="url" rel="me">
|
||||
<i class="fas fa-fw fa-link" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].website_label | default: "Website" }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.email %}
|
||||
<li>
|
||||
<a href="mailto:{{ author.email }}" rel="me" class="u-email">
|
||||
<meta itemprop="email" content="{{ author.email }}" />
|
||||
<i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.keybase %}
|
||||
<li>
|
||||
<a href="https://keybase.io/{{ author.keybase }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-keybase" aria-hidden="true"></i><span class="label">Keybase</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.twitter %}
|
||||
<li>
|
||||
<a href="https://twitter.com/{{ author.twitter }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i><span class="label">Twitter</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.facebook %}
|
||||
<li>
|
||||
<a href="https://www.facebook.com/{{ author.facebook }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-facebook-square" aria-hidden="true"></i><span class="label">Facebook</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.linkedin %}
|
||||
<li>
|
||||
<a href="https://www.linkedin.com/in/{{ author.linkedin }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span class="label">LinkedIn</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.xing %}
|
||||
<li>
|
||||
<a href="https://www.xing.com/profile/{{ author.xing }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-xing-square" aria-hidden="true"></i><span class="label">XING</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.instagram %}
|
||||
<li>
|
||||
<a href="https://instagram.com/{{ author.instagram }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-instagram" aria-hidden="true"></i><span class="label">Instagram</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.tumblr %}
|
||||
<li>
|
||||
<a href="https://{{ author.tumblr }}.tumblr.com" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-tumblr-square" aria-hidden="true"></i><span class="label">Tumblr</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.bitbucket %}
|
||||
<li>
|
||||
<a href="https://bitbucket.org/{{ author.bitbucket }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-bitbucket" aria-hidden="true"></i><span class="label">Bitbucket</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.github %}
|
||||
<li>
|
||||
<a href="https://github.com/{{ author.github }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-github" aria-hidden="true"></i><span class="label">GitHub</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.gitlab %}
|
||||
<li>
|
||||
<a href="https://gitlab.com/{{ author.gitlab }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-gitlab" aria-hidden="true"></i><span class="label">GitLab</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.stackoverflow %}
|
||||
<li>
|
||||
<a href="https://stackoverflow.com/users/{{ author.stackoverflow }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-stack-overflow" aria-hidden="true"></i><span class="label">Stack Overflow</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.lastfm %}
|
||||
<li>
|
||||
<a href="https://last.fm/user/{{ author.lastfm }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-lastfm-square" aria-hidden="true"></i><span class="label">Last.fm</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.dribbble %}
|
||||
<li>
|
||||
<a href="https://dribbble.com/{{ author.dribbble }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-dribbble" aria-hidden="true"></i><span class="label">Dribbble</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.pinterest %}
|
||||
<li>
|
||||
<a href="https://www.pinterest.com/{{ author.pinterest }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-pinterest" aria-hidden="true"></i><span class="label">Pinterest</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.foursquare %}
|
||||
<li>
|
||||
<a href="https://foursquare.com/{{ author.foursquare }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-foursquare" aria-hidden="true"></i><span class="label">Foursquare</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.steam %}
|
||||
<li>
|
||||
<a href="https://steamcommunity.com/id/{{ author.steam }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-steam" aria-hidden="true"></i><span class="label">Steam</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.youtube %}
|
||||
{% if author.youtube contains "://" %}
|
||||
<li>
|
||||
<a href="{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||
</a>
|
||||
</li>
|
||||
{% elsif author.youtube %}
|
||||
<li>
|
||||
<a href="https://www.youtube.com/user/{{ author.youtube }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">YouTube</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if author.soundcloud %}
|
||||
<li>
|
||||
<a href="https://soundcloud.com/{{ author.soundcloud }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i><span class="label">SoundCloud</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.weibo %}
|
||||
<li>
|
||||
<a href="https://www.weibo.com/{{ author.weibo }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-weibo" aria-hidden="true"></i><span class="label">Weibo</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.flickr %}
|
||||
<li>
|
||||
<a href="https://www.flickr.com/{{ author.flickr }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-flickr" aria-hidden="true"></i><span class="label">Flickr</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.codepen %}
|
||||
<li>
|
||||
<a href="https://codepen.io/{{ author.codepen }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-codepen" aria-hidden="true"></i><span class="label">CodePen</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if author.vine %}
|
||||
<li>
|
||||
<a href="https://vine.co/u/{{ author.vine }}" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
||||
<i class="fab fa-fw fa-vine" aria-hidden="true"></i><span class="label">{{ site.data.ui-text[site.locale].email_label | default: "Email" }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% include author-profile-custom-links.html %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
40
_includes/breadcrumbs.html
Normal file
40
_includes/breadcrumbs.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
{% case site.category_archive.type %}
|
||||
{% when "liquid" %}
|
||||
{% assign path_type = "#" %}
|
||||
{% when "jekyll-archives" %}
|
||||
{% assign path_type = nil %}
|
||||
{% endcase %}
|
||||
|
||||
{% if page.collection != 'posts' %}
|
||||
{% assign path_type = nil %}
|
||||
{% assign crumb_path = '/' %}
|
||||
{% else %}
|
||||
{% assign crumb_path = site.category_archive.path %}
|
||||
{% endif %}
|
||||
|
||||
<nav class="breadcrumbs">
|
||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||
{% assign crumbs = page.url | split: '/' %}
|
||||
{% assign i = 1 %}
|
||||
{% for crumb in crumbs offset: 1 %}
|
||||
{% if forloop.first %}
|
||||
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="{{ '/' | relative_url }}" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
|
||||
|
||||
<meta itemprop="position" content="{{ i }}" />
|
||||
</li>
|
||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
||||
{% endif %}
|
||||
{% if forloop.last %}
|
||||
<li class="current">{{ page.title }}</li>
|
||||
{% else %}
|
||||
{% assign i = i | plus: 1 %}
|
||||
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||
<a href="{{ crumb | downcase | replace: '%20', '-' | prepend: path_type | prepend: crumb_path | relative_url }}" itemprop="item"><span itemprop="name">{{ crumb | replace: '-', ' ' | replace: '%20', ' ' | capitalize }}</span></a>
|
||||
<meta itemprop="position" content="{{ i }}" />
|
||||
</li>
|
||||
<span class="sep">{{ site.data.ui-text[site.locale].breadcrumb_separator | default: "/" }}</span>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</nav>
|
19
_includes/category-list.html
Normal file
19
_includes/category-list.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
{% case site.category_archive.type %}
|
||||
{% when "liquid" %}
|
||||
{% assign path_type = "#" %}
|
||||
{% when "jekyll-archives" %}
|
||||
{% assign path_type = nil %}
|
||||
{% endcase %}
|
||||
|
||||
{% if site.category_archive.path %}
|
||||
{% assign categories_sorted = page.categories | sort_natural %}
|
||||
|
||||
<p class="page__taxonomy">
|
||||
<strong><i class="fas fa-fw fa-folder-open" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].categories_label | default: "Categories:" }} </strong>
|
||||
<span itemprop="keywords">
|
||||
{% for category_word in categories_sorted %}
|
||||
<a href="{{ category_word | slugify | prepend: path_type | prepend: site.category_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
</p>
|
||||
{% endif %}
|
22
_includes/comment.html
Normal file
22
_includes/comment.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
<article id="comment{{ include.index }}" class="js-comment comment" itemprop="comment" itemscope itemtype="https://schema.org/Comment">
|
||||
<div class="comment__avatar-wrapper">
|
||||
<img class="comment__avatar" src="https://www.gravatar.com/avatar/{{ include.email }}?d=mm&s=80" alt="{{ include.name }}">
|
||||
</div>
|
||||
<div class="comment__content-wrapper">
|
||||
<h3 class="comment__author" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
||||
{% unless include.url == blank %}
|
||||
<span itemprop="name"><a rel="external nofollow" itemprop="url" href="{{ include.url }}">{{ include.name }}</a></span>
|
||||
{% else %}
|
||||
<span itemprop="name">{{ include.name }}</span>
|
||||
{% endunless %}
|
||||
</h3>
|
||||
<p class="comment__date">
|
||||
{% if include.date %}
|
||||
{% if include.index %}<a href="#comment{{ include.index }}" itemprop="url">{% endif %}
|
||||
<time datetime="{{ include.date | date_to_xmlschema }}" itemprop="datePublished">{{ include.date | date: "%B %-d, %Y at %I:%M %p" }}</time>
|
||||
{% if include.index %}</a>{% endif %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<div itemprop="text">{{ include.message | markdownify }}</div>
|
||||
</div>
|
||||
</article>
|
3
_includes/comments-providers/custom.html
Normal file
3
_includes/comments-providers/custom.html
Normal file
|
@ -0,0 +1,3 @@
|
|||
<!-- start custom comments snippet -->
|
||||
|
||||
<!-- end custom comments snippet -->
|
3
_includes/comments-providers/custom_scripts.html
Normal file
3
_includes/comments-providers/custom_scripts.html
Normal file
|
@ -0,0 +1,3 @@
|
|||
<!-- start custom comments scripts -->
|
||||
|
||||
<!-- end custom comments scripts -->
|
13
_includes/comments-providers/discourse.html
Normal file
13
_includes/comments-providers/discourse.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{% if site.comments.discourse.server %}
|
||||
{% capture canonical %}{% if site.permalink contains '.html' %}{{ page.url | absolute_url }}{% else %}{{ page.url | absolute_url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
|
||||
<script type="text/javascript">
|
||||
DiscourseEmbed = { discourseUrl: '//{{ site.comments.discourse.server }}/',
|
||||
discourseEmbedUrl: '{{ canonical }}' };
|
||||
(function () {
|
||||
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
|
||||
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the comments powered by <a href="https://www.discourse.org/">Discourse.</a></noscript>
|
||||
{% endif %}
|
15
_includes/comments-providers/disqus.html
Normal file
15
_includes/comments-providers/disqus.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
{% if site.comments.disqus.shortname %}
|
||||
<script>
|
||||
var disqus_config = function () {
|
||||
this.page.url = "{{ page.url | absolute_url }}"; /* Replace PAGE_URL with your page's canonical URL variable */
|
||||
this.page.identifier = "{{ page.id }}"; /* Replace PAGE_IDENTIFIER with your page's unique identifier variable */
|
||||
};
|
||||
(function() { /* DON'T EDIT BELOW THIS LINE */
|
||||
var d = document, s = d.createElement('script');
|
||||
s.src = 'https://{{ site.comments.disqus.shortname }}.disqus.com/embed.js';
|
||||
s.setAttribute('data-timestamp', +new Date());
|
||||
(d.head || d.body).appendChild(s);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||
{% endif %}
|
8
_includes/comments-providers/facebook.html
Normal file
8
_includes/comments-providers/facebook.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
<div id="fb-root"></div>
|
||||
<script>(function(d, s, id) {
|
||||
var js, fjs = d.getElementsByTagName(s)[0];
|
||||
if (d.getElementById(id)) return;
|
||||
js = d.createElement(s); js.id = id;
|
||||
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5{% if site.comments.facebook.appid %}&appId={{ site.comments.facebook.appid }}{% endif %}";
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));</script>
|
24
_includes/comments-providers/giscus.html
Normal file
24
_includes/comments-providers/giscus.html
Normal 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>
|
20
_includes/comments-providers/scripts.html
Normal file
20
_includes/comments-providers/scripts.html
Normal file
|
@ -0,0 +1,20 @@
|
|||
{% if site.comments.provider and page.comments %}
|
||||
{% case site.comments.provider %}
|
||||
{% when "disqus" %}
|
||||
{% include /comments-providers/disqus.html %}
|
||||
{% when "discourse" %}
|
||||
{% include /comments-providers/discourse.html %}
|
||||
{% when "facebook" %}
|
||||
{% include /comments-providers/facebook.html %}
|
||||
{% when "staticman" %}
|
||||
{% 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" %}
|
||||
{% include /comments-providers/custom_scripts.html %}
|
||||
{% endcase %}
|
||||
{% endif %}
|
40
_includes/comments-providers/staticman.html
Normal file
40
_includes/comments-providers/staticman.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
{% if site.repository and site.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 %}
|
40
_includes/comments-providers/staticman_v2.html
Normal file
40
_includes/comments-providers/staticman_v2.html
Normal 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 %}
|
21
_includes/comments-providers/utterances.html
Normal file
21
_includes/comments-providers/utterances.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
<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" }}');
|
||||
{% if site.comments.utterances.label %}script.setAttribute('label', '{{ site.comments.utterances.label }}');{% endif %}
|
||||
script.setAttribute('theme', '{{ site.comments.utterances.theme | default: "github-light" }}');
|
||||
script.setAttribute('crossorigin', 'anonymous');
|
||||
|
||||
commentContainer.appendChild(script);
|
||||
})();
|
||||
</script>
|
180
_includes/comments.html
Normal file
180
_includes/comments.html
Normal file
|
@ -0,0 +1,180 @@
|
|||
<div class="page__comments">
|
||||
{% capture comments_label %}{{ site.data.ui-text[site.locale].comments_label | default: "Comments" }}{% endcapture %}
|
||||
{% case site.comments.provider %}
|
||||
{% when "discourse" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="discourse-comments"></section>
|
||||
{% when "disqus" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section id="disqus_thread"></section>
|
||||
{% when "facebook" %}
|
||||
<h4 class="page__comments-title">{{ comments_label }}</h4>
|
||||
<section class="fb-comments" data-href="{{ page.url | absolute_url }}" data-mobile="true" data-num-posts="{{ site.comments.facebook.num_posts | default: 5 }}" data-width="100%" data-colorscheme="{{ site.comments.facebook.colorscheme | default: 'light' }}"></section>
|
||||
{% when "staticman_v2" %}
|
||||
<section id="static-comments">
|
||||
{% if site.repository and site.comments.staticman.branch %}
|
||||
<!-- Start static comments -->
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] %}
|
||||
|
||||
<!-- In order to sort by date we must have an array of objects, not an array of arrays, so
|
||||
create a new array of plain comment objects and then sort by the comment date. -->
|
||||
{% assign commentObjects = '' | split: '' %}
|
||||
{% for comment in comments %}
|
||||
{% assign commentObject = comment[1] %}
|
||||
{% assign commentObjects = commentObjects | push: commentObject %}
|
||||
{% endfor %}
|
||||
{% assign comments = commentObjects | sort: "date" %}
|
||||
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment.email %}
|
||||
{% assign name = comment.name %}
|
||||
{% assign url = comment.url %}
|
||||
{% assign date = comment.date %}
|
||||
{% assign message = comment.message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</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" %}
|
||||
<section id="static-comments">
|
||||
{% if site.repository and site.staticman.branch %}
|
||||
<!-- Start static comments -->
|
||||
<div class="js-comments">
|
||||
{% if site.data.comments[page.slug] %}
|
||||
<h4 class="page__comments-title">{{ site.data.ui-text[site.locale].comments_title | default: "Comments" }}</h4>
|
||||
{% assign comments = site.data.comments[page.slug] %}
|
||||
|
||||
<!-- In order to sort by date we must have an array of objects, not an array of arrays, so
|
||||
create a new array of plain comment objects and then sort by the comment date. -->
|
||||
{% assign commentObjects = '' | split: '' %}
|
||||
{% for comment in comments %}
|
||||
{% assign commentObject = comment[1] %}
|
||||
{% assign commentObjects = commentObjects | push: commentObject %}
|
||||
{% endfor %}
|
||||
{% assign comments = commentObjects | sort: "date" %}
|
||||
|
||||
{% for comment in comments %}
|
||||
{% assign email = comment.email %}
|
||||
{% assign name = comment.name %}
|
||||
{% assign url = comment.url %}
|
||||
{% assign date = comment.date %}
|
||||
{% assign message = comment.message %}
|
||||
{% include comment.html index=forloop.index email=email name=name url=url date=date message=message %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</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="https://api.staticman.net/v1/entry/{{ site.repository }}/{{ site.staticman.branch }}">
|
||||
<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"/>
|
||||
</div>
|
||||
<!-- Start comment form alert messaging -->
|
||||
<p class="hidden js-notice">
|
||||
<strong class="js-notice-text"></strong>
|
||||
</p>
|
||||
<!-- End comment form alert messaging -->
|
||||
<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 -->
|
||||
{% endif %}
|
||||
</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" %}
|
||||
{% include /comments-providers/custom.html %}
|
||||
{% endcase %}
|
||||
</div>
|
15
_includes/documents-collection.html
Normal file
15
_includes/documents-collection.html
Normal 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 -%}
|
41
_includes/feature_row
Normal file
41
_includes/feature_row
Normal file
|
@ -0,0 +1,41 @@
|
|||
{% if include.id %}
|
||||
{% assign feature_row = page[include.id] %}
|
||||
{% else %}
|
||||
{% assign feature_row = page.feature_row %}
|
||||
{% endif %}
|
||||
|
||||
<div class="feature__wrapper">
|
||||
|
||||
{% for f in feature_row %}
|
||||
<div class="feature__item{% if include.type %}--{{ include.type }}{% endif %}">
|
||||
<div class="archive__item">
|
||||
{% if f.image_path %}
|
||||
<div class="archive__item-teaser">
|
||||
<img src="{{ f.image_path | relative_url }}"
|
||||
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>
|
||||
{% endif %}
|
||||
|
||||
<div class="archive__item-body">
|
||||
{% if f.title %}
|
||||
<h2 class="archive__item-title">{{ f.title }}</h2>
|
||||
{% endif %}
|
||||
|
||||
{% if f.excerpt %}
|
||||
<div class="archive__item-excerpt">
|
||||
{{ f.excerpt | markdownify }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if f.url %}
|
||||
<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 %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
9
_includes/figure
Normal file
9
_includes/figure
Normal file
|
@ -0,0 +1,9 @@
|
|||
<figure class="{{ include.class }}">
|
||||
<img src="{{ include.image_path | relative_url }}"
|
||||
alt="{% if include.alt %}{{ include.alt }}{% endif %}">
|
||||
{%- if include.caption -%}
|
||||
<figcaption>
|
||||
{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||
</figcaption>
|
||||
{%- endif -%}
|
||||
</figure>
|
21
_includes/footer.html
Normal file
21
_includes/footer.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
<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>
|
||||
|
||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
3
_includes/footer/custom.html
Normal file
3
_includes/footer/custom.html
Normal file
|
@ -0,0 +1,3 @@
|
|||
<!-- start custom footer snippets -->
|
||||
|
||||
<!-- end custom footer snippets -->
|
35
_includes/gallery
Normal file
35
_includes/gallery
Normal file
|
@ -0,0 +1,35 @@
|
|||
{% if include.id %}
|
||||
{% assign gallery = page[include.id] %}
|
||||
{% else %}
|
||||
{% assign gallery = page.gallery %}
|
||||
{% endif %}
|
||||
|
||||
{% if include.layout %}
|
||||
{% assign gallery_layout = include.layout %}
|
||||
{% else %}
|
||||
{% if gallery.size == 2 %}
|
||||
{% assign gallery_layout = 'half' %}
|
||||
{% elsif gallery.size >= 3 %}
|
||||
{% assign gallery_layout = 'third' %}
|
||||
{% else %}
|
||||
{% assign gallery_layout = '' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<figure class="{{ gallery_layout }} {{ include.class }}">
|
||||
{% for img in gallery %}
|
||||
{% if img.url %}
|
||||
<a href="{{ img.url | relative_url }}"
|
||||
{% if img.title %}title="{{ img.title }}"{% endif %}>
|
||||
<img src="{{ img.image_path | relative_url }}"
|
||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||
</a>
|
||||
{% else %}
|
||||
<img src="{{ img.image_path | relative_url }}"
|
||||
alt="{% if img.alt %}{{ img.alt }}{% endif %}">
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if include.caption %}
|
||||
<figcaption>{{ include.caption | markdownify | remove: "<p>" | remove: "</p>" }}</figcaption>
|
||||
{% endif %}
|
||||
</figure>
|
47
_includes/group-by-array
Normal file
47
_includes/group-by-array
Normal file
|
@ -0,0 +1,47 @@
|
|||
<!--
|
||||
# Jekyll Group-By-Array 0.1.0
|
||||
# https://github.com/mushishi78/jekyll-group-by-array
|
||||
# © 2015 Max White <mushishi78@gmail.com>
|
||||
# MIT License
|
||||
-->
|
||||
|
||||
<!-- Initialize -->
|
||||
{% assign __empty_array = '' | split: ',' %}
|
||||
{% assign group_names = __empty_array %}
|
||||
{% assign group_items = __empty_array %}
|
||||
|
||||
<!-- Map -->
|
||||
{% assign __names = include.collection | map: include.field %}
|
||||
|
||||
<!-- Flatten -->
|
||||
{% assign __names = __names | join: ',' | join: ',' | split: ',' %}
|
||||
|
||||
<!-- Uniq -->
|
||||
{% assign __names = __names | sort %}
|
||||
{% for name in __names %}
|
||||
|
||||
<!-- If not equal to previous then it must be unique as sorted -->
|
||||
{% unless name == previous %}
|
||||
|
||||
<!-- Push to group_names -->
|
||||
{% assign group_names = group_names | push: name %}
|
||||
{% endunless %}
|
||||
|
||||
{% assign previous = name %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
<!-- group_items -->
|
||||
{% for name in group_names %}
|
||||
|
||||
<!-- Collect if contains -->
|
||||
{% assign __item = __empty_array %}
|
||||
{% for __element in include.collection %}
|
||||
{% if __element[include.field] contains name %}
|
||||
{% assign __item = __item | push: __element %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<!-- Push to group_items -->
|
||||
{% assign group_items = group_items | push: __item %}
|
||||
{% endfor %}
|
25
_includes/head.html
Normal file
25
_includes/head.html
Normal file
|
@ -0,0 +1,25 @@
|
|||
<meta charset="utf-8">
|
||||
|
||||
{% include seo.html %}
|
||||
|
||||
{% unless site.atom_feed.hide %}
|
||||
<link href="{% if site.atom_feed.path %}{{ site.atom_feed.path }}{% else %}{{ '/feed.xml' | relative_url }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
|
||||
{% endunless %}
|
||||
|
||||
<!-- https://t.co/dKP3o1e -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<script>
|
||||
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
|
||||
</script>
|
||||
|
||||
<!-- For all browsers -->
|
||||
<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'">
|
||||
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5/css/all.min.css"></noscript>
|
||||
|
||||
{% if site.head_scripts %}
|
||||
{% for script in site.head_scripts %}
|
||||
<script src="{{ script | relative_url }}"></script>
|
||||
{% endfor %}
|
||||
{% endif %}
|
14
_includes/head/custom.html
Normal file
14
_includes/head/custom.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
<!-- start custom head snippets -->
|
||||
|
||||
<!-- insert favicons. use https://realfavicongenerator.net/ -->
|
||||
|
||||
<!-- end custom head snippets -->
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/assets/css/custom.css">
|
||||
|
||||
{% if page.w3 %}
|
||||
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
|
||||
{% endif %}
|
35
_includes/masthead.html
Normal file
35
_includes/masthead.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
{% capture logo_path %}{{ site.logo }}{% endcapture %}
|
||||
|
||||
<div class="masthead">
|
||||
<div class="masthead__inner-wrap">
|
||||
<div class="masthead__menu">
|
||||
<nav id="site-nav" class="greedy-nav">
|
||||
{% unless logo_path == empty %}
|
||||
<a class="site-logo" href="{{ '/' | relative_url }}"><img src="{{ logo_path | relative_url }}" alt="{{ 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">
|
||||
{%- for link in site.data.navigation.main -%}
|
||||
<li class="masthead__menu-item">
|
||||
<a href="{{ link.url | relative_url }}"{% if link.description %} title="{{ link.description }}"{% endif %}>{{ link.title }}</a>
|
||||
</li>
|
||||
{%- endfor -%}
|
||||
</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 %}
|
||||
<button class="greedy-nav__toggle hidden" type="button">
|
||||
<span class="visually-hidden">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle menu" }}</span>
|
||||
<div class="navicon"></div>
|
||||
</button>
|
||||
<ul class="hidden-links hidden"></ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
26
_includes/nav_list
Normal file
26
_includes/nav_list
Normal file
|
@ -0,0 +1,26 @@
|
|||
{% assign navigation = site.data.navigation[include.nav] %}
|
||||
|
||||
<nav class="nav__list">
|
||||
{% if page.sidebar.title %}<h3 class="nav__title" style="padding-left: 0;">{{ page.sidebar.title }}</h3>{% endif %}
|
||||
<input id="ac-toc" name="accordion-toc" type="checkbox" />
|
||||
<label for="ac-toc">{{ site.data.ui-text[site.locale].menu_label | default: "Toggle Menu" }}</label>
|
||||
<ul class="nav__items">
|
||||
{% for nav in navigation %}
|
||||
<li>
|
||||
{% if nav.url %}
|
||||
<a href="{{ nav.url | relative_url }}"><span class="nav__sub-title">{{ nav.title }}</span></a>
|
||||
{% else %}
|
||||
<span class="nav__sub-title">{{ nav.title }}</span>
|
||||
{% endif %}
|
||||
|
||||
{% if nav.children != null %}
|
||||
<ul>
|
||||
{% for child in nav.children %}
|
||||
<li><a href="{{ child.url | relative_url }}"{% if child.url == page.url %} class="active"{% endif %}>{{ child.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
6
_includes/page__date.html
Normal file
6
_includes/page__date.html
Normal 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 class="dt-published" datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: date_format }}</time></p>
|
||||
{% elsif page.date %}
|
||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time class="dt-published" datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: date_format }}</time></p>
|
||||
{% endif %}
|
55
_includes/page__hero.html
Normal file
55
_includes/page__hero.html
Normal file
|
@ -0,0 +1,55 @@
|
|||
{% capture overlay_img_path %}{{ page.header.overlay_image | relative_url }}{% endcapture %}
|
||||
|
||||
{% if page.header.overlay_filter contains "gradient" %}
|
||||
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
||||
{% elsif page.header.overlay_filter contains "rgba" %}
|
||||
{% capture overlay_filter %}{{ page.header.overlay_filter }}{% endcapture %}
|
||||
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
|
||||
{% elsif page.header.overlay_filter %}
|
||||
{% capture overlay_filter %}rgba(0, 0, 0, {{ page.header.overlay_filter }}){% endcapture %}
|
||||
{% capture overlay_filter %}linear-gradient({{ overlay_filter }}, {{ overlay_filter }}){% endcapture %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.header.image_description %}
|
||||
{% assign image_description = page.header.image_description %}
|
||||
{% else %}
|
||||
{% assign image_description = page.title %}
|
||||
{% endif %}
|
||||
|
||||
{% assign image_description = image_description | markdownify | strip_html | strip_newlines | escape_once %}
|
||||
|
||||
<div class="page__hero{% if page.header.overlay_color or page.header.overlay_image %}--overlay{% endif %}"
|
||||
style="{% if page.header.overlay_color %}background-color: {{ page.header.overlay_color | default: 'transparent' }};{% endif %} {% if overlay_img_path %}background-image: {% if overlay_filter %}{{ overlay_filter }}, {% endif %}url('{{ overlay_img_path }}');{% endif %}"
|
||||
>
|
||||
{% if page.header.overlay_color or page.header.overlay_image %}
|
||||
<div class="wrapper">
|
||||
<h1 id="page-title" class="page__title" itemprop="headline">
|
||||
{% 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 %}
|
||||
{% else %}
|
||||
{{ page.title | default: site.title | markdownify | remove: "<p>" | remove: "</p>" }}
|
||||
{% endif %}
|
||||
</h1>
|
||||
{% if page.tagline %}
|
||||
<p class="page__lead">{{ page.tagline | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||
{% elsif page.header.show_overlay_excerpt != false and page.excerpt %}
|
||||
<p class="page__lead">{{ page.excerpt | markdownify | remove: "<p>" | remove: "</p>" }}</p>
|
||||
{% endif %}
|
||||
{% include page__meta.html %}
|
||||
{% if page.header.cta_url %}
|
||||
<p><a href="{{ page.header.cta_url | relative_url }}" class="btn btn--light-outline btn--large">{{ page.header.cta_label | default: site.data.ui-text[site.locale].more_label | default: "Learn More" }}</a></p>
|
||||
{% endif %}
|
||||
{% if page.header.actions %}
|
||||
<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 %}
|
||||
</div>
|
||||
{% else %}
|
||||
<img src="{{ page.header.image | relative_url }}" alt="{{ image_description }}" class="page__hero-image">
|
||||
{% endif %}
|
||||
{% if page.header.caption %}
|
||||
<span class="page__hero-caption">{{ page.header.caption | markdownify | remove: "<p>" | remove: "</p>" }}</span>
|
||||
{% endif %}
|
||||
</div>
|
2
_includes/page__hero_video.html
Normal file
2
_includes/page__hero_video.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
{% assign video = page.header.video %}
|
||||
{% include video id=video.id provider=video.provider danmaku=video.danmaku %}
|
31
_includes/page__meta.html
Normal file
31
_includes/page__meta.html
Normal 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 %}
|
7
_includes/page__taxonomy.html
Normal file
7
_includes/page__taxonomy.html
Normal file
|
@ -0,0 +1,7 @@
|
|||
{% if site.tag_archive.type and page.tags[0] %}
|
||||
{% include tag-list.html %}
|
||||
{% endif %}
|
||||
|
||||
{% if site.category_archive.type and page.categories[0] %}
|
||||
{% include category-list.html %}
|
||||
{% endif %}
|
69
_includes/paginator.html
Normal file
69
_includes/paginator.html
Normal file
|
@ -0,0 +1,69 @@
|
|||
{% if paginator.total_pages > 1 %}
|
||||
<nav class="pagination">
|
||||
{% assign first_page_path = paginator.first_page_path | default: site.paginate_path | replace: 'page:num', '' | replace: '//', '/' | relative_url %}
|
||||
<ul>
|
||||
{% comment %} Link for previous page {% endcomment %}
|
||||
{% if paginator.previous_page %}
|
||||
{% if paginator.previous_page == 1 %}
|
||||
<li><a href="{{ first_page_path }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||
{% else %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.previous_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a></li>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</span></a></li>
|
||||
{% endif %}
|
||||
|
||||
{% comment %} First page {% endcomment %}
|
||||
{% if paginator.page == 1 %}
|
||||
<li><a href="#" class="disabled current">1</a></li>
|
||||
{% else %}
|
||||
<li><a href="{{ first_page_path }}">1</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% assign page_start = 2 %}
|
||||
{% if paginator.page > 4 %}
|
||||
{% assign page_start = paginator.page | minus: 2 %}
|
||||
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||
<li><a href="#" class="disabled">…</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% assign page_end = paginator.total_pages | minus: 1 %}
|
||||
{% assign pages_to_end = paginator.total_pages | minus: paginator.page %}
|
||||
{% if pages_to_end > 4 %}
|
||||
{% assign page_end = paginator.page | plus: 2 %}
|
||||
{% endif %}
|
||||
|
||||
{% for index in (page_start..page_end) %}
|
||||
{% if index == paginator.page %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', index | replace: '//', '/' | relative_url }}" class="disabled current">{{ index }}</a></li>
|
||||
{% else %}
|
||||
{% comment %} Distance from current page and this link {% endcomment %}
|
||||
{% assign dist = paginator.page | minus: index %}
|
||||
{% if dist < 0 %}
|
||||
{% comment %} Distance must be a positive value {% endcomment %}
|
||||
{% assign dist = 0 | minus: dist %}
|
||||
{% endif %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', index | relative_url }}">{{ index }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% comment %} Ellipsis for truncated links {% endcomment %}
|
||||
{% if pages_to_end > 3 %}
|
||||
<li><a href="#" class="disabled">…</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if paginator.page == paginator.total_pages %}
|
||||
<li><a href="#" class="disabled current">{{ paginator.page }}</a></li>
|
||||
{% else %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.total_pages | replace: '//', '/' | relative_url }}">{{ paginator.total_pages }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% comment %} Link next page {% endcomment %}
|
||||
{% if paginator.next_page %}
|
||||
<li><a href="{{ site.paginate_path | replace: ':num', paginator.next_page | replace: '//', '/' | relative_url }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a></li>
|
||||
{% else %}
|
||||
<li><a href="#" class="disabled"><span aria-hidden="true">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</span></a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
14
_includes/post_pagination.html
Normal file
14
_includes/post_pagination.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
{% if page.previous or page.next %}
|
||||
<nav class="pagination">
|
||||
{% if page.previous %}
|
||||
<a href="{{ page.previous.url | relative_url }}" class="pagination--pager" title="{{ page.previous.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||
{% else %}
|
||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_previous | default: "Previous" }}</a>
|
||||
{% endif %}
|
||||
{% if page.next %}
|
||||
<a href="{{ page.next.url | relative_url }}" class="pagination--pager" title="{{ page.next.title | markdownify | strip_html }}">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||
{% else %}
|
||||
<a href="#" class="pagination--pager disabled">{{ site.data.ui-text[site.locale].pagination_next | default: "Next" }}</a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
{% endif %}
|
5
_includes/posts-category.html
Normal file
5
_includes/posts-category.html
Normal 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
5
_includes/posts-tag.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
{%- for post in site.tags[include.taxonomy] -%}
|
||||
{%- unless post.hidden -%}
|
||||
{% include archive-single.html %}
|
||||
{%- endunless -%}
|
||||
{%- endfor -%}
|
28
_includes/scripts.html
Normal file
28
_includes/scripts.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
{% if site.footer_scripts %}
|
||||
{% for script in site.footer_scripts %}
|
||||
<script src="{{ script | relative_url }}"></script>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<script src="{{ '/assets/js/main.min.js' | relative_url }}"></script>
|
||||
{% endif %}
|
||||
|
||||
{% if site.search == true or page.layout == "search" %}
|
||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
||||
{%- case search_provider -%}
|
||||
{%- when "lunr" -%}
|
||||
{% include_cached search/lunr-search-scripts.html %}
|
||||
{%- when "google" -%}
|
||||
{% include_cached search/google-search-scripts.html %}
|
||||
{%- when "algolia" -%}
|
||||
{% include_cached search/algolia-search-scripts.html %}
|
||||
{%- endcase -%}
|
||||
{% endif %}
|
||||
|
||||
{% include analytics.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 %}
|
62
_includes/search/algolia-search-scripts.html
Normal file
62
_includes/search/algolia-search-scripts.html
Normal file
|
@ -0,0 +1,62 @@
|
|||
<!-- 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 hightlight = hit._highlightResult;
|
||||
const title = hightlight.title && hightlight.title.value || "";
|
||||
const content = hightlight.html && hightlight.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>
|
30
_includes/search/google-search-scripts.html
Normal file
30
_includes/search/google-search-scripts.html
Normal 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>
|
10
_includes/search/lunr-search-scripts.html
Normal file
10
_includes/search/lunr-search-scripts.html
Normal 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>
|
26
_includes/search/search_form.html
Normal file
26
_includes/search/search_form.html
Normal 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';" role="search">
|
||||
<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" role="search">
|
||||
<label class="sr-only" for="cse-search-input-box-id">
|
||||
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
||||
</label>
|
||||
<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>
|
158
_includes/seo.html
Normal file
158
_includes/seo.html
Normal file
|
@ -0,0 +1,158 @@
|
|||
<!-- begin _includes/seo.html -->
|
||||
{%- if site.url -%}
|
||||
{%- assign seo_url = site.url | append: site.baseurl -%}
|
||||
{%- endif -%}
|
||||
{%- assign seo_url = seo_url | default: site.github.url -%}
|
||||
|
||||
{% assign title_separator = site.title_separator | default: '-' | replace: '|', '|' %}
|
||||
|
||||
{%- 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 %}
|
||||
|
||||
{%- assign seo_description = page.description | default: page.excerpt | default: site.description -%}
|
||||
{%- if seo_description -%}
|
||||
{%- assign seo_description = seo_description | markdownify | strip_html | newline_to_br | strip_newlines | replace: '<br />', ' ' | escape_once | strip -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- assign author = page.author | default: page.authors[0] | default: site.author -%}
|
||||
{%- assign author = site.data.authors[author] | default: author -%}
|
||||
|
||||
{%- if author.twitter -%}
|
||||
{%- assign author_twitter = author.twitter | replace: "@", "" -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image | absolute_url -%}
|
||||
{%- assign page_large_image = page_large_image | escape -%}
|
||||
|
||||
{%- assign page_teaser_image = page.header.teaser | default: site.og_image | absolute_url -%}
|
||||
{%- assign page_teaser_image = page_teaser_image | escape -%}
|
||||
|
||||
{%- assign site_og_image = site.og_image | absolute_url -%}
|
||||
{%- assign site_og_image = site_og_image | escape -%}
|
||||
|
||||
{%- if page.date -%}
|
||||
{%- 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 }}">
|
||||
|
||||
{% if author.name %}
|
||||
<meta name="author" content="{{ author.name | default: author }}">
|
||||
{% if og_type == "article" %}
|
||||
<meta property="article:author" content="{{ author.name | default: author }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<meta property="og:type" content="{{ og_type }}">
|
||||
<meta property="og:locale" content="{{ site.locale | replace: "-", "_" | default: "en_US" }}">
|
||||
<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:url" content="{{ canonical_url }}">
|
||||
|
||||
{% if seo_description %}
|
||||
<meta property="og:description" content="{{ seo_description }}">
|
||||
{% endif %}
|
||||
|
||||
{% if page_large_image %}
|
||||
<meta property="og:image" content="{{ page_large_image }}">
|
||||
{% elsif page_teaser_image %}
|
||||
<meta property="og:image" content="{{ page_teaser_image }}">
|
||||
{% endif %}
|
||||
|
||||
{% if site.twitter.username %}
|
||||
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
||||
<meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
||||
<meta name="twitter:description" content="{{ seo_description }}">
|
||||
<meta name="twitter:url" content="{{ canonical_url }}">
|
||||
|
||||
{% if page_large_image %}
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:image" content="{{ page_large_image }}">
|
||||
{% else %}
|
||||
<meta name="twitter:card" content="summary">
|
||||
{% if page_teaser_image %}
|
||||
<meta name="twitter:image" content="{{ page_teaser_image }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if author_twitter %}
|
||||
<meta name="twitter:creator" content="@{{ author_twitter }}">
|
||||
{% 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.publisher %}
|
||||
<meta property="article:publisher" content="{{ site.facebook.publisher }}">
|
||||
{% endif %}
|
||||
|
||||
{% if site.facebook.app_id %}
|
||||
<meta property="fb:app_id" content="{{ site.facebook.app_id }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<link rel="canonical" href="{{ canonical_url }}">
|
||||
|
||||
{% if paginator.previous_page %}
|
||||
<link rel="prev" href="{{ paginator.previous_page_path | absolute_url }}">
|
||||
{% endif %}
|
||||
{% if paginator.next_page %}
|
||||
<link rel="next" href="{{ paginator.next_page_path | absolute_url }}">
|
||||
{% endif %}
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
{% if site.social.type == "Organization" %}
|
||||
"@type": "Organization",
|
||||
"url": {{ '/' | absolute_url | jsonify }}{% if site.og_image %},
|
||||
"logo": {{ site_og_image | jsonify }}{% endif %}
|
||||
{% 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>
|
||||
|
||||
{% if site.google_site_verification %}
|
||||
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
||||
{% endif %}
|
||||
{% if site.bing_site_verification %}
|
||||
<meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
|
||||
{% endif %}
|
||||
{% if site.alexa_site_verification %}
|
||||
<meta name="alexaVerifyID" content="{{ site.alexa_site_verification }}">
|
||||
{% endif %}
|
||||
{% if site.yandex_site_verification %}
|
||||
<meta name="yandex-verification" content="{{ site.yandex_site_verification }}">
|
||||
{% endif %}
|
||||
{% 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 -->
|
19
_includes/sidebar.html
Normal file
19
_includes/sidebar.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
{% 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 %}
|
7
_includes/skip-links.html
Normal file
7
_includes/skip-links.html
Normal 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>
|
11
_includes/social-share.html
Normal file
11
_includes/social-share.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
<section class="page__share">
|
||||
{% if site.data.ui-text[site.locale].share_on_label %}
|
||||
<h4 class="page__share-title">{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}</h4>
|
||||
{% endif %}
|
||||
|
||||
<a href="https://twitter.com/intent/tweet?{% if site.twitter.username %}via={{ site.twitter.username | url_encode }}&{% endif %}text={{ page.title | url_encode }}%20{{ page.url | absolute_url | url_encode }}" class="btn btn--twitter" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Twitter"><i class="fab fa-fw fa-twitter" aria-hidden="true"></i><span> Twitter</span></a>
|
||||
|
||||
<a href="https://www.facebook.com/sharer/sharer.php?u={{ page.url | absolute_url | url_encode }}" class="btn btn--facebook" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} Facebook"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
|
||||
|
||||
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ page.url | absolute_url | url_encode }}" class="btn btn--linkedin" onclick="window.open(this.href, 'window', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" title="{{ site.data.ui-text[site.locale].share_on_label | default: 'Share on' }} LinkedIn"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
|
||||
</section>
|
19
_includes/tag-list.html
Normal file
19
_includes/tag-list.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
{% case site.tag_archive.type %}
|
||||
{% when "liquid" %}
|
||||
{% assign path_type = "#" %}
|
||||
{% when "jekyll-archives" %}
|
||||
{% assign path_type = nil %}
|
||||
{% endcase %}
|
||||
|
||||
{% if site.tag_archive.path %}
|
||||
{% assign tags_sorted = page.tags | sort_natural %}
|
||||
|
||||
<p class="page__taxonomy">
|
||||
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].tags_label | default: "Tags:" }} </strong>
|
||||
<span itemprop="keywords">
|
||||
{% for tag_word in tags_sorted %}
|
||||
<a href="{{ tag_word | slugify | prepend: path_type | prepend: site.tag_archive.path | relative_url }}" class="page__taxonomy-item p-category" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
</p>
|
||||
{% endif %}
|
7
_includes/toc
Normal file
7
_includes/toc
Normal file
|
@ -0,0 +1,7 @@
|
|||
<aside class="sidebar__right">
|
||||
<nav class="toc" markdown="1">
|
||||
<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
|
||||
{:toc .toc__menu}
|
||||
</nav>
|
||||
</aside>
|
182
_includes/toc.html
Normal file
182
_includes/toc.html
Normal 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 }}
|
24
_includes/video
Normal file
24
_includes/video
Normal file
|
@ -0,0 +1,24 @@
|
|||
{% capture video_id %}{{ include.id }}{% 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 -->
|
||||
{% unless video_src == "" %}
|
||||
<div class="responsive-video-container">
|
||||
<iframe src="{{ video_src }}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
{% endunless %}
|
29
_layouts/archive-taxonomy.html
Normal file
29
_layouts/archive-taxonomy.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
layout: default
|
||||
author_profile: false
|
||||
---
|
||||
|
||||
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
||||
{% include page__hero.html %}
|
||||
{% elsif page.header.video.id and page.header.video.provider %}
|
||||
{% include page__hero_video.html %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.url != "/" and site.breadcrumbs %}
|
||||
{% unless paginator %}
|
||||
{% include breadcrumbs.html %}
|
||||
{% endunless %}
|
||||
{% endif %}
|
||||
|
||||
<div id="main" role="main">
|
||||
{% include sidebar.html %}
|
||||
|
||||
<div class="archive">
|
||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||
<h1 id="page-title" class="page__title">{{ page.title }}</h1>
|
||||
{% endunless %}
|
||||
{% for post in page.posts %}
|
||||
{% include archive-single.html %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
26
_layouts/archive.html
Normal file
26
_layouts/archive.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
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 %}
|
||||
|
||||
<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 }}
|
||||
</div>
|
||||
</div>
|
43
_layouts/categories.html
Normal file
43
_layouts/categories.html
Normal 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' }} ↑</a>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
10
_layouts/category.html
Normal file
10
_layouts/category.html
Normal 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
10
_layouts/collection.html
Normal 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>
|
10
_layouts/compress.html
Normal file
10
_layouts/compress.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# Jekyll layout that compresses HTML
|
||||
# v3.1.0
|
||||
# http://jch.penibelst.de/
|
||||
# © 2014–2015 Anatol Broder
|
||||
# MIT License
|
||||
---
|
||||
|
||||
{% capture _LINE_FEED %}
|
||||
{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment 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 %}
|
41
_layouts/default.html
Normal file
41
_layouts/default.html
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
---
|
||||
|
||||
<!doctype html>
|
||||
<!--
|
||||
Minimal Mistakes Jekyll Theme 4.24.0 by Michael Rose
|
||||
Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
|
||||
Free for personal and commercial use under the MIT license
|
||||
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
||||
-->
|
||||
<html lang="{{ site.locale | slice: 0,2 | default: "en" }}" class="no-js">
|
||||
<head>
|
||||
{% include head.html %}
|
||||
{% include head/custom.html %}
|
||||
</head>
|
||||
|
||||
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
||||
{% include_cached skip-links.html %}
|
||||
{% include_cached masthead.html %}
|
||||
|
||||
<div class="initial-content">
|
||||
{{ content }}
|
||||
</div>
|
||||
|
||||
{% if site.search == true %}
|
||||
<div class="search-content">
|
||||
{% include_cached search/search_form.html %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div id="footer" class="page__footer">
|
||||
<footer>
|
||||
{% include footer/custom.html %}
|
||||
{% include_cached footer.html %}
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
{% include scripts.html %}
|
||||
|
||||
</body>
|
||||
</html>
|
22
_layouts/home.html
Normal file
22
_layouts/home.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
layout: archive
|
||||
---
|
||||
|
||||
{{ content }}
|
||||
|
||||
<h3 class="archive__subtitle">{{ site.data.ui-text[site.locale].recent_posts | default: "Recent Posts" }}</h3>
|
||||
|
||||
{% if paginator %}
|
||||
{% assign posts = paginator.posts %}
|
||||
{% else %}
|
||||
{% assign posts = site.posts %}
|
||||
{% endif %}
|
||||
|
||||
{% assign entries_layout = page.entries_layout | default: 'list' %}
|
||||
<div class="entries-{{ entries_layout }}">
|
||||
{% for post in posts %}
|
||||
{% include archive-single.html type=entries_layout %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% include paginator.html %}
|
30
_layouts/posts.html
Normal file
30
_layouts/posts.html
Normal 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' }} ↑</a>
|
||||
</section>
|
||||
{% endfor %}
|
42
_layouts/search.html
Normal file
42
_layouts/search.html
Normal 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>
|
95
_layouts/single.html
Normal file
95
_layouts/single.html
Normal file
|
@ -0,0 +1,95 @@
|
|||
---
|
||||
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 %}
|
||||
|
||||
{% assign breadcrumbs_enabled = site.breadcrumbs %}
|
||||
{% if page.breadcrumbs != null %}
|
||||
{% assign breadcrumbs_enabled = page.breadcrumbs %}
|
||||
{% endif %}
|
||||
{% if page.url != "/" and breadcrumbs_enabled %}
|
||||
{% unless paginator %}
|
||||
{% include breadcrumbs.html %}
|
||||
{% endunless %}
|
||||
{% endif %}
|
||||
|
||||
<div id="main" role="main">
|
||||
{% include sidebar.html %}
|
||||
|
||||
<article class="page h-entry" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
||||
|
||||
<div class="page__inner-wrap">
|
||||
{% unless page.header.overlay_color or page.header.overlay_image %}
|
||||
<header>
|
||||
{% if page.title %}<h1 id="page-title" class="page__title p-name" itemprop="headline">
|
||||
<a href="{{ page.url | absolute_url }}" class="u-url" itemprop="url">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</a>
|
||||
</h1>{% endif %}
|
||||
{% include page__meta.html %}
|
||||
</header>
|
||||
{% endunless %}
|
||||
|
||||
<section class="page__content e-content" itemprop="text">
|
||||
{% if page.toc %}
|
||||
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
||||
<nav class="toc">
|
||||
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label | default: "On this page" }}</h4></header>
|
||||
{% include toc.html sanitize=true html=content h_min=1 h_max=6 class="toc__menu" skip_no_ids=true %}
|
||||
</nav>
|
||||
</aside>
|
||||
{% endif %}
|
||||
{{ content }}
|
||||
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
|
||||
</section>
|
||||
|
||||
<footer class="page__meta">
|
||||
{% if site.data.ui-text[site.locale].meta_label %}
|
||||
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
||||
{% endif %}
|
||||
{% include page__taxonomy.html %}
|
||||
{% include page__date.html %}
|
||||
</footer>
|
||||
|
||||
{% if page.share %}{% include social-share.html %}{% endif %}
|
||||
|
||||
{% include post_pagination.html %}
|
||||
</div>
|
||||
|
||||
{% if jekyll.environment == 'production' and site.comments.provider and page.comments %}
|
||||
{% include comments.html %}
|
||||
{% endif %}
|
||||
</article>
|
||||
|
||||
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
||||
{% if page.id and page.related and site.related_posts.size > 0 %}
|
||||
<div class="page__related">
|
||||
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
||||
<div class="grid__wrapper">
|
||||
{% for post in site.related_posts limit:4 %}
|
||||
{% include archive-single.html type="grid" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
||||
{% elsif page.id and page.related %}
|
||||
<div class="page__related">
|
||||
<h2 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h2>
|
||||
<div class="grid__wrapper">
|
||||
{% for post in site.posts limit:4 %}
|
||||
{% if post.id == page.id %}
|
||||
{% continue %}
|
||||
{% endif %}
|
||||
{% include archive-single.html type="grid" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
22
_layouts/splash.html
Normal file
22
_layouts/splash.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
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 %}
|
||||
|
||||
<div id="main" role="main">
|
||||
<article class="splash" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
{% if page.title %}<meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||
{% if page.excerpt %}<meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once }}">{% endif %}
|
||||
{% if page.date %}<meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">{% endif %}
|
||||
{% if page.last_modified_at %}<meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">{% endif %}
|
||||
|
||||
<section class="page__content" itemprop="text">
|
||||
{{ content }}
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
10
_layouts/tag.html
Normal file
10
_layouts/tag.html
Normal 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
43
_layouts/tags.html
Normal 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' }} ↑</a>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
40
_sass/minimal-mistakes.scss
Normal file
40
_sass/minimal-mistakes.scss
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*!
|
||||
* Minimal Mistakes Jekyll Theme 4.24.0 by Michael Rose
|
||||
* Copyright 2013-2020 Michael Rose - mademistakes.com | @mmistakes
|
||||
* Licensed under MIT (https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
/* Variables */
|
||||
@import "minimal-mistakes/variables";
|
||||
|
||||
/* Mixins and functions */
|
||||
@import "minimal-mistakes/vendor/breakpoint/breakpoint";
|
||||
@include breakpoint-set("to ems", true);
|
||||
@import "minimal-mistakes/vendor/magnific-popup/magnific-popup"; // Magnific Popup
|
||||
@import "minimal-mistakes/vendor/susy/susy";
|
||||
@import "minimal-mistakes/mixins";
|
||||
|
||||
/* Core CSS */
|
||||
@import "minimal-mistakes/reset";
|
||||
@import "minimal-mistakes/base";
|
||||
@import "minimal-mistakes/forms";
|
||||
@import "minimal-mistakes/tables";
|
||||
@import "minimal-mistakes/animations";
|
||||
|
||||
/* Components */
|
||||
@import "minimal-mistakes/buttons";
|
||||
@import "minimal-mistakes/notices";
|
||||
@import "minimal-mistakes/masthead";
|
||||
@import "minimal-mistakes/navigation";
|
||||
@import "minimal-mistakes/footer";
|
||||
@import "minimal-mistakes/search";
|
||||
@import "minimal-mistakes/syntax";
|
||||
|
||||
/* Utility classes */
|
||||
@import "minimal-mistakes/utilities";
|
||||
|
||||
/* Layout specific */
|
||||
@import "minimal-mistakes/page";
|
||||
@import "minimal-mistakes/archive";
|
||||
@import "minimal-mistakes/sidebar";
|
||||
@import "minimal-mistakes/print";
|
21
_sass/minimal-mistakes/_animations.scss
Normal file
21
_sass/minimal-mistakes/_animations.scss
Normal file
|
@ -0,0 +1,21 @@
|
|||
/* ==========================================================================
|
||||
ANIMATIONS
|
||||
========================================================================== */
|
||||
|
||||
@-webkit-keyframes intro {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes intro {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
463
_sass/minimal-mistakes/_archive.scss
Normal file
463
_sass/minimal-mistakes/_archive.scss
Normal file
|
@ -0,0 +1,463 @@
|
|||
/* ==========================================================================
|
||||
ARCHIVE
|
||||
========================================================================== */
|
||||
|
||||
.archive {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 2em;
|
||||
|
||||
@include breakpoint($large) {
|
||||
float: right;
|
||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||
padding-right: $right-sidebar-width-narrow;
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
width: calc(100% - #{$right-sidebar-width});
|
||||
padding-right: $right-sidebar-width;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__item {
|
||||
position: relative;
|
||||
|
||||
a {
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
a[rel="permalink"] {
|
||||
position: static;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__subtitle {
|
||||
margin: 1.414em 0 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
font-size: $type-size-5;
|
||||
color: $muted-text-color;
|
||||
border-bottom: 1px solid $border-color;
|
||||
|
||||
+ .list__item .archive__item-title {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__item-title {
|
||||
margin-bottom: 0.25em;
|
||||
font-family: $sans-serif-narrow;
|
||||
line-height: initial;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
a[rel="permalink"]::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
a + a {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
/* remove border*/
|
||||
.page__content {
|
||||
.archive__item-title {
|
||||
margin-top: 1em;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__item-excerpt {
|
||||
margin-top: 0;
|
||||
font-size: $type-size-6;
|
||||
|
||||
& + p {
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__item-teaser {
|
||||
position: relative;
|
||||
border-radius: $border-radius;
|
||||
overflow: hidden;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
|
||||
@include breakpoint($large) {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
List view
|
||||
========================================================================== */
|
||||
|
||||
.list__item {
|
||||
.page__meta {
|
||||
margin: 0 0 4px;
|
||||
font-size: 0.6em;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Grid view
|
||||
========================================================================== */
|
||||
|
||||
.archive {
|
||||
.grid__wrapper {
|
||||
/* extend grid elements to the right */
|
||||
|
||||
@include breakpoint($large) {
|
||||
margin-right: -1 * $right-sidebar-width-narrow;
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
margin-right: -1 * $right-sidebar-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grid__item {
|
||||
margin-bottom: 2em;
|
||||
|
||||
@include breakpoint($small) {
|
||||
float: left;
|
||||
width: span(5 of 10);
|
||||
|
||||
&:nth-child(2n + 1) {
|
||||
clear: both;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
&:nth-child(2n + 2) {
|
||||
clear: none;
|
||||
margin-left: gutter(of 10);
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint($medium) {
|
||||
margin-left: 0; /* override margin*/
|
||||
margin-right: 0; /* override margin*/
|
||||
width: span(3 of 12);
|
||||
|
||||
&:nth-child(2n + 1) {
|
||||
clear: none;
|
||||
}
|
||||
|
||||
&:nth-child(4n + 1) {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
&:nth-child(4n + 2) {
|
||||
clear: none;
|
||||
margin-left: gutter(1 of 12);
|
||||
}
|
||||
|
||||
&:nth-child(4n + 3) {
|
||||
clear: none;
|
||||
margin-left: gutter(1 of 12);
|
||||
}
|
||||
|
||||
&:nth-child(4n + 4) {
|
||||
clear: none;
|
||||
margin-left: gutter(1 of 12);
|
||||
}
|
||||
}
|
||||
|
||||
.page__meta {
|
||||
margin: 0 0 4px;
|
||||
font-size: 0.6em;
|
||||
}
|
||||
|
||||
.page__meta-sep {
|
||||
display: block;
|
||||
|
||||
&::before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__item-title {
|
||||
margin-top: 0.5em;
|
||||
font-size: $type-size-5;
|
||||
}
|
||||
|
||||
.archive__item-excerpt {
|
||||
display: none;
|
||||
|
||||
@include breakpoint($medium) {
|
||||
display: block;
|
||||
font-size: $type-size-6;
|
||||
}
|
||||
}
|
||||
|
||||
.archive__item-teaser {
|
||||
@include breakpoint($small) {
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
@include breakpoint($medium) {
|
||||
max-height: 120px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Features
|
||||
========================================================================== */
|
||||
|
||||
.feature__wrapper {
|
||||
@include clearfix();
|
||||
margin-bottom: 2em;
|
||||
border-bottom: 1px solid $border-color;
|
||||
|
||||
.archive__item-title {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.feature__item {
|
||||
position: relative;
|
||||
margin-bottom: 2em;
|
||||
font-size: 1.125em;
|
||||
|
||||
@include breakpoint($small) {
|
||||
float: left;
|
||||
margin-bottom: 0;
|
||||
width: span(4 of 12);
|
||||
|
||||
&:nth-child(3n + 1) {
|
||||
clear: both;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
&:nth-child(3n + 2) {
|
||||
clear: none;
|
||||
margin-left: gutter(of 12);
|
||||
}
|
||||
|
||||
&:nth-child(3n + 3) {
|
||||
clear: none;
|
||||
margin-left: gutter(of 12);
|
||||
}
|
||||
|
||||
.feature__item-teaser {
|
||||
max-height: 200px;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.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 {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
font-size: 1.125em;
|
||||
|
||||
.archive__item {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.archive__item-teaser {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
a.btn::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
@include breakpoint($small) {
|
||||
.archive__item-teaser {
|
||||
float: left;
|
||||
width: span(5 of 12);
|
||||
}
|
||||
|
||||
.archive__item-body {
|
||||
float: right;
|
||||
padding-left: gutter(0.5 of 12);
|
||||
padding-right: gutter(1 of 12);
|
||||
width: span(7 of 12);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&--right {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
font-size: 1.125em;
|
||||
|
||||
.archive__item {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.archive__item-teaser {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
a.btn::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
@include breakpoint($small) {
|
||||
text-align: right;
|
||||
|
||||
.archive__item-teaser {
|
||||
float: right;
|
||||
width: span(5 of 12);
|
||||
}
|
||||
|
||||
.archive__item-body {
|
||||
float: left;
|
||||
width: span(7 of 12);
|
||||
padding-left: gutter(0.5 of 12);
|
||||
padding-right: gutter(1 of 12);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&--center {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
font-size: 1.125em;
|
||||
|
||||
.archive__item {
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.archive__item-teaser {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
a.btn::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
@include breakpoint($small) {
|
||||
text-align: center;
|
||||
|
||||
.archive__item-teaser {
|
||||
margin: 0 auto;
|
||||
width: span(5 of 12);
|
||||
}
|
||||
|
||||
.archive__item-body {
|
||||
margin: 0 auto;
|
||||
width: span(7 of 12);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 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;
|
||||
}
|
||||
}
|
339
_sass/minimal-mistakes/_base.scss
Normal file
339
_sass/minimal-mistakes/_base.scss
Normal file
|
@ -0,0 +1,339 @@
|
|||
/* ==========================================================================
|
||||
BASE ELEMENTS
|
||||
========================================================================== */
|
||||
|
||||
html {
|
||||
/* sticky footer fix */
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: $text-color;
|
||||
font-family: $global-font-family;
|
||||
line-height: 1.5;
|
||||
|
||||
&.overflow--hidden {
|
||||
/* when primary navigation is visible, the content in the background won't scroll */
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
margin: 2em 0 0.5em;
|
||||
line-height: 1.2;
|
||||
font-family: $header-font-family;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-top: 0;
|
||||
font-size: $h-size-1;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: $h-size-2;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: $h-size-3;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: $h-size-4;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: $h-size-5;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: $h-size-6;
|
||||
}
|
||||
|
||||
small,
|
||||
.small {
|
||||
font-size: $type-size-6;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 1.3em;
|
||||
}
|
||||
|
||||
u,
|
||||
ins {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid $text-color;
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
del a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
/* reduce orphans and widows when printing */
|
||||
|
||||
p,
|
||||
pre,
|
||||
blockquote,
|
||||
ul,
|
||||
ol,
|
||||
dl,
|
||||
figure,
|
||||
table,
|
||||
fieldset {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
|
||||
/* abbreviations */
|
||||
|
||||
abbr[title],
|
||||
abbr[data-original-title] {
|
||||
text-decoration: none;
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted $text-color;
|
||||
}
|
||||
|
||||
/* blockquotes */
|
||||
|
||||
blockquote {
|
||||
margin: 2em 1em 2em 0;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
font-style: italic;
|
||||
border-left: 0.25em solid $primary-color;
|
||||
|
||||
cite {
|
||||
font-style: italic;
|
||||
|
||||
&:before {
|
||||
content: "\2014";
|
||||
padding-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* links */
|
||||
|
||||
a {
|
||||
&:focus {
|
||||
@extend %tab-focus;
|
||||
}
|
||||
|
||||
&:visited {
|
||||
color: $link-color-visited;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $link-color-hover;
|
||||
outline: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* buttons */
|
||||
|
||||
button:focus {
|
||||
@extend %tab-focus;
|
||||
}
|
||||
|
||||
/* code */
|
||||
|
||||
tt,
|
||||
code,
|
||||
kbd,
|
||||
samp,
|
||||
pre {
|
||||
font-family: $monospace;
|
||||
}
|
||||
|
||||
pre {
|
||||
overflow-x: auto; /* add scrollbars to wide code blocks*/
|
||||
}
|
||||
|
||||
/* horizontal rule */
|
||||
|
||||
hr {
|
||||
display: block;
|
||||
margin: 1em 0;
|
||||
border: 0;
|
||||
border-top: 1px solid $border-color;
|
||||
}
|
||||
|
||||
/* lists */
|
||||
|
||||
ul li,
|
||||
ol li {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
li ul,
|
||||
li ol {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
/*
|
||||
Media and embeds
|
||||
========================================================================== */
|
||||
|
||||
/* Figures and images */
|
||||
|
||||
figure {
|
||||
display: -webkit-box;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
justify-content: space-between;
|
||||
-webkit-box-align: start;
|
||||
align-items: flex-start;
|
||||
flex-wrap: wrap;
|
||||
margin: 2em 0;
|
||||
|
||||
img,
|
||||
iframe,
|
||||
.fluid-width-video-wrapper {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
border-radius: $border-radius;
|
||||
-webkit-transition: $global-transition;
|
||||
transition: $global-transition;
|
||||
}
|
||||
|
||||
> a {
|
||||
display: block;
|
||||
}
|
||||
|
||||
&.half {
|
||||
> a,
|
||||
> img {
|
||||
@include breakpoint($small) {
|
||||
width: calc(50% - 0.5em);
|
||||
}
|
||||
}
|
||||
|
||||
figcaption {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
&.third {
|
||||
> a,
|
||||
> img {
|
||||
@include breakpoint($small) {
|
||||
width: calc(33.3333% - 0.5em);
|
||||
}
|
||||
}
|
||||
|
||||
figcaption {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Figure captions */
|
||||
|
||||
figcaption {
|
||||
margin-bottom: 0.5em;
|
||||
color: $muted-text-color;
|
||||
font-family: $caption-font-family;
|
||||
font-size: $type-size-6;
|
||||
|
||||
a {
|
||||
-webkit-transition: $global-transition;
|
||||
transition: $global-transition;
|
||||
|
||||
&:hover {
|
||||
color: $link-color-hover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Fix IE9 SVG bug */
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/*
|
||||
Navigation lists
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Removes margins, padding, and bullet points from navigation lists
|
||||
*
|
||||
* Example usage:
|
||||
* <nav>
|
||||
* <ul>
|
||||
* <li><a href="#link-1">Link 1</a></li>
|
||||
* <li><a href="#link-2">Link 2</a></li>
|
||||
* <li><a href="#link-3">Link 3</a></li>
|
||||
* </ul>
|
||||
* </nav>
|
||||
*/
|
||||
|
||||
nav {
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* override white-space for nested lists */
|
||||
ul li,
|
||||
ol li {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
li ul,
|
||||
li ol {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
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 {
|
||||
-webkit-transition: $global-transition;
|
||||
transition: $global-transition;
|
||||
}
|
97
_sass/minimal-mistakes/_buttons.scss
Normal file
97
_sass/minimal-mistakes/_buttons.scss
Normal file
|
@ -0,0 +1,97 @@
|
|||
/* ==========================================================================
|
||||
BUTTONS
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
Default button
|
||||
========================================================================== */
|
||||
|
||||
.btn {
|
||||
/* default */
|
||||
display: inline-block;
|
||||
margin-bottom: 0.25em;
|
||||
padding: 0.5em 1em;
|
||||
font-family: $sans-serif;
|
||||
font-size: $type-size-6;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
border-width: 0;
|
||||
border-radius: $border-radius;
|
||||
cursor: pointer;
|
||||
|
||||
.icon {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
.icon + .hidden {
|
||||
margin-left: -0.5em; /* override for hidden text*/
|
||||
}
|
||||
|
||||
/* button colors */
|
||||
$buttoncolors:
|
||||
(primary, $primary-color),
|
||||
(inverse, #fff),
|
||||
(light-outline, transparent),
|
||||
(success, $success-color),
|
||||
(warning, $warning-color),
|
||||
(danger, $danger-color),
|
||||
(info, $info-color),
|
||||
(facebook, $facebook-color),
|
||||
(twitter, $twitter-color),
|
||||
(linkedin, $linkedin-color);
|
||||
|
||||
@each $buttoncolor, $color in $buttoncolors {
|
||||
&--#{$buttoncolor} {
|
||||
@include yiq-contrasted($color);
|
||||
@if ($buttoncolor == inverse) {
|
||||
border: 1px solid $border-color;
|
||||
}
|
||||
@if ($buttoncolor == light-outline) {
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
|
||||
&:visited {
|
||||
@include yiq-contrasted($color);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
@include yiq-contrasted(mix(#000, $color, 20%));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* fills width of parent container */
|
||||
&--block {
|
||||
display: block;
|
||||
width: 100%;
|
||||
|
||||
+ .btn--block {
|
||||
margin-top: 0.25em;
|
||||
}
|
||||
}
|
||||
|
||||
/* disabled */
|
||||
&--disabled {
|
||||
pointer-events: none;
|
||||
cursor: not-allowed;
|
||||
filter: alpha(opacity=65);
|
||||
box-shadow: none;
|
||||
opacity: 0.65;
|
||||
}
|
||||
|
||||
/* extra large button */
|
||||
&--x-large {
|
||||
font-size: $type-size-4;
|
||||
}
|
||||
|
||||
/* large button */
|
||||
&--large {
|
||||
font-size: $type-size-5;
|
||||
}
|
||||
|
||||
/* small button */
|
||||
&--small {
|
||||
font-size: $type-size-7;
|
||||
}
|
||||
}
|
85
_sass/minimal-mistakes/_footer.scss
Normal file
85
_sass/minimal-mistakes/_footer.scss
Normal file
|
@ -0,0 +1,85 @@
|
|||
/* ==========================================================================
|
||||
FOOTER
|
||||
========================================================================== */
|
||||
|
||||
.page__footer {
|
||||
@include clearfix;
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
margin-top: 3em;
|
||||
color: $muted-text-color;
|
||||
-webkit-animation: $intro-transition;
|
||||
animation: $intro-transition;
|
||||
-webkit-animation-delay: 0.45s;
|
||||
animation-delay: 0.45s;
|
||||
background-color: $footer-background-color;
|
||||
|
||||
footer {
|
||||
@include clearfix;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-top: 2em;
|
||||
max-width: 100%;
|
||||
padding: 0 1em 2em;
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
max-width: $x-large;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.fas,
|
||||
.fab,
|
||||
.far,
|
||||
.fal {
|
||||
color: $muted-text-color;
|
||||
}
|
||||
}
|
||||
|
||||
.page__footer-copyright {
|
||||
font-family: $global-font-family;
|
||||
font-size: $type-size-7;
|
||||
}
|
||||
|
||||
.page__footer-follow {
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
font-family: $sans-serif-narrow;
|
||||
font-size: $type-size-6;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
li + li:before {
|
||||
content: "";
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
a {
|
||||
padding-right: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
a {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
359
_sass/minimal-mistakes/_forms.scss
Normal file
359
_sass/minimal-mistakes/_forms.scss
Normal file
|
@ -0,0 +1,359 @@
|
|||
/* ==========================================================================
|
||||
Forms
|
||||
========================================================================== */
|
||||
|
||||
form {
|
||||
margin: 0 0 5px 0;
|
||||
padding: 1em;
|
||||
background-color: $form-background-color;
|
||||
|
||||
fieldset {
|
||||
margin-bottom: 5px;
|
||||
padding: 0;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin-bottom: 5px * 2;
|
||||
*margin-left: -7px;
|
||||
padding: 0;
|
||||
color: $text-color;
|
||||
border: 0;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: (5px / 2);
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 0 0 5px 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
br {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
label,
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
textarea {
|
||||
vertical-align: baseline;
|
||||
*vertical-align: middle;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
textarea {
|
||||
box-sizing: border-box;
|
||||
font-family: $sans-serif;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: 0.25em;
|
||||
color: $text-color;
|
||||
cursor: pointer;
|
||||
|
||||
small {
|
||||
font-size: $type-size-6;
|
||||
}
|
||||
|
||||
input,
|
||||
textarea,
|
||||
select {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
input,
|
||||
textarea,
|
||||
select {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
padding: 0.25em;
|
||||
margin-bottom: 0.5em;
|
||||
color: $text-color;
|
||||
background-color: $background-color;
|
||||
border: $border-color;
|
||||
border-radius: $border-radius;
|
||||
box-shadow: $box-shadow;
|
||||
}
|
||||
|
||||
.input-mini {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.input-small {
|
||||
width: 90px;
|
||||
}
|
||||
|
||||
input[type="image"],
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
width: auto;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
margin: 3px 0;
|
||||
*margin-top: 0;
|
||||
line-height: normal;
|
||||
cursor: pointer;
|
||||
border-radius: 0;
|
||||
border: 0 \9;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
*width: 13px;
|
||||
*height: 13px;
|
||||
}
|
||||
|
||||
input[type="image"] {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
width: auto;
|
||||
padding: initial;
|
||||
line-height: initial;
|
||||
border: initial;
|
||||
background-color: transparent;
|
||||
background-color: initial;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
input[type="button"],
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
width: auto;
|
||||
height: auto;
|
||||
cursor: pointer;
|
||||
*overflow: visible;
|
||||
}
|
||||
|
||||
select,
|
||||
input[type="file"] {
|
||||
*margin-top: 4px;
|
||||
}
|
||||
|
||||
select {
|
||||
width: auto;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
select[multiple],
|
||||
select[size] {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: vertical;
|
||||
height: auto;
|
||||
overflow: auto;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
input[type="hidden"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.radio,
|
||||
.checkbox {
|
||||
padding-left: 18px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.radio input[type="radio"],
|
||||
.checkbox input[type="checkbox"] {
|
||||
float: left;
|
||||
margin-left: -18px;
|
||||
}
|
||||
|
||||
.radio.inline,
|
||||
.checkbox.inline {
|
||||
display: inline-block;
|
||||
padding-top: 5px;
|
||||
margin-bottom: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.radio.inline + .radio.inline,
|
||||
.checkbox.inline + .checkbox.inline {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/*
|
||||
Disabled state
|
||||
========================================================================== */
|
||||
|
||||
input[disabled],
|
||||
select[disabled],
|
||||
textarea[disabled],
|
||||
input[readonly],
|
||||
select[readonly],
|
||||
textarea[readonly] {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/*
|
||||
Focus & active state
|
||||
========================================================================== */
|
||||
|
||||
input:focus,
|
||||
textarea:focus {
|
||||
border-color: $primary-color;
|
||||
outline: 0;
|
||||
outline: thin dotted \9;
|
||||
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="radio"]:focus,
|
||||
input[type="checkbox"]:focus,
|
||||
select:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/*
|
||||
Help text
|
||||
========================================================================== */
|
||||
|
||||
.help-block,
|
||||
.help-inline {
|
||||
color: $muted-text-color;
|
||||
}
|
||||
|
||||
.help-block {
|
||||
display: block;
|
||||
margin-bottom: 1em;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
.help-inline {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
.form-group
|
||||
========================================================================== */
|
||||
|
||||
.form-group {
|
||||
margin-bottom: 5px;
|
||||
padding: 0;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
/*
|
||||
.form-inline
|
||||
========================================================================== */
|
||||
|
||||
.form-inline input,
|
||||
.form-inline textarea,
|
||||
.form-inline select {
|
||||
display: inline-block;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.form-inline label {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-inline .radio,
|
||||
.form-inline .checkbox,
|
||||
.form-inline .radio {
|
||||
padding-left: 0;
|
||||
margin-bottom: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.form-inline .radio input[type="radio"],
|
||||
.form-inline .checkbox input[type="checkbox"] {
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/*
|
||||
.form-search
|
||||
========================================================================== */
|
||||
|
||||
.form-search input,
|
||||
.form-search textarea,
|
||||
.form-search select {
|
||||
display: inline-block;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.form-search .search-query {
|
||||
padding-left: 14px;
|
||||
padding-right: 14px;
|
||||
margin-bottom: 0;
|
||||
border-radius: 14px;
|
||||
}
|
||||
|
||||
.form-search label {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-search .radio,
|
||||
.form-search .checkbox,
|
||||
.form-inline .radio {
|
||||
padding-left: 0;
|
||||
margin-bottom: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.form-search .radio input[type="radio"],
|
||||
.form-search .checkbox input[type="checkbox"] {
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/*
|
||||
.form--loading
|
||||
========================================================================== */
|
||||
|
||||
.form--loading:before {
|
||||
content: "";
|
||||
}
|
||||
|
||||
.form--loading .form__spinner {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.form:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(255, 255, 255, 0.7);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.form__spinner {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
z-index: 11;
|
||||
}
|
93
_sass/minimal-mistakes/_masthead.scss
Normal file
93
_sass/minimal-mistakes/_masthead.scss
Normal file
|
@ -0,0 +1,93 @@
|
|||
/* ==========================================================================
|
||||
MASTHEAD
|
||||
========================================================================== */
|
||||
|
||||
.masthead {
|
||||
position: relative;
|
||||
border-bottom: 1px solid $border-color;
|
||||
-webkit-animation: $intro-transition;
|
||||
animation: $intro-transition;
|
||||
-webkit-animation-delay: 0.15s;
|
||||
animation-delay: 0.15s;
|
||||
z-index: 20;
|
||||
|
||||
&__inner-wrap {
|
||||
@include clearfix;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 1em;
|
||||
max-width: 100%;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
font-family: $sans-serif-narrow;
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
max-width: $max-width;
|
||||
}
|
||||
|
||||
nav {
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.site-logo img {
|
||||
max-height: 2rem;
|
||||
}
|
||||
|
||||
.site-title {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-item-align: center;
|
||||
align-self: center;
|
||||
font-weight: bold;
|
||||
// z-index: 20;
|
||||
}
|
||||
|
||||
.site-subtitle {
|
||||
display: block;
|
||||
font-size: $type-size-8;
|
||||
}
|
||||
|
||||
.masthead__menu {
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
|
||||
.site-nav {
|
||||
margin-left: 0;
|
||||
|
||||
@include breakpoint($small) {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
clear: both;
|
||||
list-style-type: none;
|
||||
}
|
||||
}
|
||||
|
||||
.masthead__menu-item {
|
||||
display: block;
|
||||
list-style-type: none;
|
||||
white-space: nowrap;
|
||||
|
||||
&--lg {
|
||||
padding-right: 2em;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
92
_sass/minimal-mistakes/_mixins.scss
Normal file
92
_sass/minimal-mistakes/_mixins.scss
Normal file
|
@ -0,0 +1,92 @@
|
|||
/* ==========================================================================
|
||||
MIXINS
|
||||
========================================================================== */
|
||||
|
||||
%tab-focus {
|
||||
/* Default*/
|
||||
outline: thin dotted $focus-color;
|
||||
/* Webkit*/
|
||||
outline: 5px auto $focus-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
/*
|
||||
em function
|
||||
========================================================================== */
|
||||
|
||||
@function em($target, $context: $doc-font-size) {
|
||||
@return ($target / $context) * 1em;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Bourbon clearfix
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Provides an easy way to include a clearfix for containing floats.
|
||||
* link http://cssmojo.com/latest_new_clearfix_so_far/
|
||||
*
|
||||
* example scss - Usage
|
||||
*
|
||||
* .element {
|
||||
* @include clearfix;
|
||||
* }
|
||||
*
|
||||
* example css - CSS Output
|
||||
*
|
||||
* .element::after {
|
||||
* clear: both;
|
||||
* content: "";
|
||||
* display: table;
|
||||
* }
|
||||
*/
|
||||
|
||||
@mixin clearfix {
|
||||
clear: both;
|
||||
|
||||
&::after {
|
||||
clear: both;
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Compass YIQ Color Contrast
|
||||
https://github.com/easy-designs/yiq-color-contrast
|
||||
========================================================================== */
|
||||
|
||||
@function yiq-is-light(
|
||||
$color,
|
||||
$threshold: $yiq-contrasted-threshold
|
||||
) {
|
||||
$red: red($color);
|
||||
$green: green($color);
|
||||
$blue: blue($color);
|
||||
|
||||
$yiq: (($red*299)+($green*587)+($blue*114))/1000;
|
||||
|
||||
@if $yiq-debug { @debug $yiq, $threshold; }
|
||||
|
||||
@return if($yiq >= $threshold, true, false);
|
||||
}
|
||||
|
||||
@function yiq-contrast-color(
|
||||
$color,
|
||||
$dark: $yiq-contrasted-dark-default,
|
||||
$light: $yiq-contrasted-light-default,
|
||||
$threshold: $yiq-contrasted-threshold
|
||||
) {
|
||||
@return if(yiq-is-light($color, $threshold), $yiq-contrasted-dark-default, $yiq-contrasted-light-default);
|
||||
}
|
||||
|
||||
@mixin yiq-contrasted(
|
||||
$background-color,
|
||||
$dark: $yiq-contrasted-dark-default,
|
||||
$light: $yiq-contrasted-light-default,
|
||||
$threshold: $yiq-contrasted-threshold
|
||||
) {
|
||||
background-color: $background-color;
|
||||
color: yiq-contrast-color($background-color, $dark, $light, $threshold);
|
||||
}
|
573
_sass/minimal-mistakes/_navigation.scss
Normal file
573
_sass/minimal-mistakes/_navigation.scss
Normal file
|
@ -0,0 +1,573 @@
|
|||
/* ==========================================================================
|
||||
NAVIGATION
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
Breadcrumb navigation links
|
||||
========================================================================== */
|
||||
|
||||
.breadcrumbs {
|
||||
@include clearfix;
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
font-family: $sans-serif;
|
||||
-webkit-animation: $intro-transition;
|
||||
animation: $intro-transition;
|
||||
-webkit-animation-delay: 0.3s;
|
||||
animation-delay: 0.3s;
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
max-width: $x-large;
|
||||
}
|
||||
|
||||
ol {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
font-size: $type-size-6;
|
||||
|
||||
@include breakpoint($large) {
|
||||
float: right;
|
||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
width: calc(100% - #{$right-sidebar-width});
|
||||
}
|
||||
}
|
||||
|
||||
li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.current {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Post pagination navigation links
|
||||
========================================================================== */
|
||||
|
||||
.pagination {
|
||||
@include clearfix();
|
||||
float: left;
|
||||
margin-top: 1em;
|
||||
padding-top: 1em;
|
||||
width: 100%;
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
font-family: $sans-serif;
|
||||
}
|
||||
|
||||
li {
|
||||
display: block;
|
||||
float: left;
|
||||
margin-left: -1px;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
margin-bottom: 0.25em;
|
||||
padding: 0.5em 1em;
|
||||
font-family: $sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
line-height: 1.5;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: $muted-text-color;
|
||||
border: 1px solid mix(#000, $border-color, 25%);
|
||||
border-radius: 0;
|
||||
|
||||
&:hover {
|
||||
color: $link-color-hover;
|
||||
}
|
||||
|
||||
&.current,
|
||||
&.current.disabled {
|
||||
color: #fff;
|
||||
background: $primary-color;
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
color: rgba($muted-text-color, 0.5);
|
||||
pointer-events: none;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
margin-left: 0;
|
||||
|
||||
a {
|
||||
border-top-left-radius: $border-radius;
|
||||
border-bottom-left-radius: $border-radius;
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
a {
|
||||
border-top-right-radius: $border-radius;
|
||||
border-bottom-right-radius: $border-radius;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* next/previous buttons */
|
||||
&--pager {
|
||||
display: block;
|
||||
padding: 1em 2em;
|
||||
float: left;
|
||||
width: 50%;
|
||||
font-family: $sans-serif;
|
||||
font-size: $type-size-5;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: $muted-text-color;
|
||||
border: 1px solid mix(#000, $border-color, 25%);
|
||||
border-radius: $border-radius;
|
||||
|
||||
&:hover {
|
||||
@include yiq-contrasted($muted-text-color);
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-left: -1px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
color: rgba($muted-text-color, 0.5);
|
||||
pointer-events: none;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page__content + .pagination,
|
||||
.page__meta + .pagination,
|
||||
.page__share + .pagination,
|
||||
.page__comments + .pagination {
|
||||
margin-top: 2em;
|
||||
padding-top: 2em;
|
||||
border-top: 1px solid $border-color;
|
||||
}
|
||||
|
||||
/*
|
||||
Priority plus navigation
|
||||
========================================================================== */
|
||||
|
||||
.greedy-nav {
|
||||
position: relative;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
min-height: $nav-height;
|
||||
background: $background-color;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
margin: 0 1rem;
|
||||
color: $masthead-link-color;
|
||||
text-decoration: none;
|
||||
-webkit-transition: none;
|
||||
transition: none;
|
||||
|
||||
&:hover {
|
||||
color: $masthead-link-color-hover;
|
||||
}
|
||||
|
||||
&.site-logo {
|
||||
margin-left: 0;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
&.site-title {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
-webkit-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
&__toggle {
|
||||
-ms-flex-item-align: center;
|
||||
align-self: center;
|
||||
height: $nav-toggle-height;
|
||||
border: 0;
|
||||
outline: none;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.visible-links {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: end;
|
||||
-ms-flex-pack: end;
|
||||
justify-content: flex-end;
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
|
||||
li {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: none;
|
||||
flex: none;
|
||||
}
|
||||
|
||||
a {
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 4px;
|
||||
background: $primary-color;
|
||||
width: 100%;
|
||||
-webkit-transition: $global-transition;
|
||||
transition: $global-transition;
|
||||
-webkit-transform: scaleX(0) translate3d(0, 0, 0);
|
||||
transform: scaleX(0) translate3d(0, 0, 0); // hide
|
||||
}
|
||||
|
||||
&:hover:before {
|
||||
-webkit-transform: scaleX(1);
|
||||
-ms-transform: scaleX(1);
|
||||
transform: scaleX(1); // reveal
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.hidden-links {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
right: 0;
|
||||
margin-top: 15px;
|
||||
padding: 5px;
|
||||
border: 1px solid $border-color;
|
||||
border-radius: $border-radius;
|
||||
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);
|
||||
|
||||
&.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
a {
|
||||
margin: 0;
|
||||
padding: 10px 20px;
|
||||
font-size: $type-size-5;
|
||||
|
||||
&:hover {
|
||||
color: $masthead-link-color-hover;
|
||||
background: $navicon-link-color-hover;
|
||||
}
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -11px;
|
||||
right: 10px;
|
||||
width: 0;
|
||||
border-style: solid;
|
||||
border-width: 0 10px 10px;
|
||||
border-color: $border-color transparent;
|
||||
display: block;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
width: 0;
|
||||
border-style: solid;
|
||||
border-width: 0 10px 10px;
|
||||
border-color: $background-color transparent;
|
||||
display: block;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
li {
|
||||
display: block;
|
||||
border-bottom: 1px solid $border-color;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.no-js {
|
||||
.greedy-nav {
|
||||
.visible-links {
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Navigation list
|
||||
========================================================================== */
|
||||
|
||||
.nav__list {
|
||||
margin-bottom: 1.5em;
|
||||
|
||||
input[type="checkbox"],
|
||||
label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@include breakpoint(max-width $large - 1px) {
|
||||
label {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
padding: 0.5em 2.5em 0.5em 1em;
|
||||
color: $gray;
|
||||
font-size: $type-size-6;
|
||||
font-weight: bold;
|
||||
border: 1px solid $light-gray;
|
||||
border-radius: $border-radius;
|
||||
z-index: 20;
|
||||
-webkit-transition: 0.2s ease-out;
|
||||
transition: 0.2s ease-out;
|
||||
cursor: pointer;
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: 1em;
|
||||
top: 1.25em;
|
||||
width: 0.75em;
|
||||
height: 0.125em;
|
||||
line-height: 1;
|
||||
background-color: $gray;
|
||||
-webkit-transition: 0.2s ease-out;
|
||||
transition: 0.2s ease-out;
|
||||
}
|
||||
|
||||
&:after {
|
||||
-webkit-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: #fff;
|
||||
border-color: $gray;
|
||||
background-color: mix(white, #000, 20%);
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* selected*/
|
||||
input:checked + label {
|
||||
color: white;
|
||||
background-color: mix(white, #000, 20%);
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
/* on hover show expand*/
|
||||
label:hover:after {
|
||||
-webkit-transform: rotate(90deg);
|
||||
-ms-transform: rotate(90deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
input:checked + label:hover:after {
|
||||
-webkit-transform: rotate(0);
|
||||
-ms-transform: rotate(0);
|
||||
transform: rotate(0);
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
padding: 0.25em 0;
|
||||
|
||||
@include breakpoint($large) {
|
||||
padding-top: 0.125em;
|
||||
padding-bottom: 0.125em;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav__list .nav__items {
|
||||
margin: 0;
|
||||
font-size: 1.25rem;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.active {
|
||||
margin-left: -0.5em;
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@include breakpoint(max-width $large - 1px) {
|
||||
position: relative;
|
||||
max-height: 0;
|
||||
opacity: 0%;
|
||||
overflow: hidden;
|
||||
z-index: 10;
|
||||
-webkit-transition: 0.3s ease-in-out;
|
||||
transition: 0.3s ease-in-out;
|
||||
-webkit-transform: translate(0, 10%);
|
||||
-ms-transform: translate(0, 10%);
|
||||
transform: translate(0, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint(max-width $large - 1px) {
|
||||
.nav__list input:checked ~ .nav__items {
|
||||
-webkit-transition: 0.5s ease-in-out;
|
||||
transition: 0.5s ease-in-out;
|
||||
max-height: 9999px; /* exaggerate max-height to accommodate tall lists*/
|
||||
overflow: visible;
|
||||
opacity: 1;
|
||||
margin-top: 1em;
|
||||
-webkit-transform: translate(0, 0);
|
||||
-ms-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.nav__title {
|
||||
margin: 0;
|
||||
padding: 0.5rem 0.75rem;
|
||||
font-family: $sans-serif-narrow;
|
||||
font-size: $type-size-5;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.nav__sub-title {
|
||||
display: block;
|
||||
margin: 0.5rem 0;
|
||||
padding: 0.25rem 0;
|
||||
font-family: $sans-serif-narrow;
|
||||
font-size: $type-size-6;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
|
||||
/*
|
||||
Table of contents navigation
|
||||
========================================================================== */
|
||||
|
||||
.toc {
|
||||
font-family: $sans-serif-narrow;
|
||||
color: $gray;
|
||||
background-color: $background-color;
|
||||
border: 1px solid $border-color;
|
||||
border-radius: $border-radius;
|
||||
-webkit-box-shadow: $box-shadow;
|
||||
box-shadow: $box-shadow;
|
||||
|
||||
.nav__title {
|
||||
color: #fff;
|
||||
font-size: $type-size-6;
|
||||
background: $primary-color;
|
||||
border-top-left-radius: $border-radius;
|
||||
border-top-right-radius: $border-radius;
|
||||
}
|
||||
|
||||
// Scrollspy marks toc items as .active when they are in focus
|
||||
.active a {
|
||||
@include yiq-contrasted($active-color);
|
||||
}
|
||||
}
|
||||
|
||||
.toc__menu {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
list-style: none;
|
||||
font-size: $type-size-6;
|
||||
|
||||
@include breakpoint($large) {
|
||||
font-size: $type-size-7;
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
padding: 0.25rem 0.75rem;
|
||||
color: $muted-text-color;
|
||||
font-weight: bold;
|
||||
line-height: 1.5;
|
||||
border-bottom: 1px solid $border-color;
|
||||
|
||||
&:hover {
|
||||
color: $text-color;
|
||||
}
|
||||
}
|
||||
|
||||
li ul > li a {
|
||||
padding-left: 1.25rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
li ul li ul > li a {
|
||||
padding-left: 1.75rem;
|
||||
}
|
||||
|
||||
li ul li ul li ul > li a {
|
||||
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
|
||||
}
|
||||
}
|
109
_sass/minimal-mistakes/_notices.scss
Normal file
109
_sass/minimal-mistakes/_notices.scss
Normal file
|
@ -0,0 +1,109 @@
|
|||
/* ==========================================================================
|
||||
NOTICE TEXT BLOCKS
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Default Kramdown usage (no indents!):
|
||||
* <div class="notice" markdown="1">
|
||||
* #### Headline for the Notice
|
||||
* Text for the notice
|
||||
* </div>
|
||||
*/
|
||||
|
||||
@mixin notice($notice-color) {
|
||||
margin: 2em 0 !important; /* override*/
|
||||
padding: 1em;
|
||||
color: $text-color;
|
||||
font-family: $global-font-family;
|
||||
font-size: $type-size-6 !important;
|
||||
text-indent: initial; /* override*/
|
||||
background-color: mix($background-color, $notice-color, $notice-background-mix);
|
||||
border-radius: $border-radius;
|
||||
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
|
||||
|
||||
h4 {
|
||||
margin-top: 0 !important; /* override*/
|
||||
margin-bottom: 0.75em;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
@at-root .page__content #{&} h4 {
|
||||
/* using at-root to override .page-content h4 font size*/
|
||||
margin-bottom: 0;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
p {
|
||||
&:last-child {
|
||||
margin-bottom: 0 !important; /* override*/
|
||||
}
|
||||
}
|
||||
|
||||
h4 + p {
|
||||
/* remove space above paragraphs that appear directly after notice headline*/
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: mix(#000, $notice-color, 10%);
|
||||
|
||||
&:hover {
|
||||
color: mix(#000, $notice-color, 50%);
|
||||
}
|
||||
}
|
||||
|
||||
@at-root #{selector-unify(&, "blockquote")} {
|
||||
border-left-color: mix(#000, $notice-color, 10%);
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: mix($background-color, $notice-color, $code-notice-background-mix)
|
||||
}
|
||||
|
||||
pre code {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
ul {
|
||||
&:last-child {
|
||||
margin-bottom: 0; /* override*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Default notice */
|
||||
|
||||
.notice {
|
||||
@include notice($light-gray);
|
||||
}
|
||||
|
||||
/* Primary notice */
|
||||
|
||||
.notice--primary {
|
||||
@include notice($primary-color);
|
||||
}
|
||||
|
||||
/* Info notice */
|
||||
|
||||
.notice--info {
|
||||
@include notice($info-color);
|
||||
}
|
||||
|
||||
/* Warning notice */
|
||||
|
||||
.notice--warning {
|
||||
@include notice($warning-color);
|
||||
}
|
||||
|
||||
/* Success notice */
|
||||
|
||||
.notice--success {
|
||||
@include notice($success-color);
|
||||
}
|
||||
|
||||
/* Danger notice */
|
||||
|
||||
.notice--danger {
|
||||
@include notice($danger-color);
|
||||
}
|
578
_sass/minimal-mistakes/_page.scss
Normal file
578
_sass/minimal-mistakes/_page.scss
Normal file
|
@ -0,0 +1,578 @@
|
|||
/* ==========================================================================
|
||||
SINGLE PAGE/POST
|
||||
========================================================================== */
|
||||
|
||||
#main {
|
||||
@include clearfix;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
-webkit-animation: $intro-transition;
|
||||
animation: $intro-transition;
|
||||
max-width: 100%;
|
||||
-webkit-animation-delay: 0.15s;
|
||||
animation-delay: 0.15s;
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
max-width: $max-width;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.initial-content,
|
||||
.search-content {
|
||||
flex: 1 0 auto;
|
||||
}
|
||||
|
||||
.page {
|
||||
@include breakpoint($large) {
|
||||
float: right;
|
||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||
padding-right: $right-sidebar-width-narrow;
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
width: calc(100% - #{$right-sidebar-width});
|
||||
padding-right: $right-sidebar-width;
|
||||
}
|
||||
|
||||
.page__inner-wrap {
|
||||
float: left;
|
||||
margin-top: 1em;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
|
||||
.page__content,
|
||||
.page__meta,
|
||||
.page__share {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page__title {
|
||||
margin-top: 0;
|
||||
line-height: 1;
|
||||
|
||||
a {
|
||||
color: $text-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
& + .page__meta {
|
||||
margin-top: -0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
.page__lead {
|
||||
font-family: $global-font-family;
|
||||
font-size: $type-size-4;
|
||||
}
|
||||
|
||||
.page__content {
|
||||
h2 {
|
||||
padding-bottom: 0.5em;
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
.header-link {
|
||||
position: relative;
|
||||
left: 0.5em;
|
||||
opacity: 0;
|
||||
font-size: 0.8em;
|
||||
-webkit-transition: opacity 0.2s ease-in-out 0.1s;
|
||||
-moz-transition: opacity 0.2s ease-in-out 0.1s;
|
||||
-o-transition: opacity 0.2s ease-in-out 0.1s;
|
||||
transition: opacity 0.2s ease-in-out 0.1s;
|
||||
}
|
||||
|
||||
&:hover .header-link {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
p,
|
||||
li,
|
||||
dl {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* paragraph indents */
|
||||
p {
|
||||
margin: 0 0 $indent-var;
|
||||
|
||||
/* sibling indentation*/
|
||||
@if $paragraph-indent == true {
|
||||
& + p {
|
||||
text-indent: $indent-var;
|
||||
margin-top: -($indent-var);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a:not(.btn) {
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
|
||||
img {
|
||||
box-shadow: 0 0 10px rgba(#000, 0.25);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:not(pre) > code {
|
||||
padding-top: 0.1rem;
|
||||
padding-bottom: 0.1rem;
|
||||
font-size: 0.8em;
|
||||
background: $code-background-color;
|
||||
border-radius: $border-radius;
|
||||
|
||||
&::before,
|
||||
&::after {
|
||||
letter-spacing: -0.2em;
|
||||
content: "\00a0"; /* non-breaking space*/
|
||||
}
|
||||
}
|
||||
|
||||
dt {
|
||||
margin-top: 1em;
|
||||
font-family: $sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-left: 1em;
|
||||
font-family: $sans-serif;
|
||||
font-size: $type-size-6;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: $type-size-6;
|
||||
}
|
||||
|
||||
/* blockquote citations */
|
||||
blockquote + .small {
|
||||
margin-top: -1.5em;
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.page__hero {
|
||||
position: relative;
|
||||
margin-bottom: 2em;
|
||||
@include clearfix;
|
||||
-webkit-animation: $intro-transition;
|
||||
animation: $intro-transition;
|
||||
-webkit-animation-delay: 0.25s;
|
||||
animation-delay: 0.25s;
|
||||
|
||||
&--overlay {
|
||||
position: relative;
|
||||
margin-bottom: 2em;
|
||||
padding: 3em 0;
|
||||
@include clearfix;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
-webkit-animation: $intro-transition;
|
||||
animation: $intro-transition;
|
||||
-webkit-animation-delay: 0.25s;
|
||||
animation-delay: 0.25s;
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
max-width: $x-large;
|
||||
}
|
||||
}
|
||||
|
||||
.page__title,
|
||||
.page__meta,
|
||||
.page__lead,
|
||||
.btn {
|
||||
color: #fff;
|
||||
text-shadow: 1px 1px 4px rgba(#000, 0.5);
|
||||
}
|
||||
|
||||
.page__lead {
|
||||
max-width: $medium;
|
||||
}
|
||||
|
||||
.page__title {
|
||||
font-size: $type-size-2;
|
||||
|
||||
@include breakpoint($small) {
|
||||
font-size: $type-size-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page__hero-image {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
.page__hero-caption {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin: 0 auto;
|
||||
padding: 2px 5px;
|
||||
color: #fff;
|
||||
font-family: $caption-font-family;
|
||||
font-size: $type-size-7;
|
||||
background: #000;
|
||||
text-align: right;
|
||||
z-index: 5;
|
||||
opacity: 0.5;
|
||||
border-radius: $border-radius 0 0 0;
|
||||
|
||||
@include breakpoint($large) {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Social sharing
|
||||
========================================================================== */
|
||||
|
||||
.page__share {
|
||||
margin-top: 2em;
|
||||
padding-top: 1em;
|
||||
border-top: 1px solid $border-color;
|
||||
|
||||
@include breakpoint(max-width $small) {
|
||||
.btn span {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page__share-title {
|
||||
margin-bottom: 10px;
|
||||
font-size: $type-size-6;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/*
|
||||
Page meta
|
||||
========================================================================== */
|
||||
|
||||
.page__meta {
|
||||
margin-top: 2em;
|
||||
color: $muted-text-color;
|
||||
font-family: $sans-serif;
|
||||
font-size: $type-size-6;
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.page__meta-title {
|
||||
margin-bottom: 10px;
|
||||
font-size: $type-size-6;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.page__meta-sep::before {
|
||||
content: "\2022";
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
/*
|
||||
Page taxonomy
|
||||
========================================================================== */
|
||||
|
||||
.page__taxonomy {
|
||||
.sep {
|
||||
display: none;
|
||||
}
|
||||
|
||||
strong {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.page__taxonomy-item {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
margin-bottom: 8px;
|
||||
padding: 5px 10px;
|
||||
text-decoration: none;
|
||||
border: 1px solid mix(#000, $border-color, 25%);
|
||||
border-radius: $border-radius;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: $link-color-hover;
|
||||
}
|
||||
}
|
||||
|
||||
.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
|
||||
========================================================================== */
|
||||
|
||||
.page__comments {
|
||||
float: left;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
width: 100%;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.page__comments-title {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 10px;
|
||||
padding-top: 2rem;
|
||||
font-size: $type-size-6;
|
||||
border-top: 1px solid $border-color;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.page__comments-form {
|
||||
-webkit-transition: $global-transition;
|
||||
transition: $global-transition;
|
||||
|
||||
&.disabled {
|
||||
input,
|
||||
button,
|
||||
textarea,
|
||||
label {
|
||||
pointer-events: none;
|
||||
cursor: not-allowed;
|
||||
filter: alpha(opacity=65);
|
||||
box-shadow: none;
|
||||
opacity: 0.65;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.comment {
|
||||
@include clearfix();
|
||||
margin: 1em 0;
|
||||
|
||||
&:not(:last-child) {
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.comment__avatar-wrapper {
|
||||
float: left;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
|
||||
@include breakpoint($large) {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
.comment__avatar {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
|
||||
@include breakpoint($large) {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
padding: 5px;
|
||||
border: 1px solid $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.comment__content-wrapper {
|
||||
float: right;
|
||||
width: calc(100% - 60px);
|
||||
|
||||
@include breakpoint($large) {
|
||||
width: calc(100% - 100px);
|
||||
}
|
||||
}
|
||||
|
||||
.comment__author {
|
||||
margin: 0;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.comment__date {
|
||||
@extend .page__meta;
|
||||
margin: 0;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Related
|
||||
========================================================================== */
|
||||
|
||||
.page__related {
|
||||
@include clearfix();
|
||||
float: left;
|
||||
margin-top: 2em;
|
||||
padding-top: 1em;
|
||||
border-top: 1px solid $border-color;
|
||||
|
||||
@include breakpoint($large) {
|
||||
float: right;
|
||||
width: calc(100% - #{$right-sidebar-width-narrow});
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
width: calc(100% - #{$right-sidebar-width});
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.page__related-title {
|
||||
margin-bottom: 10px;
|
||||
font-size: $type-size-6;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
252
_sass/minimal-mistakes/_print.scss
Normal file
252
_sass/minimal-mistakes/_print.scss
Normal file
|
@ -0,0 +1,252 @@
|
|||
/* ==========================================================================
|
||||
PRINT STYLES
|
||||
========================================================================== */
|
||||
|
||||
@media print {
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
* {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
min-height: auto !important;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0 auto;
|
||||
background: #fff !important;
|
||||
color: #000 !important;
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: #000;
|
||||
line-height: 1.2;
|
||||
margin-bottom: 0.75rem;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.75rem;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
color: #000;
|
||||
text-decoration: underline;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
|
||||
table,
|
||||
th,
|
||||
td {
|
||||
border-bottom: 1px solid #000;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 8px 16px;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
display: block;
|
||||
max-width: 100% !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0;
|
||||
border-bottom: 2px solid #bbb;
|
||||
height: 0;
|
||||
margin: 2.25rem 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
abbr[title],
|
||||
acronym[title] {
|
||||
border: 0;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
table,
|
||||
blockquote,
|
||||
pre,
|
||||
code,
|
||||
figure,
|
||||
li,
|
||||
hr,
|
||||
ul,
|
||||
ol,
|
||||
a,
|
||||
tr {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
p,
|
||||
a {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
page-break-after: avoid;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
h1 + p,
|
||||
h2 + p,
|
||||
h3 + p {
|
||||
page-break-before: avoid;
|
||||
}
|
||||
|
||||
img {
|
||||
page-break-after: auto;
|
||||
page-break-before: auto;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
a[href^='http://']:after,
|
||||
a[href^='https://']:after,
|
||||
a[href^='ftp://']:after {
|
||||
content: " (" attr(href) ")";
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
abbr[title]:after,
|
||||
acronym[title]:after {
|
||||
content: " (" attr(title) ")";
|
||||
}
|
||||
|
||||
#main {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.page {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.page-break,
|
||||
.page-break-before {
|
||||
page-break-before: always;
|
||||
}
|
||||
|
||||
.page-break-after {
|
||||
page-break-after: always;
|
||||
}
|
||||
|
||||
.no-print {
|
||||
display: none;
|
||||
}
|
||||
|
||||
a.no-reformat:after {
|
||||
content: '';
|
||||
}
|
||||
|
||||
abbr[title].no-reformat:after,
|
||||
acronym[title].no-reformat:after {
|
||||
content: '';
|
||||
}
|
||||
|
||||
.page__hero-caption {
|
||||
color: #000 !important;
|
||||
background: #fff !important;
|
||||
opacity: 1;
|
||||
|
||||
a {
|
||||
color: #000 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Hide the following elements on print
|
||||
========================================================================== */
|
||||
|
||||
.masthead,
|
||||
.toc,
|
||||
.page__share,
|
||||
.page__related,
|
||||
.pagination,
|
||||
.ads,
|
||||
.page__footer,
|
||||
.page__comments-form,
|
||||
.author__avatar,
|
||||
.author__content,
|
||||
.author__urls-wrapper,
|
||||
.nav__list,
|
||||
.sidebar,
|
||||
.adsbygoogle {
|
||||
display: none !important;
|
||||
height: 1px !important;
|
||||
}
|
||||
}
|
187
_sass/minimal-mistakes/_reset.scss
Normal file
187
_sass/minimal-mistakes/_reset.scss
Normal file
|
@ -0,0 +1,187 @@
|
|||
/* ==========================================================================
|
||||
STYLE RESETS
|
||||
========================================================================== */
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
|
||||
html {
|
||||
/* apply a natural box layout model to all elements */
|
||||
box-sizing: border-box;
|
||||
background-color: $background-color;
|
||||
font-size: 16px;
|
||||
|
||||
@include breakpoint($medium) {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
@include breakpoint($large) {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
/* Remove margin */
|
||||
|
||||
body { margin: 0; }
|
||||
|
||||
/* Selected elements */
|
||||
|
||||
::-moz-selection {
|
||||
color: #fff;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
::selection {
|
||||
color: #fff;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
/* Display HTML5 elements in IE6-9 and FF3 */
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
nav,
|
||||
section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Display block in IE6-9 and FF3 */
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
video {
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
/* Prevents modern browsers from displaying 'audio' without controls */
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $link-color;
|
||||
}
|
||||
|
||||
/* Apply focus state */
|
||||
|
||||
a:focus {
|
||||
@extend %tab-focus;
|
||||
}
|
||||
|
||||
/* Remove outline from links */
|
||||
|
||||
a:hover,
|
||||
a:active {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* Prevent sub and sup affecting line-height in all browsers */
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
/* img border in anchor's and image quality */
|
||||
|
||||
img {
|
||||
/* Responsive images (ensure images don't scale beyond their parents) */
|
||||
max-width: 100%; /* part 1: Set a maximum relative to the parent*/
|
||||
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*/
|
||||
|
||||
vertical-align: middle;
|
||||
border: 0;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
/* Prevent max-width from affecting Google Maps */
|
||||
|
||||
#map_canvas img,
|
||||
.google-maps img {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
/* Consistent form font size in all browsers, margin changes, misc */
|
||||
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-size: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
*overflow: visible; /* inner spacing ie IE6/7*/
|
||||
line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner { /* inner padding and border oddities in FF3/4*/
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
button,
|
||||
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="submit"] {
|
||||
-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*/
|
||||
}
|
||||
|
||||
label,
|
||||
select,
|
||||
button,
|
||||
input[type="button"],
|
||||
input[type="reset"],
|
||||
input[type="submit"],
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/
|
||||
}
|
||||
|
||||
input[type="search"] { /* Appearance in Safari/Chrome*/
|
||||
box-sizing: border-box;
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
input[type="search"]::-webkit-search-decoration,
|
||||
input[type="search"]::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; /* inner-padding issues in Chrome OSX, Safari 5*/
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto; /* remove vertical scrollbar in IE6-9*/
|
||||
vertical-align: top; /* readability and alignment cross-browser*/
|
||||
}
|
132
_sass/minimal-mistakes/_search.scss
Normal file
132
_sass/minimal-mistakes/_search.scss
Normal 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;
|
||||
}
|
353
_sass/minimal-mistakes/_sidebar.scss
Normal file
353
_sass/minimal-mistakes/_sidebar.scss
Normal file
|
@ -0,0 +1,353 @@
|
|||
/* ==========================================================================
|
||||
SIDEBAR
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
Default
|
||||
========================================================================== */
|
||||
|
||||
.sidebar {
|
||||
@include clearfix();
|
||||
// @include breakpoint(max-width $large) {
|
||||
// /* fix z-index order of follow links */
|
||||
// position: relative;
|
||||
// z-index: 10;
|
||||
// -webkit-transform: translate3d(0, 0, 0);
|
||||
// transform: translate3d(0, 0, 0);
|
||||
// }
|
||||
|
||||
@include breakpoint($large) {
|
||||
float: left;
|
||||
width: calc(#{$right-sidebar-width-narrow} - 1em);
|
||||
opacity: 0.75;
|
||||
-webkit-transition: opacity 0.2s ease-in-out;
|
||||
transition: opacity 0.2s ease-in-out;
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&.sticky {
|
||||
overflow-y: auto;
|
||||
/* calculate height of nav list
|
||||
viewport height - nav height - masthead x-padding
|
||||
*/
|
||||
max-height: calc(100vh - #{$nav-height} - 2em);
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
width: calc(#{$right-sidebar-width} - 1em);
|
||||
}
|
||||
|
||||
> * {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
margin-bottom: 0;
|
||||
font-family: $sans-serif-narrow;
|
||||
}
|
||||
|
||||
p,
|
||||
li {
|
||||
font-family: $sans-serif;
|
||||
font-size: $type-size-6;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
|
||||
&.emoji {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar__right {
|
||||
margin-bottom: 1em;
|
||||
|
||||
@include breakpoint($large) {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: $right-sidebar-width-narrow;
|
||||
margin-right: -1 * $right-sidebar-width-narrow;
|
||||
padding-left: 1em;
|
||||
z-index: 10;
|
||||
|
||||
&.sticky {
|
||||
@include clearfix();
|
||||
position: -webkit-sticky;
|
||||
position: sticky;
|
||||
top: 2em;
|
||||
float: right;
|
||||
|
||||
.toc {
|
||||
.toc__menu {
|
||||
overflow-y: auto;
|
||||
max-height: calc(100vh - 7em);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
width: $right-sidebar-width;
|
||||
margin-right: -1 * $right-sidebar-width;
|
||||
}
|
||||
}
|
||||
|
||||
.splash .sidebar__right {
|
||||
@include breakpoint($large) {
|
||||
position: relative;
|
||||
float: right;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@include breakpoint($x-large) {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Author profile and links
|
||||
========================================================================== */
|
||||
|
||||
.author__avatar {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
|
||||
@include breakpoint($large) {
|
||||
display: block;
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 110px;
|
||||
border-radius: 50%;
|
||||
|
||||
@include breakpoint($large) {
|
||||
padding: 5px;
|
||||
border: 1px solid $border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.author__content {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
padding-left: 15px;
|
||||
padding-right: 25px;
|
||||
line-height: 1;
|
||||
|
||||
@include breakpoint($large) {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.author__name {
|
||||
margin: 0;
|
||||
|
||||
@include breakpoint($large) {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.sidebar .author__name {
|
||||
font-family: $sans-serif;
|
||||
font-size: $type-size-5;
|
||||
}
|
||||
|
||||
.author__bio {
|
||||
margin: 0;
|
||||
|
||||
@include breakpoint($large) {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.author__urls-wrapper {
|
||||
position: relative;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
font-family: $sans-serif;
|
||||
z-index: 20;
|
||||
cursor: pointer;
|
||||
|
||||
li:last-child {
|
||||
a {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.author__urls {
|
||||
span.label {
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
@include breakpoint($large) {
|
||||
display: block;
|
||||
}
|
||||
|
||||
button {
|
||||
position: relative;
|
||||
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) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.author__urls {
|
||||
display: none;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
margin-top: 15px;
|
||||
padding: 10px;
|
||||
list-style-type: none;
|
||||
border: 1px solid $border-color;
|
||||
border-radius: $border-radius;
|
||||
background: $background-color;
|
||||
box-shadow: 0 2px 4px 0 rgba(#000, 0.16), 0 2px 10px 0 rgba(#000, 0.12);
|
||||
cursor: default;
|
||||
|
||||
&.is--visible {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@include breakpoint($large) {
|
||||
display: block;
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
&:before {
|
||||
display: block;
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -11px;
|
||||
left: calc(50% - 10px);
|
||||
width: 0;
|
||||
border-style: solid;
|
||||
border-width: 0 10px 10px;
|
||||
border-color: $border-color transparent;
|
||||
z-index: 0;
|
||||
|
||||
@include breakpoint($large) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:after {
|
||||
display: block;
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: calc(50% - 10px);
|
||||
width: 0;
|
||||
border-style: solid;
|
||||
border-width: 0 10px 10px;
|
||||
border-color: $background-color transparent;
|
||||
z-index: 1;
|
||||
|
||||
@include breakpoint($large) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
padding: 10px;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
li {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
padding-right: 5px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
color: inherit;
|
||||
font-size: $type-size-5;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
324
_sass/minimal-mistakes/_syntax.scss
Normal file
324
_sass/minimal-mistakes/_syntax.scss
Normal file
|
@ -0,0 +1,324 @@
|
|||
/* ==========================================================================
|
||||
Syntax highlighting
|
||||
========================================================================== */
|
||||
|
||||
div.highlighter-rouge,
|
||||
figure.highlight {
|
||||
position: relative;
|
||||
margin-bottom: 1em;
|
||||
background: $base00;
|
||||
color: $base05;
|
||||
font-family: $monospace;
|
||||
font-size: $type-size-6;
|
||||
line-height: 1.8;
|
||||
border-radius: $border-radius;
|
||||
|
||||
> pre,
|
||||
pre.highlight {
|
||||
margin: 0;
|
||||
padding: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
.highlight table {
|
||||
margin-bottom: 0;
|
||||
font-size: 1em;
|
||||
border: 0;
|
||||
|
||||
td {
|
||||
padding: 0;
|
||||
width: calc(100% - 1em);
|
||||
border: 0;
|
||||
|
||||
/* line numbers*/
|
||||
&.gutter,
|
||||
&.rouge-gutter {
|
||||
padding-right: 1em;
|
||||
width: 1em;
|
||||
color: $base04;
|
||||
border-right: 1px solid $base04;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* code */
|
||||
&.code,
|
||||
&.rouge-code {
|
||||
padding-left: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.highlight pre {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.highlight .hll {
|
||||
background-color: $base06;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
.gist {
|
||||
th, td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
39
_sass/minimal-mistakes/_tables.scss
Normal file
39
_sass/minimal-mistakes/_tables.scss
Normal file
|
@ -0,0 +1,39 @@
|
|||
/* ==========================================================================
|
||||
TABLES
|
||||
========================================================================== */
|
||||
|
||||
table {
|
||||
display: block;
|
||||
margin-bottom: 1em;
|
||||
width: 100%;
|
||||
font-family: $global-font-family;
|
||||
font-size: $type-size-6;
|
||||
border-collapse: collapse;
|
||||
overflow-x: auto;
|
||||
|
||||
& + table {
|
||||
margin-top: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
thead {
|
||||
background-color: $border-color;
|
||||
border-bottom: 2px solid mix(#000, $border-color, 25%);
|
||||
}
|
||||
|
||||
th {
|
||||
padding: 0.5em;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 0.5em;
|
||||
border-bottom: 1px solid mix(#000, $border-color, 25%);
|
||||
}
|
||||
|
||||
tr,
|
||||
td,
|
||||
th {
|
||||
vertical-align: middle;
|
||||
}
|
593
_sass/minimal-mistakes/_utilities.scss
Normal file
593
_sass/minimal-mistakes/_utilities.scss
Normal file
|
@ -0,0 +1,593 @@
|
|||
/* ==========================================================================
|
||||
UTILITY CLASSES
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
Visibility
|
||||
========================================================================== */
|
||||
|
||||
/* http://www.456bereastreet.com/archive/200711/screen_readers_sometimes_ignore_displaynone/ */
|
||||
|
||||
.hidden,
|
||||
.is--hidden {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* for preloading images */
|
||||
|
||||
.load {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.transparent {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* https://developer.yahoo.com/blogs/ydn/clip-hidden-content-better-accessibility-53456.html */
|
||||
|
||||
.visually-hidden,
|
||||
.screen-reader-text,
|
||||
.screen-reader-text span,
|
||||
.screen-reader-shortcut {
|
||||
position: absolute !important;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
height: 1px !important;
|
||||
width: 1px !important;
|
||||
border: 0 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body:hover .visually-hidden a,
|
||||
body:hover .visually-hidden input,
|
||||
body:hover .visually-hidden button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* screen readers */
|
||||
|
||||
.screen-reader-text:focus,
|
||||
.screen-reader-shortcut:focus {
|
||||
clip: auto !important;
|
||||
height: auto !important;
|
||||
width: auto !important;
|
||||
display: block;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
padding: 15px 23px 14px;
|
||||
background: #fff;
|
||||
z-index: 100000;
|
||||
text-decoration: none;
|
||||
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
/*
|
||||
Skip links
|
||||
========================================================================== */
|
||||
|
||||
.skip-link {
|
||||
position: fixed;
|
||||
z-index: 20;
|
||||
margin: 0;
|
||||
font-family: $sans-serif;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.skip-link li {
|
||||
height: 0;
|
||||
width: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
/*
|
||||
Type
|
||||
========================================================================== */
|
||||
|
||||
.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.text-justify {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.text-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
|
||||
========================================================================== */
|
||||
|
||||
/* clearfix */
|
||||
|
||||
.cf {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*
|
||||
Images
|
||||
========================================================================== */
|
||||
|
||||
/* image align left */
|
||||
|
||||
.align-left {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
@include breakpoint($small) {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
/* image align right */
|
||||
|
||||
.align-right {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
@include breakpoint($small) {
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
/* image align center */
|
||||
|
||||
.align-center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/* file page content container */
|
||||
|
||||
.full {
|
||||
@include breakpoint($large) {
|
||||
margin-right: -1 * span(2.5 of 12) !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Icons
|
||||
========================================================================== */
|
||||
|
||||
.icon {
|
||||
display: inline-block;
|
||||
fill: currentColor;
|
||||
width: 1em;
|
||||
height: 1.1em;
|
||||
line-height: 1;
|
||||
position: relative;
|
||||
top: -0.1em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* social icons*/
|
||||
|
||||
.social-icons {
|
||||
.fas,
|
||||
.fab,
|
||||
.far,
|
||||
.fal {
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
.fa-behance,
|
||||
.fa-behance-square {
|
||||
color: $behance-color;
|
||||
}
|
||||
|
||||
.fa-bitbucket {
|
||||
color: $bitbucket-color;
|
||||
}
|
||||
|
||||
.fa-dribbble,
|
||||
.fa-dribble-square {
|
||||
color: $dribbble-color;
|
||||
}
|
||||
|
||||
.fa-facebook,
|
||||
.fa-facebook-square,
|
||||
.fa-facebook-f {
|
||||
color: $facebook-color;
|
||||
}
|
||||
|
||||
.fa-flickr {
|
||||
color: $flickr-color;
|
||||
}
|
||||
|
||||
.fa-foursquare {
|
||||
color: $foursquare-color;
|
||||
}
|
||||
|
||||
.fa-github,
|
||||
.fa-github-alt,
|
||||
.fa-github-square {
|
||||
color: $github-color;
|
||||
}
|
||||
|
||||
.fa-gitlab {
|
||||
color: $gitlab-color;
|
||||
}
|
||||
|
||||
.fa-instagram {
|
||||
color: $instagram-color;
|
||||
}
|
||||
|
||||
.fa-keybase {
|
||||
color: $keybase-color;
|
||||
}
|
||||
|
||||
.fa-lastfm,
|
||||
.fa-lastfm-square {
|
||||
color: $lastfm-color;
|
||||
}
|
||||
|
||||
.fa-linkedin,
|
||||
.fa-linkedin-in {
|
||||
color: $linkedin-color;
|
||||
}
|
||||
|
||||
.fa-mastodon,
|
||||
.fa-mastodon-square {
|
||||
color: $mastodon-color;
|
||||
}
|
||||
|
||||
.fa-pinterest,
|
||||
.fa-pinterest-p,
|
||||
.fa-pinterest-square {
|
||||
color: $pinterest-color;
|
||||
}
|
||||
|
||||
.fa-reddit {
|
||||
color: $reddit-color;
|
||||
}
|
||||
|
||||
.fa-rss,
|
||||
.fa-rss-square {
|
||||
color: $rss-color;
|
||||
}
|
||||
|
||||
.fa-soundcloud {
|
||||
color: $soundcloud-color;
|
||||
}
|
||||
|
||||
.fa-stack-exchange,
|
||||
.fa-stack-overflow {
|
||||
color: $stackoverflow-color;
|
||||
}
|
||||
|
||||
.fa-tumblr,
|
||||
.fa-tumblr-square {
|
||||
color: $tumblr-color;
|
||||
}
|
||||
|
||||
.fa-twitter,
|
||||
.fa-twitter-square {
|
||||
color: $twitter-color;
|
||||
}
|
||||
|
||||
.fa-vimeo,
|
||||
.fa-vimeo-square,
|
||||
.fa-vimeo-v {
|
||||
color: $vimeo-color;
|
||||
}
|
||||
|
||||
.fa-vine {
|
||||
color: $vine-color;
|
||||
}
|
||||
|
||||
.fa-youtube {
|
||||
color: $youtube-color;
|
||||
}
|
||||
|
||||
.fa-xing,
|
||||
.fa-xing-square {
|
||||
color: $xing-color;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Navicons
|
||||
========================================================================== */
|
||||
|
||||
.navicon {
|
||||
position: relative;
|
||||
width: $navicon-width;
|
||||
height: $navicon-height;
|
||||
background: $primary-color;
|
||||
margin: auto;
|
||||
-webkit-transition: 0.3s;
|
||||
transition: 0.3s;
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: $navicon-width;
|
||||
height: $navicon-height;
|
||||
background: $primary-color;
|
||||
-webkit-transition: 0.3s;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
&:before {
|
||||
top: (-2 * $navicon-height);
|
||||
}
|
||||
|
||||
&:after {
|
||||
bottom: (-2 * $navicon-height);
|
||||
}
|
||||
}
|
||||
|
||||
.close .navicon {
|
||||
/* hide the middle line*/
|
||||
background: transparent;
|
||||
|
||||
/* overlay the lines by setting both their top values to 0*/
|
||||
&:before,
|
||||
&:after {
|
||||
-webkit-transform-origin: 50% 50%;
|
||||
-ms-transform-origin: 50% 50%;
|
||||
transform-origin: 50% 50%;
|
||||
top: 0;
|
||||
width: $navicon-width;
|
||||
}
|
||||
|
||||
/* rotate the lines to form the x shape*/
|
||||
&:before {
|
||||
-webkit-transform: rotate3d(0, 0, 1, 45deg);
|
||||
transform: rotate3d(0, 0, 1, 45deg);
|
||||
}
|
||||
&:after {
|
||||
-webkit-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;
|
||||
}
|
||||
}
|
173
_sass/minimal-mistakes/_variables.scss
Normal file
173
_sass/minimal-mistakes/_variables.scss
Normal file
|
@ -0,0 +1,173 @@
|
|||
/* ==========================================================================
|
||||
Variables
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
Typography
|
||||
========================================================================== */
|
||||
|
||||
$doc-font-size: 16 !default;
|
||||
|
||||
/* paragraph indention */
|
||||
$paragraph-indent: false !default; // true, false (default)
|
||||
$indent-var: 1.3em !default;
|
||||
|
||||
/* system typefaces */
|
||||
$serif: Georgia, Times, serif !default;
|
||||
$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI",
|
||||
"Helvetica Neue", "Lucida Grande", Arial, sans-serif !default;
|
||||
$monospace: Monaco, Consolas, "Lucida Console", monospace !default;
|
||||
|
||||
/* sans serif typefaces */
|
||||
$sans-serif-narrow: $sans-serif !default;
|
||||
$helvetica: Helvetica, "Helvetica Neue", Arial, sans-serif !default;
|
||||
|
||||
/* serif typefaces */
|
||||
$georgia: Georgia, serif !default;
|
||||
$times: Times, serif !default;
|
||||
$bodoni: "Bodoni MT", serif !default;
|
||||
$calisto: "Calisto MT", serif !default;
|
||||
$garamond: Garamond, serif !default;
|
||||
|
||||
$global-font-family: $sans-serif !default;
|
||||
$header-font-family: $sans-serif !default;
|
||||
$caption-font-family: $serif !default;
|
||||
|
||||
/* type scale */
|
||||
$type-size-1: 2.441em !default; // ~39.056px
|
||||
$type-size-2: 1.953em !default; // ~31.248px
|
||||
$type-size-3: 1.563em !default; // ~25.008px
|
||||
$type-size-4: 1.25em !default; // ~20px
|
||||
$type-size-5: 1em !default; // ~16px
|
||||
$type-size-6: 0.75em !default; // ~12px
|
||||
$type-size-7: 0.6875em !default; // ~11px
|
||||
$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
|
||||
========================================================================== */
|
||||
|
||||
$gray: #7a8288 !default;
|
||||
$dark-gray: mix(#000, $gray, 50%) !default;
|
||||
$darker-gray: mix(#000, $gray, 60%) !default;
|
||||
$light-gray: mix(#fff, $gray, 50%) !default;
|
||||
$lighter-gray: mix(#fff, $gray, 90%) !default;
|
||||
|
||||
$background-color: #fff !default;
|
||||
$code-background-color: #fafafa !default;
|
||||
$code-background-color-dark: $light-gray !default;
|
||||
$text-color: $dark-gray !default;
|
||||
$muted-text-color: mix(#fff, $text-color, 20%) !default;
|
||||
$border-color: $lighter-gray !default;
|
||||
$form-background-color: $lighter-gray !default;
|
||||
$footer-background-color: $lighter-gray !default;
|
||||
|
||||
$primary-color: #6f777d !default;
|
||||
$success-color: #3fa63f !default;
|
||||
$warning-color: #d67f05 !default;
|
||||
$danger-color: #ee5f5b !default;
|
||||
$info-color: #3b9cba !default;
|
||||
$focus-color: $primary-color !default;
|
||||
$active-color: mix(#fff, $primary-color, 80%) !default;
|
||||
|
||||
/* YIQ color contrast */
|
||||
$yiq-contrasted-dark-default: $dark-gray !default;
|
||||
$yiq-contrasted-light-default: #fff !default;
|
||||
$yiq-contrasted-threshold: 175 !default;
|
||||
$yiq-debug: false !default;
|
||||
|
||||
/* brands */
|
||||
$behance-color: #1769ff !default;
|
||||
$bitbucket-color: #205081 !default;
|
||||
$dribbble-color: #ea4c89 !default;
|
||||
$facebook-color: #3b5998 !default;
|
||||
$flickr-color: #ff0084 !default;
|
||||
$foursquare-color: #0072b1 !default;
|
||||
$github-color: #171516 !default;
|
||||
$gitlab-color: #e24329 !default;
|
||||
$instagram-color: #517fa4 !default;
|
||||
$keybase-color: #ef7639 !default;
|
||||
$lastfm-color: #d51007 !default;
|
||||
$linkedin-color: #007bb6 !default;
|
||||
$mastodon-color: #2b90d9 !default;
|
||||
$pinterest-color: #cb2027 !default;
|
||||
$reddit-color: #ff4500 !default;
|
||||
$rss-color: #fa9b39 !default;
|
||||
$soundcloud-color: #ff3300 !default;
|
||||
$stackoverflow-color: #fe7a15 !default;
|
||||
$tumblr-color: #32506d !default;
|
||||
$twitter-color: #55acee !default;
|
||||
$vimeo-color: #1ab7ea !default;
|
||||
$vine-color: #00bf8f !default;
|
||||
$youtube-color: #bb0000 !default;
|
||||
$xing-color: #006567 !default;
|
||||
|
||||
/* links */
|
||||
$link-color: mix(#000, $info-color, 20%) !default;
|
||||
$link-color-hover: mix(#000, $link-color, 25%) !default;
|
||||
$link-color-visited: mix(#fff, $link-color, 15%) !default;
|
||||
$masthead-link-color: $primary-color !default;
|
||||
$masthead-link-color-hover: mix(#000, $primary-color, 25%) !default;
|
||||
$navicon-link-color-hover: mix(#fff, $primary-color, 75%) !default;
|
||||
|
||||
/* notices */
|
||||
$notice-background-mix: 80% !default;
|
||||
$code-notice-background-mix: 90% !default;
|
||||
|
||||
/* syntax highlighting (base16) */
|
||||
$base00: #263238 !default;
|
||||
$base01: #2e3c43 !default;
|
||||
$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
|
||||
========================================================================== */
|
||||
|
||||
$small: 600px !default;
|
||||
$medium: 768px !default;
|
||||
$medium-wide: 900px !default;
|
||||
$large: 1024px !default;
|
||||
$x-large: 1280px !default;
|
||||
$max-width: $x-large !default;
|
||||
|
||||
/*
|
||||
Grid
|
||||
========================================================================== */
|
||||
|
||||
$right-sidebar-width-narrow: 200px !default;
|
||||
$right-sidebar-width: 300px !default;
|
||||
$right-sidebar-width-wide: 400px !default;
|
||||
|
||||
/*
|
||||
Other
|
||||
========================================================================== */
|
||||
|
||||
$border-radius: 4px !default;
|
||||
$box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125) !default;
|
||||
$nav-height: 2em !default;
|
||||
$nav-toggle-height: 2rem !default;
|
||||
$navicon-width: 1.5rem !default;
|
||||
$navicon-height: 0.25rem !default;
|
||||
$global-transition: all 0.2s ease-in-out !default;
|
||||
$intro-transition: intro 0.3s both !default;
|
23
_sass/minimal-mistakes/skins/_air.scss
Normal file
23
_sass/minimal-mistakes/skins/_air.scss
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* ==========================================================================
|
||||
Air skin
|
||||
========================================================================== */
|
||||
|
||||
/* Colors */
|
||||
$background-color: #eeeeee !default;
|
||||
$text-color: #222831 !default;
|
||||
$muted-text-color: #393e46 !default;
|
||||
$primary-color: #0092ca !default;
|
||||
$border-color: mix(#fff, #393e46, 75%) !default;
|
||||
$footer-background-color: $primary-color !default;
|
||||
$link-color: #393e46 !default;
|
||||
$masthead-link-color: $text-color !default;
|
||||
$masthead-link-color-hover: $text-color !default;
|
||||
$navicon-link-color-hover: mix(#fff, $text-color, 80%) !default;
|
||||
|
||||
.page__footer {
|
||||
color: #fff !important; // override
|
||||
}
|
||||
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
34
_sass/minimal-mistakes/skins/_aqua.scss
Normal file
34
_sass/minimal-mistakes/skins/_aqua.scss
Normal 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;
|
52
_sass/minimal-mistakes/skins/_contrast.scss
Normal file
52
_sass/minimal-mistakes/skins/_contrast.scss
Normal file
|
@ -0,0 +1,52 @@
|
|||
/* ==========================================================================
|
||||
Contrast skin
|
||||
========================================================================== */
|
||||
|
||||
/* Colors */
|
||||
$text-color: #000 !default;
|
||||
$muted-text-color: $text-color !default;
|
||||
$primary-color: #ff0000 !default;
|
||||
$border-color: mix(#fff, $text-color, 75%) !default;
|
||||
$footer-background-color: #000 !default;
|
||||
$link-color: #0000ff !default;
|
||||
$masthead-link-color: $text-color !default;
|
||||
$masthead-link-color-hover: $text-color !default;
|
||||
$navicon-link-color-hover: mix(#fff, $text-color, 80%) !default;
|
||||
|
||||
/* 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--primary,
|
||||
.notice--info,
|
||||
.notice--warning,
|
||||
.notice--success,
|
||||
.notice--danger {
|
||||
color: $text-color;
|
||||
}
|
||||
}
|
||||
|
||||
.page__footer {
|
||||
color: #fff !important; // override
|
||||
}
|
||||
|
||||
.page__footer-follow .social-icons i,
|
||||
.page__footer-follow .social-icons .svg-inline--fa {
|
||||
color: inherit;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue