Merge branch 'master' into migrate-vwii-guide
This commit is contained in:
commit
7d7e8d2990
521 changed files with 4202 additions and 18013 deletions
|
@ -1,13 +0,0 @@
|
||||||
# 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
|
|
1
.github/workflows/publish.yml
vendored
1
.github/workflows/publish.yml
vendored
|
@ -13,6 +13,7 @@ jobs:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
- uses: ruby/setup-ruby@v1
|
- uses: ruby/setup-ruby@v1
|
||||||
with:
|
with:
|
||||||
|
|
1
.github/workflows/test.yml
vendored
1
.github/workflows/test.yml
vendored
|
@ -12,6 +12,7 @@ jobs:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
- uses: ruby/setup-ruby@v1
|
- uses: ruby/setup-ruby@v1
|
||||||
with:
|
with:
|
||||||
|
|
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[submodule "_theme"]
|
||||||
|
path = _theme
|
||||||
|
url = https://github.com/hacks-guide/minimal-mistakes
|
||||||
|
branch = hacks-guide
|
4
Gemfile
4
Gemfile
|
@ -1,6 +1,4 @@
|
||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
gem "webrick", "~>1.7"
|
|
||||||
gem "kramdown-parser-gfm", "~>1.1"
|
|
||||||
gem "jekyll-sass-converter", "~>2.2"
|
gem "jekyll-sass-converter", "~>2.2"
|
||||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
||||||
gemspec
|
gem 'minimal-mistakes-hacks-guide', :path => '_theme'
|
||||||
|
|
13
README.md
13
README.md
|
@ -10,10 +10,19 @@ This requires the following installed on your system:
|
||||||
- ruby(-dev)
|
- ruby(-dev)
|
||||||
- bundler
|
- bundler
|
||||||
|
|
||||||
To test the website locally, simply run the following commands:
|
To test the website locally, clone the source code:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/hacks-guide/Guide_Wii --recurse-submodules
|
||||||
|
cd Guide_Wii
|
||||||
|
```
|
||||||
|
|
||||||
|
Then simply run the following commands:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
bundle config set --local path vendor/bundle
|
bundle config set --local path vendor/bundle
|
||||||
bundle install
|
bundle install
|
||||||
bundle exec jekyll serve --incremental
|
bundle exec jekyll serve
|
||||||
```
|
```
|
||||||
|
|
||||||
The website should now be running on http://127.0.0.1:4000/.
|
The website should now be running on http://127.0.0.1:4000/.
|
||||||
|
|
76
Rakefile
76
Rakefile
|
@ -1,76 +0,0 @@
|
||||||
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
|
|
209
_config.yml
209
_config.yml
|
@ -10,145 +10,32 @@
|
||||||
# Review documentation to determine if you should use `theme` or `remote_theme`
|
# 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
|
# https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/#installing-the-theme
|
||||||
|
|
||||||
# theme : "minimal-mistakes-jekyll"
|
theme : "minimal-mistakes-hacks-guide"
|
||||||
# remote_theme : "mmistakes/minimal-mistakes"
|
|
||||||
minimal_mistakes_skin : "dark" # "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
|
|
||||||
|
|
||||||
# Site Settings
|
# Site Settings
|
||||||
locale : "en-US"
|
|
||||||
title : "Wii Hacks Guide"
|
title : "Wii Hacks Guide"
|
||||||
title_separator : "-"
|
|
||||||
subtitle : # site tagline that appears below site title in masthead
|
|
||||||
name : "Nintendo Homebrew"
|
name : "Nintendo Homebrew"
|
||||||
description : "The complete guide to modding your Wii (and Wii mini)"
|
description : "The complete guide to modding your Wii (and Wii mini)"
|
||||||
url : "https://wii.hacks.guide" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
url : "https://wii.hacks.guide" # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
|
||||||
enforce_ssl : "wii.hacks.guide"
|
enforce_ssl : "wii.hacks.guide"
|
||||||
baseurl : # the subpath of your site, e.g. "/blog"
|
|
||||||
repository : "hacks-guide/Guide_Wii" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
|
repository : "hacks-guide/Guide_Wii" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes"
|
||||||
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
|
|
||||||
logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
|
|
||||||
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
|
|
||||||
# breadcrumbs : false # true, false (default)
|
|
||||||
words_per_minute : 200
|
|
||||||
comments:
|
|
||||||
provider : # false (default), "disqus", "discourse", "facebook", "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
|
|
||||||
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 :
|
|
||||||
yandex_site_verification :
|
|
||||||
naver_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 (default), "google", "google-universal", "google-gtag", "custom"
|
|
||||||
google:
|
|
||||||
tracking_id :
|
|
||||||
anonymize_ip : # true, false (default)
|
|
||||||
|
|
||||||
|
|
||||||
# Site Author
|
# Site Author
|
||||||
author:
|
author:
|
||||||
name : "Nintendo Homebrew"
|
name : "Nintendo Homebrew"
|
||||||
avatar : # path of avatar image, e.g. "/assets/images/site-config/bio-photo.jpg"
|
|
||||||
bio : "Nintendo Homebrew Community"
|
bio : "Nintendo Homebrew Community"
|
||||||
location : "Nullsec"
|
location : "Nullsec"
|
||||||
email :
|
|
||||||
links:
|
links:
|
||||||
# - label: "Email"
|
|
||||||
# icon: "fas fa-fw fa-envelope-square"
|
|
||||||
# url: "mailto:your.name@email.com"
|
|
||||||
# - label: "Website"
|
|
||||||
# icon: "fas fa-fw fa-link"
|
|
||||||
# url: "https://your-website.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"
|
- label: "GitHub"
|
||||||
icon: "fab fa-fw fa-github"
|
icon: "fab fa-fw fa-github"
|
||||||
url: "https://github.com/hacks-guide/Guide_Wii"
|
url: "https://github.com/hacks-guide/Guide_Wii"
|
||||||
# - label: "Instagram"
|
|
||||||
# icon: "fab fa-fw fa-instagram"
|
|
||||||
# url: "https://instagram.com/"
|
|
||||||
|
|
||||||
# Site Footer
|
# Site Footer
|
||||||
footer:
|
footer:
|
||||||
links:
|
links:
|
||||||
# - label: "Twitter"
|
|
||||||
# icon: "fab fa-fw fa-twitter-square"
|
|
||||||
# url:
|
|
||||||
# - label: "Facebook"
|
|
||||||
# icon: "fab fa-fw fa-facebook-square"
|
|
||||||
# url:
|
|
||||||
- label: "GitHub"
|
- label: "GitHub"
|
||||||
icon: "fab fa-fw fa-github"
|
icon: "fab fa-fw fa-github"
|
||||||
url: "https://github.com/hacks-guide/Guide_Wii"
|
url: "https://github.com/hacks-guide/Guide_Wii"
|
||||||
# - label: "GitLab"
|
|
||||||
# icon: "fab fa-fw fa-gitlab"
|
|
||||||
# url:
|
|
||||||
# - label: "Bitbucket"
|
|
||||||
# icon: "fab fa-fw fa-bitbucket"
|
|
||||||
# url:
|
|
||||||
# - label: "Instagram"
|
|
||||||
# icon: "fab fa-fw fa-instagram"
|
|
||||||
# url:
|
|
||||||
|
|
||||||
|
|
||||||
# Reading Files
|
# Reading Files
|
||||||
include:
|
include:
|
||||||
|
@ -216,100 +103,6 @@ exclude: [
|
||||||
_pages/zh_TW
|
_pages/zh_TW
|
||||||
]
|
]
|
||||||
|
|
||||||
keep_files:
|
|
||||||
- .git
|
|
||||||
- .svn
|
|
||||||
encoding: "utf-8"
|
|
||||||
markdown_ext: "markdown,mkdown,mkdn,mkd,md,txt"
|
|
||||||
|
|
||||||
|
|
||||||
# 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
|
||||||
defaults:
|
defaults:
|
||||||
# _pages
|
# _pages
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
# main links
|
|
||||||
main:
|
|
||||||
- title: "Quick-Start Guide"
|
|
||||||
url: https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/
|
|
||||||
# - title: "About"
|
|
||||||
# url: https://mmistakes.github.io/minimal-mistakes/about/
|
|
||||||
# - title: "Sample Posts"
|
|
||||||
# url: /year-archive/
|
|
||||||
# - title: "Sample Collections"
|
|
||||||
# url: /collection-archive/
|
|
||||||
# - title: "Sitemap"
|
|
||||||
# url: /sitemap/
|
|
|
@ -10,14 +10,14 @@ main:
|
||||||
title: 网站导航
|
title: 网站导航
|
||||||
url: site-navigation
|
url: site-navigation
|
||||||
-
|
-
|
||||||
title: FAQ
|
title: 常见问题指南
|
||||||
url: faq
|
url: faq
|
||||||
top:
|
top:
|
||||||
-
|
-
|
||||||
title: 本网站使用 cookie 来在侧边栏显示当前指南进度,并提升网站的其它功能。
|
title: 本网站使用 cookie 来在侧边栏显示当前指南进度,并提升网站的其它功能。
|
||||||
bottom:
|
bottom:
|
||||||
-
|
-
|
||||||
title: For support in English, ask for help at <a href="https://discord.gg/MWxPgEp">Nintendo Homebrew on Discord</a>.
|
title: 若要寻求支持,请在</a> <a href="https://discord.gg/MWxPgEp">Nintendo Homebrew Discord 频道上使用英语寻求帮助。
|
||||||
footer:
|
footer:
|
||||||
-
|
-
|
||||||
title: 来源
|
title: 来源
|
||||||
|
@ -29,7 +29,7 @@ footer:
|
||||||
title: 捐赠
|
title: 捐赠
|
||||||
url: privacy-policy
|
url: privacy-policy
|
||||||
-
|
-
|
||||||
title: Donations
|
title: 捐赠
|
||||||
url: donations
|
url: donations
|
||||||
sidebar_title:
|
sidebar_title:
|
||||||
-
|
-
|
||||||
|
@ -57,16 +57,16 @@ sidebar_pages:
|
||||||
title: Wilbrand
|
title: Wilbrand
|
||||||
url: wilbrand
|
url: wilbrand
|
||||||
-
|
-
|
||||||
title: Multiple Options
|
title: 多选项
|
||||||
url: multiple-options
|
url: multiple-options
|
||||||
-
|
-
|
||||||
title: Homebrew Channel and BootMii Installation
|
title: 安装Homebrew Channel和BootMii
|
||||||
url: hbc
|
url: hbc
|
||||||
-
|
-
|
||||||
title: Homebrew Channel - for Wii mini only
|
title: Homebrew Channel - 仅适用于Wii mini
|
||||||
url: hbc-mini
|
url: hbc-mini
|
||||||
-
|
-
|
||||||
title: BootMii Backup
|
title: BootMii 备份
|
||||||
url: bootmii
|
url: bootmii
|
||||||
-
|
-
|
||||||
title: Priiloader
|
title: Priiloader
|
||||||
|
@ -75,7 +75,7 @@ sidebar_pages:
|
||||||
title: Open Shop Channel
|
title: Open Shop Channel
|
||||||
url: osc
|
url: osc
|
||||||
-
|
-
|
||||||
title: d2xl cIOS for Wii mini (experimental)
|
title: 供Wii mini安装的d2xl cIOS (实验性功能)
|
||||||
url: cios-mini
|
url: cios-mini
|
||||||
-
|
-
|
||||||
title: Wii mini NAND Dumper
|
title: Wii mini NAND Dumper
|
||||||
|
|
|
@ -1,502 +0,0 @@
|
||||||
# User interface text and labels
|
|
||||||
|
|
||||||
# English (default)
|
|
||||||
# -----------------
|
|
||||||
en: &DEFAULT_EN
|
|
||||||
page : "Page"
|
|
||||||
pagination_previous : "Previous"
|
|
||||||
pagination_next : "Next"
|
|
||||||
breadcrumb_home_label : "Home"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label : "Toggle Menu"
|
|
||||||
toc_label : "On This Page"
|
|
||||||
ext_link_label : "Direct Link"
|
|
||||||
less_than : "less than"
|
|
||||||
minute_read : "minute read"
|
|
||||||
share_on_label : "Share on"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Tags:"
|
|
||||||
categories_label : "Categories:"
|
|
||||||
date_label : "Updated:"
|
|
||||||
comments_label : "Leave a Comment"
|
|
||||||
comments_title : "Comments"
|
|
||||||
more_label : "Learn More"
|
|
||||||
related_label : "You May Also Enjoy"
|
|
||||||
follow_label : "Follow:"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Powered by"
|
|
||||||
website_label : "Website"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "Recent Posts"
|
|
||||||
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
|
|
||||||
comment_form_info : "Your email address will not be published. Required fields are marked"
|
|
||||||
comment_form_comment_label : "Comment"
|
|
||||||
comment_form_md_info : "Markdown is supported."
|
|
||||||
comment_form_name_label : "Name"
|
|
||||||
comment_form_email_label : "Email address"
|
|
||||||
comment_form_website_label : "Website (optional)"
|
|
||||||
comment_btn_submit : "Submit Comment"
|
|
||||||
comment_btn_submitted : "Submitted"
|
|
||||||
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved."
|
|
||||||
comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again."
|
|
||||||
loading_label : "Loading..."
|
|
||||||
en-US:
|
|
||||||
<<: *DEFAULT_EN
|
|
||||||
en-CA:
|
|
||||||
<<: *DEFAULT_EN
|
|
||||||
en-GB:
|
|
||||||
<<: *DEFAULT_EN
|
|
||||||
en-AU:
|
|
||||||
<<: *DEFAULT_EN
|
|
||||||
|
|
||||||
# Spanish
|
|
||||||
# --------------
|
|
||||||
es: &DEFAULT_ES
|
|
||||||
page : "Página"
|
|
||||||
pagination_previous : "Anterior"
|
|
||||||
pagination_next : "Siguiente"
|
|
||||||
breadcrumb_home_label : "Inicio"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "Contenidos"
|
|
||||||
ext_link_label : "Enlace"
|
|
||||||
less_than : "menos de"
|
|
||||||
minute_read : "minuto de lectura"
|
|
||||||
share_on_label : "Compartir"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Etiquetas:"
|
|
||||||
categories_label : "Categorías:"
|
|
||||||
date_label : "Actualizado:"
|
|
||||||
comments_label : "Comentar"
|
|
||||||
comments_title :
|
|
||||||
more_label : "Ver más"
|
|
||||||
related_label : "Podrías ver también"
|
|
||||||
follow_label : "Seguir:"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Powered by"
|
|
||||||
website_label : "Sitio web"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "Entradas recientes"
|
|
||||||
undefined_wpm : "Parametro words_per_minute (Palabras por minuto) no definido en _config.yml"
|
|
||||||
comment_form_info :
|
|
||||||
comment_form_comment_label :
|
|
||||||
comment_form_md_info :
|
|
||||||
comment_form_name_label :
|
|
||||||
comment_form_email_label :
|
|
||||||
comment_form_website_label :
|
|
||||||
comment_btn_submit :
|
|
||||||
comment_btn_submitted :
|
|
||||||
comment_success_msg :
|
|
||||||
comment_error_msg :
|
|
||||||
loading_label :
|
|
||||||
es-ES:
|
|
||||||
<<: *DEFAULT_ES
|
|
||||||
es-MX:
|
|
||||||
<<: *DEFAULT_ES
|
|
||||||
es-CO:
|
|
||||||
<<: *DEFAULT_ES
|
|
||||||
|
|
||||||
# French
|
|
||||||
# -----------------
|
|
||||||
fr: &DEFAULT_FR
|
|
||||||
page : "Page"
|
|
||||||
pagination_previous : "Précédent"
|
|
||||||
pagination_next : "Suivant"
|
|
||||||
breadcrumb_home_label : "Accueil"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "Sur cette page"
|
|
||||||
ext_link_label : "Lien direct"
|
|
||||||
less_than : "plus petit que"
|
|
||||||
minute_read : "minute de lecture"
|
|
||||||
share_on_label : "Partager sur"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Tags :"
|
|
||||||
categories_label : "Catégories :"
|
|
||||||
date_label : "Mis à jour :"
|
|
||||||
comments_label : "Laisser un commentaire"
|
|
||||||
comments_title :
|
|
||||||
more_label : "Lire plus"
|
|
||||||
related_label : "Vous pourriez aimer"
|
|
||||||
follow_label : "Suivez moi"
|
|
||||||
feed_label : "Flux"
|
|
||||||
powered_by : "Propulsé par"
|
|
||||||
website_label : "Site"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "Posts récents"
|
|
||||||
undefined_wpm : "Le paramètre words_per_minute n'est pas défini dans _config.yml"
|
|
||||||
comments_title : "Commentaires"
|
|
||||||
comment_form_info : "Votre adresse email ne sera pas visible. Les champs obligatoires sont marqués"
|
|
||||||
comment_form_comment_label : "Commentaire"
|
|
||||||
comment_form_md_info : "Markdown est supporté."
|
|
||||||
comment_form_name_label : "Nom"
|
|
||||||
comment_form_email_label : "Adresse mail"
|
|
||||||
comment_form_website_label : "Site web (optionnel)"
|
|
||||||
comment_btn_submit : "Envoyer"
|
|
||||||
comment_btn_submitted : "Envoyé"
|
|
||||||
comment_success_msg : "Merci pour votre comentaire, il sera visible sur le site une fois approuvé."
|
|
||||||
comment_error_msg : "Désolé, une erreur est survenue lors de la soumission. Vérifiez que les champs obligatoires ont été remplis et réessayez."
|
|
||||||
loading_label : "Chargement..."
|
|
||||||
fr-FR:
|
|
||||||
<<: *DEFAULT_FR
|
|
||||||
fr-BE:
|
|
||||||
<<: *DEFAULT_FR
|
|
||||||
fr-CH:
|
|
||||||
<<: *DEFAULT_FR
|
|
||||||
|
|
||||||
# Turkish
|
|
||||||
# -----------------
|
|
||||||
tr: &DEFAULT_TR
|
|
||||||
page : "Sayfa"
|
|
||||||
pagination_previous : "Önceki"
|
|
||||||
pagination_next : "Sonraki"
|
|
||||||
breadcrumb_home_label : "Ana Sayfa"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "İçindekiler"
|
|
||||||
ext_link_label : "Doğrudan Bağlantı"
|
|
||||||
less_than : "Şu süreden az: "
|
|
||||||
minute_read : "dakika tahmini okuma süresi"
|
|
||||||
share_on_label : "Paylaş"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Etiketler:"
|
|
||||||
categories_label : "Kategoriler:"
|
|
||||||
date_label : "Güncelleme tarihi:"
|
|
||||||
comments_label : "Yorum yapın"
|
|
||||||
comments_title : "Yorumlar"
|
|
||||||
more_label : "Daha fazlasını öğrenin"
|
|
||||||
related_label : "Bunlar ilginizi çekebilir:"
|
|
||||||
follow_label : "Takip et:"
|
|
||||||
feed_label : "RSS"
|
|
||||||
powered_by : "Emeği geçenler: "
|
|
||||||
website_label : "Web sayfası"
|
|
||||||
email_label : "E-posta"
|
|
||||||
recent_posts : "Son yazılar"
|
|
||||||
undefined_wpm : "_config.yml dosyasında tanımlanmamış words_per_minute parametresi"
|
|
||||||
comment_form_info : "Email adresiniz gösterilmeyecektir. Zorunlu alanlar işaretlenmiştir"
|
|
||||||
comment_form_comment_label : "Yorumunuz"
|
|
||||||
comment_form_md_info : "Markdown desteklenmektedir."
|
|
||||||
comment_form_name_label : "Adınız"
|
|
||||||
comment_form_email_label : "Email adresiniz"
|
|
||||||
comment_form_website_label : "Websiteniz (opsiyonel)"
|
|
||||||
comment_btn_submit : "Yorum Yap"
|
|
||||||
comment_btn_submitted : "Gönderildi"
|
|
||||||
comment_success_msg : "Yorumunuz için teşekkürler! Yorumunuz onaylandıktan sonra sitede gösterilecektir."
|
|
||||||
comment_error_msg : "Maalesef bir hata oluştu. Lütfen zorunlu olan tüm alanları doldurduğunuzdan emin olun ve sonrasında tekrar deneyin."
|
|
||||||
loading_label : "Yükleniyor..."
|
|
||||||
tr-TR:
|
|
||||||
<<: *DEFAULT_TR
|
|
||||||
|
|
||||||
# Portuguese
|
|
||||||
# -----------------
|
|
||||||
pt: &DEFAULT_PT
|
|
||||||
page : "Página"
|
|
||||||
pagination_previous : "Anterior"
|
|
||||||
pagination_next : "Seguinte"
|
|
||||||
breadcrumb_home_label : "Início"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "Nesta Página"
|
|
||||||
ext_link_label : "Link Direto"
|
|
||||||
less_than : "menos de"
|
|
||||||
minute_read : "minutos de leitura"
|
|
||||||
share_on_label : "Partilhar no"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Etiquetas:"
|
|
||||||
categories_label : "Categorias:"
|
|
||||||
date_label : "Atualizado:"
|
|
||||||
comments_label : "Deixe um Comentário"
|
|
||||||
comments_title : "Comentários"
|
|
||||||
more_label : "Saber mais"
|
|
||||||
related_label : "Também pode gostar de"
|
|
||||||
follow_label : "Siga:"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Feito com"
|
|
||||||
website_label : "Site"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "Artigos Recentes"
|
|
||||||
undefined_wpm : "Parâmetro words_per_minute não definido em _config.yml"
|
|
||||||
comment_form_info : "O seu endereço email não será publicado. Os campos obrigatórios estão assinalados"
|
|
||||||
comment_form_comment_label : "Comentário"
|
|
||||||
comment_form_md_info : "Markdown é suportado."
|
|
||||||
comment_form_name_label : "Nome"
|
|
||||||
comment_form_email_label : "Endereço Email"
|
|
||||||
comment_form_website_label : "Site (opcional)"
|
|
||||||
comment_btn_submit : "Sumbeter Comentário"
|
|
||||||
comment_btn_submitted : "Submetido"
|
|
||||||
comment_success_msg : "Obrigado pelo seu comentário! Será visível no site logo que aprovado."
|
|
||||||
comment_error_msg : "Lamento, ocorreu um erro na sua submissão. Por favor verifique se todos os campos obrigatórios estão corretamente preenchidos e tente novamente."
|
|
||||||
loading_label : "A carregar..."
|
|
||||||
# Brazilian Portuguese
|
|
||||||
pt-BR:
|
|
||||||
page : "Página"
|
|
||||||
pagination_previous : "Anterior"
|
|
||||||
pagination_next : "Próxima"
|
|
||||||
breadcrumb_home_label : "Home"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "Nesta página"
|
|
||||||
ext_link_label : "Link direto"
|
|
||||||
less_than : "meno que"
|
|
||||||
minute_read : "minutos de leitura"
|
|
||||||
share_on_label : "Compartilhe em"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Tags:"
|
|
||||||
categories_label : "Categorias:"
|
|
||||||
date_label : "Atualizado em:"
|
|
||||||
comments_label : "Deixe um comentário"
|
|
||||||
comments_title :
|
|
||||||
more_label : "Aprenda Mais"
|
|
||||||
related_label : "Você Talvez Goste Também"
|
|
||||||
follow_label : "Acompanhe em"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Feito com"
|
|
||||||
website_label : "Site"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "Postagens recentes"
|
|
||||||
undefined_wpm : "Parâmetro indefinido em word_per_minute no _config.yml"
|
|
||||||
comment_form_info :
|
|
||||||
comment_form_comment_label :
|
|
||||||
comment_form_md_info :
|
|
||||||
comment_form_name_label :
|
|
||||||
comment_form_email_label :
|
|
||||||
comment_form_website_label :
|
|
||||||
comment_btn_submit :
|
|
||||||
comment_btn_submitted :
|
|
||||||
comment_success_msg :
|
|
||||||
comment_error_msg :
|
|
||||||
loading_label :
|
|
||||||
pt-BR:
|
|
||||||
<<: *DEFAULT_PT
|
|
||||||
|
|
||||||
# Italian
|
|
||||||
# -----------------
|
|
||||||
it: &DEFAULT_IT
|
|
||||||
page : "Pagina"
|
|
||||||
pagination_previous : "Precedente"
|
|
||||||
pagination_next : "Prossima"
|
|
||||||
breadcrumb_home_label : "Home"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "Indice della pagina"
|
|
||||||
ext_link_label : "Link"
|
|
||||||
less_than : "meno di"
|
|
||||||
minute_read : "minuto/i di lettura"
|
|
||||||
share_on_label : "Condividi"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Tags:"
|
|
||||||
categories_label : "Categorie:"
|
|
||||||
date_label : "Aggiornato:"
|
|
||||||
comments_label : "Scrivi un commento"
|
|
||||||
comments_title :
|
|
||||||
more_label : "Scopri di più"
|
|
||||||
related_label : "Potrebbe Piacerti Anche"
|
|
||||||
follow_label : "Segui:"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Powered by"
|
|
||||||
website_label : "Website"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "Articoli Recenti"
|
|
||||||
undefined_wpm : "Parametro words_per_minute non definito in _config.yml"
|
|
||||||
comment_form_info : "Il tuo indirizzo email non sarà pubblicato. Sono segnati i campi obbligatori"
|
|
||||||
comment_form_comment_label : "Commenta"
|
|
||||||
comment_form_md_info : "Il linguaggio Markdown è supportato"
|
|
||||||
comment_form_name_label : "Nome"
|
|
||||||
comment_form_email_label : "Indirizzo email"
|
|
||||||
comment_form_website_label : "Sito Web (opzionale)"
|
|
||||||
comment_btn_submit : "Invia commento"
|
|
||||||
comment_btn_submitted : "Inviato"
|
|
||||||
comment_success_msg : "Grazie per il tuo commento! Verrà visualizzato nel sito una volta che sarà approvato."
|
|
||||||
comment_error_msg : "C'è stato un errore con il tuo invio. Assicurati che tutti i campi richiesti siano stati completati e riprova."
|
|
||||||
loading_label : "Caricamento..."
|
|
||||||
it-IT:
|
|
||||||
<<: *DEFAULT_IT
|
|
||||||
|
|
||||||
# Chinese (zh-CN Chinese - China)
|
|
||||||
# -----------------
|
|
||||||
zh: &DEFAULT_ZH
|
|
||||||
page : "页面"
|
|
||||||
pagination_previous : "向前"
|
|
||||||
pagination_next : "向后"
|
|
||||||
breadcrumb_home_label : "首页"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "在本页上"
|
|
||||||
ext_link_label : "直接链接"
|
|
||||||
less_than : "少于"
|
|
||||||
minute_read : "分钟 阅读"
|
|
||||||
share_on_label : "分享"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "标签:"
|
|
||||||
categories_label : "分类:"
|
|
||||||
date_label : "最新的:"
|
|
||||||
comments_label : "留下评论"
|
|
||||||
comments_title : "评论"
|
|
||||||
more_label : "了解更多"
|
|
||||||
related_label : "猜您还喜欢"
|
|
||||||
follow_label : "关注:"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Powered by"
|
|
||||||
website_label : "网站"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "最新文章"
|
|
||||||
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
|
|
||||||
comment_form_info : "Your email address will not be published. Required fields are marked"
|
|
||||||
comment_form_comment_label : "Comment"
|
|
||||||
comment_form_md_info : "Markdown is supported."
|
|
||||||
comment_form_name_label : "Name"
|
|
||||||
comment_form_email_label : "Email address"
|
|
||||||
comment_form_website_label : "Website (optional)"
|
|
||||||
comment_btn_submit : "Submit Comment"
|
|
||||||
comment_btn_submitted : "Submitted"
|
|
||||||
comment_success_msg : "Thanks for your comment! It will show on the site once it has been approved."
|
|
||||||
comment_error_msg : "Sorry, there was an error with your submission. Please make sure all required fields have been completed and try again."
|
|
||||||
loading_label : "Loading..."
|
|
||||||
zh-CN:
|
|
||||||
<<: *DEFAULT_ZH
|
|
||||||
zh-HK:
|
|
||||||
<<: *DEFAULT_ZH
|
|
||||||
zh-SG:
|
|
||||||
<<: *DEFAULT_ZH
|
|
||||||
zh-TW:
|
|
||||||
<<: *DEFAULT_ZH
|
|
||||||
|
|
||||||
# German / Deutsch
|
|
||||||
# -----------------
|
|
||||||
de: &DEFAULT_DE
|
|
||||||
page : "Seite"
|
|
||||||
pagination_previous : "Vorherige"
|
|
||||||
pagination_next : "Nächste"
|
|
||||||
breadcrumb_home_label : "Home"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label :
|
|
||||||
toc_label : "Auf dieser Seite"
|
|
||||||
ext_link_label : "Direkter Link"
|
|
||||||
less_than : "weniger als"
|
|
||||||
minute_read : "Minuten zum lesen"
|
|
||||||
share_on_label : "Teilen auf"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Tags:"
|
|
||||||
categories_label : "Kategorien:"
|
|
||||||
date_label : "Aktualisiert:"
|
|
||||||
comments_label : "Hinterlassen sie einen Kommentar"
|
|
||||||
comments_title : "Kommentare"
|
|
||||||
more_label : "Mehr anzeigen"
|
|
||||||
related_label : "Ihnen gefällt vielleicht auch"
|
|
||||||
follow_label : "Folgen:"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Powered by"
|
|
||||||
website_label : "Webseite"
|
|
||||||
email_label : "E-Mail"
|
|
||||||
recent_posts : "Aktuelle Beiträge"
|
|
||||||
undefined_wpm : "Undefinierter Parameter words_per_minute in _config.yml"
|
|
||||||
comment_form_info : "Ihre E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert"
|
|
||||||
comment_form_comment_label : "Kommentar"
|
|
||||||
comment_form_md_info : "Markdown wird unterstützt."
|
|
||||||
comment_form_name_label : "Name"
|
|
||||||
comment_form_email_label : "E-Mail Addresse"
|
|
||||||
comment_form_website_label : "Webseite (optional)"
|
|
||||||
comment_btn_submit : "Kommentar absenden"
|
|
||||||
comment_btn_submitted : "Versendet"
|
|
||||||
comment_success_msg : "Danke für ihren Kommentar! Er wird auf der Seite angezeigt, nachdem er geprüft wurde."
|
|
||||||
comment_error_msg : "Entschuldigung, es gab einen Fehler. Bitte füllen sie alle benötigten Felder aus und versuchen sie es erneut."
|
|
||||||
loading_label : "Lade..."
|
|
||||||
de-DE:
|
|
||||||
<<: *DEFAULT_DE
|
|
||||||
de-AT:
|
|
||||||
<<: *DEFAULT_DE
|
|
||||||
de-CH:
|
|
||||||
<<: *DEFAULT_DE
|
|
||||||
de-BE:
|
|
||||||
<<: *DEFAULT_DE
|
|
||||||
de-LI:
|
|
||||||
<<: *DEFAULT_DE
|
|
||||||
de-LU:
|
|
||||||
<<: *DEFAULT_DE
|
|
||||||
|
|
||||||
# Dutch / Nederlands
|
|
||||||
# -----------------
|
|
||||||
nl: &DEFAULT_NL
|
|
||||||
page : "Pagina"
|
|
||||||
pagination_previous : "Vorige"
|
|
||||||
pagination_next : "Volgende"
|
|
||||||
breadcrumb_home_label : "Home"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label : "Toggle Menu"
|
|
||||||
toc_label : "Op Deze Pagina"
|
|
||||||
ext_link_label : "Directe Link"
|
|
||||||
less_than : "minder dan"
|
|
||||||
minute_read : "minuten lezen"
|
|
||||||
share_on_label : "Deel op"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Tags:"
|
|
||||||
categories_label : "Categorieën:"
|
|
||||||
date_label : "Geüpdate:"
|
|
||||||
comments_label : "Laat een reactie achter:"
|
|
||||||
comments_title : "Reacties"
|
|
||||||
more_label : "Kom Meer Te Weten"
|
|
||||||
related_label : "Ook Interessant Voor Jou"
|
|
||||||
follow_label : "Volg:"
|
|
||||||
feed_label : "Feed"
|
|
||||||
powered_by : "Aangedreven door"
|
|
||||||
website_label : "Website"
|
|
||||||
email_label : "E-mail"
|
|
||||||
recent_posts : "Recente Berichten"
|
|
||||||
undefined_wpm : "Parameter words_per_minute in _config.yml niet gedefinieerd"
|
|
||||||
comment_form_info : "Je e-mailadres zal niet openbaar gemaakt worden. Vereiste velden zijn gemarkeerd"
|
|
||||||
comment_form_comment_label : "Commentaar"
|
|
||||||
comment_form_md_info : "Markdown wordt ondersteund."
|
|
||||||
comment_form_name_label : "Naam"
|
|
||||||
comment_form_email_label : "E-mailadres"
|
|
||||||
comment_form_website_label : "Website (optioneel)"
|
|
||||||
comment_btn_submit : "Verstuur Commentaar"
|
|
||||||
comment_btn_submitted : "Verstuurd"
|
|
||||||
comment_success_msg : "Bedankt voor je commentaar! Nadat het goedgekeurd is, zal het op deze site weergeven worden."
|
|
||||||
comment_error_msg : "Helaas, er is een probleem opgetreden met het versturen van je commentaar. Zorg dat alle vereiste velden ingevuld zijn en probeer opnieuw."
|
|
||||||
loading_label : "Laden..."
|
|
||||||
|
|
||||||
# Polish / Polski
|
|
||||||
# -----------------
|
|
||||||
pl: &DEFAULT_PL
|
|
||||||
page : "Strona"
|
|
||||||
pagination_previous : "Poprzedni"
|
|
||||||
pagination_next : "Następny"
|
|
||||||
breadcrumb_home_label : "Home"
|
|
||||||
breadcrumb_separator : "/"
|
|
||||||
menu_label : "Otwórz menu"
|
|
||||||
toc_label : "Na tej stronie"
|
|
||||||
ext_link_label : "Link bezpośredni"
|
|
||||||
less_than : "mniej niż"
|
|
||||||
minute_read : "minuta czytania"
|
|
||||||
share_on_label : "Udostępnij na"
|
|
||||||
meta_label :
|
|
||||||
tags_label : "Tagi:"
|
|
||||||
categories_label : "Kategorie:"
|
|
||||||
date_label : "Zaktualizowanie:"
|
|
||||||
comments_label : "Zostaw komentarz"
|
|
||||||
comments_title : "Komentarze"
|
|
||||||
more_label : "Dowiedz się więcej"
|
|
||||||
related_label : "Również może Ci się spodobać"
|
|
||||||
follow_label : "Obserwuj:"
|
|
||||||
feed_label : "Kanał"
|
|
||||||
powered_by : "Powered by"
|
|
||||||
website_label : "Strona"
|
|
||||||
email_label : "Email"
|
|
||||||
recent_posts : "Ostatnie posty"
|
|
||||||
undefined_wpm : "Undefined parameter words_per_minute at _config.yml"
|
|
||||||
comment_form_info : "Twój adres email nie zostanie upubliczniony. Wymagane pola zostały podkreślone."
|
|
||||||
comment_form_comment_label : "Komentarz"
|
|
||||||
comment_form_md_info : "Markdown is supported."
|
|
||||||
comment_form_name_label : "Imię"
|
|
||||||
comment_form_email_label : "Adres email"
|
|
||||||
comment_form_website_label : "Strona (opcjonalne)"
|
|
||||||
comment_btn_submit : "Zatwierdź komentarz"
|
|
||||||
comment_btn_submitted : "Zatwierdzone"
|
|
||||||
comment_success_msg : "Dziękujemy za komentarz! Pojawi się on na stronie gdy zostanie on zatweirdzony."
|
|
||||||
comment_error_msg : "Przepraszamy, wystąpił błąd z twoim zgłoszeniem. Upewnij się żę wszystki pola zostały zapełnione i spróbuj ponownie."
|
|
||||||
loading_label : "Ładowanie..."
|
|
||||||
pl_PL:
|
|
||||||
<<: *DEFAULT_PL
|
|
||||||
|
|
||||||
# Another locale
|
|
||||||
# --------------
|
|
|
@ -1,3 +0,0 @@
|
||||||
<!-- start custom analytics snippet -->
|
|
||||||
|
|
||||||
<!-- end custom analytics snippet -->
|
|
|
@ -1,9 +0,0 @@
|
||||||
<!-- 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>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,14 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,14 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{% 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>
|
|
|
@ -1,7 +0,0 @@
|
||||||
<!--
|
|
||||||
<li>
|
|
||||||
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
|
||||||
<i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
-->
|
|
|
@ -1,252 +0,0 @@
|
||||||
{% 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">
|
|
||||||
|
|
||||||
{% if author.avatar %}
|
|
||||||
<div class="author__avatar">
|
|
||||||
{% if author.home %}
|
|
||||||
<a href="{{ author.home | relative_url }}">
|
|
||||||
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
|
|
||||||
</a>
|
|
||||||
{% else %}
|
|
||||||
<img src="{{ author.avatar | relative_url }}" alt="{{ author.name }}" itemprop="image">
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="author__content">
|
|
||||||
{% if author.home %}
|
|
||||||
<a href="{{ author.home | relative_url }}"><h3 class="author__name" itemprop="name">{{ author.name }}</h3></a>
|
|
||||||
{% else %}
|
|
||||||
<h3 class="author__name" itemprop="name">{{ author.name }}</h3>
|
|
||||||
{% endif %}
|
|
||||||
{% if author.bio %}
|
|
||||||
<div class="author__bio" 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">{{ author.location }}</span>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if author.links %}
|
|
||||||
{% for link in author.links %}
|
|
||||||
{% if link.label and link.url %}
|
|
||||||
<li><a href="{{ link.url }}" rel="nofollow noopener noreferrer"><i class="{{ link.icon | default: 'fas fa-link' }}" aria-hidden="true"></i><span class="label">{{ link.label }}</span></a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if author.uri %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ author.uri }}" itemprop="url">
|
|
||||||
<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 }}">
|
|
||||||
<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">
|
|
||||||
<i class="fas fa-fw fa-key" 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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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">
|
|
||||||
<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>
|
|
|
@ -1,39 +0,0 @@
|
||||||
{% 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="{{ site.url }}{{ site.baseurl }}/" itemprop="item"><span itemprop="name">{{ site.data.ui-text[site.locale].breadcrumb_home_label | default: "Home" }}</span></a>
|
|
||||||
<meta itemprop="position" content="{{ i }}" />
|
|
||||||
</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>
|
|
|
@ -1,3 +0,0 @@
|
||||||
<!--[if lt IE 9]>
|
|
||||||
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
|
|
||||||
<![endif]-->
|
|
|
@ -1,19 +0,0 @@
|
||||||
{% 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" rel="tag">{{ category_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
|
||||||
{% endfor %}
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,3 +0,0 @@
|
||||||
<!-- start custom comments snippet -->
|
|
||||||
|
|
||||||
<!-- end custom comments snippet -->
|
|
|
@ -1,3 +0,0 @@
|
||||||
<!-- start custom comments scripts -->
|
|
||||||
|
|
||||||
<!-- end custom comments scripts -->
|
|
|
@ -1,13 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,8 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,24 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,20 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,40 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,40 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,20 +0,0 @@
|
||||||
<script>
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
var commentContainer = document.querySelector('#utterances-comments');
|
|
||||||
|
|
||||||
if (!commentContainer) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var script = document.createElement('script');
|
|
||||||
script.setAttribute('src', 'https://utteranc.es/client.js');
|
|
||||||
script.setAttribute('repo', '{{ site.repository }}');
|
|
||||||
script.setAttribute('issue-term', '{{ site.comments.utterances.issue_term | default: "pathname" }}');
|
|
||||||
script.setAttribute('theme', '{{ site.comments.utterances.theme | default: "github-light" }}');
|
|
||||||
script.setAttribute('crossorigin', 'anonymous');
|
|
||||||
|
|
||||||
commentContainer.appendChild(script);
|
|
||||||
})();
|
|
||||||
</script>
|
|
|
@ -1,162 +0,0 @@
|
||||||
<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] | sort %}
|
|
||||||
|
|
||||||
{% for comment in comments %}
|
|
||||||
{% assign email = comment[1].email %}
|
|
||||||
{% assign name = comment[1].name %}
|
|
||||||
{% assign url = comment[1].url %}
|
|
||||||
{% assign date = comment[1].date %}
|
|
||||||
{% assign message = comment[1].message %}
|
|
||||||
{% 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] | sort %}
|
|
||||||
|
|
||||||
{% for comment in comments %}
|
|
||||||
{% assign email = comment[1].email %}
|
|
||||||
{% assign name = comment[1].name %}
|
|
||||||
{% assign url = comment[1].url %}
|
|
||||||
{% assign date = comment[1].date %}
|
|
||||||
{% assign message = comment[1].message %}
|
|
||||||
{% 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>
|
|
|
@ -1,15 +0,0 @@
|
||||||
{% 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 -%}
|
|
|
@ -1,41 +0,0 @@
|
||||||
{% 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>
|
|
|
@ -1,9 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,31 +0,0 @@
|
||||||
<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 %}
|
|
||||||
|
|
||||||
<!-- hacks-guide change start: force disable atom feed-->
|
|
||||||
<!--
|
|
||||||
{% 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>
|
|
||||||
-->
|
|
||||||
<!-- hacks-guide change end -->
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- hacks-guide change start: custom footer -->
|
|
||||||
{% assign split_path = page.path | split: "/" %}
|
|
||||||
{% assign locale = split_path[1] %}
|
|
||||||
{% assign titles = site.data.navigation[locale].footer %}
|
|
||||||
<div class="page__footer-copyright">© {{ site.time | date: '%Y' }} {{ site.name | default: site.title }}. - <a href="{{ titles[1].url }}">{{ titles[1].title }}</a> - <a href="{{ titles[2].url }}">{{ titles[2].title }}</a> - <a href="{{ titles[3].url }}">{{ titles[3].title }}</a> <!-- {{ site.data.ui-text[site.locale].powered_by | default: "Powered by" }} <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.--></div>
|
|
||||||
<!-- hacks-guide change end -->
|
|
|
@ -1,3 +0,0 @@
|
||||||
<!-- start custom footer snippets -->
|
|
||||||
|
|
||||||
<!-- end custom footer snippets -->
|
|
|
@ -1,35 +0,0 @@
|
||||||
{% 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>
|
|
|
@ -1,47 +0,0 @@
|
||||||
<!--
|
|
||||||
# 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 %}
|
|
|
@ -1,25 +0,0 @@
|
||||||
<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 %}
|
|
|
@ -1,54 +0,0 @@
|
||||||
<!-- start custom head snippets -->
|
|
||||||
|
|
||||||
<!-- insert favicons. use http://realfavicongenerator.net/ -->
|
|
||||||
|
|
||||||
<!-- hacks-guide change start: cookie consent, favicon, locales -->
|
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ base_path }}/images/site-config/apple-touch-icon.png?v=PYEmwKvQAx">
|
|
||||||
<link rel="icon" type="image/png" href="{{ base_path }}/images/site-config/favicon-16x16.png?v=PYEmwKvQAx" sizes="16x16">
|
|
||||||
<link rel="icon" type="image/png" href="{{ base_path }}/images/site-config/favicon-32x32.png?v=PYEmwKvQAx" sizes="32x32">
|
|
||||||
<link rel="icon" type="image/png" href="{{ base_path }}/images/site-config/favicon-194x194.png?v=PYEmwKvQAx" sizes="194x194">
|
|
||||||
<link rel="icon" type="image/png" href="{{ base_path }}/images/site-config/android-chrome-192x192.png?v=PYEmwKvQAx" sizes="192x192">
|
|
||||||
<link rel="manifest" href="{{ base_path }}/assets/js/manifest.json?v=PYEmwKvQAx">
|
|
||||||
<link rel="mask-icon" href="{{ base_path }}/images/site-config/safari-pinned-tab.svg?v=PYEmwKvQAx" color="#2E3440">
|
|
||||||
<link rel="shortcut icon" href="{{ base_path }}/images/site-config/favicon.ico?v=PYEmwKvQAx">
|
|
||||||
<meta name="apple-mobile-web-app-title" content="Guide">
|
|
||||||
<meta name="application-name" content="Guide">
|
|
||||||
<meta name="msapplication-TileColor" content="#2E3440">
|
|
||||||
<meta name="msapplication-TileImage" content="{{ base_path }}/images/site-config/mstile-144x144.png?v=PYEmwKvQAx">
|
|
||||||
<meta name="msapplication-config" content="{{ base_path }}/assets/xml/browserconfig.xml?v=PYEmwKvQAx">
|
|
||||||
<meta name="theme-color" content="#2E3440">
|
|
||||||
|
|
||||||
{% assign split_path = page.path | split: "/" %}
|
|
||||||
{% assign locale = split_path[1] %}
|
|
||||||
{% if locale == 'en_US' %}
|
|
||||||
{% assign locale_var = '/' %}
|
|
||||||
{% else %}
|
|
||||||
{% assign locale_var = locale | prepend:'/' | append:'/' %}
|
|
||||||
{% endif %}
|
|
||||||
{% assign top = site.data.navigation[locale].top %}
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.css" integrity="sha512-LQ97camar/lOliT/MqjcQs5kWgy6Qz/cCRzzRzUCfv0fotsCTC9ZHXaPQmJV8Xu/PVALfJZ7BDezl5lW3/qBxg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.1/cookieconsent.min.js" integrity="sha512-yXXqOFjdjHNH1GND+1EO0jbvvebABpzGKD66djnUfiKlYME5HGMUJHoCaeE4D5PTG2YsSJf6dwqyUUvQvS0vaA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
||||||
<script>
|
|
||||||
window.addEventListener("load", function(){
|
|
||||||
window.cookieconsent.initialise({
|
|
||||||
"palette": {
|
|
||||||
"popup": {
|
|
||||||
"background": "#28282b"
|
|
||||||
},
|
|
||||||
"button": {
|
|
||||||
"background": "#60818f"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"theme": "edgeless",
|
|
||||||
"position": "top",
|
|
||||||
"static": true,
|
|
||||||
"content": {
|
|
||||||
"message": "{{ top[0].title }}"
|
|
||||||
}
|
|
||||||
})});
|
|
||||||
</script>
|
|
||||||
<!-- hacks-guide change end -->
|
|
||||||
|
|
||||||
<!-- end custom head snippets -->
|
|
|
@ -1,34 +0,0 @@
|
||||||
<!-- hacks-guide change start: Refactor entire subsection to allow using translations -->
|
|
||||||
{% assign split_path = page.path | split: "/" %}
|
|
||||||
{% assign locale = split_path[1] %}
|
|
||||||
{% if locale == 'en_US' %}
|
|
||||||
{% assign locale_var = '/' %}
|
|
||||||
{% else %}
|
|
||||||
{% assign locale_var = locale | prepend:'/' | append:'/' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign title = site.data.navigation[locale].sidebar_title %}
|
|
||||||
{% assign navigation = site.data.navigation[locale].sidebar_pages %}
|
|
||||||
|
|
||||||
<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">
|
|
||||||
<li>
|
|
||||||
<span class="nav__sub-title">{{ title[0].title }}</span>
|
|
||||||
<ol>
|
|
||||||
{% for link in site.data.navigation[locale].sidebar_pages %}
|
|
||||||
{% if link.url == "/" %}
|
|
||||||
<li style="display: none;" data-name="home"><a href='{{ domain }}{{ locale_var }}'>{{ link.title }}</a></li>
|
|
||||||
{% elsif link.url == "multiple-options" %}
|
|
||||||
<li style="display: none;" data-name="multiple-options"><i>({{ link.title }})</i></li>
|
|
||||||
{% else %}
|
|
||||||
<li style="display: none;" data-name="{{ site.data.navigation.en_US.sidebar_pages[forloop.index0].url }}"><a href='{{ domain }}{{ locale_var }}{{ link.url }}'>{{ link.title }}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</ol>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
<!-- hacks-guide change end -->
|
|
|
@ -1,6 +0,0 @@
|
||||||
{% assign date_format = site.date_format | default: "%B %-d, %Y" %}
|
|
||||||
{% if page.last_modified_at %}
|
|
||||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.last_modified_at | date: "%Y-%m-%d" }}">{{ page.last_modified_at | date: date_format }}</time></p>
|
|
||||||
{% elsif page.date %}
|
|
||||||
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> {{ site.data.ui-text[site.locale].date_label | default: "Updated:" }}</strong> <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: date_format }}</time></p>
|
|
||||||
{% endif %}
|
|
|
@ -1,55 +0,0 @@
|
||||||
{% 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>
|
|
|
@ -1,2 +0,0 @@
|
||||||
{% assign video = page.header.video %}
|
|
||||||
{% include video id=video.id provider=video.provider danmaku=video.danmaku %}
|
|
|
@ -1,31 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,69 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,14 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{%- for post in site.categories[include.taxonomy] -%}
|
|
||||||
{%- unless post.hidden -%}
|
|
||||||
{% include archive-single.html %}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- endfor -%}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{%- for post in site.tags[include.taxonomy] -%}
|
|
||||||
{%- unless post.hidden -%}
|
|
||||||
{% include archive-single.html %}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- endfor -%}
|
|
2
_includes/redirect.html
Normal file
2
_includes/redirect.html
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<meta http-equiv="refresh" content="0; URL={{ include.redirect_to }}">
|
||||||
|
<link rel="canonical" href="{{ include.redirect_to }}">
|
|
@ -1,30 +0,0 @@
|
||||||
{% 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 %}
|
|
||||||
|
|
||||||
<!-- hacks-guide change start: Disable caching -->
|
|
||||||
{% if site.search == true or page.layout == "search" %}
|
|
||||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
|
||||||
{%- case search_provider -%}
|
|
||||||
{%- when "lunr" -%}
|
|
||||||
{% include search/lunr-search-scripts.html %}
|
|
||||||
{%- when "google" -%}
|
|
||||||
{% include search/google-search-scripts.html %}
|
|
||||||
{%- when "algolia" -%}
|
|
||||||
{% include search/algolia-search-scripts.html %}
|
|
||||||
{%- endcase -%}
|
|
||||||
{% endif %}
|
|
||||||
<!-- hacks-guide change end -->
|
|
||||||
|
|
||||||
{% 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 %}
|
|
|
@ -1,61 +0,0 @@
|
||||||
<!-- Including InstantSearch.js library and styling -->
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.js"></script>
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch.min.css">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/instantsearch.js@2.3.3/dist/instantsearch-theme-algolia.min.css">
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// Instanciating InstantSearch.js with Algolia credentials
|
|
||||||
const search = instantsearch({
|
|
||||||
appId: '{{ site.algolia.application_id }}',
|
|
||||||
apiKey: '{{ site.algolia.search_only_api_key }}',
|
|
||||||
indexName: '{{ site.algolia.index_name }}',
|
|
||||||
searchParameters: {
|
|
||||||
restrictSearchableAttributes: [
|
|
||||||
'title',
|
|
||||||
'content'
|
|
||||||
]
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const hitTemplate = function(hit) {
|
|
||||||
const url = hit.url;
|
|
||||||
const title = hit._highlightResult.title.value;
|
|
||||||
const content = hit._highlightResult.html.value;
|
|
||||||
|
|
||||||
return `
|
|
||||||
<div class="list__item">
|
|
||||||
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
|
||||||
<h2 class="archive__item-title" itemprop="headline"><a href="{{ site.baseurl }}${url}">${title}</a></h2>
|
|
||||||
<div class="archive__item-excerpt" itemprop="description">${content}</div>
|
|
||||||
</article>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Adding searchbar and results widgets
|
|
||||||
search.addWidget(
|
|
||||||
instantsearch.widgets.searchBox({
|
|
||||||
container: '.search-searchbar',
|
|
||||||
{% unless site.algolia.powered_by == false %}poweredBy: true,{% endunless %}
|
|
||||||
placeholder: '{{ site.data.ui-text[site.locale].search_placeholder_text | default: "Enter your search term..." }}'
|
|
||||||
})
|
|
||||||
);
|
|
||||||
search.addWidget(
|
|
||||||
instantsearch.widgets.hits({
|
|
||||||
container: '.search-hits',
|
|
||||||
templates: {
|
|
||||||
item: hitTemplate,
|
|
||||||
empty: '{{ site.data.ui-text[site.locale].search_algolia_no_results | default: "No results" }}',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// Starting the search only when toggle is clicked
|
|
||||||
$(document).ready(function () {
|
|
||||||
$(".search__toggle").on("click", function() {
|
|
||||||
if(!search.started) {
|
|
||||||
search.start();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
|
@ -1,30 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,10 +0,0 @@
|
||||||
{% 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>
|
|
|
@ -1,26 +0,0 @@
|
||||||
<div class="search-content__inner-wrap">
|
|
||||||
{%- assign search_provider = site.search_provider | default: "lunr" -%}
|
|
||||||
{%- case search_provider -%}
|
|
||||||
{%- when "lunr" -%}
|
|
||||||
<form class="search-content__form" onkeydown="return event.key != 'Enter';">
|
|
||||||
<label class="sr-only" for="search">
|
|
||||||
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
|
||||||
</label>
|
|
||||||
<input type="search" id="search" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
|
||||||
</form>
|
|
||||||
<div id="results" class="results"></div>
|
|
||||||
{%- when "google" -%}
|
|
||||||
<form onsubmit="return googleCustomSearchExecute();" id="cse-search-box-form-id">
|
|
||||||
<label class="sr-only" for="cse-search-input-box-id">
|
|
||||||
{{ site.data.ui-text[site.locale].search_label_text | default: 'Enter your search term...' }}
|
|
||||||
</label>
|
|
||||||
<input type="search" id="cse-search-input-box-id" class="search-input" tabindex="-1" placeholder="{{ site.data.ui-text[site.locale].search_placeholder_text | default: 'Enter your search term...' }}" />
|
|
||||||
</form>
|
|
||||||
<div id="results" class="results">
|
|
||||||
<gcse:searchresults-only></gcse:searchresults-only>
|
|
||||||
</div>
|
|
||||||
{%- when "algolia" -%}
|
|
||||||
<div class="search-searchbar"></div>
|
|
||||||
<div class="search-hits"></div>
|
|
||||||
{%- endcase -%}
|
|
||||||
</div>
|
|
|
@ -1,158 +0,0 @@
|
||||||
<!-- 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 -->
|
|
|
@ -1,31 +0,0 @@
|
||||||
<!-- hacks-guide change start: Implement progress table, replace existing sidebar -->
|
|
||||||
<!--
|
|
||||||
{% if page.author_profile or layout.author_profile or page.sidebar %}
|
|
||||||
<div class="sidebar sticky">
|
|
||||||
{% if page.author_profile or layout.author_profile %}{% include author-profile.html %}{% endif %}
|
|
||||||
{% if page.sidebar %}
|
|
||||||
{% for s in page.sidebar %}
|
|
||||||
{% if s.image %}
|
|
||||||
<img src="{{ s.image | relative_url }}"
|
|
||||||
alt="{% if s.image_alt %}{{ s.image_alt }}{% endif %}">
|
|
||||||
{% endif %}
|
|
||||||
{% if s.title %}<h3>{{ s.title }}</h3>{% endif %}
|
|
||||||
{% if s.text %}{{ s.text | markdownify }}{% endif %}
|
|
||||||
{% if s.nav %}{% include nav_list nav=s.nav %}{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% if page.sidebar.nav %}
|
|
||||||
{% include nav_list nav=page.sidebar.nav %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
-->
|
|
||||||
|
|
||||||
{% if page.sidebar %}
|
|
||||||
|
|
||||||
<div class="sidebar sticky" style="display: none;">
|
|
||||||
{% include nav_list %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
<!-- hacks-guide change end-->
|
|
|
@ -1,7 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,11 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,19 +0,0 @@
|
||||||
{% 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" rel="tag">{{ tag_word }}</a>{% unless forloop.last %}<span class="sep">, </span>{% endunless %}
|
|
||||||
{% endfor %}
|
|
||||||
</span>
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
|
@ -1,7 +0,0 @@
|
||||||
<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>
|
|
|
@ -1,182 +0,0 @@
|
||||||
{% 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 }}
|
|
|
@ -1,24 +0,0 @@
|
||||||
{% 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 %}
|
|
|
@ -1,29 +0,0 @@
|
||||||
---
|
|
||||||
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>
|
|
|
@ -1,26 +0,0 @@
|
||||||
---
|
|
||||||
layout: default
|
|
||||||
---
|
|
||||||
|
|
||||||
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
|
||||||
{% include page__hero.html %}
|
|
||||||
{% elsif page.header.video.id and page.header.video.provider %}
|
|
||||||
{% include page__hero_video.html %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.url != "/" and site.breadcrumbs %}
|
|
||||||
{% unless paginator %}
|
|
||||||
{% include breadcrumbs.html %}
|
|
||||||
{% endunless %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div id="main" role="main">
|
|
||||||
{% include sidebar.html %}
|
|
||||||
|
|
||||||
<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>
|
|
|
@ -1,43 +0,0 @@
|
||||||
---
|
|
||||||
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 %}
|
|
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
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>
|
|
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
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>
|
|
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
# 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 %}
|
|
|
@ -1,45 +0,0 @@
|
||||||
---
|
|
||||||
---
|
|
||||||
|
|
||||||
<!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>
|
|
||||||
|
|
||||||
<!-- hacks-guide change start: Disable caching -->
|
|
||||||
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}">
|
|
||||||
{% include skip-links.html %}
|
|
||||||
{% include browser-upgrade.html %}
|
|
||||||
{% include masthead.html %}
|
|
||||||
|
|
||||||
<div class="initial-content">
|
|
||||||
{{ content }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% if site.search == true %}
|
|
||||||
<div class="search-content">
|
|
||||||
{% include search/search_form.html %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div id="footer" class="page__footer">
|
|
||||||
<footer>
|
|
||||||
{% include footer/custom.html %}
|
|
||||||
{% include footer.html %}
|
|
||||||
</footer>
|
|
||||||
</div>
|
|
||||||
<!-- hacks-guide change end -->
|
|
||||||
|
|
||||||
{% include scripts.html %}
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,22 +0,0 @@
|
||||||
---
|
|
||||||
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 %}
|
|
|
@ -1,30 +0,0 @@
|
||||||
---
|
|
||||||
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 %}
|
|
|
@ -1,42 +0,0 @@
|
||||||
---
|
|
||||||
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>
|
|
|
@ -1,108 +0,0 @@
|
||||||
---
|
|
||||||
layout: default
|
|
||||||
---
|
|
||||||
|
|
||||||
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
|
||||||
{% include page__hero.html %}
|
|
||||||
{% elsif page.header.video.id and page.header.video.provider %}
|
|
||||||
{% include page__hero_video.html %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.url != "/" and site.breadcrumbs %}
|
|
||||||
{% unless paginator %}
|
|
||||||
{% include breadcrumbs.html %}
|
|
||||||
{% endunless %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div id="main" role="main">
|
|
||||||
{% include sidebar.html %}
|
|
||||||
|
|
||||||
<article class="page" itemscope itemtype="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" itemprop="headline">{{ page.title | markdownify | remove: "<p>" | remove: "</p>" }}</h1>{% endif %}
|
|
||||||
{% include page__meta.html %}
|
|
||||||
</header>
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
<section class="page__content" itemprop="text">
|
|
||||||
{% if page.toc %}
|
|
||||||
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
|
||||||
<nav class="toc">
|
|
||||||
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label | default: "On this page" }}</h4></header>
|
|
||||||
{% include toc.html sanitize=true html=content h_min=1 h_max=6 class="toc__menu" skip_no_ids=true %}
|
|
||||||
</nav>
|
|
||||||
</aside>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- hacks-guide change start -->
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
{% assign split_path = page.path | split: "/" %}
|
|
||||||
{% assign locale = split_path[1] %}
|
|
||||||
|
|
||||||
{% for link in site.data.navigation[locale].bottom %}
|
|
||||||
{% if link.url contains 'http' %}
|
|
||||||
{% assign domain = '' %}
|
|
||||||
{% else %}
|
|
||||||
{% assign domain = site.url | append: site.baseurl %}
|
|
||||||
{% endif %}
|
|
||||||
<div class ="notice"><b>{{ link.title }}</b></div>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
<!-- hacks-guide change end -->
|
|
||||||
|
|
||||||
{{ 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">
|
|
||||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.related_posts limit:4 %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
|
||||||
{% elsif page.id and page.related %}
|
|
||||||
<div class="page__related">
|
|
||||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
|
||||||
<div class="grid__wrapper">
|
|
||||||
{% for post in site.posts limit:4 %}
|
|
||||||
{% if post.id == page.id %}
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
{% include archive-single.html type="grid" %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
|
@ -1,41 +0,0 @@
|
||||||
---
|
|
||||||
layout: default
|
|
||||||
---
|
|
||||||
|
|
||||||
{% if page.header.overlay_color or page.header.overlay_image or page.header.image %}
|
|
||||||
{% include page__hero.html %}
|
|
||||||
{% elsif page.header.video.id and page.header.video.provider %}
|
|
||||||
{% include page__hero_video.html %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
<!-- hacks-guide change start -->
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
{% assign split_path = page.path | split: "/" %}
|
|
||||||
{% assign locale = split_path[1] %}
|
|
||||||
|
|
||||||
{% for link in site.data.navigation[locale].bottom %}
|
|
||||||
{% if link.url contains 'http' %}
|
|
||||||
{% assign domain = '' %}
|
|
||||||
{% else %}
|
|
||||||
{% assign domain = site.url | append: site.baseurl %}
|
|
||||||
{% endif %}
|
|
||||||
<div class ="notice"><b>{{ link.title }}</b></div>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
<!-- hacks-guide change end -->
|
|
||||||
|
|
||||||
{{ content }}
|
|
||||||
</section>
|
|
||||||
</article>
|
|
||||||
</div>
|
|
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
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>
|
|
|
@ -1,43 +0,0 @@
|
||||||
---
|
|
||||||
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 %}
|
|
12
_pages/ca_ES/410.md
Normal file
12
_pages/ca_ES/410.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
title: Page no longer exists
|
||||||
|
sitemap: false
|
||||||
|
---
|
||||||
|
|
||||||
|
The page you are trying to view used to exist, but it has since been removed. Maybe the instructions you are following are outdated? (If you got here from a link on this guide, [let us know](https://github.com/hacks-guide/Guide_Wii/issues))
|
||||||
|
|
||||||
|
[Click here to go back to the site index.](site-navigation)
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
|
![](https://http.cat/410)
|
||||||
|
{: .notice--info}
|
|
@ -6,21 +6,9 @@ title: "BootMii Backup"
|
||||||
|
|
||||||
BootMii allows for backing up and restoring your Wii's NAND storage. This page will guide you in backing up your Wii's NAND to an SD Card, which you can then use however you like.
|
BootMii allows for backing up and restoring your Wii's NAND storage. This page will guide you in backing up your Wii's NAND to an SD Card, which you can then use however you like.
|
||||||
|
|
||||||
Family edition Wiis (Wiis without GameCube ports) CANNOT restore NAND backups. This is because of the lack of GameCube ports which are required on non-boot2 Wiis to enter the restoration confirmation code. Regardless, it is still recommended to make one on these consoles.
|
|
||||||
{: .notice--danger}
|
|
||||||
|
|
||||||
You need an **SD card** to use BootMii at all, but especially to create a NAND backup. If you do not have an SD card on hand right now, you can skip this page, but it is HIGHLY RECOMMENDED to return to this page later to back up your NAND.
|
You need an **SD card** to use BootMii at all, but especially to create a NAND backup. If you do not have an SD card on hand right now, you can skip this page, but it is HIGHLY RECOMMENDED to return to this page later to back up your NAND.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
Navigating BootMii is not possible using a Wii Remote. You must use the POWER and RESET buttons on your console, or a GameCube controller plugged into port 1. To navigate between options, press POWER on your Wii (or left/right on the +Control Pad on a GameCube controller). To select an option, press RESET on your Wii or A on your GameCube controller. You will NEED to use a GameCube controller to restore a NAND backup in the future if BootMii is installed as IOS.
|
|
||||||
{: .notice--info}
|
|
||||||
|
|
||||||
If the `Launch BootMii` button does not appear in the Homebrew Channel, [re-launch the HackMii Installer](hackmii) and install BootMii.
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
If the screen stays black and the blue disc drive light is blinking upon launching BootMii, you are missing the BootMii files on your SD card. Download [this zip file](/assets/files/bootmii_sd_files.zip) and extract it to the root of your SD card, then try again.
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
* An SD card with at least 512MB of free space
|
* An SD card with at least 512MB of free space
|
||||||
|
@ -36,10 +24,19 @@ If you have BootMii installed as boot2, you will need to launch BootMii by resta
|
||||||
|
|
||||||
![](/images/bootmii/BootMii_HBC.png)
|
![](/images/bootmii/BootMii_HBC.png)
|
||||||
|
|
||||||
|
If the `Launch BootMii` button does not appear in the Homebrew Channel, [re-launch the HackMii Installer](hackmii) and install BootMii.
|
||||||
|
{: .notice--warning}
|
||||||
|
|
||||||
|
If the screen stays black and the blue disc drive light is blinking upon launching BootMii, you are missing the BootMii files on your SD card. Download [this zip file](/assets/files/bootmii_sd_files.zip) and extract it to the root of your SD card, then try again.
|
||||||
|
{: .notice--warning}
|
||||||
|
|
||||||
1. You should see an image similar to the below now on your screen:
|
1. You should see an image similar to the below now on your screen:
|
||||||
|
|
||||||
![](/images/bootmii/BootMii_Main.png)
|
![](/images/bootmii/BootMii_Main.png)
|
||||||
|
|
||||||
|
Navigating BootMii is not possible using a Wii Remote. You must use the POWER and RESET buttons on your console, or a GameCube controller plugged into port 1. To navigate between options, press POWER. To select an option, press RESET.
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
1. Select the Options button (the icon with the gears).
|
1. Select the Options button (the icon with the gears).
|
||||||
|
|
||||||
![](/images/bootmii/BootMii_Gears.png)
|
![](/images/bootmii/BootMii_Gears.png)
|
||||||
|
@ -65,7 +62,7 @@ If you have BootMii installed as boot2, you will need to launch BootMii by resta
|
||||||
<div id="restore-notice" class="notice" markdown="1">
|
<div id="restore-notice" class="notice" markdown="1">
|
||||||
Note: **restoring a NAND backup is usually a last resort**. There often better ways to unbrick your console.
|
Note: **restoring a NAND backup is usually a last resort**. There often better ways to unbrick your console.
|
||||||
Try your best to [identify your brick condition](bricks) and reverse the action that caused it in the first place.
|
Try your best to [identify your brick condition](bricks) and reverse the action that caused it in the first place.
|
||||||
To restore from a NAND backup on your SD card, you can follow the instructions for [RestoreMii](bootmiirecover) (Original Wii only).
|
To restore from a NAND backup on your SD card, you can follow the instructions for [RestoreMii](bootmiirecover). **Family edition Wiis (Wiis without GameCube ports) CANNOT restore NAND backups.**
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
As stated earlier, if you have BootMii installed as boot2, it will launch every time you start your console. If you would like to change this, you can use the app [BootMii Config Editor](https://oscwii.org/library/app/BootMiiConfigurationEditor). Or, you can edit `sd:/bootmii/bootmii.ini` manually.
|
As stated earlier, if you have BootMii installed as boot2, it will launch every time you start your console. If you would like to change this, you can use the app [BootMii Config Editor](https://oscwii.org/library/app/BootMiiConfigurationEditor). Or, you can edit `sd:/bootmii/bootmii.ini` manually.
|
||||||
|
|
|
@ -111,7 +111,7 @@ Attempt to start the Wii - warning/press A screen shows up, and when A is presse
|
||||||
A theme brick occurs when a wrongly formatted theme is installed.
|
A theme brick occurs when a wrongly formatted theme is installed.
|
||||||
|
|
||||||
#### Solutions
|
#### Solutions
|
||||||
To resolve this issue, open HBC through Priiloader or BootMii as boot2 and access MyMenuifyMod to install a default theme such as the base Wii Menu theme. Alternatively, go into [YAWM ModMii Edition](yawmme) and install the CORRECT default Wii Menu WAD for your region and version.
|
To resolve this issue, open HBC through Priiloader or BootMii as boot2 and access csm-installer to install a default theme such as the base Wii Menu theme. Alternatively, go into [YAWM ModMii Edition](yawmme) and install the CORRECT default Wii Menu WAD for your region and version.
|
||||||
|
|
||||||
## Mail brick
|
## Mail brick
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,12 @@ The WAD files should be on your SD card like this: ![](/images/cios/d2x_offline_
|
||||||
|
|
||||||
![](/images/cios/d2x_v11_248.png)
|
![](/images/cios/d2x_v11_248.png)
|
||||||
|
|
||||||
|
The warning "`(c)IOS detected in slot ### will be overwriitten`" can be safely ignored.
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
|
If you are seeing "`Slot ### already used in batch settings`" or "`cIOS already added in batch with revision ##### and slot ###`", press `-` to disable batch mode. <br> (If you are trying to exit the installer, the button is B, not Home.)
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
1. Press `A`. This will bring you to the slot map:
|
1. Press `A`. This will bring you to the slot map:
|
||||||
|
|
||||||
![](/images/cios/d2x_summary.png)
|
![](/images/cios/d2x_summary.png)
|
||||||
|
|
5
_pages/ca_ES/dosanddonts.md
Normal file
5
_pages/ca_ES/dosanddonts.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Redirecting...
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include redirect.html redirect_to="faq.html" %}
|
|
@ -6,7 +6,7 @@ title: "Homebrew Channel and BootMii Installation"
|
||||||
|
|
||||||
The Homebrew Channel is where you will go to launch homebrew applications. BootMii is a piece of software that can backup and restore your Wii's NAND storage, and if installed in boot2, provide brick protection.
|
The Homebrew Channel is where you will go to launch homebrew applications. BootMii is a piece of software that can backup and restore your Wii's NAND storage, and if installed in boot2, provide brick protection.
|
||||||
|
|
||||||
BootMii can be installed in two ways: directly to a part of the Wii bootloader called boot2, and via an IOS. BootMii under boot2 is preferred as it provides extended brick protection, but Wiis with a vulnerable boot2 are considerably rarer, having been manufactured before 2009. In most cases, installing BootMii as IOS should be fine, as long as you also install [Priiloader](priiloader).
|
BootMii can be installed in two ways: directly to a part of the Wii bootloader called boot2, and via an IOS. BootMii under boot2 is preferred as it provides extended brick protection, but Wiis with a vulnerable boot1 that allows this installation are considerably rarer, having been manufactured before 2009. In most cases, installing BootMii as IOS should be fine, as long as you also install [Priiloader](priiloader).
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
||||||
If you do not have an SD card, you cannot install nor use BootMii, regardless of whether you install it as IOS or boot2. You can always [install it later](hackmii).
|
If you do not have an SD card, you cannot install nor use BootMii, regardless of whether you install it as IOS or boot2. You can always [install it later](hackmii).
|
||||||
|
|
|
@ -4,116 +4,190 @@ title: "ModMii"
|
||||||
|
|
||||||
{% include toc title="Table of Contents" %}
|
{% include toc title="Table of Contents" %}
|
||||||
|
|
||||||
If you need help for anything regarding this tutorial, please join [the ModMii Discord server](https://discord.gg/cMnBRACQwQ).
|
|
||||||
{: .notice--info}
|
|
||||||
|
|
||||||
This Program does NOT come with a warranty, so you are responsible for any potential damage done to your Wii.
|
This Program does NOT come with a warranty, so you are responsible for any potential damage done to your Wii.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
This program is NOT intended to be used for the vWii or the Wii mini. Any usage on vWii or Wii mini is untested.
|
This program is NOT intended to be used for the vWii or the Wii mini. Any usage on vWii or Wii mini is untested.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
ModMii is a PC program for Windows created by XFlak that has various helpful tools for modding, including some tutorials that may not be currently available on this website.<br> You can choose to launch in ModMii skin, which has a more user-friendly interface, or launch in ModMii Classic, which uses a command-line (Command Prompt/Terminal) interface.
|
ModMii is an all-in-one Wii hacking tool for Windows created by XFlak that has various helpful tools for modding. It can accomplish the following:
|
||||||
|
|
||||||
Some advanced options may not be accessible in ModMii Skin. A list of the features available in ModMii Classic can be found at the bottom of the page.
|
+ Hacking the console for the first time, or re-hacking it
|
||||||
{: .notice--info}
|
+ Check for and update outdated softmods
|
||||||
|
+ Fix upside-down Homebrew Channel problems
|
||||||
|
+ Run homebrew without making any changes to your Wii's NAND
|
||||||
|
+ Download homebrew
|
||||||
|
+ And more!
|
||||||
|
|
||||||
### Requirements
|
### ModMii Overview
|
||||||
|
|
||||||
|
There are two different ways to use ModMii. There is ModMii Classic, which uses a command line interface, but has all of the features available to the program. ModMii Skin has a graphical user interface, on the other hand, but has less options available to the user. If you're looking to simply mod your Wii for the first time, ModMii Skin should suffice. Otherwise, we reccomend using ModMii Classic where possible. <br> The chart below will help you determine what can be done in either interface.
|
||||||
|
|
||||||
|
| Tools | ModMii Classic | ModMii Skin |
|
||||||
|
| -------------------------- | -------------- | ----------- |
|
||||||
|
| ModMii Wizard | ✅ | ✅ |
|
||||||
|
| SysCheck Updater Wizard | ✅ | ⛔ |
|
||||||
|
| USB Loader Setup Wizard | ✅ | ✅ |
|
||||||
|
| HackMii Solutions Wizard | ✅ | ✅ |
|
||||||
|
| Abstinence Wizard | ✅ | ✅ |
|
||||||
|
| Region Change Wizard | ✅ | ✅ |
|
||||||
|
| SNEEK/EmuNAND Installation | ✅ | ✅ |
|
||||||
|
| Open File Function | ✅ | ⛔ |
|
||||||
|
| Load Download Queue | ✅ | ✅ |
|
||||||
|
| Download Page 1/2/3/4 | ✅ | ⛔ |
|
||||||
|
| Advanced Downloads | ✅ | ⛔ |
|
||||||
|
| Load Download Queue | ✅ | ⛔ |
|
||||||
|
| Build Config Files | ✅ | ⛔ |
|
||||||
|
| File Cleanup & App Updater | ✅ | ⛔ |
|
||||||
|
|
||||||
|
<details id="Modmii-Tools" class="notice--info" markdown="1">
|
||||||
|
<summary><a>Click here for a detailed explanation of each tool.</a></summary>
|
||||||
|
|
||||||
|
| Tool | Description |
|
||||||
|
| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| W = ModMii Wizard <-- Start Here to Mod Your Wii! | This option can be used to hack your Wii for the first time or re-hack a Wii that has been previously modded. |
|
||||||
|
| SU = SysCheck Updater Wizard (update only your outdated softmods) | This option checks for and updates old modifications installed to their wii such as DarkCorp/CIOSSPAGHETTI that can potentially cause problems for the latest homebrew custom firmware. |
|
||||||
|
| U = USB-Loader Setup Wizard | This option will properly set up your USB loader to be able to load your disk backups from an SD or USB hard drive. This option is not necessary if using the ModMii Wizard. |
|
||||||
|
| H = HackMii Solutions Wizard (Upside-Down HBC\No Vulnerable IOS Fix) | This option is useful for people who are having trouble getting the HackMii Installer to work or have an upside down homebrew channel. |
|
||||||
|
| AW = Abstinence Wizard (Non-permanent Wii Hacks) | This option allows you to run homebrew on your Wii without making any permanent modifications to the system NAND. |
|
||||||
|
| RC = Region Change Wizard | This option can be used to change the region of your Wii without bricking it, and is arguably the best region changing wizard on the internet. |
|
||||||
|
| S = SNEEK Installation, EmuNAND Builder\Modifier, Game Bulk Extractor | This option will help you properly set up an EmuNAND (aka neek2o) onto your SD or USB. Benefits for EmuNAND include extra storage space for save games or channels, as well as running homebrew without making any permanent modifications to the system NAND. |
|
||||||
|
| F = open a File or Folder with ModMii for many more functions! | This option is an advanced tool especially helpful for developers. |
|
||||||
|
| 1 = Download Page 1 (System Menus, IOSs, MIOSs, Channels, etc.) | This option opens the first download page that includes most of the key parts of the Wii System Menu (downloaded from NUS). |
|
||||||
|
| 2 = Download Page 2 (Apps, USB-Loader Files, CheatCodes, etc.) | This option opens the second download page that includes exploits and useful apps for your Wii including some PC programs. |
|
||||||
|
| 3 = Download Page 3 (System Menu Themes) | This option opens the third download page that includes some system menu themes and items required to install system menu themes (base apps are downloaded from NUS). |
|
||||||
|
| 4 = Download Page 4 (cIOSs and cMIOSs) | This option opens the fourth download page that includes cIOSes and cMIOSes for use in USB loaders. |
|
||||||
|
| A = Advanced Downloads and Forwarder DOL\ISO Builder | This option allows you to download any IOS and cIOS and build custom DOL/ISO forwarders. Intended for advanced users only. |
|
||||||
|
| L = Load Download Queue | This option loads bundled or previously saved download queues. |
|
||||||
|
| C = Build Config Files for Bootmii, Wad Manager or Multi-Mod Manager | This option allows you to build customized config files for BootMii, Wad Manager, and Multi-Mod Manager. |
|
||||||
|
| FC = File Cleanup & App Updater: Update Apps and\or remove un-needed files | This option removes unnessecary files from your SD Card or Hard Drive after finishing softmodding your Wii. |
|
||||||
|
|
||||||
|
</details><br>
|
||||||
|
|
||||||
|
When using ModMii, it is important to note that it will generate a custom guide for you depending on the options that you select. For this reason, this guide will not be focused on how to mod your Wii, as ModMii handles that function. Instead, it will be a quick start guide show you how to effectively use it with the most common options.
|
||||||
|
|
||||||
|
### Installing ModMii
|
||||||
|
|
||||||
|
#### Requirements
|
||||||
|
|
||||||
* A Wii
|
* A Wii
|
||||||
* A USB drive or SD Card
|
* A USB drive or SD Card
|
||||||
* A Windows PC (a Virtual Machine will work)
|
* A Windows PC (a Virtual Machine will work)
|
||||||
* [ModMii](https://modmii.github.io/)
|
* [ModMii](https://modmii.github.io/)
|
||||||
|
|
||||||
This is a quick start guide on using ModMii on your Windows PC.
|
#### Installation
|
||||||
|
|
||||||
### ModMii Wizard
|
1. Go to the [ModMii website](https://modmii.github.io) and scroll down to the Download section. Here, select the `Installer` option. Your browser may flag the installer as malware, but it is a **false positive**.
|
||||||
|
|
||||||
You can use the ModMii wizard to softmod any Wii. <br> Even if the Wii has been softmodded in the past, you can have ModMii overwrite existing softmods by telling ModMii that this is the first time you're modding your Wii (even if it isn't).
|
![](/images/modmii/modmii-download.png)
|
||||||
|
|
||||||
You can also use this wizard to set up a USB loader at the same time, instead of having to use the USB Loader setup wizard later on.
|
2. Open the `ModMiiInstaller.exe` file and go through the setup process.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-install.png)
|
||||||
|
|
||||||
|
### Using the ModMii Wizard
|
||||||
|
|
||||||
|
The ModMii Wizard is tool that can softmod your Wii from start to finish, downloading all necessary files and then generating a guide that you can use to implement the softmod. This tool can also be used to overwrite existing softmods on a previously softmodded Wii.
|
||||||
|
|
||||||
|
1. Open ModMii Skin or ModMii Classic and select the ModMii Wizard option at the top of the list.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-1.png)
|
||||||
|
|
||||||
|
1. Answer `Yes` to the first question, unless you have a very specific idea of what you would like to do or update to your Wii.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-2.png)
|
||||||
|
|
||||||
|
1. Select your current System Menu version, followed by the System Menu Region, following the instructions in the program. If you are still confused, check the bottom option on each screen for an instructional video.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-3.png)
|
||||||
|
|
||||||
|
1. Select the exploit you would like to use to mod your Wii. The exploits below are outlined throughout this website, but in most cases we would reccommend using Wilbrand if you have an SD card on hand.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-4.png)
|
||||||
|
|
||||||
|
1. If you selected the Wilbrand option in the previous step, enter your Wii's MAC address. If you don't know how to check your Wii's MAC address, enter `Help` in the text box for an instructional video.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-5.png)
|
||||||
|
|
||||||
|
1. Select your desired System Menu version from the list.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-6.png)
|
||||||
|
|
||||||
|
1. Select whether or not you would like to install any of the listed channels - this is an optional step.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-7.png)
|
||||||
|
|
||||||
|
1. Select whether or not you would like to install a custom Wii theme, with the choice of three theme effects. Each effect deals with how much the outline when hovering over a Wii Channel spins.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-8.png)
|
||||||
|
|
||||||
|
1. Select whether or not you would like to set up a USB Loader for use with your Wii.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-9.png)
|
||||||
|
|
||||||
|
1. If you selected `Yes` in the USB Loader menu, select which USB Loader you would like to use. If you choose an individual one, we reccomend either USB Loader GX or WiiFlow as both are covered on this website, or you may optionally download each option.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-10.png)
|
||||||
|
|
||||||
|
1. If you selected `Yes` in the USB Loader menu, select where you would like to save your USB Loader files at.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-11.png)
|
||||||
|
|
||||||
|
1. Verify where you would like to save files for your SD Card and/or USB Drive.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-12.png)
|
||||||
|
|
||||||
|
1. Confirm your settings are correct, and then press `Finish`. Once you press the button, ModMii will begin to process and download files in the background, and will automatically generate and open a guide for you. From here, you should follow the guide generated by ModMii.
|
||||||
|
|
||||||
|
![](/images/modmii/modmii-wizard-13.png)
|
||||||
|
|
||||||
### SysCheck Updater Wizard
|
### SysCheck Updater Wizard
|
||||||
|
|
||||||
[SysCheck](syscheck) is a homebrew application that analyzes the modifications on a Wii. <br> You can give a SysCheck report to ModMii to help identify & update outdated mods.
|
The SysCheck Updater Wizard is a tool that utilizes the homebrew app [SysCheck](syscheck) to analyze any modifications on your Wii, especially IOS and cIOS. It accepts a `syscheck.csv` file generated by the app, and then provides any nessecary updates as needed.
|
||||||
|
|
||||||
You can have ModMii analyze a SysCheck by dragging the `syscheck.csv` file onto ModMii.exe. Alternatively, you can launch the SysCheck Updater Wizard (`SU`) from ModMii's main menu and manually browse for the file.
|
1. Open ModMii Classic and enter in `SU` to open the SysCheck Updater Wizard.
|
||||||
|
|
||||||
|
![](/images/modmii/syscheck-wizard-1.png)
|
||||||
|
|
||||||
|
1. Follow the instructions in the window if you don't already have a SysCheck log, and then drag and drop the `syscheck.csv` file from Windows Explorer into the window. This will paste the location of the file, from which you can press Enter.
|
||||||
|
|
||||||
|
![](/images/modmii/syscheck-wizard-2.png)
|
||||||
|
|
||||||
|
1. The program will analyze your SysCheck file, and will provide options for you depending on what it sees. In this example instance, the mods on the Wii were up-to-date, but there were several unnecessary IOSes that could be stubbed. If you want to make these changes to your Wii, simply enter in `Y` and press Enter. From here, you should follow the guide generated by ModMii.
|
||||||
|
|
||||||
|
![](/images/modmii/syscheck-wizard-3.png)
|
||||||
|
|
||||||
### HackMii Solutions Wizard
|
### HackMii Solutions Wizard
|
||||||
|
|
||||||
The HackMii Solutions wizard can help fix symptoms like these:
|
The HackMii Solutions Wizard is a tool that fixes problems that may arise from things like Darkcorp/CIOSSPAGHETTI by installing clean IOSes. Examples of problems that may arise because of this are listed below:
|
||||||
|
|
||||||
+ HackMii Installer not prompting "Press (1) to continue"
|
+ HackMii Installer not prompting "Press (1) to continue"
|
||||||
+ HackMii Installer says "no vulnerable IOS found!"
|
+ HackMii Installer saying "no vulnerable IOS found!"
|
||||||
+ Homebrew Channel is displaying upside-down
|
+ Homebrew Channel displaying upside-down
|
||||||
|
|
||||||
It will install clean IOSs to allow for the HackMii Installer to operate properly.
|
1. Open ModMii Skin or ModMii Classic and select the HackMii Solutions option.
|
||||||
|
|
||||||
### Abstinence Wizard
|
![](/images/modmii/hackmii-wizard-1.png)
|
||||||
|
|
||||||
This wizard requires an SD card.
|
1. Select your current System Menu version, followed by the System Menu Region, following the instructions in the program. If you are still confused, check the bottom option on each screen for an instructional video.
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
This wizard allows you to enjoy many of the benefits of a softmodded Wii without installing any permanent modifications to your Wii. It will allow you to launch an exploit to boot an from emulated NAND from external storage, rather than use your Wii's internal NAND.
|
![](/images/modmii/hackmii-wizard-2.png)
|
||||||
|
|
||||||
You can also make a NAND backup without modifying your Wii at all by navigating to ModMii's "Support" folder and launching `Casper2BootMii.bat`. <br> It will save some files to a folder named `COPY_TO_SD`; copy the files inside it to your SD card and launch an exploit like [Wilbrand](wilbrand).
|
1. Select the exploit you would like to use to mod your Wii. The exploits below are outlined throughout this website, but in most cases we would reccommend using Wilbrand if you have an SD card on hand.
|
||||||
|
|
||||||
When following one of the exploit guides above, avoid replacing the `boot.elf` file.
|
![](/images/modmii/hackmii-wizard-3.png)
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
|
1. If you selected the Wilbrand option in the previous step, enter your Wii's MAC address. If you don't know how to check your Wii's MAC address, enter `Help` in the text box for an instructional video.
|
||||||
|
|
||||||
<details id="Modmii-Tools" class="notice--info" markdown="1">
|
![](/images/modmii/hackmii-wizard-4.png)
|
||||||
<summary><a>Click here for a full list of available tools.</a></summary>
|
|
||||||
|
|
||||||
| Tool | Description |
|
1. Verify where you would like to save files for your SD Card and/or USB Drive.
|
||||||
| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
||||||
| W = ModMii Wizard <-- Start Here to Mod Your Wii! | This option can be used to mod your Wii for the first time or re-mod a Wii that has been previously modded. |
|
|
||||||
| SU = SysCheck Updater Wizard (update only your outdated softmods) | This option is useful for people who have old modifications installed to their wii such as DarkCorp/Ciosspaghetti that can potetially cause problems for the latest homebrew custom firmware. |
|
|
||||||
| U = USB-Loader Setup Wizard | This option will help you properly set up your USB loader to be able to load your disk backups from an SD or USB hard drive. |
|
|
||||||
| H = HackMii Solutions Wizard (Upside-Down HBC\No Vulnerable IOS Fix) | This option is useful for people who are having trouble getting the HackMii Installer to work, or if they just simply have an upside down homebrew channel, or if DarkCorp/Ciosspaghetti was installed and there was no homebrew channel. |
|
|
||||||
| AW = Abstinence Wizard (Non-permanent Wii Hacks) | This option is useful for people who dont want to make any permanent modifications to their Wii but still want to have some of the benefits that homebrew can offer. |
|
|
||||||
| RC = Region Change Wizard | This option can be used to change the region of your Wii without bricking it (this is the best region changer tutorial available on the internet!). |
|
|
||||||
| S = SNEEK Installation, EmuNAND Builder\Modifier, Game Bulk Extractor | This option will help you properly set up an EmuNAND (aka neek2o) onto your SD or USB. benefits for emunand include extra storage space for save games or channels. and the benefit of not making any permanent modifications to your Wii. |
|
|
||||||
| F = open a File or Folder with ModMii for many more functions! | This option is an advanced tool especially helpful for developers. |
|
|
||||||
| 1 = Download Page 1 (System Menus, IOSs, MIOSs, Channels, etc.) | This option opens the first download page that includes most of the key parts for the system menu (downloaded from NUS). |
|
|
||||||
| 2 = Download Page 2 (Apps, USB-Loader Files, CheatCodes, etc.) | This option opens the second download page that includes exploits and useful apps for your Wii including some PC programs. |
|
|
||||||
| 3 = Download Page 3 (System Menu Themes) | This option opens the third download page that includes some system menu themes and items required to install system menu themes (base apps are downloaded from NUS). |
|
|
||||||
| 4 = Download Page 4 (cIOSs and cMIOSs) | This option opens the fourth download page that includes cIOSes and cMIOSes for use in USB loaders. It is recommended to just install the recommended cioses unless you plan to do some testing. |
|
|
||||||
| A = Advanced Downloads and Forwarder DOL\ISO Builder | This option is an advanced tool used to better customize downloads or allow you to build a dol executable useful for fowarders (channels on the system menu to access Wii applications). |
|
|
||||||
| L = Load Download Queue | This option will download all of the required titles need for the Wii system menu (titles are downloaded from NUS) |
|
|
||||||
| C = Build Config Files for Bootmii, Wad Manager or Multi-Mod Manager | This option will help you build configuration files required for certain applications. |
|
|
||||||
| FC = File Cleanup & App Updater: Update Apps and\or remove un-needed files | This option is useful for people who want to clean out their SD or USB of apps deemed outdated, useless, or otherwise depreciated. |
|
|
||||||
| M = ModMii Skin Mode: use your mouse instead of your keyboard! | This option will launch ModMii skin mode. Some advanced options may not be available in this view. |
|
|
||||||
|
|
||||||
</details>
|
![](/images/modmii/modmii-wizard-12.png)
|
||||||
|
|
||||||
<details id="Modmii-Options" class="notice--info" markdown="1">
|
1. Confirm your settings are correct, and then press `Finish`. Once you press the button, ModMii will begin to process and download files in the background, and will automatically generate and open a guide for you. From here, you should follow the guide generated by ModMii. After finishing this guide, it is recommended that you use the [SysCheck Updater Wizard](#syscheck-updater-wizard) to undo any other problematic modifications on your Wii.
|
||||||
<summary><a>Click here for a full list of available options.</a></summary>
|
|
||||||
|
|
||||||
| Option | Description |
|
![](/images/modmii/hackmii-wizard-5.png)
|
||||||
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| D = Change Drive letter: | Changes where your SD files are saved to. |
|
|
||||||
| DU = Change Drive letter for USB: | Changes where your USB files are saved to. |
|
|
||||||
| d2x = change d2x cIOS version built: | Changes the cios version ModMii downloads. |
|
|
||||||
| H = Hermes cIOSs (202 & 222-224) will also be recommended | Enables Hermes IOS to be recommended and downloaded in the syscheck updater (will be stubbed if disabled). |
|
|
||||||
| CM = cMIOS included in recommended cIOSs | Enables cMIOS to be recommended and downloaded in the syscheck updater (will install stock MIOS if disabled). |
|
|
||||||
| E = Extra Brick Protection in ModMii Wizard Guides | Enables ModMiis Extra Brick Protection IOSes to be recommended and used in the syscheck updater tool. |
|
|
||||||
| U = Update IOSs. Wizard/SysCheck-Updater to update Active IOSs | Updates Existing IOSes to the latest version available on NUS. |
|
|
||||||
| AU = Auto-Updating downloads will skip update check if cached | Will skip downloading the files if already in the queue. |
|
|
||||||
| FWD = Install USB-Loader Forwarder in ModMii Wizard Guides | Will include the USB loader forwarder wad file in the USB loader wizard guides. |
|
|
||||||
| PC = PC Programs Save Location | Changes the save location for the downloadable PC programs. |
|
|
||||||
| RS = Root Save: Save IOSs\MIOSs to Root instead of WAD Folder | Saves IOSs\MIOSs to Root instead of WAD Folder. |
|
|
||||||
| 1 = Do not Keep 00000001 or NUS Folders for IOSs\MIOSs\SMs etc | Deletes the folder used for compiling the wad file and just gives you the wad file. |
|
|
||||||
| n2o = neek2o - build mod of s\uneek instead of original | Uses a better modified version of neek2o in the EmuNAND builder. |
|
|
||||||
| SSD = SNEEK and SNEEK+DI SD Access | Allows for SNEEK and SNEEK+DI access on the SD card. |
|
|
||||||
| F = Font.bin Colour for SNEEK/UNEEK | Changes the font color for neek2o. |
|
|
||||||
| SV = SNEEK Verbose Output | Displays extra information regarding EmuNAND. |
|
|
||||||
| V = Verbose for ModMii Skin & nandBinCheck | Displays another window with extra information regarding a nand check. |
|
|
||||||
| SO = Play sound at Finish | Plays a fun jingle after a successful download. |
|
|
||||||
| A = Auto-Update ModMii at program start | Will automatically check for updates when ModMii is launched. |
|
|
||||||
| N = Check for New versions of ModMii right now | Will check online for a ModMii update. |
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
[Click here to view all of our tutorials that you can find on this website!](site-navigation)
|
[Click here to view all of our tutorials that you can find on this website!](site-navigation)
|
||||||
{: .notice--info}
|
{: .notice--info}
|
||||||
|
|
5
_pages/ca_ES/nintendont.md
Normal file
5
_pages/ca_ES/nintendont.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Redirecting...
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include redirect.html redirect_to="410.html" %}
|
|
@ -16,7 +16,7 @@ Homebrew that has the ability to make permanant changes to your Wii are highligh
|
||||||
+ [**AnyRegion Changer ME**](https://oscwii.org/library/app/ARCME) - ModMii edition of AnyRegion Changer. While a powerful tool for changing region settings, it can also lead to severe bricks like [Korean Kii/Error 003](bricks#korean-kiierror-003-brick) so **only use this app if you know what you are doing**.
|
+ [**AnyRegion Changer ME**](https://oscwii.org/library/app/ARCME) - ModMii edition of AnyRegion Changer. While a powerful tool for changing region settings, it can also lead to severe bricks like [Korean Kii/Error 003](bricks#korean-kiierror-003-brick) so **only use this app if you know what you are doing**.
|
||||||
+ [**WiiXplorer-SS**](https://oscwii.org/library/app/wiixplorer-ss) - A modified and updated version of WiiXplorer. A file manager for the Wii, it allows you to view and customize files both on an SD card, a USB device, and the internal Wii memory. For this reason it is a very powerful but also dangerous tool - don't modify files on the system NAND unless you know what you are doing, as it can lead to various types of [bricks](bricks).
|
+ [**WiiXplorer-SS**](https://oscwii.org/library/app/wiixplorer-ss) - A modified and updated version of WiiXplorer. A file manager for the Wii, it allows you to view and customize files both on an SD card, a USB device, and the internal Wii memory. For this reason it is a very powerful but also dangerous tool - don't modify files on the system NAND unless you know what you are doing, as it can lead to various types of [bricks](bricks).
|
||||||
+ [**SaveGame Manager GX**](https://oscwii.org/library/app/SaveGame_Manager_GX) - A savegame/Mii extractor for the Wii. It supports GameCube memory cards (physical and virtual), emuNANDs, normal and protected saves, themes, and more.
|
+ [**SaveGame Manager GX**](https://oscwii.org/library/app/SaveGame_Manager_GX) - A savegame/Mii extractor for the Wii. It supports GameCube memory cards (physical and virtual), emuNANDs, normal and protected saves, themes, and more.
|
||||||
+ [**MyMenuifyMod**](https://oscwii.org/library/app/mymenuifymod) - An application that allows you to theme the Wii Menu. While quite useful to make your Wii unique, it also has the ability to cause a [minor brick](bricks#theme-brick), so make sure to read our [theme guide](themes) for safe usage instructions.
|
+ [**csm-installer**](https://oscwii.org/library/app/csm-installer) - An application that allows you to theme the Wii Menu. While quite useful to make your Wii unique, it also has the ability to cause a [minor brick](bricks#theme-brick), so make sure to read our [theme guide](themes) for safe usage instructions.
|
||||||
+ [CleanRip](https://oscwii.org/library/app/CleanRip) - A tool to backup GameCube and Wii discs. Further information can be found in our [disc dumping guide](dump-games).
|
+ [CleanRip](https://oscwii.org/library/app/CleanRip) - A tool to backup GameCube and Wii discs. Further information can be found in our [disc dumping guide](dump-games).
|
||||||
+ [**d2x cIOS installer**](https://oscwii.org/library/app/d2x-cios-installer) - A custom installer for Wii IOS, some of which is required for the functioning of certain software like USB loaders. You can see the guide [here](cios).
|
+ [**d2x cIOS installer**](https://oscwii.org/library/app/d2x-cios-installer) - A custom installer for Wii IOS, some of which is required for the functioning of certain software like USB loaders. You can see the guide [here](cios).
|
||||||
+ [FTPii](https://oscwii.org/library/app/ftpii) - An FTP server for your Wii, allowing you to transfer files across the network.
|
+ [FTPii](https://oscwii.org/library/app/ftpii) - An FTP server for your Wii, allowing you to transfer files across the network.
|
||||||
|
|
|
@ -1,138 +1,5 @@
|
||||||
---
|
---
|
||||||
title: "RiiConnect24"
|
title: Redirecting...
|
||||||
---
|
---
|
||||||
|
|
||||||
{% include toc title="Table of Contents" %}
|
{% include redirect.html redirect_to="https\://www\.wiilink24.com/guide/install/" %}
|
||||||
|
|
||||||
If you need help with anything regarding this tutorial, please join [the RiiConnect24 Discord server](https://discord.gg/rc24) (recommended) or [e-mail us at support@riiconnect24.net](mailto:support@riiconnect24.net).
|
|
||||||
{: .notice--primary}
|
|
||||||
|
|
||||||
[RiiConnect24](https://rc24.xyz/) allows you to use discontinued services from WiiConnect24, which include the News, Forecast, Everybody Votes, Nintendo and Check Mii Out Channel, along with Wii Mail.
|
|
||||||
|
|
||||||
It's recommended to set your Wii to the current time before proceeding. Follow [this tutorial](wiiconnect24#updating-rtc-clock) in order to set it.
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
DO NOT INSTALL RIICONNECT24 ON A WII MINI! It will not work and it will brick the system.
|
|
||||||
{: .notice--danger}
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
If you are on vWii, you will also need [Priiloader](priiloader) installed with the WC24 hacks.
|
|
||||||
{: .notice--primary}
|
|
||||||
|
|
||||||
+ An SD card or USB drive
|
|
||||||
+ A Wii with an Internet connection
|
|
||||||
+ A PC with an Internet connection
|
|
||||||
+ [RiiConnect24 Patcher (Windows, Mac and Linux)](https://github.com/riiconnect24/RiiConnect24-Patcher/releases)
|
|
||||||
+ [YAWM ModMii Edition](https://oscwii.org/library/app/yawmme)
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
#### Section I - Using RiiConnect24 Patcher
|
|
||||||
|
|
||||||
1. Click the link above to go to the GitHub page where the patcher is.
|
|
||||||
1. Download `RiiConnect24Patcher.bat` if you are on Windows, and `RiiConnect24Patcher.sh` if you are on a Unix system
|
|
||||||
1. Run the RiiConnect24 patcher.
|
|
||||||
+ On Windows run `RiiConnect24Patcher.bat`.
|
|
||||||
+ On macOS/Linux systems, open Terminal and type `bash`, then drag `RiiConnect24Patcher.sh` into the terminal then press enter. It should look like this: `bash <directory>/<directory>/RiiConnect24Patcher.sh`.
|
|
||||||
1. Press 1 to choose "`Start`" and confirm your selection by pressing `ENTER`.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/1.JPG)
|
|
||||||
|
|
||||||
1. Select the device you're patching for.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/2.JPG)
|
|
||||||
|
|
||||||
1. For this guide, choose "`Install RiiConnect24 on your Wii`"
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/3.JPG)
|
|
||||||
|
|
||||||
1. Choose "`Express (Recommended)`". It will give you everything you need.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/4.JPG)
|
|
||||||
|
|
||||||
1. Select your region.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/5.JPG)
|
|
||||||
|
|
||||||
1. While you're at it, RiiConnect24 Patcher can additionally download some other optional channels that do not use RiiConnect24. `[X]` represents the options that selected. Just press 5 and `ENTER` if you're not interested.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/6.JPG)
|
|
||||||
|
|
||||||
1. Connect your SD Card or USB Drive to your computer and select "`1`".
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/7.JPG)
|
|
||||||
|
|
||||||
1. If your device was detected successfully, select "`1`". If not, make sure there's a folder called `apps` on your SD Card or USB Drive and try again.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/8.JPG)
|
|
||||||
|
|
||||||
1. The patcher will download apps now - please be patient.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/9.JPG)
|
|
||||||
|
|
||||||
1. Once you reach the screen that says `Patching done`, you can exit the patcher. All the files should already be on your SD card.
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/10.JPG)
|
|
||||||
|
|
||||||
![](/images/riiconnect24/patcher/11.PNG)
|
|
||||||
|
|
||||||
1. If it did not copy everything automatically to your SD Card or USB Device, copy the `WAD` and `apps` folder next to `RiiConnect24Patcher.bat` or `RiiConnect24Patcher.sh` to your SD Card or USB Device.
|
|
||||||
|
|
||||||
#### Section II - Installing WADs
|
|
||||||
|
|
||||||
If you are using Dolphin, you have finished the guide. Install the WADs by going to `Tools -> Install WAD` within Dolphin.
|
|
||||||
{: .notice--primary}
|
|
||||||
|
|
||||||
You will now install the patched IOS and Channel WADs that are required to use RiiConnect24.
|
|
||||||
|
|
||||||
1. Extract the YAWM ModMii Edition `.zip` file, and copy the `apps` folder to your SD card or USB drive.
|
|
||||||
1. Put your SD card or USB drive in your Wii.
|
|
||||||
1. Launch the Homebrew Channel on your Wii.
|
|
||||||
1. Launch YAWM ModMii Edition.
|
|
||||||
1. Select the device you have put the RiiConnect24 files on.
|
|
||||||
1. Highlight all the WADs in the `wad` folder by pressing the + Button to select them. When all of the WADs are selected, press A twice to install the WADs.
|
|
||||||
1. After they are successfully installed, press the HOME Button to exit back to the Homebrew Channel.
|
|
||||||
|
|
||||||
#### Section III - Patching nwc24msg.cfg
|
|
||||||
|
|
||||||
You will now patch your `nwc24msg.cfg` file which is required in order to use Wii Mail.
|
|
||||||
|
|
||||||
1. Launch RiiConnect24 Mail Patcher.
|
|
||||||
1. It should only take a few seconds to patch your nwc24msg.cfg. When it's done, press the HOME Button to exit.
|
|
||||||
|
|
||||||
#### Section IV - Connecting to RiiConnect24
|
|
||||||
|
|
||||||
The old DNS server `164.132.44.106` has been deprecated as of `June 1st, 2023` and is no longer available to use.
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
If you're getting errors such as `WiiConnect24 and Wii Shop Channel currently not being offered in your country`, go to Wii Settings -> Last Page -> Country and change it to United Kingdom. You will get this error when using a country that RiiConnect24 does not support.
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
If you get error 107245, you did not install the patched IOS.<br> If you get error 220602, see [this](faq#for-riiconnect24-users) page.<br> If you get error 107304, see [this](faq#for-riiconnect24-users-1) page.<br>
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
You will now set your DNS to RiiConnect24 servers. This is optional but recommended, because it enhances the use of RiiConnect24 and Wiimmfi by making some other features available.
|
|
||||||
|
|
||||||
1. Go to `Wii Options`.
|
|
||||||
1. Go to `Wii Settings`.
|
|
||||||
1. Go to `Page 2`, then click on `Internet`.
|
|
||||||
1. Go to `Connection Settings`.
|
|
||||||
1. Select your current connection.
|
|
||||||
1. Go to `Change Settings`.
|
|
||||||
1. Go to `Auto-Obtain DNS` (Not IP Address), then select `No`, then `Advanced Settings`.
|
|
||||||
1. Type in `167.86.108.126` as the primary DNS.
|
|
||||||
1. Type in `1.1.1.1` as the secondary DNS.
|
|
||||||
1. Select `Confirm`, then select `Save`.
|
|
||||||
1. Select `OK` to perform a connection test.
|
|
||||||
1. If the connection test was successful, select `No` to skip the Wii System Update.
|
|
||||||
1. Go to `WiiConnect24`, then `WiiConnect24` again, and make sure it is enabled.
|
|
||||||
1. Back on the WiiConnect24 menu, go to `Standby Connection` and make sure it is enabled.
|
|
||||||
1. At `Slot Illumination`, we recommend you set the disc light to `Dim` or `Bright`, but this is optional.
|
|
||||||
1. Finally, go to the `Internet` section, then `User Agreements` or `Agreement/Contact`, then `Yes`. Please read through this.
|
|
||||||
|
|
||||||
[Return to WiiConnect24](wiiconnect24)
|
|
||||||
{: .notice--info}
|
|
||||||
|
|
||||||
[Click here to view all of our tutorials that you can find on this website!](site-navigation)
|
|
||||||
{: .notice--info}
|
|
||||||
|
|
5
_pages/ca_ES/riitag.md
Normal file
5
_pages/ca_ES/riitag.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Redirecting...
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include redirect.html redirect_to="https\://wiki.hacks.guide/wiki/RiiTag" %}
|
5
_pages/ca_ES/riivolution.md
Normal file
5
_pages/ca_ES/riivolution.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Redirecting...
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include redirect.html redirect_to="410.html" %}
|
|
@ -4,13 +4,16 @@ title: "Installing Wii Menu Themes"
|
||||||
|
|
||||||
{% include toc title="Table of Contents" %}
|
{% include toc title="Table of Contents" %}
|
||||||
|
|
||||||
This guide is intended to be the last you will ever need when it comes to theming on the Wii, not only providing instructions for the Wii Menu through MyMenuifyMod, but also with themes on WiiFlow Lite, USB Loader GX, and The Homebrew Channel. Additionally, forwarders are covered.
|
This guide is intended to be the last you will ever need when it comes to theming on the Wii, not only providing instructions for the Wii Menu through csm-installer, but also with themes on WiiFlow Lite, USB Loader GX, and The Homebrew Channel. Additionally, forwarders are covered.
|
||||||
|
|
||||||
### Wii Menu Theming
|
### Wii Menu Theming
|
||||||
|
|
||||||
DO NOT CONTINUE WITH THIS GUIDE UNLESS YOU HAVE ADEQUATE BRICK PROTECTION, SPECIFICALLY [BOOTMII](bootmii) AND [PRIILOADER](priiloader)!
|
DO NOT CONTINUE WITH THIS GUIDE UNLESS YOU HAVE ADEQUATE BRICK PROTECTION, SPECIFICALLY [BOOTMII](bootmii) AND [PRIILOADER](priiloader)!
|
||||||
{: .notice--danger}
|
{: .notice--danger}
|
||||||
|
|
||||||
|
This tutorial does not work on the Wii mini. Do not attempt this tutorial on the Wii mini or it will cause a [brick](bricks#theme-brick).
|
||||||
|
{: .notice--warning}
|
||||||
|
|
||||||
csm-installer has built in safety features to prevent from installing bad or corrupt Wii Menu themes, so please opt to use it instead of other theme installation homebrew.
|
csm-installer has built in safety features to prevent from installing bad or corrupt Wii Menu themes, so please opt to use it instead of other theme installation homebrew.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
|
|
5
_pages/ca_ES/usbloadergx.md
Normal file
5
_pages/ca_ES/usbloadergx.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Redirecting...
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include redirect.html redirect_to="wii-loaders.html" %}
|
5
_pages/ca_ES/wiibackupmanager.md
Normal file
5
_pages/ca_ES/wiibackupmanager.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Redirecting...
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include redirect.html redirect_to="wii-backups.html" %}
|
|
@ -3,44 +3,21 @@ title: "WiiConnect24"
|
||||||
---
|
---
|
||||||
|
|
||||||
{% include toc title="Table of Contents" %}
|
{% include toc title="Table of Contents" %}
|
||||||
|
<!--
|
||||||
|
This guide provides the means of regaining WiiConnect24 functionality on your console via RiiConnect24.
|
||||||
|
Although not at all nessecary, it is a "nice to have" feature that was originally used for online connectivity in certain applications on the console.
|
||||||
|
These apps include the Forecast/News Channel, Nintendo Channel, Check Mii Out Channel, some Japan-exclusive channels, and more.
|
||||||
|
-->
|
||||||
|
|
||||||
This guide provides different means of regaining WiiConnect24 functionality on your console. Although not at all nessecary, it is a "nice to have" feature that was originally used for online connectivity in certain applications on the console. These apps include the Forecast/News Channel, Nintendo Channel, Check Mii Out Channel, some Japan-exclusive channels, and more. Please bear in mind, the functionality you gain depends entirely on what service(s) you use.
|
[WiiConnect24](https://wikipedia.org/wiki/WiiConnect24) was a service that allowed users with Internet connected Wiis to view the weather & local news, send messages to friends, participate in Mii contest, and more. WiiConnect24 was discontinued on June 27th, 2013.
|
||||||
|
|
||||||
### Service Overview
|
## RiiConnect24 + WiiLink
|
||||||
|
[RiiConnect24](https://rc24.xyz) is a revival service for WiiConnect24 that started in 2015, which allows you to regain its functionality on your console. As of late 2023, the service is now owned by WiiLink, a project that started in 2020 that was previously aiming at the Japanese-exclusive channels.
|
||||||
|
|
||||||
#### Note about service compatibility:
|
There is a patcher that ships both of these services together as one - meaning you get all of the international and Japanese-only channels in one package. The guide on how to install these services can be found [on WiiLink's website.](https://www.wiilink24.com/guide/)
|
||||||
Both services listed below are compatible with one another and can be loaded on the same console. With this said, it should be noted that when installing one channel over the other (WiiLink's Forecast Channel over RiiConnect24's Forecast Channel for example), the channel you are installing will overwrite the old one.
|
|
||||||
|
|
||||||
|
|
||||||
#### Service Support Status
|
|
||||||
✅ - In support<br> ⚠️ - In development<br> ⛔ - No support
|
|
||||||
|
|
||||||
| Service Name | WiiLink | RiiConnect24 |
|
|
||||||
| ----------------------- | ------- | ------------ |
|
|
||||||
| Forecast Channel | ✅ | ✅ |
|
|
||||||
| News Channel | ⚠️ | ✅ |
|
|
||||||
| Wii Mail | ✅ | ✅ |
|
|
||||||
| Everybody Votes Channel | ✅ | ✅ |
|
|
||||||
| Nintendo Channel | ✅ | ✅ |
|
|
||||||
| Check Mii Out Channel | ⚠️ | ✅ |
|
|
||||||
| Wii Room | ✅ | ⛔ |
|
|
||||||
| Food Channel | ✅ | ⛔ |
|
|
||||||
| Photo Prints Channel | ✅ | ⛔ |
|
|
||||||
| Kirby TV Channel | ✅ | ⛔ |
|
|
||||||
| TV Guide Channel | ⚠️ | ⛔ |
|
|
||||||
|
|
||||||
#### WiiLink
|
|
||||||
A newer WC24/Japanese channel revival service that started in 2020, but is rapidly regaining functionality in many different channels.
|
|
||||||
|
|
||||||
Service support status can be found [here](https://www.wiilink24.com/status).<br> Their guide can be found [here](https://www.wiilink24.com/guide).
|
|
||||||
|
|
||||||
#### RiiConnect24
|
|
||||||
The longest lasting WC24 revival service, currently only with support for the worldwide WC24 channels as well as mail services.
|
|
||||||
|
|
||||||
Service support status can be found [here](https://rc24.xyz/stats/).<br> RiiConnect24 currently does not have a self-hosted guide, however you can find ours [here](riiconnect24).
|
|
||||||
|
|
||||||
|
<!-- move this back to another page? or no -->
|
||||||
### Updating RTC Clock
|
### Updating RTC Clock
|
||||||
If you choose to install either of these services on your Wii, it is advised to synchronize its external clock in order to prevent various issues (such as inability to use said services) that may arise otherwise. The steps to do so can be found below:
|
|
||||||
|
|
||||||
#### What you need
|
#### What you need
|
||||||
+ A working Internet connection on your Wii
|
+ A working Internet connection on your Wii
|
||||||
|
|
5
_pages/ca_ES/wiiflow.md
Normal file
5
_pages/ca_ES/wiiflow.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Redirecting...
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include redirect.html redirect_to="wii-loaders.html" %}
|
12
_pages/de_DE/410.md
Normal file
12
_pages/de_DE/410.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
title: Page no longer exists
|
||||||
|
sitemap: false
|
||||||
|
---
|
||||||
|
|
||||||
|
The page you are trying to view used to exist, but it has since been removed. Maybe the instructions you are following are outdated? (If you got here from a link on this guide, [let us know](https://github.com/hacks-guide/Guide_Wii/issues))
|
||||||
|
|
||||||
|
[Click here to go back to the site index.](site-navigation)
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
|
![](https://http.cat/410)
|
||||||
|
{: .notice--info}
|
|
@ -6,21 +6,9 @@ title: "BootMii Backup"
|
||||||
|
|
||||||
One of BootMii's most important features is the ability to backup and restore your Wii's NAND storage. We will be going over how to perform a NAND backup. You can then restore from that backup for any reason. This page will guide you in backing up your Wii's NAND to an SD Card, which you can then use however you like.
|
One of BootMii's most important features is the ability to backup and restore your Wii's NAND storage. We will be going over how to perform a NAND backup. You can then restore from that backup for any reason. This page will guide you in backing up your Wii's NAND to an SD Card, which you can then use however you like.
|
||||||
|
|
||||||
Family edition Wiis (Wiis without GameCube ports) CANNOT restore NAND backups. This is because of the lack of GameCube ports which are required on non-boot2 Wiis to enter the restoration confirmation code. Regardless, it is still recommended to make one on these consoles.
|
|
||||||
{: .notice--danger}
|
|
||||||
|
|
||||||
Du brauchst eine **SD-Karte** um eine NAND-Sicherung mittels BootMii zu erstellen. If you do not have one, you can skip this page, although it is highly recommended to make a NAND backup if you can.
|
Du brauchst eine **SD-Karte** um eine NAND-Sicherung mittels BootMii zu erstellen. If you do not have one, you can skip this page, although it is highly recommended to make a NAND backup if you can.
|
||||||
{: .notice--warning}
|
{: .notice--warning}
|
||||||
|
|
||||||
Navigating BootMii is not possible using a Wii Remote. You must use the POWER and RESET buttons on your console, or a GameCube controller plugged into port 1. To navigate between options, press POWER on your Wii (or left/right on the +Control Pad on a GameCube controller). To select an option, press RESET on your Wii or A on your GameCube controller. You will NEED to use a GameCube controller to restore a NAND backup in the future if BootMii is installed as IOS.
|
|
||||||
{: .notice--info}
|
|
||||||
|
|
||||||
If the `Launch BootMii` button does not appear, please [re-launch the HackMii Installer](hackmii) and install BootMii.
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
If the screen stays black and the blue disc drive light is blinking, you are missing the BootMii files on your SD card. Download [this zip file](https://static.hackmii.com/bootmii_sd_files.zip) and extract it to the root of your SD card, then try again.
|
|
||||||
{: .notice--warning}
|
|
||||||
|
|
||||||
### Voraussetzungen
|
### Voraussetzungen
|
||||||
|
|
||||||
* An SD card with at least 512MB of free space
|
* An SD card with at least 512MB of free space
|
||||||
|
@ -36,10 +24,19 @@ If you have BootMii installed as boot2 you will need to launch BootMii by restar
|
||||||
|
|
||||||
![](/images/bootmii/BootMii_HBC.png)
|
![](/images/bootmii/BootMii_HBC.png)
|
||||||
|
|
||||||
|
If the `Launch BootMii` button does not appear, please [re-launch the HackMii Installer](hackmii) and install BootMii.
|
||||||
|
{: .notice--warning}
|
||||||
|
|
||||||
|
If the screen stays black and the blue disc drive light is blinking, you are missing the BootMii files on your SD card. Download [this zip file](https://static.hackmii.com/bootmii_sd_files.zip) and extract it to the root of your SD card, then try again.
|
||||||
|
{: .notice--warning}
|
||||||
|
|
||||||
1. You should see an image similar to the below now on your screen:
|
1. You should see an image similar to the below now on your screen:
|
||||||
|
|
||||||
![](/images/bootmii/BootMii_Main.png)
|
![](/images/bootmii/BootMii_Main.png)
|
||||||
|
|
||||||
|
Navigating BootMii is not possible using a Wii Remote. You must use the POWER and RESET buttons on your console, or a GameCube controller plugged into port 1. To navigate between options, press POWER. To select an option, press RESET.
|
||||||
|
{: .notice--info}
|
||||||
|
|
||||||
1. Select the Options button (the icon with the gears).
|
1. Select the Options button (the icon with the gears).
|
||||||
|
|
||||||
![](/images/bootmii/BootMii_Gears.png)
|
![](/images/bootmii/BootMii_Gears.png)
|
||||||
|
@ -65,7 +62,7 @@ If you have BootMii installed as boot2 you will need to launch BootMii by restar
|
||||||
<div id="restore-notice" class="notice" markdown="1">
|
<div id="restore-notice" class="notice" markdown="1">
|
||||||
Please be reminded that <strong>restoring a NAND backup is usually a last resort,</strong> and that there often better ways to fix your brick. Es gibt oft bessere Möglichkeiten, deine Konsole zu entbricken.
|
Please be reminded that <strong>restoring a NAND backup is usually a last resort,</strong> and that there often better ways to fix your brick. Es gibt oft bessere Möglichkeiten, deine Konsole zu entbricken.
|
||||||
Versuche dein Bestes um [deinen Brick-Zustand](bricks) zu identifizieren und die Aktion umzukehren, die es ursprünglich verursacht hat.
|
Versuche dein Bestes um [deinen Brick-Zustand](bricks) zu identifizieren und die Aktion umzukehren, die es ursprünglich verursacht hat.
|
||||||
To restore from a NAND backup on your SD card, you can follow the instructions for [RestoreMii](bootmiirecover).
|
To restore from a NAND backup on your SD card, you can follow the instructions for [RestoreMii](bootmiirecover). **Family edition Wiis (Wiis without GameCube ports) CANNOT restore NAND backups.**
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
BootMii as boot2 is recommended, but only available to install on early Wii consoles. Otherwise, it can only be installed as an IOS. If you would like to change this, you can use the app [BootMii Config Editor](https://oscwii.org/library/app/BootMiiConfigurationEditor). Or, you can edit `sd:/bootmii/bootmii.ini` manually.
|
BootMii as boot2 is recommended, but only available to install on early Wii consoles. Otherwise, it can only be installed as an IOS. If you would like to change this, you can use the app [BootMii Config Editor](https://oscwii.org/library/app/BootMiiConfigurationEditor). Or, you can edit `sd:/bootmii/bootmii.ini` manually.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue