Compare commits
33 Commits
Author | SHA1 | Date | |
---|---|---|---|
46c9ecd369 | |||
f396c8f2d8 | |||
adb512459a | |||
18c35c3007 | |||
78fa0b520c | |||
ca08f6f09c | |||
5c31807ace | |||
12ab2788bd | |||
7879577712 | |||
815fa3265d | |||
40f3cf1f93 | |||
37fb0ec055 | |||
8ebec60804 | |||
4fb2994b8f | |||
3604b828a9 | |||
a233f570c6 | |||
3a7dc3781b | |||
73786d7584 | |||
1a1da36b4d | |||
d442f76af5 | |||
1305e0d972 | |||
9d5851bc89 | |||
be64535634 | |||
23e441e8eb | |||
f2f0be8394 | |||
90885cce93 | |||
b573b870c7 | |||
dabc5bb122 | |||
51d519a58f | |||
a418dfc9cc | |||
f9bc410714 | |||
d454a93b1f | |||
7905cc718a |
@ -1,19 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
# Unix-style newlines with a newline ending every file
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
|
|
||||||
[*.{js,css,scss}]
|
|
||||||
quote_type = single
|
|
||||||
|
|
||||||
[*.{yml,yaml}]
|
|
||||||
quote_type = double
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
16
.gitattributes
vendored
16
.gitattributes
vendored
@ -1,16 +0,0 @@
|
|||||||
# Set default behavior to automatically normalize line endings.
|
|
||||||
* text=auto
|
|
||||||
|
|
||||||
# Force bash scripts to always use LF line endings so that if a repo is accessed
|
|
||||||
# in Unix via a file share from Windows, the scripts will work.
|
|
||||||
*.sh text eol=lf
|
|
||||||
|
|
||||||
# Force batch scripts to always use CRLF line endings so that if a repo is accessed
|
|
||||||
# in Windows via a file share from Linux, the scripts will work.
|
|
||||||
*.{cmd,[cC][mM][dD]} text eol=crlf
|
|
||||||
*.{bat,[bB][aA][tT]} text eol=crlf
|
|
||||||
|
|
||||||
# Denote all files that are truly binary and should not be modified.
|
|
||||||
*.png binary
|
|
||||||
*.jpg binary
|
|
||||||
*.ico binary
|
|
@ -1,79 +0,0 @@
|
|||||||
# This workflow uses actions that are not certified by GitHub.
|
|
||||||
# They are provided by a third-party and are governed by
|
|
||||||
# separate terms of service, privacy policy, and support
|
|
||||||
# documentation.
|
|
||||||
|
|
||||||
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
|
|
||||||
name: Deploy Jekyll site to Pages
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Runs on pushes targeting the default branch
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- dev
|
|
||||||
|
|
||||||
# Allows you to run this workflow manually from the Actions tab
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pages: write
|
|
||||||
id-token: write
|
|
||||||
|
|
||||||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
|
||||||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
|
||||||
concurrency:
|
|
||||||
group: "pages"
|
|
||||||
cancel-in-progress: false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# Build job
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
env:
|
|
||||||
RUBY_VERSION: "3.3.5"
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: "dev"
|
|
||||||
- name: checkout pages
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: "main"
|
|
||||||
path: "pages"
|
|
||||||
- name: Setup Ruby
|
|
||||||
run: |
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install curl wget tar build-essential zlib1g-dev gpg -y && \
|
|
||||||
curl -sSL https://rvm.io/mpapis.asc | gpg --import - && \
|
|
||||||
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - && \
|
|
||||||
curl -sSL https://get.rvm.io | bash -s stable && \
|
|
||||||
source /etc/profile.d/rvm.sh && \
|
|
||||||
rvm mount -r https://raw.morlana.space/morlana/rvm-binaries/@binaries/ubuntu/22.04/aarch64/ruby-$RUBY_VERSION.tar.bz2 && \
|
|
||||||
rvm use $RUBY_VERSION && ruby -v && gem -v && \
|
|
||||||
gem install bundler jekyll webrick
|
|
||||||
- name: Setup Node
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: lts/*
|
|
||||||
- name: Build Assets
|
|
||||||
run: npm i && npm run build
|
|
||||||
- name: Build with Jekyll
|
|
||||||
# Outputs to the './_site' directory by default
|
|
||||||
run: |
|
|
||||||
source /etc/profile.d/rvm.sh && \
|
|
||||||
rvm use $RUBY_VERSION && ruby -v && gem -v && \
|
|
||||||
bundle install && \
|
|
||||||
bundle exec jekyll build --destination pages
|
|
||||||
env:
|
|
||||||
JEKYLL_ENV: production
|
|
||||||
- name: push pages
|
|
||||||
run: |
|
|
||||||
cd pages && \
|
|
||||||
git config user.name "${{ gitea.actor }}" && \
|
|
||||||
git config user.email ""${{ gitea.actor }}"@noreply.git.morlana.online" && \
|
|
||||||
git add . && \
|
|
||||||
git commit -m "jekyll build from Action ${GITHUB_SHA}" && \
|
|
||||||
git push
|
|
27
.gitignore
vendored
27
.gitignore
vendored
@ -1,27 +0,0 @@
|
|||||||
# Bundler cache
|
|
||||||
.bundle
|
|
||||||
vendor
|
|
||||||
Gemfile.lock
|
|
||||||
|
|
||||||
# Jekyll cache
|
|
||||||
.jekyll-cache
|
|
||||||
.jekyll-metadata
|
|
||||||
_site
|
|
||||||
|
|
||||||
# RubyGems
|
|
||||||
*.gem
|
|
||||||
|
|
||||||
# NPM dependencies
|
|
||||||
node_modules
|
|
||||||
package-lock.json
|
|
||||||
|
|
||||||
# IDE configurations
|
|
||||||
.idea
|
|
||||||
.vscode/*
|
|
||||||
!.vscode/settings.json
|
|
||||||
!.vscode/extensions.json
|
|
||||||
!.vscode/tasks.json
|
|
||||||
|
|
||||||
# Misc
|
|
||||||
_sass/dist
|
|
||||||
assets/js/dist
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +0,0 @@
|
|||||||
[submodule "assets/lib"]
|
|
||||||
path = assets/lib
|
|
||||||
url = https://github.com/cotes2020/chirpy-static-assets.git
|
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"commands-show-output": false,
|
|
||||||
"blanks-around-fences": false,
|
|
||||||
"line-length": false,
|
|
||||||
"no-inline-html": {
|
|
||||||
"allowed_elements": ["kbd", "sub"]
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
*.yml
|
|
||||||
*.yaml
|
|
||||||
*.md
|
|
3
.vscode/extensions.json
vendored
3
.vscode/extensions.json
vendored
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"recommendations": ["ms-vscode-remote.remote-containers"]
|
|
||||||
}
|
|
30
.vscode/settings.json
vendored
30
.vscode/settings.json
vendored
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
// Prettier
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
||||||
"editor.formatOnSave": true,
|
|
||||||
// Shopify Liquid
|
|
||||||
"files.associations": {
|
|
||||||
"*.html": "liquid"
|
|
||||||
},
|
|
||||||
"[markdown]": {
|
|
||||||
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
|
|
||||||
},
|
|
||||||
// Formatter
|
|
||||||
"[html][liquid]": {
|
|
||||||
"editor.defaultFormatter": "Shopify.theme-check-vscode"
|
|
||||||
},
|
|
||||||
"[shellscript]": {
|
|
||||||
"editor.defaultFormatter": "mkhl.shfmt"
|
|
||||||
},
|
|
||||||
// Disable vscode built-in stylelint
|
|
||||||
"css.validate": false,
|
|
||||||
"scss.validate": false,
|
|
||||||
"less.validate": false,
|
|
||||||
// Stylint extension settings
|
|
||||||
"stylelint.snippet": ["css", "scss"],
|
|
||||||
"stylelint.validate": ["css", "scss"],
|
|
||||||
// Run tasks in macOS
|
|
||||||
"terminal.integrated.profiles.osx": {
|
|
||||||
"zsh": { "path": "/bin/zsh", "args": ["-l", "-i"] }
|
|
||||||
}
|
|
||||||
}
|
|
64
.vscode/tasks.json
vendored
64
.vscode/tasks.json
vendored
@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "Run Jekyll Server",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "./tools/run.sh",
|
|
||||||
"group": {
|
|
||||||
"kind": "build",
|
|
||||||
"isDefault": true
|
|
||||||
},
|
|
||||||
"problemMatcher": [],
|
|
||||||
"detail": "Runs the Jekyll server with live reload."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Build Jekyll Site",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "./tools/test.sh",
|
|
||||||
"group": {
|
|
||||||
"kind": "build"
|
|
||||||
},
|
|
||||||
"problemMatcher": [],
|
|
||||||
"detail": "Build the Jekyll site for production."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Build JS (watch)",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "npm run watch:js",
|
|
||||||
"group": {
|
|
||||||
"kind": "build"
|
|
||||||
},
|
|
||||||
"problemMatcher": [],
|
|
||||||
"detail": "Build JS files in watch mode."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Build CSS",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "npm run build:css",
|
|
||||||
"group": {
|
|
||||||
"kind": "build"
|
|
||||||
},
|
|
||||||
"problemMatcher": [],
|
|
||||||
"detail": "Build CSS files."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Build JS & CSS",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "npm run build",
|
|
||||||
"group": {
|
|
||||||
"kind": "build"
|
|
||||||
},
|
|
||||||
"problemMatcher": [],
|
|
||||||
"detail": "Build JS & CSS for production."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Run Jekyll Server + Build JS (watch)",
|
|
||||||
"dependsOn": ["Run Jekyll Server", "Build JS (watch)"],
|
|
||||||
"group": {
|
|
||||||
"kind": "build"
|
|
||||||
},
|
|
||||||
"detail": "Runs both the Jekyll server with live reload and build JS files in watch mode."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
14
Gemfile
14
Gemfile
@ -1,14 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
source "https://rubygems.org"
|
|
||||||
|
|
||||||
gemspec
|
|
||||||
|
|
||||||
gem "html-proofer", "~> 5.0", group: :test
|
|
||||||
|
|
||||||
platforms :mingw, :x64_mingw, :mswin, :jruby do
|
|
||||||
gem "tzinfo", ">= 1", "< 3"
|
|
||||||
gem "tzinfo-data"
|
|
||||||
end
|
|
||||||
|
|
||||||
gem "wdm", "~> 0.2.0", :platforms => [:mingw, :x64_mingw, :mswin]
|
|
21
LICENSE
21
LICENSE
@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2019 Cotes Chung
|
|
||||||
|
|
||||||
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.
|
|
31
README.md
31
README.md
@ -1,31 +0,0 @@
|
|||||||
# Pages
|
|
||||||
[Live Page](https://justin.morlana.space/)
|
|
||||||
|
|
||||||
[Local Dev Env](http://127.0.0.1:4000/)
|
|
||||||
|
|
||||||
|
|
||||||
# Setup locally
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -sSL https://get.rvm.io | bash -s stable
|
|
||||||
source ~/.rvm/scripts/rvm
|
|
||||||
rvm install 3.3.5
|
|
||||||
rvm use 3.3.5 --default
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
gem install bundler jekyll webrick
|
|
||||||
npm i && npm run build
|
|
||||||
bundle install
|
|
||||||
bundle exec jekyll serve
|
|
||||||
```
|
|
||||||
|
|
||||||
# Run locally
|
|
||||||
|
|
||||||
```bash
|
|
||||||
source ~/.rvm/scripts/rvm
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
bundle exec jekyll serve
|
|
||||||
```
|
|
224
_config.yml
224
_config.yml
@ -1,224 +0,0 @@
|
|||||||
# The Site Configuration
|
|
||||||
|
|
||||||
# Import the theme
|
|
||||||
theme: jekyll-theme-chirpy
|
|
||||||
|
|
||||||
# The language of the webpage › http://www.lingoes.net/en/translator/langcode.htm
|
|
||||||
# If it has the same name as one of the files in folder `_data/locales`, the layout language will also be changed,
|
|
||||||
# otherwise, the layout language will use the default value of 'en'.
|
|
||||||
lang: de-DE
|
|
||||||
|
|
||||||
# Change to your timezone › https://kevinnovak.github.io/Time-Zone-Picker
|
|
||||||
timezone: Europe/Berlin
|
|
||||||
|
|
||||||
# jekyll-seo-tag settings › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
|
|
||||||
# ↓ --------------------------
|
|
||||||
|
|
||||||
title: SitirioTV # the main title
|
|
||||||
|
|
||||||
tagline: What something is, is not the same, as what something means. # it will display as the subtitle
|
|
||||||
|
|
||||||
description: >- # used by seo meta and the atom feed
|
|
||||||
A minimal, responsive and feature-rich Jekyll theme for technical writing.
|
|
||||||
|
|
||||||
# Fill in the protocol & hostname for your site.
|
|
||||||
# E.g. 'https://username.github.io', note that it does not end with a '/'.
|
|
||||||
url: "https://justin.morlana.space"
|
|
||||||
|
|
||||||
github:
|
|
||||||
username: justinvollmer # change to your GitHub username
|
|
||||||
|
|
||||||
#twitter:
|
|
||||||
# username: twitter_username # change to your Twitter username
|
|
||||||
|
|
||||||
social:
|
|
||||||
# Change to your full name.
|
|
||||||
# It will be displayed as the default author of the posts and the copyright owner in the Footer
|
|
||||||
name: Justin
|
|
||||||
email: sitiriotv@morlana.net # change to your email address
|
|
||||||
links:
|
|
||||||
# The first element serves as the copyright owner's link
|
|
||||||
- https://tree.morlana.link/@SitirioTV # change to your Twitter homepage
|
|
||||||
|
|
||||||
# Site Verification Settings
|
|
||||||
webmaster_verifications:
|
|
||||||
google: # fill in your Google verification code
|
|
||||||
bing: # fill in your Bing verification code
|
|
||||||
alexa: # fill in your Alexa verification code
|
|
||||||
yandex: # fill in your Yandex verification code
|
|
||||||
baidu: # fill in your Baidu verification code
|
|
||||||
facebook: # fill in your Facebook verification code
|
|
||||||
|
|
||||||
# ↑ --------------------------
|
|
||||||
# The end of `jekyll-seo-tag` settings
|
|
||||||
|
|
||||||
# Web Analytics Settings
|
|
||||||
analytics:
|
|
||||||
google:
|
|
||||||
id: # fill in your Google Analytics ID
|
|
||||||
goatcounter:
|
|
||||||
id: # fill in your GoatCounter ID
|
|
||||||
umami:
|
|
||||||
id: # fill in your Umami ID
|
|
||||||
domain: # fill in your Umami domain
|
|
||||||
matomo:
|
|
||||||
id: # fill in your Matomo ID
|
|
||||||
domain: # fill in your Matomo domain
|
|
||||||
cloudflare:
|
|
||||||
id: # fill in your Cloudflare Web Analytics token
|
|
||||||
fathom:
|
|
||||||
id: # fill in your Fathom Site ID
|
|
||||||
|
|
||||||
# Page views settings
|
|
||||||
pageviews:
|
|
||||||
provider: # now only supports 'goatcounter'
|
|
||||||
|
|
||||||
# Prefer color scheme setting.
|
|
||||||
#
|
|
||||||
# Note: Keep empty will follow the system prefer color by default,
|
|
||||||
# and there will be a toggle to switch the theme between dark and light
|
|
||||||
# on the bottom left of the sidebar.
|
|
||||||
#
|
|
||||||
# Available options:
|
|
||||||
#
|
|
||||||
# light — Use the light color scheme
|
|
||||||
# dark — Use the dark color scheme
|
|
||||||
#
|
|
||||||
theme_mode: dark
|
|
||||||
|
|
||||||
# The CDN endpoint for media resources.
|
|
||||||
# Notice that once it is assigned, the CDN url
|
|
||||||
# will be added to all media resources (site avatar, posts' images, audio and video files) paths starting with '/'
|
|
||||||
#
|
|
||||||
# e.g. 'https://cdn.com'
|
|
||||||
# cdn: "https://chirpy-img.netlify.app"
|
|
||||||
|
|
||||||
# the avatar on sidebar, support local or CORS resources
|
|
||||||
avatar: "https://tree.morlana.link/assets/img/4_1740692094.png"
|
|
||||||
|
|
||||||
# The URL of the site-wide social preview image used in SEO `og:image` meta tag.
|
|
||||||
# It can be overridden by a customized `page.image` in front matter.
|
|
||||||
social_preview_image: # string, local or CORS resources
|
|
||||||
|
|
||||||
# boolean type, the global switch for TOC in posts.
|
|
||||||
toc: true
|
|
||||||
|
|
||||||
comments:
|
|
||||||
# Global switch for the post-comment system. Keeping it empty means disabled.
|
|
||||||
provider: # [disqus | utterances | giscus]
|
|
||||||
# The provider options are as follows:
|
|
||||||
disqus:
|
|
||||||
shortname: # fill with the Disqus shortname. › https://help.disqus.com/en/articles/1717111-what-s-a-shortname
|
|
||||||
# utterances settings › https://utteranc.es/
|
|
||||||
utterances:
|
|
||||||
repo: # <gh-username>/<repo>
|
|
||||||
issue_term: # < url | pathname | title | ...>
|
|
||||||
# Giscus options › https://giscus.app
|
|
||||||
giscus:
|
|
||||||
repo: # <gh-username>/<repo>
|
|
||||||
repo_id:
|
|
||||||
category:
|
|
||||||
category_id:
|
|
||||||
mapping: # optional, default to 'pathname'
|
|
||||||
strict: # optional, default to '0'
|
|
||||||
input_position: # optional, default to 'bottom'
|
|
||||||
lang: # optional, default to the value of `site.lang`
|
|
||||||
reactions_enabled: # optional, default to the value of `1`
|
|
||||||
|
|
||||||
# Self-hosted static assets, optional › https://github.com/cotes2020/chirpy-static-assets
|
|
||||||
assets:
|
|
||||||
self_host:
|
|
||||||
enabled: # boolean, keep empty means false
|
|
||||||
# specify the Jekyll environment, empty means both
|
|
||||||
# only works if `assets.self_host.enabled` is 'true'
|
|
||||||
env: # [development | production]
|
|
||||||
|
|
||||||
pwa:
|
|
||||||
enabled: true # The option for PWA feature (installable)
|
|
||||||
cache:
|
|
||||||
enabled: true # The option for PWA offline cache
|
|
||||||
# Paths defined here will be excluded from the PWA cache.
|
|
||||||
# Usually its value is the `baseurl` of another website that
|
|
||||||
# shares the same domain name as the current website.
|
|
||||||
deny_paths:
|
|
||||||
# - "/example" # URLs match `<SITE_URL>/example/*` will not be cached by the PWA
|
|
||||||
|
|
||||||
paginate: 10
|
|
||||||
|
|
||||||
# The base URL of your site
|
|
||||||
baseurl: "/"
|
|
||||||
|
|
||||||
# ------------ The following options are not recommended to be modified ------------------
|
|
||||||
|
|
||||||
kramdown:
|
|
||||||
footnote_backlink: "↩︎"
|
|
||||||
syntax_highlighter: rouge
|
|
||||||
syntax_highlighter_opts: # Rouge Options › https://github.com/jneen/rouge#full-options
|
|
||||||
css_class: highlight
|
|
||||||
# default_lang: console
|
|
||||||
span:
|
|
||||||
line_numbers: false
|
|
||||||
block:
|
|
||||||
line_numbers: true
|
|
||||||
start_line: 1
|
|
||||||
|
|
||||||
collections:
|
|
||||||
tabs:
|
|
||||||
output: true
|
|
||||||
sort_by: order
|
|
||||||
cyberpunk:
|
|
||||||
output: true
|
|
||||||
sidebar: false
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
- scope:
|
|
||||||
path: "" # An empty string here means all files in the project
|
|
||||||
type: posts
|
|
||||||
values:
|
|
||||||
layout: post
|
|
||||||
comments: true # Enable comments in posts.
|
|
||||||
toc: true # Display TOC column in posts.
|
|
||||||
# DO NOT modify the following parameter unless you are confident enough
|
|
||||||
# to update the code of all other post links in this project.
|
|
||||||
permalink: /posts/:title/
|
|
||||||
- scope:
|
|
||||||
path: _drafts
|
|
||||||
values:
|
|
||||||
comments: false
|
|
||||||
- scope:
|
|
||||||
path: ""
|
|
||||||
type: tabs # see `site.collections`
|
|
||||||
values:
|
|
||||||
layout: page
|
|
||||||
permalink: /:title/
|
|
||||||
|
|
||||||
sass:
|
|
||||||
style: compressed
|
|
||||||
|
|
||||||
compress_html:
|
|
||||||
clippings: all
|
|
||||||
comments: all
|
|
||||||
endings: all
|
|
||||||
profile: false
|
|
||||||
blanklines: false
|
|
||||||
ignore:
|
|
||||||
envs: [development]
|
|
||||||
|
|
||||||
exclude:
|
|
||||||
- "*.gem"
|
|
||||||
- "*.gemspec"
|
|
||||||
- docs
|
|
||||||
- tools
|
|
||||||
- README.md
|
|
||||||
- LICENSE
|
|
||||||
- "*.config.js"
|
|
||||||
- package*.json
|
|
||||||
|
|
||||||
jekyll-archives:
|
|
||||||
enabled: [categories, tags]
|
|
||||||
layouts:
|
|
||||||
category: category
|
|
||||||
tag: tag
|
|
||||||
permalinks:
|
|
||||||
tag: /tags/:name/
|
|
||||||
category: /categories/:name/
|
|
@ -1,49 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: Female V Appearance
|
|
||||||
permalink: /cyberpunk/female-v-appearance
|
|
||||||
toc: false
|
|
||||||
hidden: true
|
|
||||||
media_subpath: assets/img/cyberpunk
|
|
||||||
---
|
|
||||||
|
|
||||||
## Character Creator
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
| Attribute | Option |
|
|
||||||
| ---------------- | ---------- |
|
|
||||||
| VOICE TONE | FEMININE |
|
|
||||||
| SKIN TONE | 01 |
|
|
||||||
| SKIN TYPE | 04 |
|
|
||||||
| HAIRSTYLE | 22 |
|
|
||||||
| HAIR COLOR | 6 (BLACK) |
|
|
||||||
| EYES | 14 |
|
|
||||||
| EYE COLOR | 2 (BLUE) |
|
|
||||||
| EYEBROWS | 03 |
|
|
||||||
| EYEBROW COLOR | 06 (BLACK) |
|
|
||||||
| EYELASH COLOR | 25 (BLACK) |
|
|
||||||
| NOSE | 05 |
|
|
||||||
| MOUTH | 13 |
|
|
||||||
| JAW | 06 |
|
|
||||||
| EARS | 03 |
|
|
||||||
| CYBERWARE | 11 |
|
|
||||||
| FACIAL SCARS | OFF |
|
|
||||||
| FACIAL TATTOOS | OFF |
|
|
||||||
| PIERCINGS | OFF |
|
|
||||||
| TEETH | 00 |
|
|
||||||
| EYE MAKEUP | 19 |
|
|
||||||
| EYE MAKEUP COLOR | 01 (BLACK) |
|
|
||||||
| LIP MAKEUP STYLE | OFF |
|
|
||||||
| CHEEK MAKEUP | OFF |
|
|
||||||
| BLEMISHES | OFF |
|
|
||||||
| NAILS | LONG |
|
|
||||||
| NAIL COLOR | 13 |
|
|
||||||
| CHEST | BIG |
|
|
||||||
| NIPPLES | 02 |
|
|
||||||
| BODY TATTOOS | OFF |
|
|
||||||
| BODY SCARS | OFF |
|
|
||||||
| GENITIALS | VAGINA |
|
|
||||||
| PUBIC HAIR STYLE | OFF |
|
|
@ -1,106 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: Judy Romance Guide
|
|
||||||
permalink: /cyberpunk/judy-romance-guide
|
|
||||||
toc: false
|
|
||||||
hidden: true
|
|
||||||
---
|
|
||||||
|
|
||||||
*Disclaimer: I am not the original writer of the guide.*
|
|
||||||
|
|
||||||
## The Information (Main Mission)
|
|
||||||
|
|
||||||
- This is your first encounter with Judy.
|
|
||||||
|
|
||||||
## Automatic Love (Main Mission)
|
|
||||||
|
|
||||||
- While this will have no effect on your Romance with Judy, it is worth noting that when opting <span style="color:orange">to be honest with Judy</span> during your conversation when arriving at Lizzie's Bar, you will unlock additional dialogue in future missions.
|
|
||||||
- <span style="color:grey">While this dialogue will still be available should you have opted to not tell her anything, you will need to take extra steps during future conversations in order to receive the above mentioned dialogue.</span>
|
|
||||||
|
|
||||||
## The Space In Between (Main Mission)
|
|
||||||
|
|
||||||
- Select dialogue as you please, as there are no consequences for your actions and choices during this Main Job.
|
|
||||||
|
|
||||||
## Disasterpiece (Main Mission)
|
|
||||||
|
|
||||||
- Select dialogue as you please, as there are no consequences for your actions and choices during this Main Job.
|
|
||||||
|
|
||||||
## Double Life (Main Mission)
|
|
||||||
|
|
||||||
- After listening to the entire audio conversation, you'll have the chance to <span style="color:orange">speak with Judy when leaving the braindance. Choose your answers wisely, as much like **Automatic Love**, this dialogue option will have a small effect on future dialogue with Judy</span> - but it will have **no** effect on your romance chances.
|
|
||||||
|
|
||||||
## Both Sides, Now (Side Mission)
|
|
||||||
|
|
||||||
- After you complete the main quest "Double Life." Judy will call you after **24 hours**.
|
|
||||||
- After completing the mission Judy gives you, wait for the next! There aren't many important choices to be made, yet.
|
|
||||||
|
|
||||||
## Ex-Factor (Side Mission)
|
|
||||||
|
|
||||||
- After completing the previous mission. Judy will text you asking for your help.
|
|
||||||
|
|
||||||
> <span style="color:red">Make sure you text back and hit ***"Sure I'll help"*** when she calls you.</span>
|
|
||||||
|
|
||||||
- If you accidentally decline the quest you can still call her back in order to accept it at a later date. However, this may affect your chances of completing her romance.
|
|
||||||
- Complete the quest, You're Choices here don't have much to any impact.
|
|
||||||
|
|
||||||
## Talkin' 'Bout A Revolution (Side Mission)
|
|
||||||
|
|
||||||
- Judy will text you again after completing the previous mission, reply and wait **24 hours or just skip**. You'll then receive a phone call to accept the mission
|
|
||||||
- Upon arrival at Judy's apartment, she'll hatch her masterplan and you'll help train one of her friends, after this, you want to select the following dialogue options.
|
|
||||||
|
|
||||||
> <span style="color:red">***"You can count on me."*** This will start the next mission.</span>
|
|
||||||
|
|
||||||
- During this follow up you'll be presented with the following dialogue options, <span style="color:red">be sure to go with</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***"Out of the question."***</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***"Forget about it, It's passed."*** and</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***[Lean] "Sure, Thanks."***</span>
|
|
||||||
|
|
||||||
- You will then fall asleep on her sofa and wake up to breakfast, this must mean you're doing something right, right?
|
|
||||||
|
|
||||||
## Pisces (Side Mission)
|
|
||||||
|
|
||||||
- Judy will call you again with another quest, be sure to accept it
|
|
||||||
- When you arrive at the penthouse meeting be sure to follow these dialogue options.
|
|
||||||
|
|
||||||
> <span style="color:red">***"Let's do this."***</span>
|
|
||||||
|
|
||||||
> <span style="color:red">"Who are the other two?"</span>
|
|
||||||
|
|
||||||
> <span style="color:red">"Do my best, jack 'em out."</span>
|
|
||||||
|
|
||||||
> <span style="color:red">"Hold on, think you've gone too far!"</span>
|
|
||||||
|
|
||||||
> <span style="color:red">[Draw Weapon] "Let's cut this quick." (Kill the gang leaders) "what?" "You tried to cheat us all!" [Betray Maiko]</span>
|
|
||||||
|
|
||||||
- This is an important part of the mission, if you side with Maiko you won't unlock Judy's final mission.
|
|
||||||
|
|
||||||
## Pyramid Song (Side Mission)
|
|
||||||
|
|
||||||
- Judy will need time to process the events of the past days. She will eventually call you asking if you would like to go diving with her.
|
|
||||||
|
|
||||||
> <span style="color:red">Be sure to pick ***"Hell yeah I'm in"***</span>
|
|
||||||
|
|
||||||
- Complete the mission. There are optional tasks during this, these let you find out a little more about Judy's past
|
|
||||||
- When you arrive back at the cottage with <span style="color:red">Judy she will invite you to stay over, pick</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***[Stand] "Why not"***</span> - Important decision
|
|
||||||
|
|
||||||
- If you decline the invitation the mission will end and no romance for you!
|
|
||||||
- Upon turning on the power, you overhear Judy's thoughts about her old friend. <span style="color:red">Approach the bathroom door and select the following.</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***[Sit] "We're still synced."*** [Touch]</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***"It is ours."*** Judy will then proceed to kiss you, leading to the romance scene.</span> - Important decision.
|
|
||||||
|
|
||||||
- The next day you'll find Judy sitting by the pier, she'll ask you a question, <span style="color:red">make sure you pick</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***"The beginning of something amazing"***</span> - Important decision.
|
|
||||||
|
|
||||||
- This will trigger a relationship with Judy in which she'll sometimes drunk text or call you, amongst other forms of interaction whether you see her or call her. You will also get a key to her apartment
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
This is regarded as one of the most in-depth and detailed storylines in Cyberpunk 2077 and also key in unlocking the ending with Judy. Upon completing this you'll be rewarded with the "Judy vs Night City" achievement.
|
|
@ -1,139 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: Panam Romance Guide
|
|
||||||
permalink: /cyberpunk/panam-romance-guide
|
|
||||||
toc: false
|
|
||||||
hidden: true
|
|
||||||
---
|
|
||||||
|
|
||||||
*Disclaimer: I am not the original writer of the guide.*
|
|
||||||
|
|
||||||
## Ghost Town (Main Mission)
|
|
||||||
|
|
||||||
- During the "Ghost Town" mission you'll be presented with the choice of perusing the Raffens' hideout. Make sure you pick this with the line
|
|
||||||
|
|
||||||
> ***"Ok. Where's the hideout"***
|
|
||||||
|
|
||||||
- After wiping out the Scavs, you and Panam will go enjoy a drink together, and eventually, you'll find out you'll be sleeping in the motel for the night. make sure you pick
|
|
||||||
|
|
||||||
> ***"Maybe we just get one room?"*** followed with ***"Not exactly what I meant."***
|
|
||||||
|
|
||||||
- she'll agree but relax cowboy! this is her standard reaction.
|
|
||||||
|
|
||||||
## Life During Wartime (Main Mission)
|
|
||||||
|
|
||||||
- During the mission "Life During Wartime" you'll find yourself scouting the enemy camp with a drone. After which make sure you tell Panam to stay in the car with
|
|
||||||
|
|
||||||
> ***"Stay in the car, you're hurt. Won't be too much help out here anyway"***
|
|
||||||
|
|
||||||
- After saving Mitch from the wreckage ask Panam to help you find Hellman.
|
|
||||||
|
|
||||||
> ***"I gotta get Hellman, will you help?"*** Followed by ***"I'll help you settle the score with Kang Tao"***
|
|
||||||
|
|
||||||
- After you capture Hellman, Saul arrives to slam down his iron fist. As he is doing so, you'll be given a quick-response dialogue. Make sure you're quick to say
|
|
||||||
|
|
||||||
> ***"It really wasn't Panam's fault"***
|
|
||||||
|
|
||||||
## Riders On The Storm (Side Mission)
|
|
||||||
|
|
||||||
- Panam will call you saying Saul is in need of you're help. Take the mission and head to the Aldecado camp where you'll have a quick brief. make sure you select the following.
|
|
||||||
|
|
||||||
> ***"We're chooms, that's why"***
|
|
||||||
|
|
||||||
> ***"Do it quietly, sure. Perfect for two."***
|
|
||||||
|
|
||||||
- Panam will then ask you to ride with her. Agree to it with
|
|
||||||
|
|
||||||
> ***"Yeah, 'course."***
|
|
||||||
|
|
||||||
- <span style="color:red">After you've rescued Saul you'll haul up in a broken-down hut. The two are arguing and be sure to take sides with Panam here with</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***"Shitty Idea, Panam is right"***</span> - Important decision
|
|
||||||
|
|
||||||
- After Saul goes to rest. make sure you select,
|
|
||||||
|
|
||||||
> ***[Raise a toast] "To Haboobs!"*** followed with ***"Pleased with your stay, Ma'am?"***
|
|
||||||
|
|
||||||
> ***"You'd be more comfortable with your shoes off, Ma'am"***
|
|
||||||
|
|
||||||
> <span style="color:red">***[Touch Panam's thigh] "Got a few ideas"***</span> - Important decision!
|
|
||||||
|
|
||||||
- Panam will reject your approach but fear not. It's all part of the process.
|
|
||||||
|
|
||||||
- The next morning there are a few dialogue options, so be sure to go with
|
|
||||||
|
|
||||||
> ***"so-so, back's numb"***
|
|
||||||
|
|
||||||
> ***"Thought you were gonna stay with your family?"***
|
|
||||||
|
|
||||||
- <span style="color:red">After Panam will make way to her motorcycle you'll be prompt with a quick response</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***[Stop Panam] "About last night"***</span> - Important decision.
|
|
||||||
|
|
||||||
- Panam should turn back and land a kiss on you. Don't get too excited just yet, there's more work for you to do!
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## With A Little Help From My Friends (Side Mission)
|
|
||||||
|
|
||||||
- Panam will call you as she will with all her missions.
|
|
||||||
|
|
||||||
- <span style="color:red">Just make sure you accept the mission. Upon arriving at the camp you'll approach Saul and enter a conversation. Be sure you choose</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***"Forbade Panam from doing something?"***</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***"Feel like these fights been going on for a while"***</span> - Important decision
|
|
||||||
|
|
||||||
- Don't reveal Panam's plan to Saul!
|
|
||||||
|
|
||||||
- Agree to go on the mission
|
|
||||||
|
|
||||||
> "Ok, I'm in"
|
|
||||||
|
|
||||||
- After finding the card. Approach Panam who is leaning over a window
|
|
||||||
|
|
||||||
> ***[Stand by window] "Missed you"*** followed with, ***"So, let's start."***
|
|
||||||
|
|
||||||
> ***"Ok. But can we skip the tiptoeing?"***
|
|
||||||
|
|
||||||
> ***"So far, So good."***
|
|
||||||
|
|
||||||
> ***"Why's it different with me?"***
|
|
||||||
|
|
||||||
- <span style="color:red">Now you'll be presented with an action, be sure to pick</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***[Touch Panam's Hand] "Next time, try following your impulse."***</span> - Important decision.
|
|
||||||
|
|
||||||
- Related to the impulse conversation you'll have later on
|
|
||||||
|
|
||||||
- Now you'll be sat at a campfire with Panam. Make sure you say the following.
|
|
||||||
|
|
||||||
> ***"Worried about Saul?"***
|
|
||||||
|
|
||||||
> ***"Think I'll try getting some shut-eye."***
|
|
||||||
|
|
||||||
> <span style="color:red">***[Scooch Closer] "Getting kinda cold"***</span> - Important decision!
|
|
||||||
|
|
||||||
- Now the pair of you will share a romantic moment staring at the stars.
|
|
||||||
|
|
||||||
## Queen Of The Highway (Side Mission)
|
|
||||||
|
|
||||||
- Panam - will call you telling you the Basilisk is ready. Head to the camp.
|
|
||||||
|
|
||||||
- When you find yourself inside the Basilisk say the following.
|
|
||||||
|
|
||||||
> ***"Anybody get it running earlier?"***
|
|
||||||
|
|
||||||
>
|
|
||||||
|
|
||||||
> ***"Nice and cozy in here"***
|
|
||||||
|
|
||||||
- After quickly defending the camp from attacking Scavs you and Panam find some alone time. <span style="color:red">Here you'll be presented with a Kiss icon on the dialogue, be sure to pick this</span>
|
|
||||||
|
|
||||||
> <span style="color:red">***[Let Panam touch you] "Oh yeah, let's go."***</span> - Important decision!
|
|
||||||
|
|
||||||
- This will ultimately result in the romance scene with Panam in what would be theoretically the most amazing experience of V's life. Seeing as both V's and Panam's senses are intertwined, meaning they can feel everything the other person can.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
At last! all the work paid off. Now you have the choice to Kiss Panam upon exiting the mission and this will enable you to continue to reply to texts she occasionally sends and be flirty with her during them. This also builds your relations with the Aldecados as they accept you into their "family" and you'll also unlock the "Life of the Road" Achievement for completing Panam's questline.
|
|
@ -1,115 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: SitirioTV's Cyberpunk 2077 Mod Collection
|
|
||||||
permalink: /cyberpunk/sitiriotvs-cyberpunk-2077-mod-collection
|
|
||||||
toc: false
|
|
||||||
hidden: true
|
|
||||||
---
|
|
||||||
|
|
||||||
## Mod List (v2.21)
|
|
||||||
> *Last Update: 12th May 2025*
|
|
||||||
|
|
||||||
### Dependency Mods
|
|
||||||
|
|
||||||
| Mod name | Link | Updated |
|
|
||||||
| ------------------ | -------------------------------------------------------------- | ------- |
|
|
||||||
| redscript | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/1511) | YES |
|
|
||||||
| Codeware | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/7780) | YES |
|
|
||||||
| RED4ext | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/2380) | YES |
|
|
||||||
| Native Settings UI | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/3518) | YES |
|
|
||||||
| ArchiveXL | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4198) | YES |
|
|
||||||
| TweakXL | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4197) | YES |
|
|
||||||
| Mod Settings | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4885) | YES |
|
|
||||||
| Input Loader | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4575) | YES |
|
|
||||||
|
|
||||||
---
|
|
||||||
### Content Mods
|
|
||||||
> *Use SHIFT + mouse wheel to scroll horizontally*
|
|
||||||
|
|
||||||
|
|
||||||
| Mod name | Link | Category | Note | Updated |
|
|
||||||
| -------------------------------------------- | --------------------------------------------------------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------- | ----------- |
|
|
||||||
| Photo Mode Unlocker 2.0 XL | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4319) | Character | required for *Lizzie's Braindances* | YES |
|
|
||||||
| Photomode NPCs Extended | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/18837) | Character | | YES |
|
|
||||||
| Preem Hair | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/8223) | Character / Visual | | YES |
|
|
||||||
| Preem Skin | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/8157) | Character / Visual | | YES |
|
|
||||||
| Custom Blackwall quickhacks | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/9759) | Gameplay / Ability | | YES |
|
|
||||||
| Better Netrunning - Hacking Reworked | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/2302) | Gameplay | <span style="color:red">Changes the rules of Netrunning / Hacking.</span> Please read the Mod description beforehand. | YES |
|
|
||||||
| Auto Drive | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/14680) | Immersion | | YES |
|
|
||||||
| Better Sleeves | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/10319) | Immersion | | YES |
|
|
||||||
| Lean Anywhere | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/9938) | Immersion | | Not working |
|
|
||||||
| Night City Interactions | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/5519) | Immersion | | YES |
|
|
||||||
| Sit Anywhere | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/7299) | Immersion | | Not working |
|
|
||||||
| Sit Anywhere - Immersive FPP Camera 2.0 | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/7316) | Immersion | | Not working |
|
|
||||||
| Hackable and Grabbable Civilians | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/18847) | Immersion | | YES |
|
|
||||||
| Trace Position Overhaul | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/12445) | Immersion | | YES |
|
|
||||||
| Underwear remover rebuilt | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/18538) | NSFW | | YES |
|
|
||||||
| Real Vendor Names | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4941) | QoL | | YES |
|
|
||||||
| The Passenger - Feature Settings | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/18380) | QoL | | YES |
|
|
||||||
| Cyber Drift | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/8306) | QoL | Car Physics | YES |
|
|
||||||
| Gripped up | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/12937) | QoL | Car Physics | YES |
|
|
||||||
| Dynamic Downforce | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/12841) | QoL | Car Physics | YES |
|
|
||||||
| Dynamic Gravity Modifier | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/13986) | QoL | Car Physics | YES |
|
|
||||||
| Hangout Romances | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/18972) | Romance | | YES |
|
|
||||||
| I Really Want To Stay At Your House - Judy | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/8753) | Romance | | YES |
|
|
||||||
| I Really Want To Stay At Your House - Panam | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/8775) | Romance | | YES |
|
|
||||||
| Judy Romanced Enhanced | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4508) | Romance | | YES |
|
|
||||||
| Panam Romanced Enhanced | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/4626) | Romance | | YES |
|
|
||||||
| Romance Hangouts Enhanced | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/11590) | Romance | | YES |
|
|
||||||
| Panam Romance for female V | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/2782) | Romance | Use command below + <span style="color:red">Might break Male V Romance with Panam</span> | YES |
|
|
||||||
| Appearance Menu Mod | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/790) | Scripting | | YES |
|
|
||||||
| [Cyber Engine Tweaks](cyber-engine-tweaks) | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/107) | Scripting | | YES |
|
|
||||||
| FreeFly (Noclip) | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/780) | Scripting | | YES |
|
|
||||||
| Ultimate AMM Locations Collection (over 700) | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/11996) | Scripting | Extension for *Appearance Menu Mod* + See description for location guide | YES |
|
|
||||||
| BLOOD FX - EGGHANCED | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/11834) | Visual | | YES |
|
|
||||||
| Blood Puddles - EGGHANCED | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/12770) | Visual | | YES |
|
|
||||||
| Crouch vignette effect remover | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/535) | Visual | | YES |
|
|
||||||
| Immersive First Person | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/2675) | Visual | | YES |
|
|
||||||
| V's Edgerunners Mansion - Apartment DLC | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/5437) | World | | YES |
|
|
||||||
| Luxury Corporate The Glen Apartment | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/18670) | World | | YES |
|
|
||||||
| Weathermancer - Weather Select Menu | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/9805) | World | | YES |
|
|
||||||
| A new dawn beyond night city | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/15524) | World | | YES |
|
|
||||||
| Better traffic lights | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/14316) | World | | YES |
|
|
||||||
| NIGHT CITY ALIVE (REDmod) | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/10395) | World / Immersion | | YES |
|
|
||||||
| Lizzie's Braindances | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/11077) | World / Romance / NSFW | | YES |
|
|
||||||
|
|
||||||
---
|
|
||||||
### Custom Scripts
|
|
||||||
|
|
||||||
| Mod name | Link | Category |
|
|
||||||
| ---------------------------------------- | -------------------------------------------------------------- | ------------------- |
|
|
||||||
| Categorized All-In-One Command List | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/521) | Spreadsheet (Excel) |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Looking if it's good
|
|
||||||
|
|
||||||
|
|
||||||
| Mod name | Link | Note |
|
|
||||||
| --------------------------- | --------------------------------------------------------------- | ---- |
|
|
||||||
| Non-Canon Romances Enhanced | [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/20466) | Soon |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Romance Override for Panam with Fem V
|
|
||||||
|
|
||||||
Install the [Mod](https://www.nexusmods.com/cyberpunk2077/mods/2782)
|
|
||||||
|
|
||||||
Enter CET Command:
|
|
||||||
|
|
||||||
```
|
|
||||||
Game.GetQuestsSystem():SetFactStr("panam_romanceable", 1)
|
|
||||||
```
|
|
||||||
|
|
||||||
Check via: (it should return `1`)
|
|
||||||
|
|
||||||
```
|
|
||||||
print(Game.GetQuestsSystem():GetFactStr("panam_romanceable"))
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
- Install manually
|
|
||||||
- Drag ZIP content into the Cyberpunk 2077 base game folder
|
|
||||||
- Vortex hasn't been used
|
|
@ -1,76 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: Ultimate Netrunner Build
|
|
||||||
permalink: /cyberpunk/ultimate-netrunner-build
|
|
||||||
toc: false
|
|
||||||
hidden: true
|
|
||||||
media_subpath: assets/img/cyberpunk
|
|
||||||
---
|
|
||||||
|
|
||||||
## Perks & Attributes
|
|
||||||
|
|
||||||
> Visit the [Cyberpunk Build-Planner](https://www.cyberpunk.net/de/build-planner?a=k4kkh&b=11111000000000000000031110000001&r=010101&i=11010111201011211101211311113111311111&t=111020110211010310010310000000001&c=01&e=313111131){: target="_blank" }
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Weapons Guide
|
|
||||||
|
|
||||||
| WEAPON | HOW TO GET |
|
|
||||||
| --- | --- |
|
|
||||||
| YINGLONG (ICONIC) | [Location - YouTube](https://www.youtube.com/watch?v=TdfHuOcBumw) |
|
|
||||||
| LEXINGTON X-MOD2 (ICONIC) | Win the game at the gun shop in Megabuilding H10 |
|
|
||||||
| BYAKKO (ICONIC) | You can get the Byakko Katana during Wakako's questline in Cyberpunk 2077. The Katana cannot be purchased from a vendor, so you will need to complete the "Professional Widow" side gig to get your hands on the Byakko Katana. |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Cyberware
|
|
||||||
|
|
||||||
{: width="1280" height="720" }
|
|
||||||
|
|
||||||
### Frontal Cortex
|
|
||||||
- COX-2 CYBERSOMATIC OPTIMIZER (ICONIC)
|
|
||||||
- EX-DISK
|
|
||||||
- AXOLOTL (ICONIC)
|
|
||||||
|
|
||||||
### Arms
|
|
||||||
- MONOWIRE
|
|
||||||
- CRIPPLE MOVEMENT HACK
|
|
||||||
|
|
||||||
### Skeleton
|
|
||||||
- EPIMORPHIC SKELETON
|
|
||||||
- PARA BELLUM
|
|
||||||
- FEEN-X
|
|
||||||
|
|
||||||
### Nervous System
|
|
||||||
- NEOFIBER
|
|
||||||
- REFLEX TUNER
|
|
||||||
|
|
||||||
### Integumentary System
|
|
||||||
- CARAPACE
|
|
||||||
- SHOCK-N-AWE
|
|
||||||
- COGITO LATTICE
|
|
||||||
|
|
||||||
### Operating System
|
|
||||||
- TETRATONIC RIPPLER MK. 5 (in order)
|
|
||||||
- MEMORY WIPE
|
|
||||||
- SONIC SHOCK
|
|
||||||
- OVERHEAT
|
|
||||||
- PING
|
|
||||||
- CYBERWARE MALFUNCTION
|
|
||||||
- SHORT CIRCUIT
|
|
||||||
- SYSTEM COLLAPSE
|
|
||||||
- SYNAPSE BURNOUT
|
|
||||||
|
|
||||||
### Face
|
|
||||||
- KIROSHI "SENTRY" OPTICS
|
|
||||||
|
|
||||||
### Hands
|
|
||||||
- SMART LINK
|
|
||||||
|
|
||||||
### Circulatory System
|
|
||||||
- BLOOD PUMP
|
|
||||||
- BIOMONITOR
|
|
||||||
- SECOND HEART
|
|
||||||
|
|
||||||
### Legs
|
|
||||||
- REINFORCED TENDONS
|
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: Unlock Secret Ending Dialogue Options
|
|
||||||
permalink: /cyberpunk/unlock-secret-ending-dialogue-options
|
|
||||||
toc: false
|
|
||||||
hidden: true
|
|
||||||
---
|
|
||||||
|
|
||||||
## Mission: Chippin' In
|
|
||||||
|
|
||||||
1. **[Inscribe Johnny's Initials] "Let's do something about that."**
|
|
||||||
2. **"The Guy who Saved My Life."**
|
|
||||||
3. **"Nah, fucked that up too."**
|
|
||||||
4. **"What do you want from me?"**
|
|
||||||
5. **"OK. But as second chances go, this is your last."**
|
|
||||||
6. **"You were a real dick in the beginning."**
|
|
||||||
7. **"When you said you let down your friends..."**
|
|
||||||
8. **"Smasher biz really got to her."**
|
|
||||||
9. **"Yeah, I'll call Rogue."**
|
|
@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
layout: page
|
|
||||||
title: Cyber Engine Tweaks
|
|
||||||
permalink: /cyberpunk/cyber-engine-tweaks
|
|
||||||
toc: false
|
|
||||||
hidden: true
|
|
||||||
---
|
|
||||||
|
|
||||||
## About
|
|
||||||
|
|
||||||
Scripting framework for modders and quality of life fixes.
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
|
|
||||||
- Cyber Engine Tweaks - [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/107)
|
|
||||||
- How to install CET manually - [redmodding.org](https://wiki.redmodding.org/cyber-engine-tweaks/getting-started/installing){: target="_blank" }
|
|
||||||
- Categorized AIO Command List - [NexusMods](https://www.nexusmods.com/cyberpunk2077/mods/521)
|
|
||||||
|
|
||||||
## References
|
|
||||||
|
|
||||||
- Also see: [SitirioTV's Cyberpunk 2077 Mod Collection](/cyberpunk/sitiriotvs-cyberpunk-2077-mod-collection)
|
|
@ -1,11 +0,0 @@
|
|||||||
## Template › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/advanced-usage.md#setting-author-url
|
|
||||||
# -------------------------------------
|
|
||||||
# {author_id}:
|
|
||||||
# name: {full name}
|
|
||||||
# twitter: {twitter_of_author}
|
|
||||||
# url: {homepage_of_author}
|
|
||||||
# -------------------------------------
|
|
||||||
|
|
||||||
sitiriotv:
|
|
||||||
name: SitirioTV | Justin
|
|
||||||
url: https://tree.morlana.link/@SitirioTV
|
|
@ -1,41 +0,0 @@
|
|||||||
# The contact options.
|
|
||||||
|
|
||||||
- type: discord
|
|
||||||
icon: "fa-brands fa-discord"
|
|
||||||
url: "https://morlana.link/discord"
|
|
||||||
|
|
||||||
#- type: twitter
|
|
||||||
# icon: "fa-brands fa-x-twitter"
|
|
||||||
|
|
||||||
- type: email
|
|
||||||
icon: "fas fa-envelope"
|
|
||||||
noblank: true # open link in current tab
|
|
||||||
|
|
||||||
- type: rss
|
|
||||||
icon: "fas fa-rss"
|
|
||||||
noblank: true
|
|
||||||
# Uncomment and complete the url below to enable more contact options
|
|
||||||
#
|
|
||||||
# - type: mastodon
|
|
||||||
# icon: 'fab fa-mastodon' # icons powered by <https://fontawesome.com/>
|
|
||||||
# url: '' # Fill with your Mastodon account page, rel="me" will be applied for verification
|
|
||||||
#
|
|
||||||
# - type: linkedin
|
|
||||||
# icon: 'fab fa-linkedin' # icons powered by <https://fontawesome.com/>
|
|
||||||
# url: '' # Fill with your Linkedin homepage
|
|
||||||
#
|
|
||||||
# - type: stack-overflow
|
|
||||||
# icon: 'fab fa-stack-overflow'
|
|
||||||
# url: '' # Fill with your stackoverflow homepage
|
|
||||||
#
|
|
||||||
# - type: bluesky
|
|
||||||
# icon: 'fa-brands fa-bluesky'
|
|
||||||
# url: '' # Fill with your Bluesky profile link
|
|
||||||
#
|
|
||||||
# - type: reddit
|
|
||||||
# icon: 'fa-brands fa-reddit'
|
|
||||||
# url: '' # Fill with your Reddit profile link
|
|
||||||
#
|
|
||||||
# - type: threads
|
|
||||||
# icon: 'fa-brands fa-threads'
|
|
||||||
# url: '' # Fill with your Threads profile link
|
|
@ -1,91 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: منشور
|
|
||||||
category: فئة
|
|
||||||
tag: وسم
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: الرئيسية
|
|
||||||
categories: الفئات
|
|
||||||
tags: الوسوم
|
|
||||||
archives: الأرشيف
|
|
||||||
about: حول
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: بحث
|
|
||||||
cancel: إلغاء
|
|
||||||
no_results: نأسف! لا يوجد نتائج.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: المحدثة مؤخرا
|
|
||||||
trending_tags: الوسوم الشائعة
|
|
||||||
toc: محتويات
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: هذا المنشور تحت ترخيص :LICENSE_NAME بواسطة المؤلف.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: بعض الحقوق محفوظة.
|
|
||||||
verbose: >-
|
|
||||||
ما لم يذكر خلاف ذلك ، يتم ترخيص منشورات المدونة على هذا الموقع
|
|
||||||
بموجب ترخيص Creative Commons Attribution 4.0 International (CC BY 4.0) من قبل المؤلف.
|
|
||||||
|
|
||||||
meta: باستخدام :PLATFORM السمة :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: عذرا, الرابط التالي غير صالح أو انه يشير إلى صفحة غير موجودة.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: يتوفر اصدار جديد للمحتوى.
|
|
||||||
update: تحديث
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: بواسطة
|
|
||||||
posted: نشّر
|
|
||||||
updated: حدّث
|
|
||||||
words: كلمات
|
|
||||||
pageview_measure: مشاهدات
|
|
||||||
read_time:
|
|
||||||
unit: دقيقة
|
|
||||||
prompt: قراءة
|
|
||||||
relate_posts: إقرأ المزيد
|
|
||||||
share: شارك
|
|
||||||
button:
|
|
||||||
next: الأجدد
|
|
||||||
previous: الأقدم
|
|
||||||
copy_code:
|
|
||||||
succeed: تم النسخ!
|
|
||||||
share_link:
|
|
||||||
title: أنسخ الرابط
|
|
||||||
succeed: تم نسخ الرابط بنجاح!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: فئة
|
|
||||||
plural: فئات
|
|
||||||
post_measure:
|
|
||||||
singular: منشور
|
|
||||||
plural: منشورات
|
|
@ -1,81 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Публикация
|
|
||||||
category: Категория
|
|
||||||
tag: Таг
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Начало
|
|
||||||
categories: Категории
|
|
||||||
tags: Тагове
|
|
||||||
archives: Архив
|
|
||||||
about: За мен
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: търси
|
|
||||||
cancel: Отмени
|
|
||||||
no_results: Упс! Не са намерени резултати.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Наскоро обновени
|
|
||||||
trending_tags: Популярни тагове
|
|
||||||
toc: Съдържание
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Тази публикация е лицензирана под :LICENSE_NAME от автора.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Някои права запазени.
|
|
||||||
verbose: >-
|
|
||||||
Освен ако не е посочено друго, публикациите в блога на този сайт са лицензирани
|
|
||||||
под лиценза Creative Commons Attribution 4.0 (CC BY 4.0) от автора.
|
|
||||||
|
|
||||||
meta: Създадено чрез :PLATFORM и :THEME тема
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Съжалявам, но на този URL адрес няма налично съдържание.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Налична е нова версия на съдържанието.
|
|
||||||
update: Обнови
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Автор
|
|
||||||
posted: Публикувана
|
|
||||||
updated: Обновена
|
|
||||||
words: думи
|
|
||||||
pageview_measure: преглеждания
|
|
||||||
read_time:
|
|
||||||
unit: мин
|
|
||||||
prompt: четиво
|
|
||||||
relate_posts: Още за четене
|
|
||||||
share: Споделете
|
|
||||||
button:
|
|
||||||
next: По-нови
|
|
||||||
previous: По-стари
|
|
||||||
copy_code:
|
|
||||||
succeed: Копирано!
|
|
||||||
share_link:
|
|
||||||
title: Копирай линк
|
|
||||||
succeed: Линкът е копиран успешно!
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: категория
|
|
||||||
plural: категории
|
|
||||||
post_measure:
|
|
||||||
singular: публикация
|
|
||||||
plural: публикации
|
|
@ -1,89 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Příspěvek
|
|
||||||
category: Kategorie
|
|
||||||
tag: Štítek
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Domů
|
|
||||||
categories: Kategorie
|
|
||||||
tags: Štítky
|
|
||||||
archives: Archivy
|
|
||||||
about: O mně
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: hledat
|
|
||||||
cancel: Zrušit
|
|
||||||
no_results: Ups! Žádný výsledek nenalezen.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Nedávno aktualizováno
|
|
||||||
trending_tags: Trendy štítky
|
|
||||||
toc: Obsah
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Tento příspěvek je licencován pod :LICENSE_NAME autorem.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Některá práva vyhrazena.
|
|
||||||
verbose: >-
|
|
||||||
Pokud není uvedeno jinak, jsou příspěvky na tomto webu licencovány
|
|
||||||
pod licencí Creative Commons Attribution 4.0 International (CC BY 4.0) Licence autora.
|
|
||||||
|
|
||||||
meta: Použití :PLATFORM s motivem :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Omlouváme se, adresu URL jsme špatně umístili nebo odkazuje na něco, co neexistuje.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Je k dispozici nová verze obsahu.
|
|
||||||
update: Aktualizace
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Od
|
|
||||||
posted: Zveřejněno
|
|
||||||
updated: Aktualizováno
|
|
||||||
words: slova
|
|
||||||
pageview_measure: zhlednutí
|
|
||||||
read_time:
|
|
||||||
unit: minut
|
|
||||||
prompt: čtení
|
|
||||||
relate_posts: Další čtení
|
|
||||||
share: Sdílet
|
|
||||||
button:
|
|
||||||
next: Novější
|
|
||||||
previous: Starší
|
|
||||||
copy_code:
|
|
||||||
succeed: Zkopírováno!
|
|
||||||
share_link:
|
|
||||||
title: Kopírovat odkaz
|
|
||||||
succeed: Zkopírováno!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: kategorie
|
|
||||||
post_measure:
|
|
||||||
singular: příspěvěk
|
|
||||||
plural: příspěvky
|
|
@ -1,87 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Eintrag
|
|
||||||
category: Kategorie
|
|
||||||
tag: Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Startseite
|
|
||||||
categories: Kategorien
|
|
||||||
tags: Tags
|
|
||||||
archives: Archiv
|
|
||||||
about: Über
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: Suche
|
|
||||||
cancel: Abbrechen
|
|
||||||
no_results: Ups! Keine Einträge gefunden.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Kürzlich aktualisiert
|
|
||||||
trending_tags: Beliebte Tags
|
|
||||||
toc: Inhalt
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Dieser Eintrag ist vom Autor unter :LICENSE_NAME lizensiert.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Einige Rechte vorbehalten.
|
|
||||||
verbose: >-
|
|
||||||
Alle Einträge auf dieser Seite stehen, soweit nicht anders angegeben, unter der Lizenz Creative Commons Attribution 4.0 (CC BY 4.0).
|
|
||||||
|
|
||||||
meta: Powered by :PLATFORM with :THEME theme
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Entschuldigung, dieser Link verweist auf keine vorhandene Ressource.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Eine neue Version ist verfügbar.
|
|
||||||
update: Neue Version
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Von
|
|
||||||
posted: Veröffentlicht
|
|
||||||
updated: Aktualisiert
|
|
||||||
words: Wörter
|
|
||||||
pageview_measure: Aufrufe
|
|
||||||
read_time:
|
|
||||||
unit: Minuten
|
|
||||||
prompt: Lesezeit
|
|
||||||
relate_posts: Weiterlesen
|
|
||||||
share: Teilen
|
|
||||||
button:
|
|
||||||
next: Nächster Eintrag
|
|
||||||
previous: Eintrag vorher
|
|
||||||
copy_code:
|
|
||||||
succeed: Kopiert!
|
|
||||||
share_link:
|
|
||||||
title: Link kopieren
|
|
||||||
succeed: Link erfolgreich kopiert!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%d.%m.%Y"
|
|
||||||
dayjs: "DD.MM.YYYY"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: Kategorie
|
|
||||||
plural: Kategorien
|
|
||||||
post_measure:
|
|
||||||
singular: Eintrag
|
|
||||||
plural: Einträge
|
|
@ -1,91 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Δημοσίευση
|
|
||||||
category: Κατηγορία
|
|
||||||
tag: Ετικέτα
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Home
|
|
||||||
categories: Κατηγορίες
|
|
||||||
tags: Ετικέτες
|
|
||||||
archives: Αρχεία
|
|
||||||
about: Σχετικά
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: αναζήτηση
|
|
||||||
cancel: Ακύρωση
|
|
||||||
no_results: Oops! Κανένα αποτέλεσμα δεν βρέθηκε.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Σχετικά ενημερωμένα
|
|
||||||
trending_tags: Ετικέτες τάσης
|
|
||||||
toc: Περιεχόμενα
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Η δημοσίευση αυτή βρίσκεται υπο την άδεια :LICENSE_NAME Greekforce1821.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Ορισμένα δικαιώματα reserved.
|
|
||||||
verbose: >-
|
|
||||||
Εκτός αλλού ή οπουδήποτε αλλού, τα blog posts σε αυτήν την σελίδα βρίσκονται υπο την άδεια
|
|
||||||
Creative Commons Attribution 4.0 International (CC BY 4.0) του δημιουργού.
|
|
||||||
|
|
||||||
meta: Αξιοποιώντας την :PLATFORM theme :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Συγνώμη, έχουμε τοποθετήσει λάθος αυτήν την διεύθυνση URL ή υποδεικνύει κάτι που δεν υπάρχει.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Υπάρχει διαθέσιμη μια νέα έκδοση του περιεχομένου.
|
|
||||||
update: Ενημέρωση
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Από
|
|
||||||
posted: Δημοσιεύθηκε
|
|
||||||
updated: Ενημερώθηκε
|
|
||||||
words: λέξεις
|
|
||||||
pageview_measure: προβολές
|
|
||||||
read_time:
|
|
||||||
unit: Λεπτά
|
|
||||||
prompt: διαβάσματος
|
|
||||||
relate_posts: Περισσότερα
|
|
||||||
share: Κοινοποιήστε
|
|
||||||
button:
|
|
||||||
next: Νεότερα
|
|
||||||
previous: Παλαιότερα
|
|
||||||
copy_code:
|
|
||||||
succeed: Αντιγράφθηκε!
|
|
||||||
share_link:
|
|
||||||
title: Αντιγραφή συνδέσμου
|
|
||||||
succeed: Η διεύθυνση αντιγράφθηκε με επιτυχία!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: Κατηγορία
|
|
||||||
plural: Κατηγορίες
|
|
||||||
post_measure:
|
|
||||||
singular: Δημοσίευση
|
|
||||||
plural: Δημοσιεύσεις
|
|
@ -1,91 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Post
|
|
||||||
category: Category
|
|
||||||
tag: Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Home
|
|
||||||
categories: Categories
|
|
||||||
tags: Tags
|
|
||||||
archives: Archives
|
|
||||||
about: About
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: search
|
|
||||||
cancel: Cancel
|
|
||||||
no_results: Oops! No results found.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Recently Updated
|
|
||||||
trending_tags: Trending Tags
|
|
||||||
toc: Contents
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: This post is licensed under :LICENSE_NAME by the author.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Some rights reserved.
|
|
||||||
verbose: >-
|
|
||||||
Except where otherwise noted, the blog posts on this site are licensed
|
|
||||||
under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author.
|
|
||||||
|
|
||||||
meta: Using the :THEME theme for :PLATFORM.
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: A new version of content is available.
|
|
||||||
update: Update
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: By
|
|
||||||
posted: Posted
|
|
||||||
updated: Updated
|
|
||||||
words: words
|
|
||||||
pageview_measure: views
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: read
|
|
||||||
relate_posts: Further Reading
|
|
||||||
share: Share
|
|
||||||
button:
|
|
||||||
next: Newer
|
|
||||||
previous: Older
|
|
||||||
copy_code:
|
|
||||||
succeed: Copied!
|
|
||||||
share_link:
|
|
||||||
title: Copy link
|
|
||||||
succeed: Link copied successfully!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: category
|
|
||||||
plural: categories
|
|
||||||
post_measure:
|
|
||||||
singular: post
|
|
||||||
plural: posts
|
|
@ -1,77 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Entrada
|
|
||||||
category: Categoría
|
|
||||||
tag: Etiqueta
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Inicio
|
|
||||||
categories: Categorías
|
|
||||||
tags: Etiquetas
|
|
||||||
archives: Archivo
|
|
||||||
about: Acerca de
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: Buscar
|
|
||||||
cancel: Cancelar
|
|
||||||
no_results: ¡Oops! No se encuentran resultados.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Actualizado recientemente
|
|
||||||
trending_tags: Etiquetas populares
|
|
||||||
toc: Contenido
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Esta entrada está licenciada bajo :LICENSE_NAME por el autor.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Algunos derechos reservados.
|
|
||||||
verbose: >-
|
|
||||||
Salvo que se indique explícitamente, las entradas de este blog están licenciadas
|
|
||||||
bajo la Creative Commons Attribution 4.0 International (CC BY 4.0) License por el autor.
|
|
||||||
|
|
||||||
meta: Hecho con :PLATFORM usando el tema :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Lo sentimos, hemos perdido esa URL o apunta a algo que no existe.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Hay una nueva versión de contenido disponible.
|
|
||||||
update: Actualizar
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Por
|
|
||||||
posted: Publicado
|
|
||||||
updated: Actualizado
|
|
||||||
words: palabras
|
|
||||||
pageview_measure: visitas
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: " de lectura"
|
|
||||||
relate_posts: Lecturas adicionales
|
|
||||||
share: Compartir
|
|
||||||
button:
|
|
||||||
next: Nuevo
|
|
||||||
previous: Anterior
|
|
||||||
copy_code:
|
|
||||||
succeed: ¡Copiado!
|
|
||||||
share_link:
|
|
||||||
title: Copiar enlace
|
|
||||||
succeed: ¡Enlace copiado!
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: categorias
|
|
||||||
post_measure: entradas
|
|
@ -1,90 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Julkaisu
|
|
||||||
category: Kateogoria
|
|
||||||
tag: Tagi
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Koti
|
|
||||||
categories: Kateogoriat
|
|
||||||
tags: Tagit
|
|
||||||
archives: Arkistot
|
|
||||||
about: Minusta
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: etsi
|
|
||||||
cancel: Peruuta
|
|
||||||
no_results: Hups! Ei tuloksia.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Viimeksi päivitetty
|
|
||||||
trending_tags: Trendaavat tagit
|
|
||||||
toc: Sisältö
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Tämä julkaisu on lisenssoitu :LICENSE_NAME julkaisijan toimesta.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Jotkut oikeudet pidätetään.
|
|
||||||
verbose: >-
|
|
||||||
Paitsi jos erikseen mainitaan on kaikki sisältö Creative Commons Attribution 4.0 International (CC BY 4.0) Lisensoitu kirjoittajan toimesta.
|
|
||||||
|
|
||||||
meta: Käytetään :PLATFORM iä Teema :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Valitettavasti tällä URL-osoitteella ei ole saatavilla sisältöä.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Uusi versio sisällöstä on saatavilla.
|
|
||||||
update: Päivitä
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Kirjoittaja
|
|
||||||
posted: Julkaistu
|
|
||||||
updated: Päivitetty
|
|
||||||
words: sanaa
|
|
||||||
pageview_measure: katselukertoja
|
|
||||||
read_time:
|
|
||||||
unit: minuuttia
|
|
||||||
prompt: lukea
|
|
||||||
relate_posts: Jatka lukemista
|
|
||||||
share: Jaa
|
|
||||||
button:
|
|
||||||
next: Uudempi
|
|
||||||
previous: Vanhempi
|
|
||||||
copy_code:
|
|
||||||
succeed: Kopiotu!
|
|
||||||
share_link:
|
|
||||||
title: Kopioi linkki
|
|
||||||
succeed: Linkki kopioitu onnistuneesti!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: kategoria
|
|
||||||
plural: kategoriat
|
|
||||||
post_measure:
|
|
||||||
singular: julkaisu
|
|
||||||
plural: julkaisut
|
|
@ -1,77 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Post
|
|
||||||
category: Catégorie
|
|
||||||
tag: Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Accueil
|
|
||||||
categories: Catégories
|
|
||||||
tags: Tags
|
|
||||||
archives: Archives
|
|
||||||
about: À propos
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: recherche
|
|
||||||
cancel: Annuler
|
|
||||||
no_results: Oups ! Aucun résultat trouvé.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Récemment mis à jour
|
|
||||||
trending_tags: Tags tendance
|
|
||||||
toc: Contenu
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Cet article est sous licence :LICENSE_NAME par l'auteur.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/deed.fr
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Certains droits réservés.
|
|
||||||
verbose: >-
|
|
||||||
Sauf mention contraire, les articles de ce site sont publiés
|
|
||||||
sous la licence Creative Commons Attribution 4.0 International (CC BY 4.0) par l'auteur.
|
|
||||||
|
|
||||||
meta: Propulsé par :PLATFORM avec le thème :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Désolé, nous avons égaré cette URL ou elle pointe vers quelque chose qui n'existe pas.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Une nouvelle version du contenu est disponible.
|
|
||||||
update: Mise à jour
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Par
|
|
||||||
posted: Posté
|
|
||||||
updated: Mis à jour
|
|
||||||
words: mots
|
|
||||||
pageview_measure: vues
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: lire
|
|
||||||
relate_posts: Autres lectures
|
|
||||||
share: Partager
|
|
||||||
button:
|
|
||||||
next: Plus récent
|
|
||||||
previous: Plus ancien
|
|
||||||
copy_code:
|
|
||||||
succeed: Copié !
|
|
||||||
share_link:
|
|
||||||
title: Copier le lien
|
|
||||||
succeed: Lien copié avec succès !
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: catégories
|
|
||||||
post_measure: posts
|
|
@ -1,92 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Bejegyzés
|
|
||||||
category: Kategória
|
|
||||||
tag: Címke
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Kezdőlap
|
|
||||||
categories: Kategóriák
|
|
||||||
tags: Címkék
|
|
||||||
archives: Archívum
|
|
||||||
about: Bemutatkozás
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: keresés
|
|
||||||
cancel: Mégse
|
|
||||||
no_results: Hoppá! Nincs találat a keresésre.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Legutóbb frissítve
|
|
||||||
trending_tags: Népszerű Címkék
|
|
||||||
toc: Tartalom
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: A bejegyzést a szerző :LICENSE_NAME licenc alatt engedélyezte.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Néhány jog fenntartva.
|
|
||||||
verbose: >-
|
|
||||||
Az oldalon található tartalmak
|
|
||||||
Creative Commons Attribution 4.0 International (CC BY 4.0) licenccel rendelkeznek,
|
|
||||||
hacsak másképp nincs jelezve.
|
|
||||||
|
|
||||||
meta: Készítve :THEME témával a :PLATFORM platformra.
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Sajnáljuk, az URL-t rosszul helyeztük el, vagy valami nem létezőre mutat.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Elérhető a tartalom új verziója.
|
|
||||||
update: Frissítés
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Szerző
|
|
||||||
posted: Létrehozva
|
|
||||||
updated: Frissítve
|
|
||||||
words: szó
|
|
||||||
pageview_measure: látogató
|
|
||||||
read_time:
|
|
||||||
unit: perc
|
|
||||||
prompt: elolvasni
|
|
||||||
relate_posts: További olvasnivaló
|
|
||||||
share: Megosztás
|
|
||||||
button:
|
|
||||||
next: Újabb
|
|
||||||
previous: Régebbi
|
|
||||||
copy_code:
|
|
||||||
succeed: Másolva!
|
|
||||||
share_link:
|
|
||||||
title: Link másolása
|
|
||||||
succeed: Link sikeresen másolva!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%Y. %B. %e."
|
|
||||||
dayjs: "YYYY. MMMM D."
|
|
||||||
archives:
|
|
||||||
strftime: "%B"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: kategória
|
|
||||||
plural: kategória
|
|
||||||
post_measure:
|
|
||||||
singular: bejegyzés
|
|
||||||
plural: bejegyzés
|
|
@ -1,77 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Postingan
|
|
||||||
category: Kategori
|
|
||||||
tag: Tagar
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Beranda
|
|
||||||
categories: Kategori
|
|
||||||
tags: Tagar
|
|
||||||
archives: Arsip
|
|
||||||
about: Tentang
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: Cari
|
|
||||||
cancel: Batal
|
|
||||||
no_results: Ups! Tidak ada hasil yang ditemukan.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Postingan Terbaru
|
|
||||||
trending_tags: Tagar Terpopuler
|
|
||||||
toc: Konten
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Postingan ini dilisensikan di bawah :LICENSE_NAME oleh penulis.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Sebagian konten dilindungi.
|
|
||||||
verbose: >-
|
|
||||||
Kecuali jika dinyatakan, Postingan blog di situs ini dilisensikan
|
|
||||||
di bawah Lisensi Creative Commons Attribution 4.0 International (CC BY 4.0) oleh penulis.
|
|
||||||
|
|
||||||
meta: Didukung oleh :PLATFORM dengan tema :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Maaf, kami gagal menemukan URL itu atau memang mengarah ke sesuatu yang tidak ada.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Versi konten baru tersedia.
|
|
||||||
update: Perbarui
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Oleh
|
|
||||||
posted: Diterbitkan
|
|
||||||
updated: Diperbarui
|
|
||||||
words: kata
|
|
||||||
pageview_measure: dilihat
|
|
||||||
read_time:
|
|
||||||
unit: menit
|
|
||||||
prompt: baca
|
|
||||||
relate_posts: Postingan Lainya
|
|
||||||
share: Bagikan
|
|
||||||
button:
|
|
||||||
next: Terbaru
|
|
||||||
previous: Terlama
|
|
||||||
copy_code:
|
|
||||||
succeed: Disalin!
|
|
||||||
share_link:
|
|
||||||
title: Salin tautan
|
|
||||||
succeed: Tautan berhasil disalin!
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: kategori
|
|
||||||
post_measure: Postingan
|
|
@ -1,90 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Post
|
|
||||||
category: Categoria
|
|
||||||
tag: Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Pagina principale
|
|
||||||
categories: Categorie
|
|
||||||
tags: Tags
|
|
||||||
archives: Archivio
|
|
||||||
about: Informazioni
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: ricerca
|
|
||||||
cancel: Cancella
|
|
||||||
no_results: Oops! La ricerca non ha fornito risultati.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Aggiornati recentemente
|
|
||||||
trending_tags: Tags più cliccati
|
|
||||||
toc: Contenuti
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Questo post è sotto licenza :LICENSE_NAME a nome dell'autore.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Alcuni diritti riservati.
|
|
||||||
verbose: >-
|
|
||||||
Eccetto quando esplicitamente menzionato, i post di questo blog sono da ritenersi sotto
|
|
||||||
i termini di licenza Creative Commons Attribution 4.0 International (CC BY 4.0).
|
|
||||||
|
|
||||||
meta: Servizio offerto da :PLATFORM con tema :THEME
|
|
||||||
not_found:
|
|
||||||
statement: Ci scusiamo, non è stato possibile trovare l'URL in questione. Potrebbe puntare ad una pagina non esistente.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Nuova versione del contenuto disponibile.
|
|
||||||
update: Aggiornamento
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Da
|
|
||||||
posted: Postato
|
|
||||||
updated: Aggiornato
|
|
||||||
words: parole
|
|
||||||
pageview_measure: visioni
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: lettura
|
|
||||||
relate_posts: Continua a leggere
|
|
||||||
share: Condividi
|
|
||||||
button:
|
|
||||||
next: Più recenti
|
|
||||||
previous: Meno recenti
|
|
||||||
copy_code:
|
|
||||||
succeed: Copiato!
|
|
||||||
share_link:
|
|
||||||
title: Copia link
|
|
||||||
succeed: Link copiato con successo!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: categoria
|
|
||||||
plural: categorie
|
|
||||||
post_measure:
|
|
||||||
singular: post
|
|
||||||
plural: posts
|
|
@ -1,84 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: 포스트
|
|
||||||
category: 카테고리
|
|
||||||
tag: 태그
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: 홈
|
|
||||||
categories: 카테고리
|
|
||||||
tags: 태그
|
|
||||||
archives: 아카이브
|
|
||||||
about: 정보
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: 검색
|
|
||||||
cancel: 취소
|
|
||||||
no_results: 검색 결과가 없습니다.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: 최근 업데이트
|
|
||||||
trending_tags: 인기 태그
|
|
||||||
toc: 바로가기
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: 이 기사는 저작권자의 :LICENSE_NAME 라이센스를 따릅니다.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: 일부 권리 보유
|
|
||||||
verbose: >-
|
|
||||||
명시되지 않는 한 이 사이트의 블로그 게시물은 작성자의
|
|
||||||
Creative Commons Attribution 4.0 International(CC BY 4.0) 라이선스에 따라 사용이 허가되었습니다.
|
|
||||||
|
|
||||||
meta: Powered by :PLATFORM with :THEME theme
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: 해당 URL은 존재하지 않습니다.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: 새 버전의 콘텐츠를 사용할 수 있습니다.
|
|
||||||
update: 업데이트
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: By
|
|
||||||
posted: 게시
|
|
||||||
updated: 업데이트
|
|
||||||
words: 단어
|
|
||||||
pageview_measure: 조회
|
|
||||||
read_time:
|
|
||||||
unit: 분
|
|
||||||
prompt: 읽는 시간
|
|
||||||
relate_posts: 관련된 글
|
|
||||||
share: 공유하기
|
|
||||||
button:
|
|
||||||
next: 다음 글
|
|
||||||
previous: 이전 글
|
|
||||||
copy_code:
|
|
||||||
succeed: 복사되었습니다!
|
|
||||||
share_link:
|
|
||||||
title: 링크 복사하기
|
|
||||||
succeed: 링크가 복사되었습니다!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%Y/%m/%d"
|
|
||||||
dayjs: "YYYY/MM/DD"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: 카테고리
|
|
||||||
post_measure: 포스트
|
|
@ -1,77 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: ပို့စ်
|
|
||||||
category: ကဏ္ဍ
|
|
||||||
tag: နာမ(တက်ဂ်)
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: အဓိကစာမျက်နှာ
|
|
||||||
categories: ကဏ္ဍများ
|
|
||||||
tags: နာမ(တက်ဂ်)များ
|
|
||||||
archives: မှတ်တမ်းတိုက်
|
|
||||||
about: အကြောင်းအရာ
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: ရှာဖွေမည်
|
|
||||||
cancel: ဖျက်သိမ်းမည်
|
|
||||||
no_results: အိုး! ဘာမှမရှိပါ
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: မကြာသေးမီကမွမ်းမံထားသည်
|
|
||||||
trending_tags: ခေတ်စားနေသည့်တက်ဂ်များ
|
|
||||||
toc: အကြောင်းအရာများ
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: ဤပို့စ်သည်စာရေးသူ၏ :LICENSE_NAME လိုင်စင်ရထားသည်။
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: မူပိုင်ခွင့်အချို့ကို လက်ဝယ်ထားသည်။
|
|
||||||
verbose: >-
|
|
||||||
အခြားမှတ်သားထားချက်များမှလွဲ၍ ဤဆိုက်ရှိ ဘလော့ဂ်ပို့စ်များသည် စာရေးသူ၏
|
|
||||||
Creative Commons Attribution 4.0 International (CC BY 4.0) အောက်တွင် လိုင်စင်ရထားပါသည်။
|
|
||||||
|
|
||||||
meta: Powered by :PLATFORM with :THEME theme
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: ဝမ်းနည်းပါသည်၊ ကျွန်ုပ်တို့သည် အဆိုပါ URL ကို မှားယွင်းစွာ နေရာချထားခြင်း သို့မဟုတ် ၎င်းသည် မရှိသောအရာကို ညွှန်ပြနေပါသည်။
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: အကြောင်းအရာဗားရှင်းအသစ်ကို ရနိုင်ပါပြီ။
|
|
||||||
update: အပ်ဒိတ်
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: ကရေးသားခဲ့သည်။
|
|
||||||
posted: တင်ထားခဲ့သည်။
|
|
||||||
updated: မွမ်းမံထားခဲ့သည်။
|
|
||||||
words: စကားလုံးများ
|
|
||||||
pageview_measure: အမြင်များ
|
|
||||||
read_time:
|
|
||||||
unit: မိနစ်
|
|
||||||
prompt: ဖတ်ပါမည်
|
|
||||||
relate_posts: နောက်ထပ်ဖတ်ရန်
|
|
||||||
share: မျှဝေရန်
|
|
||||||
button:
|
|
||||||
next: အသစ်များ
|
|
||||||
previous: အဟောင်းများ
|
|
||||||
copy_code:
|
|
||||||
succeed: ကူးယူလိုက်ပြီ။
|
|
||||||
share_link:
|
|
||||||
title: လင့်ခ်ကို ကူးယူရန်
|
|
||||||
succeed: လင့်ခ်ကို ကူးယူလိုက်ပြီ။
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: ကဏ္ဍများ
|
|
||||||
post_measure: ပို့စ်များ
|
|
@ -1,77 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Post
|
|
||||||
category: Categoria
|
|
||||||
tag: Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Home
|
|
||||||
categories: Categorias
|
|
||||||
tags: Tags
|
|
||||||
archives: Arquivos
|
|
||||||
about: Sobre
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: Buscar
|
|
||||||
cancel: Cancelar
|
|
||||||
no_results: Oops! Nenhum resultado encontrado.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Atualizados recentemente
|
|
||||||
trending_tags: Trending Tags
|
|
||||||
toc: Conteúdo
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Esta postagem está licenciada sob :LICENSE_NAME pelo autor.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Alguns direitos reservados.
|
|
||||||
verbose: >-
|
|
||||||
Exceto onde indicado de outra forma, as postagens do blog neste site são licenciadas sob a
|
|
||||||
Creative Commons Attribution 4.0 International (CC BY 4.0) License pelo autor.
|
|
||||||
|
|
||||||
meta: Feito com :PLATFORM usando o tema :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Desculpe, a página não foi encontrada.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Uma nova versão do conteúdo está disponível.
|
|
||||||
update: atualização
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Por
|
|
||||||
posted: Postado em
|
|
||||||
updated: Atualizado
|
|
||||||
words: palavras
|
|
||||||
pageview_measure: visualizações
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: " de leitura"
|
|
||||||
relate_posts: Leia também
|
|
||||||
share: Compartilhar
|
|
||||||
button:
|
|
||||||
next: Próximo
|
|
||||||
previous: Anterior
|
|
||||||
copy_code:
|
|
||||||
succeed: Copiado!
|
|
||||||
share_link:
|
|
||||||
title: Copie o link
|
|
||||||
succeed: Link copiado com sucesso!
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: categorias
|
|
||||||
post_measure: posts
|
|
@ -1,87 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Пост
|
|
||||||
category: Категория
|
|
||||||
tag: Тег
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Главная
|
|
||||||
categories: Категории
|
|
||||||
tags: Теги
|
|
||||||
archives: Архив
|
|
||||||
about: О сайте
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: поиск
|
|
||||||
cancel: Отмена
|
|
||||||
no_results: Упс! Ничего не найдено.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Недавно обновлено
|
|
||||||
trending_tags: Популярные теги
|
|
||||||
toc: Содержание
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Авторский пост защищен лицензией :LICENSE_NAME.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Некоторые права защищены.
|
|
||||||
verbose: >-
|
|
||||||
Если не указано иное, авторские посты на этом сайте защищены лицензией Creative Commons Attribution 4.0 International (CC BY 4.0).
|
|
||||||
|
|
||||||
meta: Использует тему :THEME для :PLATFORM
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Извините, мы перепутали URL-адрес или он указывает на что-то несуществующее.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Доступна новая версия контента.
|
|
||||||
update: Обновить
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Автор
|
|
||||||
posted: Опубликовано
|
|
||||||
updated: Обновлено
|
|
||||||
words: слов
|
|
||||||
pageview_measure: просмотров
|
|
||||||
read_time:
|
|
||||||
unit: мин.
|
|
||||||
prompt: чтения
|
|
||||||
relate_posts: Похожие посты
|
|
||||||
share: Поделиться
|
|
||||||
button:
|
|
||||||
next: Следующий пост
|
|
||||||
previous: Предыдущий пост
|
|
||||||
copy_code:
|
|
||||||
succeed: Скопировано!
|
|
||||||
share_link:
|
|
||||||
title: Скопировать ссылку
|
|
||||||
succeed: Ссылка успешно скопирована!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%d.%m.%Y"
|
|
||||||
dayjs: "DD.MM.YYYY"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: категория
|
|
||||||
plural: категории
|
|
||||||
post_measure:
|
|
||||||
singular: пост
|
|
||||||
plural: посты
|
|
@ -1,91 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Objava #Post
|
|
||||||
category: Kategorija #Category
|
|
||||||
tag: Oznaka #Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Domov #Home
|
|
||||||
categories: Kategorije #Categories
|
|
||||||
tags: Oznake #Tags
|
|
||||||
archives: Arhiv #Archives
|
|
||||||
about: O meni #About
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: išči #search
|
|
||||||
cancel: Prekliči #Cancel
|
|
||||||
no_results: Ups! Vsebina ni bila najdena #Oops! No results found.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Nedavno Posodobljeno #Recently Updated
|
|
||||||
trending_tags: Priljubljene Oznake #Trending Tags
|
|
||||||
toc: Vsebina #Contents
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Ta objava je licencirana pod :LICENCE_NAME s strani avtorja. #This post is licensed under :LICENSE_NAME by the author.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Nekatere pravice pridržane. #Some rights reserved.
|
|
||||||
verbose: >-
|
|
||||||
Razen kjer navedeno drugače, vse objave spletnega dnevnika so licencirane
|
|
||||||
pod Creative Commons Attribution 4.0 International (CC BY 4.0) s strani avtorja.
|
|
||||||
|
|
||||||
meta: Uporabljena :PLATFORM tema :THEME #Using the :PLATFORM theme :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Oprostite, hiperpovezava je neustrezna ali vsebina ne obstajata. #Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Novejša različica vsebine je na voljo. #A new version of content is available.
|
|
||||||
update: Posodobi #Update
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Od #By
|
|
||||||
posted: Objavljeno #Posted
|
|
||||||
updated: Posodobljeno #Updated
|
|
||||||
words: besede #words
|
|
||||||
pageview_measure: ogledi #views
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: beri #read
|
|
||||||
relate_posts: Nadaljnje branje #Further Reading
|
|
||||||
share: Deli #Share
|
|
||||||
button:
|
|
||||||
next: Novejše #Newer
|
|
||||||
previous: Starejše #Older
|
|
||||||
copy_code:
|
|
||||||
succeed: Kopirano! #Copied!
|
|
||||||
share_link:
|
|
||||||
title: Kopiraj povezavo #Copy link
|
|
||||||
succeed: Povezava uspešno kopirana! #Link copied successfully!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%e %b, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: kategorija #category
|
|
||||||
plural: kategorije #categories
|
|
||||||
post_measure:
|
|
||||||
singular: objava #post
|
|
||||||
plural: objave #posts
|
|
@ -1,91 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Inlägg #Post
|
|
||||||
category: Kategori #Category
|
|
||||||
tag: Tagga #Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Hem #Home
|
|
||||||
categories: Kategorier #Categories
|
|
||||||
tags: Taggar #Tags
|
|
||||||
archives: Arkiv #Archives
|
|
||||||
about: Om #About
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: sök
|
|
||||||
cancel: Avbryt
|
|
||||||
no_results: Hoppsan! Hittade inga sökträffar.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Senast uppdaterad
|
|
||||||
trending_tags: Trendande taggar
|
|
||||||
toc: Innehåll
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Den här posten är publicerad under licensen :LICENSE_NAME av författaren.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Vissa rättigheter är reserverade.
|
|
||||||
verbose: >-
|
|
||||||
Om inte annat anges är blogginläggen på denna webbplats licensierade
|
|
||||||
under Creative Commons Attribution 4.0 International (CC BY 4.0) av författaren.
|
|
||||||
|
|
||||||
meta: Byggd med :PLATFORM och temat :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Ursäkta, vi har tappat bort den här webbadressen eller så pekar den på något som inte längre finns.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Det finns en ny version av innehållet.
|
|
||||||
update: Uppdatera sidan
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Av
|
|
||||||
posted: Postad
|
|
||||||
updated: Uppdaterad
|
|
||||||
words: ord
|
|
||||||
pageview_measure: visningar
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: läsning
|
|
||||||
relate_posts: Mer läsning
|
|
||||||
share: Dela
|
|
||||||
button:
|
|
||||||
next: Nyare
|
|
||||||
previous: Äldre
|
|
||||||
copy_code:
|
|
||||||
succeed: Kopierat!
|
|
||||||
share_link:
|
|
||||||
title: Kopiera länk
|
|
||||||
succeed: Länken har kopierats!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: kategori
|
|
||||||
plural: kategorier
|
|
||||||
post_measure:
|
|
||||||
singular: inlägg
|
|
||||||
plural: inlägg
|
|
@ -1,91 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: โพสต์
|
|
||||||
category: หมวดหมู่
|
|
||||||
tag: แท็ก
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: หน้าแรก
|
|
||||||
categories: หมวดหมู่
|
|
||||||
tags: แท็ก
|
|
||||||
archives: คลังเก็บ
|
|
||||||
about: เกี่ยวกับ
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: ค้นหา
|
|
||||||
cancel: ยกเลิก
|
|
||||||
no_results: โอ๊ะ! ไม่พบผลลัพธ์
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: อัปเดตล่าสุด
|
|
||||||
trending_tags: แท็กยอดนิยม
|
|
||||||
toc: เนื้อหา
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: โพสต์นี้อยู่ภายใต้การอนุญาต :LICENSE_NAME โดยผู้เขียน
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: สงวนลิขสิทธิ์เป็นบางส่วน
|
|
||||||
verbose: >-
|
|
||||||
เว้นแต่ว่าจะระบุเป็นอย่างอื่น โพสต์บนเว็บไซต์นี้อยู่ภายใต้
|
|
||||||
สัญญาอนุญาตครีเอทีฟคอมมอนส์แบบ 4.0 นานาชาติ (CC BY 4.0) โดยผู้เขียน
|
|
||||||
|
|
||||||
meta: กำลังใช้ธีมของ :PLATFORM ชื่อ :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: ขออภัย เราวาง URL นั้นไว้ผิดที่ หรือมันชี้ไปยังสิ่งที่ไม่มีอยู่
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: มีเวอร์ชันใหม่ของเนื้อหา
|
|
||||||
update: อัปเดต
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: โดย
|
|
||||||
posted: โพสต์เมื่อ
|
|
||||||
updated: อัปเดตเมื่อ
|
|
||||||
words: คำ
|
|
||||||
pageview_measure: ครั้ง
|
|
||||||
read_time:
|
|
||||||
unit: นาที
|
|
||||||
prompt: อ่าน
|
|
||||||
relate_posts: อ่านต่อ
|
|
||||||
share: แชร์
|
|
||||||
button:
|
|
||||||
next: ใหม่กว่า
|
|
||||||
previous: เก่ากว่า
|
|
||||||
copy_code:
|
|
||||||
succeed: คัดลอกแล้ว!
|
|
||||||
share_link:
|
|
||||||
title: คัดลอกลิงก์
|
|
||||||
succeed: คัดลอกลิงก์เรียบร้อยแล้ว!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: หมวดหมู่
|
|
||||||
plural: หมวดหมู่
|
|
||||||
post_measure:
|
|
||||||
singular: โพสต์
|
|
||||||
plural: โพสต์
|
|
@ -1,77 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Gönderi
|
|
||||||
category: Kategori
|
|
||||||
tag: Etiket
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Ana Sayfa
|
|
||||||
categories: Kategoriler
|
|
||||||
tags: Etiketler
|
|
||||||
archives: Arşiv
|
|
||||||
about: Hakkında
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: Ara...
|
|
||||||
cancel: İptal
|
|
||||||
no_results: Hop! Öyle bir şey bulamadım.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Son Güncellenenler
|
|
||||||
trending_tags: Yükselen Etiketler
|
|
||||||
toc: İçindekiler
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Bu gönderi :LICENSE_NAME lisansı altındadır.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/deed.tr
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Bazı hakları saklıdır.
|
|
||||||
verbose: >-
|
|
||||||
Aksi belirtilmediği sürece, bu sitedeki gönderiler Creative Commons Atıf 4.0 Uluslararası (CC BY 4.0) Lisansı altındadır.
|
|
||||||
Kısaca sayfa linkini vererek değiştirebilir / paylaşabilirsiniz.
|
|
||||||
|
|
||||||
meta: :PLATFORM ve :THEME teması
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Üzgünüz, bu linki yanlış yerleştirdik veya var olmayan bir şeye işaret ediyor.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: İçeriğin yeni bir sürümü mevcut.
|
|
||||||
update: Güncelle
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Yazan
|
|
||||||
posted: Gönderim
|
|
||||||
updated: Güncelleme
|
|
||||||
words: sözcük
|
|
||||||
pageview_measure: görüntülenme
|
|
||||||
read_time:
|
|
||||||
unit: dakikada
|
|
||||||
prompt: okunabilir
|
|
||||||
relate_posts: Benzer Gönderiler
|
|
||||||
share: Paylaş
|
|
||||||
button:
|
|
||||||
next: İleri
|
|
||||||
previous: Geri
|
|
||||||
copy_code:
|
|
||||||
succeed: Kopyalandı.
|
|
||||||
share_link:
|
|
||||||
title: Linki kopyala
|
|
||||||
succeed: Link kopyalandı.
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: kategori
|
|
||||||
post_measure: gönderi
|
|
@ -1,77 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Публікація
|
|
||||||
category: Категорія
|
|
||||||
tag: Тег
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Домашня сторінка
|
|
||||||
categories: Категорії
|
|
||||||
tags: Теги
|
|
||||||
archives: Архів
|
|
||||||
about: Про сайт
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: пошук
|
|
||||||
cancel: Скасувати
|
|
||||||
no_results: Ох! Нічого не знайдено.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Нещодавно оновлено
|
|
||||||
trending_tags: Популярні теги
|
|
||||||
toc: Зміст
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Публікація захищена ліцензією :LICENSE_NAME.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Деякі права захищено.
|
|
||||||
verbose: >-
|
|
||||||
Публікації на сайті захищено ліцензією Creative Commons Attribution 4.0 International (CC BY 4.0),
|
|
||||||
якщо інше не вказано в тексті.
|
|
||||||
|
|
||||||
meta: Powered by :PLATFORM with :THEME theme
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Вибачте, це посилання вказує на ресурс, що не існує.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Доступна нова версія вмісту.
|
|
||||||
update: Оновлення
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Автор
|
|
||||||
posted: Час публікації
|
|
||||||
updated: Оновлено
|
|
||||||
words: слів
|
|
||||||
pageview_measure: переглядів
|
|
||||||
read_time:
|
|
||||||
unit: хвилин
|
|
||||||
prompt: читання
|
|
||||||
relate_posts: Вас також може зацікавити
|
|
||||||
share: Поділитися
|
|
||||||
button:
|
|
||||||
next: Попередня публікація
|
|
||||||
previous: Наступна публікація
|
|
||||||
copy_code:
|
|
||||||
succeed: Успішно скопійовано!
|
|
||||||
share_link:
|
|
||||||
title: Скопіювати посилання
|
|
||||||
succeed: Посилання успішно скопійовано!
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: категорії
|
|
||||||
post_measure: публікації
|
|
@ -1,76 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Bài viết
|
|
||||||
category: Danh mục
|
|
||||||
tag: Thẻ
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Trang chủ
|
|
||||||
categories: Các danh mục
|
|
||||||
tags: Các thẻ
|
|
||||||
archives: Lưu trữ
|
|
||||||
about: Giới thiệu
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: tìm kiếm
|
|
||||||
cancel: Hủy
|
|
||||||
no_results: Không có kết quả tìm kiếm.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Mới cập nhật
|
|
||||||
trending_tags: Các thẻ thịnh hành
|
|
||||||
toc: Mục lục
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: Bài viết này được cấp phép bởi tác giả theo giấy phép :LICENSE_NAME.
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: Một số quyền được bảo lưu.
|
|
||||||
verbose: >-
|
|
||||||
Trừ khi có ghi chú khác, các bài viết đăng trên trang này được cấp phép bởi tác giả theo giấy phép Creative Commons Attribution 4.0 International (CC BY 4.0).
|
|
||||||
|
|
||||||
meta: Trang web này được tạo bởi :PLATFORM với chủ đề :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: Xin lỗi, chúng tôi đã đặt nhầm URL hoặc đường dẫn trỏ đến một trang nào đó không tồn tại.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: Đã có phiên bản mới của nội dung.
|
|
||||||
update: Cập nhật
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: Viết bởi
|
|
||||||
posted: Đăng lúc
|
|
||||||
updated: Cập nhật lúc
|
|
||||||
words: từ
|
|
||||||
pageview_measure: lượt xem
|
|
||||||
read_time:
|
|
||||||
unit: phút
|
|
||||||
prompt: đọc
|
|
||||||
relate_posts: Bài viết liên quan
|
|
||||||
share: Chia sẻ
|
|
||||||
button:
|
|
||||||
next: Mới hơn
|
|
||||||
previous: Cũ hơn
|
|
||||||
copy_code:
|
|
||||||
succeed: Đã sao chép!
|
|
||||||
share_link:
|
|
||||||
title: Sao chép đường dẫn
|
|
||||||
succeed: Đã sao chép đường dẫn thành công!
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: danh mục
|
|
||||||
post_measure: bài viết
|
|
@ -1,83 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: 文章
|
|
||||||
category: 分类
|
|
||||||
tag: 标签
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: 首页
|
|
||||||
categories: 分类
|
|
||||||
tags: 标签
|
|
||||||
archives: 归档
|
|
||||||
about: 关于
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: 搜索
|
|
||||||
cancel: 取消
|
|
||||||
no_results: 搜索结果为空
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: 最近更新
|
|
||||||
trending_tags: 热门标签
|
|
||||||
toc: 文章内容
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: 本文由作者按照 :LICENSE_NAME 进行授权
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: 保留部分权利。
|
|
||||||
verbose: >-
|
|
||||||
除非另有说明,本网站上的博客文章均由作者按照知识共享署名 4.0 国际 (CC BY 4.0) 许可协议进行授权。
|
|
||||||
|
|
||||||
meta: 本站采用 :PLATFORM 主题 :THEME
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: 抱歉,我们放错了该 URL,或者它指向了不存在的内容。
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: 发现新版本的内容。
|
|
||||||
update: 更新
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: 作者
|
|
||||||
posted: 发表于
|
|
||||||
updated: 更新于
|
|
||||||
words: 字
|
|
||||||
pageview_measure: 次浏览
|
|
||||||
read_time:
|
|
||||||
unit: 分钟
|
|
||||||
prompt: 阅读
|
|
||||||
relate_posts: 相关文章
|
|
||||||
share: 分享
|
|
||||||
button:
|
|
||||||
next: 下一篇
|
|
||||||
previous: 上一篇
|
|
||||||
copy_code:
|
|
||||||
succeed: 已复制!
|
|
||||||
share_link:
|
|
||||||
title: 分享链接
|
|
||||||
succeed: 链接已复制!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%Y/%m/%d"
|
|
||||||
dayjs: "YYYY/MM/DD"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: 个分类
|
|
||||||
post_measure: 篇文章
|
|
@ -1,83 +0,0 @@
|
|||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: 文章
|
|
||||||
category: 分類
|
|
||||||
tag: 標籤
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: 首頁
|
|
||||||
categories: 分類
|
|
||||||
tags: 標籤
|
|
||||||
archives: 封存
|
|
||||||
about: 關於
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: 搜尋
|
|
||||||
cancel: 取消
|
|
||||||
no_results: 沒有搜尋結果
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: 最近更新
|
|
||||||
trending_tags: 熱門標籤
|
|
||||||
toc: 文章摘要
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# Shown at the bottom of the post
|
|
||||||
license:
|
|
||||||
template: 本文章以 :LICENSE_NAME 授權
|
|
||||||
name: CC BY 4.0
|
|
||||||
link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# Displayed in the footer
|
|
||||||
brief: 保留部份權利。
|
|
||||||
verbose: >-
|
|
||||||
除非另有說明,否則本網誌的文章均由作者按照姓名標示 4.0 國際 (CC BY 4.0) 授權條款進行授權。
|
|
||||||
|
|
||||||
meta: 本網站使用 :PLATFORM 產生,採用 :THEME 主題
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statement: 抱歉,您可能正在存取一個已被移動的 URL,或者它從未存在。
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: 發現新版本更新。
|
|
||||||
update: 更新
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: 作者
|
|
||||||
posted: 發布於
|
|
||||||
updated: 更新於
|
|
||||||
words: 字
|
|
||||||
pageview_measure: 次瀏覽
|
|
||||||
read_time:
|
|
||||||
unit: 分鐘
|
|
||||||
prompt: 閱讀
|
|
||||||
relate_posts: 相關文章
|
|
||||||
share: 分享
|
|
||||||
button:
|
|
||||||
next: 下一篇
|
|
||||||
previous: 上一篇
|
|
||||||
copy_code:
|
|
||||||
succeed: 已複製!
|
|
||||||
share_link:
|
|
||||||
title: 分享連結
|
|
||||||
succeed: 已複製連結!
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%Y/%m/%d"
|
|
||||||
dayjs: "YYYY/MM/DD"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure: 個分類
|
|
||||||
post_measure: 篇文章
|
|
@ -1,18 +0,0 @@
|
|||||||
- extension: mp3
|
|
||||||
mime_type: mpeg
|
|
||||||
- extension: mov
|
|
||||||
mime_type: quicktime
|
|
||||||
- extension: avi
|
|
||||||
mime_type: x-msvideo
|
|
||||||
- extension: mkv
|
|
||||||
mime_type: x-matroska
|
|
||||||
- extension: ogv
|
|
||||||
mime_type: ogg
|
|
||||||
- extension: weba
|
|
||||||
mime_type: webm
|
|
||||||
- extension: 3gp
|
|
||||||
mime_type: 3gpp
|
|
||||||
- extension: 3g2
|
|
||||||
mime_type: 3gpp2
|
|
||||||
- extension: mid
|
|
||||||
mime_type: midi
|
|
@ -1,39 +0,0 @@
|
|||||||
# fonts
|
|
||||||
|
|
||||||
webfonts: /assets/lib/fonts/main.css
|
|
||||||
|
|
||||||
# Libraries
|
|
||||||
|
|
||||||
toc:
|
|
||||||
css: /assets/lib/tocbot/tocbot.min.css
|
|
||||||
js: /assets/lib/tocbot/tocbot.min.js
|
|
||||||
|
|
||||||
fontawesome:
|
|
||||||
css: /assets/lib/fontawesome-free/css/all.min.css
|
|
||||||
|
|
||||||
search:
|
|
||||||
js: /assets/lib/simple-jekyll-search/simple-jekyll-search.min.js
|
|
||||||
|
|
||||||
mermaid:
|
|
||||||
js: /assets/lib/mermaid/mermaid.min.js
|
|
||||||
|
|
||||||
dayjs:
|
|
||||||
js:
|
|
||||||
common: /assets/lib/dayjs/dayjs.min.js
|
|
||||||
locale: /assets/lib/dayjs/locale/en.js
|
|
||||||
relativeTime: /assets/lib/dayjs/plugin/relativeTime.js
|
|
||||||
localizedFormat: /assets/lib/dayjs/plugin/localizedFormat.js
|
|
||||||
|
|
||||||
glightbox:
|
|
||||||
css: /assets/lib/glightbox/glightbox.min.css
|
|
||||||
js: /assets/lib/glightbox/glightbox.min.js
|
|
||||||
|
|
||||||
lazy-polyfill:
|
|
||||||
css: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.min.css
|
|
||||||
js: /assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.umd.min.js
|
|
||||||
|
|
||||||
clipboard:
|
|
||||||
js: /assets/lib/clipboard/clipboard.min.js
|
|
||||||
|
|
||||||
mathjax:
|
|
||||||
js: /assets/lib/mathjax/tex-chtml.js
|
|
@ -1,54 +0,0 @@
|
|||||||
# Resource Hints
|
|
||||||
resource_hints:
|
|
||||||
- url: https://fonts.googleapis.com
|
|
||||||
links:
|
|
||||||
- rel: preconnect
|
|
||||||
- rel: dns-prefetch
|
|
||||||
- url: https://fonts.gstatic.com
|
|
||||||
links:
|
|
||||||
- rel: preconnect
|
|
||||||
opts: [crossorigin]
|
|
||||||
- rel: dns-prefetch
|
|
||||||
- url: https://cdn.jsdelivr.net
|
|
||||||
links:
|
|
||||||
- rel: preconnect
|
|
||||||
- rel: dns-prefetch
|
|
||||||
|
|
||||||
# Web Fonts
|
|
||||||
webfonts: https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Source+Sans+Pro:wght@400;600;700;900&display=swap
|
|
||||||
|
|
||||||
# Libraries
|
|
||||||
|
|
||||||
toc:
|
|
||||||
css: https://cdn.jsdelivr.net/npm/tocbot@4.29.0/dist/tocbot.min.css
|
|
||||||
js: https://cdn.jsdelivr.net/npm/tocbot@4.29.0/dist/tocbot.min.js
|
|
||||||
|
|
||||||
fontawesome:
|
|
||||||
css: https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/all.min.css
|
|
||||||
|
|
||||||
search:
|
|
||||||
js: https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js
|
|
||||||
|
|
||||||
mermaid:
|
|
||||||
js: https://cdn.jsdelivr.net/npm/mermaid@11.0.2/dist/mermaid.min.js
|
|
||||||
|
|
||||||
dayjs:
|
|
||||||
js:
|
|
||||||
common: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/dayjs.min.js
|
|
||||||
locale: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/locale/:LOCALE.js
|
|
||||||
relativeTime: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/plugin/relativeTime.js
|
|
||||||
localizedFormat: https://cdn.jsdelivr.net/npm/dayjs@1.11.13/plugin/localizedFormat.js
|
|
||||||
|
|
||||||
glightbox:
|
|
||||||
css: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/css/glightbox.min.css
|
|
||||||
js: https://cdn.jsdelivr.net/npm/glightbox@3.3.0/dist/js/glightbox.min.js
|
|
||||||
|
|
||||||
lazy-polyfill:
|
|
||||||
css: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.min.css
|
|
||||||
js: https://cdn.jsdelivr.net/npm/loading-attribute-polyfill@2.1.1/dist/loading-attribute-polyfill.umd.min.js
|
|
||||||
|
|
||||||
clipboard:
|
|
||||||
js: https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js
|
|
||||||
|
|
||||||
mathjax:
|
|
||||||
js: https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/tex-chtml.js
|
|
@ -1,50 +0,0 @@
|
|||||||
# Sharing options at the bottom of the post.
|
|
||||||
# Icons from <https://fontawesome.com/>
|
|
||||||
|
|
||||||
platforms: []
|
|
||||||
# - type: Twitter
|
|
||||||
# icon: "fa-brands fa-square-x-twitter"
|
|
||||||
# link: "https://twitter.com/intent/tweet?text=TITLE&url=URL"
|
|
||||||
|
|
||||||
# - type: Facebook
|
|
||||||
# icon: "fab fa-facebook-square"
|
|
||||||
# link: "https://www.facebook.com/sharer/sharer.php?title=TITLE&u=URL"
|
|
||||||
|
|
||||||
# - type: Telegram
|
|
||||||
# icon: "fab fa-telegram"
|
|
||||||
# link: "https://t.me/share/url?url=URL&text=TITLE"
|
|
||||||
|
|
||||||
# Uncomment below if you need to.
|
|
||||||
#
|
|
||||||
# - type: Linkedin
|
|
||||||
# icon: "fab fa-linkedin"
|
|
||||||
# link: "https://www.linkedin.com/sharing/share-offsite/?url=URL"
|
|
||||||
#
|
|
||||||
# - type: Weibo
|
|
||||||
# icon: "fab fa-weibo"
|
|
||||||
# link: "https://service.weibo.com/share/share.php?title=TITLE&url=URL"
|
|
||||||
#
|
|
||||||
# - type: Mastodon
|
|
||||||
# icon: "fa-brands fa-mastodon"
|
|
||||||
# # See: https://github.com/justinribeiro/share-to-mastodon#properties
|
|
||||||
# instances:
|
|
||||||
# - label: mastodon.social
|
|
||||||
# link: "https://mastodon.social/"
|
|
||||||
# - label: mastodon.online
|
|
||||||
# link: "https://mastodon.online/"
|
|
||||||
# - label: fosstodon.org
|
|
||||||
# link: "https://fosstodon.org/"
|
|
||||||
# - label: photog.social
|
|
||||||
# link: "https://photog.social/"
|
|
||||||
#
|
|
||||||
# - type: Bluesky
|
|
||||||
# icon: "fa-brands fa-bluesky"
|
|
||||||
# link: "https://bsky.app/intent/compose?text=TITLE%20URL"
|
|
||||||
#
|
|
||||||
# - type: Reddit
|
|
||||||
# icon: "fa-brands fa-square-reddit"
|
|
||||||
# link: "https://www.reddit.com/submit?url=URL&title=TITLE"
|
|
||||||
#
|
|
||||||
# - type: Threads
|
|
||||||
# icon: "fa-brands fa-square-threads"
|
|
||||||
# link: "https://www.threads.net/intent/post?text=TITLE%20URL"
|
|
@ -1,7 +0,0 @@
|
|||||||
<!-- Cloudflare Web Analytics -->
|
|
||||||
<script
|
|
||||||
defer
|
|
||||||
src="https://static.cloudflareinsights.com/beacon.min.js"
|
|
||||||
data-cf-beacon='{"token": "{{ site.analytics.cloudflare.id }}"}'
|
|
||||||
></script>
|
|
||||||
<!-- End Cloudflare Web Analytics -->
|
|
@ -1,7 +0,0 @@
|
|||||||
<!-- Fathom -->
|
|
||||||
<script
|
|
||||||
src="https://cdn.usefathom.com/script.js"
|
|
||||||
data-site="{{ site.analytics.fathom.id }}"
|
|
||||||
defer>
|
|
||||||
</script>
|
|
||||||
<!-- End Fathom Code -->
|
|
@ -1,6 +0,0 @@
|
|||||||
<!-- GoatCounter -->
|
|
||||||
<script
|
|
||||||
async
|
|
||||||
src="https://gc.zgo.at/count.js"
|
|
||||||
data-goatcounter="https://{{ site.analytics.goatcounter.id }}.goatcounter.com/count"
|
|
||||||
></script>
|
|
@ -1,13 +0,0 @@
|
|||||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
|
||||||
<script defer src="https://www.googletagmanager.com/gtag/js?id={{ site.analytics.google.id }}"></script>
|
|
||||||
<script>
|
|
||||||
document.addEventListener('DOMContentLoaded', function (event) {
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag() {
|
|
||||||
dataLayer.push(arguments);
|
|
||||||
}
|
|
||||||
|
|
||||||
gtag('js', new Date());
|
|
||||||
gtag('config', '{{ site.analytics.google.id }}');
|
|
||||||
});
|
|
||||||
</script>
|
|
@ -1,14 +0,0 @@
|
|||||||
<!-- Matomo -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var _paq = window._paq = window._paq || [];
|
|
||||||
_paq.push(['trackPageView']);
|
|
||||||
_paq.push(['enableLinkTracking']);
|
|
||||||
(function() {
|
|
||||||
var u="//{{ site.analytics.matomo.domain }}/";
|
|
||||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
|
||||||
_paq.push(['setSiteId', {{ site.analytics.matomo.id }}]);
|
|
||||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
|
||||||
g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<!-- End Matomo Code -->
|
|
@ -1,6 +0,0 @@
|
|||||||
<!-- Umami -->
|
|
||||||
<script
|
|
||||||
defer
|
|
||||||
src="{{ site.analytics.umami.domain }}/script.js"
|
|
||||||
data-website-id="{{ site.analytics.umami.id }}"
|
|
||||||
></script>
|
|
@ -1,5 +0,0 @@
|
|||||||
<!-- The comments switcher -->
|
|
||||||
{% if page.comments and site.comments.provider %}
|
|
||||||
{% capture path %}comments/{{ site.comments.provider }}.html{% endcapture %}
|
|
||||||
{% include {{ path }} %}
|
|
||||||
{% endif %}
|
|
@ -1,50 +0,0 @@
|
|||||||
<!-- The Disqus lazy loading. -->
|
|
||||||
|
|
||||||
<div id="disqus_thread">
|
|
||||||
<p class="text-center text-muted small">Comments powered by <a href="https://disqus.com/">Disqus</a>.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
var disqus_config = function () {
|
|
||||||
this.page.url = '{{ page.url | absolute_url }}';
|
|
||||||
this.page.identifier = '{{ page.url }}';
|
|
||||||
};
|
|
||||||
|
|
||||||
{%- comment -%} Lazy loading {%- endcomment -%}
|
|
||||||
var disqus_observer = new IntersectionObserver(
|
|
||||||
function (entries) {
|
|
||||||
if (entries[0].isIntersecting) {
|
|
||||||
(function () {
|
|
||||||
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);
|
|
||||||
})();
|
|
||||||
|
|
||||||
disqus_observer.disconnect();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ threshold: [0] }
|
|
||||||
);
|
|
||||||
|
|
||||||
disqus_observer.observe(document.getElementById('disqus_thread'));
|
|
||||||
|
|
||||||
{%- comment -%} Auto switch theme {%- endcomment -%}
|
|
||||||
function reloadDisqus() {
|
|
||||||
if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
|
|
||||||
{%- comment -%} Disqus hasn't been loaded {%- endcomment -%}
|
|
||||||
if (typeof DISQUS === 'undefined') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (document.readyState == 'complete') {
|
|
||||||
DISQUS.reset({ reload: true, config: disqus_config });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (document.getElementById('mode-toggle')) {
|
|
||||||
window.addEventListener('message', reloadDisqus);
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,71 +0,0 @@
|
|||||||
<!-- https://giscus.app/ -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
(function () {
|
|
||||||
const origin = 'https://giscus.app';
|
|
||||||
const lightTheme = 'light';
|
|
||||||
const darkTheme = 'dark_dimmed';
|
|
||||||
|
|
||||||
let initTheme = lightTheme;
|
|
||||||
const html = document.documentElement;
|
|
||||||
|
|
||||||
if (
|
|
||||||
(html.hasAttribute('data-mode') &&
|
|
||||||
html.getAttribute('data-mode') === 'dark') ||
|
|
||||||
(!html.hasAttribute('data-mode') &&
|
|
||||||
window.matchMedia('(prefers-color-scheme: dark)').matches)
|
|
||||||
) {
|
|
||||||
initTheme = darkTheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
let lang = '{{ site.comments.giscus.lang | default: lang }}';
|
|
||||||
{%- comment -%} https://github.com/giscus/giscus/tree/main/locales {%- endcomment -%}
|
|
||||||
if (lang.length > 2 && !lang.startsWith('zh')) {
|
|
||||||
lang = lang.slice(0, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
let giscusAttributes = {
|
|
||||||
src: 'https://giscus.app/client.js',
|
|
||||||
'data-repo': '{{ site.comments.giscus.repo}}',
|
|
||||||
'data-repo-id': '{{ site.comments.giscus.repo_id }}',
|
|
||||||
'data-category': '{{ site.comments.giscus.category }}',
|
|
||||||
'data-category-id': '{{ site.comments.giscus.category_id }}',
|
|
||||||
'data-mapping': '{{ site.comments.giscus.mapping | default: 'pathname' }}',
|
|
||||||
'data-strict' : '{{ site.comments.giscus.strict | default: '0' }}',
|
|
||||||
'data-reactions-enabled': '{{ site.comments.giscus.reactions_enabled | default: '1' }}',
|
|
||||||
'data-emit-metadata': '0',
|
|
||||||
'data-theme': initTheme,
|
|
||||||
'data-input-position': '{{ site.comments.giscus.input_position | default: 'bottom' }}',
|
|
||||||
'data-lang': lang,
|
|
||||||
'data-loading': 'lazy',
|
|
||||||
crossorigin: 'anonymous',
|
|
||||||
async: ''
|
|
||||||
};
|
|
||||||
|
|
||||||
let giscusScript = document.createElement('script');
|
|
||||||
Object.entries(giscusAttributes).forEach(([key, value]) =>
|
|
||||||
giscusScript.setAttribute(key, value)
|
|
||||||
);
|
|
||||||
document.getElementById('tail-wrapper').appendChild(giscusScript);
|
|
||||||
|
|
||||||
addEventListener('message', (event) => {
|
|
||||||
if (
|
|
||||||
event.source === window &&
|
|
||||||
event.data &&
|
|
||||||
event.data.direction === ModeToggle.ID
|
|
||||||
) {
|
|
||||||
{%- comment -%} global theme mode changed {%- endcomment -%}
|
|
||||||
const mode = event.data.message;
|
|
||||||
const theme = mode === ModeToggle.DARK_MODE ? darkTheme : lightTheme;
|
|
||||||
|
|
||||||
const message = {
|
|
||||||
setConfig: {
|
|
||||||
theme: theme
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const giscus = document.getElementsByClassName('giscus-frame')[0].contentWindow;
|
|
||||||
giscus.postMessage({ giscus: message }, origin);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})();
|
|
||||||
</script>
|
|
@ -1,49 +0,0 @@
|
|||||||
<!-- https://utteranc.es/ -->
|
|
||||||
<script
|
|
||||||
src="https://utteranc.es/client.js"
|
|
||||||
repo="{{ site.comments.utterances.repo }}"
|
|
||||||
issue-term="{{ site.comments.utterances.issue_term }}"
|
|
||||||
crossorigin="anonymous"
|
|
||||||
async
|
|
||||||
></script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
(function () {
|
|
||||||
const origin = 'https://utteranc.es';
|
|
||||||
const lightTheme = 'github-light';
|
|
||||||
const darkTheme = 'github-dark';
|
|
||||||
let initTheme = lightTheme;
|
|
||||||
const html = document.documentElement;
|
|
||||||
|
|
||||||
if (
|
|
||||||
(html.hasAttribute('data-mode') && html.getAttribute('data-mode') === 'dark') ||
|
|
||||||
(!html.hasAttribute('data-mode') && window.matchMedia('(prefers-color-scheme: dark)').matches)
|
|
||||||
) {
|
|
||||||
initTheme = darkTheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
addEventListener('message', (event) => {
|
|
||||||
let theme;
|
|
||||||
|
|
||||||
{%- comment -%} credit to <https://github.com/utterance/utterances/issues/170#issuecomment-594036347> {%- endcomment -%}
|
|
||||||
if (event.origin === origin) {
|
|
||||||
{%- comment -%} page initial {%- endcomment -%}
|
|
||||||
theme = initTheme;
|
|
||||||
} else if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
|
|
||||||
{%- comment -%} global theme mode changed {%- endcomment -%}
|
|
||||||
const mode = event.data.message;
|
|
||||||
theme = mode === ModeToggle.DARK_MODE ? darkTheme : lightTheme;
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const message = {
|
|
||||||
type: 'set-theme',
|
|
||||||
theme: theme
|
|
||||||
};
|
|
||||||
|
|
||||||
const utterances = document.getElementsByClassName('utterances-frame')[0].contentWindow;
|
|
||||||
utterances.postMessage(message, origin);
|
|
||||||
});
|
|
||||||
})();
|
|
||||||
</script>
|
|
@ -1,20 +0,0 @@
|
|||||||
<!--
|
|
||||||
Date format snippet
|
|
||||||
See: ${JS_ROOT}/utils/locale-dateime.js
|
|
||||||
-->
|
|
||||||
|
|
||||||
{% assign df_strftime = site.data.locales[include.lang].df.post.strftime | default: '%d/%m/%Y' %}
|
|
||||||
{% assign df_dayjs = site.data.locales[include.lang].df.post.dayjs | default: 'DD/MM/YYYY' %}
|
|
||||||
|
|
||||||
<time
|
|
||||||
{% if include.class %}
|
|
||||||
class="{{ include.class }}"
|
|
||||||
{% endif %}
|
|
||||||
data-ts="{{ include.date | date: '%s' }}"
|
|
||||||
data-df="{{ df_dayjs }}"
|
|
||||||
{% if include.tooltip %}
|
|
||||||
data-bs-toggle="tooltip" data-bs-placement="bottom"
|
|
||||||
{% endif %}
|
|
||||||
>
|
|
||||||
{{ include.date | date: df_strftime }}
|
|
||||||
</time>
|
|
@ -1,35 +0,0 @@
|
|||||||
{% assign src = include.src | strip %}
|
|
||||||
{% assign title = include.title | strip %}
|
|
||||||
{% assign types = include.types | default: '' | strip | split: '|' %}
|
|
||||||
|
|
||||||
{% unless src contains '://' %}
|
|
||||||
{%- capture src -%}
|
|
||||||
{% include media-url.html src=src subpath=page.media_subpath %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<audio class="embed-audio" controls>
|
|
||||||
{% assign extension = src | split: '.' | last %}
|
|
||||||
{% assign types = extension | concat: types %}
|
|
||||||
|
|
||||||
{% assign ext_size = extension | size %}
|
|
||||||
{% assign src_size = src | size %}
|
|
||||||
{% assign slice_size = src_size | minus: ext_size %}
|
|
||||||
|
|
||||||
{% assign filepath = src | slice: 0, slice_size %}
|
|
||||||
|
|
||||||
{% for type in types %}
|
|
||||||
{% assign src = filepath | append: type %}
|
|
||||||
{% assign media_item = site.data.media | find: 'extension', type %}
|
|
||||||
{% assign mime_type = media_item.mime_type | default: type %}
|
|
||||||
<source src="{{ src }}" type="audio/{{ mime_type }}">
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
Your browser does not support the audio tag. Here is a
|
|
||||||
<a href="{{ src | strip }}">link to the audio file</a> instead.
|
|
||||||
</audio>
|
|
||||||
{% if title %}
|
|
||||||
<em>{{ title }}</em>
|
|
||||||
{% endif %}
|
|
||||||
</p>
|
|
@ -1,9 +0,0 @@
|
|||||||
<iframe
|
|
||||||
class="embed-video"
|
|
||||||
loading="lazy"
|
|
||||||
src="https://player.bilibili.com/player.html?bvid={{ include.id }}"
|
|
||||||
scrolling="no"
|
|
||||||
frameborder="0"
|
|
||||||
framespacing="0"
|
|
||||||
allowfullscreen="true"
|
|
||||||
></iframe>
|
|
@ -1,8 +0,0 @@
|
|||||||
<iframe
|
|
||||||
class="embed-video twitch"
|
|
||||||
loading="lazy"
|
|
||||||
src="https://player.twitch.tv/?video={{ include.id }}&parent={{ site.url | split: '://' | last | remove: '/' }}"
|
|
||||||
frameborder="0"
|
|
||||||
allowfullscreen="true"
|
|
||||||
scrolling="no"
|
|
||||||
></iframe>
|
|
@ -1,59 +0,0 @@
|
|||||||
{% assign video_url = include.src %}
|
|
||||||
{% assign title = include.title %}
|
|
||||||
{% assign poster_url = include.poster %}
|
|
||||||
{% assign types = include.types | default: '' | strip | split: '|' %}
|
|
||||||
|
|
||||||
{% unless video_url contains '://' %}
|
|
||||||
{%- capture video_url -%}
|
|
||||||
{% include media-url.html src=video_url subpath=page.media_subpath %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% if poster_url %}
|
|
||||||
{% unless poster_url contains '://' %}
|
|
||||||
{%- capture poster_url -%}
|
|
||||||
{% include media-url.html src=poster_url subpath=page.media_subpath %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
{% endunless %}
|
|
||||||
{% assign poster = 'poster="' | append: poster_url | append: '"' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign attributes = 'controls' %}
|
|
||||||
|
|
||||||
{% if include.autoplay %}
|
|
||||||
{% assign attributes = attributes | append: ' ' | append: 'autoplay' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if include.loop %}
|
|
||||||
{% assign attributes = attributes | append: ' ' | append: 'loop' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if include.muted %}
|
|
||||||
{% assign attributes = attributes | append: ' ' | append: 'muted' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<video class="embed-video file" {{ poster }} {{ attributes }}>
|
|
||||||
{% assign extension = video_url | split: '.' | last %}
|
|
||||||
{% assign types = extension | concat: types %}
|
|
||||||
|
|
||||||
{% assign ext_size = extension | size %}
|
|
||||||
{% assign src_size = video_url | size %}
|
|
||||||
{% assign slice_size = src_size | minus: ext_size %}
|
|
||||||
|
|
||||||
{% assign filepath = video_url | slice: 0, slice_size %}
|
|
||||||
|
|
||||||
{% for type in types %}
|
|
||||||
{% assign src = filepath | append: type %}
|
|
||||||
{% assign media_item = site.data.media | find: 'extension', type %}
|
|
||||||
{% assign mime_type = media_item.mime_type | default: type %}
|
|
||||||
<source src="{{ src }}" type="video/{{ mime_type }}">
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
Your browser does not support the video tag. Here is a
|
|
||||||
<a href="{{ video_url | strip }}">link to the video file</a> instead.
|
|
||||||
</video>
|
|
||||||
{% if title %}
|
|
||||||
<em>{{ title }}</em>
|
|
||||||
{% endif %}
|
|
||||||
</p>
|
|
@ -1,9 +0,0 @@
|
|||||||
<iframe
|
|
||||||
class="embed-video"
|
|
||||||
loading="lazy"
|
|
||||||
src="https://www.youtube.com/embed/{{ include.id }}"
|
|
||||||
title="YouTube video player"
|
|
||||||
frameborder="0"
|
|
||||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
||||||
allowfullscreen
|
|
||||||
></iframe>
|
|
@ -1,19 +0,0 @@
|
|||||||
<!--
|
|
||||||
The Favicons for Web, Android, Microsoft, and iOS (iPhone and iPad) Apps
|
|
||||||
Generated by: https://realfavicongenerator.net/
|
|
||||||
-->
|
|
||||||
|
|
||||||
{% capture favicon_path %}{{ '/assets/img/favicons' | relative_url }}{% endcapture %}
|
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ favicon_path }}/apple-touch-icon.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ favicon_path }}/favicon-32x32.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ favicon_path }}/favicon-16x16.png">
|
|
||||||
{% if site.pwa.enabled %}
|
|
||||||
<link rel="manifest" href="{{ favicon_path }}/site.webmanifest">
|
|
||||||
{% endif %}
|
|
||||||
<link rel="shortcut icon" href="{{ favicon_path }}/favicon.ico">
|
|
||||||
<meta name="apple-mobile-web-app-title" content="{{ site.title }}">
|
|
||||||
<meta name="application-name" content="{{ site.title }}">
|
|
||||||
<meta name="msapplication-TileColor" content="#da532c">
|
|
||||||
<meta name="msapplication-config" content="{{ favicon_path }}/browserconfig.xml">
|
|
||||||
<meta name="theme-color" content="#ffffff">
|
|
@ -1,49 +0,0 @@
|
|||||||
<!-- The Footer -->
|
|
||||||
|
|
||||||
<footer
|
|
||||||
aria-label="Site Info"
|
|
||||||
class="
|
|
||||||
d-flex flex-column justify-content-center text-muted
|
|
||||||
flex-lg-row justify-content-lg-between align-items-lg-center pb-lg-3
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<p>
|
|
||||||
{{- '©' }}
|
|
||||||
<time>{{ 'now' | date: '%Y' }}</time>
|
|
||||||
|
|
||||||
{% if site.social.links %}
|
|
||||||
<a href="{{ site.social.links[0] }}">{{ site.social.name }}</a>.
|
|
||||||
{% else %}
|
|
||||||
<em class="fst-normal">{{ site.social.name }}</em>.
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if site.data.locales[include.lang].copyright.brief %}
|
|
||||||
<span
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-placement="top"
|
|
||||||
title="{{ site.data.locales[include.lang].copyright.verbose }}"
|
|
||||||
>
|
|
||||||
{{- site.data.locales[include.lang].copyright.brief -}}
|
|
||||||
</span>
|
|
||||||
{% endif %}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
{%- capture _platform -%}
|
|
||||||
<a href="https://jekyllrb.com" target="_blank" rel="noopener">Jekyll</a>
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{%- capture _theme -%}
|
|
||||||
<a
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-placement="top"
|
|
||||||
title="v{{ theme.version }}"
|
|
||||||
href="https://github.com/cotes2020/jekyll-theme-chirpy"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener"
|
|
||||||
>Chirpy</a>
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{{ site.data.locales[include.lang].meta | replace: ':PLATFORM', _platform | replace: ':THEME', _theme }}
|
|
||||||
</p>
|
|
||||||
</footer>
|
|
@ -1,107 +0,0 @@
|
|||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
||||||
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#f7f7f7">
|
|
||||||
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1b1b1e">
|
|
||||||
<meta name="mobile-web-app-capable" content="yes">
|
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
||||||
<meta
|
|
||||||
name="viewport"
|
|
||||||
content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover"
|
|
||||||
>
|
|
||||||
|
|
||||||
{%- capture seo_tags -%}
|
|
||||||
{% seo title=false %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
<!-- Setup Open Graph image -->
|
|
||||||
|
|
||||||
{% if page.image %}
|
|
||||||
{% assign src = page.image.path | default: page.image %}
|
|
||||||
|
|
||||||
{% unless src contains '://' %}
|
|
||||||
{%- capture img_url -%}
|
|
||||||
{% include media-url.html src=src subpath=page.media_subpath absolute=true %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{%- capture old_url -%}{{ src | absolute_url }}{%- endcapture -%}
|
|
||||||
{%- capture new_url -%}{{ img_url }}{%- endcapture -%}
|
|
||||||
|
|
||||||
{% assign seo_tags = seo_tags | replace: old_url, new_url %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% elsif site.social_preview_image %}
|
|
||||||
{%- capture img_url -%}
|
|
||||||
{% include media-url.html src=site.social_preview_image absolute=true %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{%- capture og_image -%}
|
|
||||||
<meta property="og:image" content="{{ img_url }}" />
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{%- capture twitter_image -%}
|
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
|
||||||
<meta property="twitter:image" content="{{ img_url }}" />
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{% assign old_meta_clip = '<meta name="twitter:card" content="summary" />' %}
|
|
||||||
{% assign new_meta_clip = og_image | append: twitter_image %}
|
|
||||||
{% assign seo_tags = seo_tags | replace: old_meta_clip, new_meta_clip %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{{ seo_tags }}
|
|
||||||
|
|
||||||
<title>
|
|
||||||
{%- unless page.layout == 'home' -%}
|
|
||||||
{{ page.title | append: ' | ' }}
|
|
||||||
{%- endunless -%}
|
|
||||||
{{ site.title }}
|
|
||||||
</title>
|
|
||||||
|
|
||||||
{% include_cached favicons.html %}
|
|
||||||
|
|
||||||
<!-- Resource Hints -->
|
|
||||||
{% unless site.assets.self_host.enabled %}
|
|
||||||
{% for hint in site.data.origin.cors.resource_hints %}
|
|
||||||
{% for link in hint.links %}
|
|
||||||
<link rel="{{ link.rel }}" href="{{ hint.url }}" {{ link.opts | join: ' ' }}>
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
<!-- Bootstrap -->
|
|
||||||
{% unless jekyll.environment == 'production' %}
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css">
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
<!-- Theme style -->
|
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/:THEME.css' | replace: ':THEME', site.theme | relative_url }}">
|
|
||||||
|
|
||||||
<!-- Web Font -->
|
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].webfonts | relative_url }}">
|
|
||||||
|
|
||||||
<!-- Font Awesome Icons -->
|
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].fontawesome.css | relative_url }}">
|
|
||||||
|
|
||||||
<!-- 3rd-party Dependencies -->
|
|
||||||
|
|
||||||
{% if site.toc and page.toc %}
|
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].toc.css | relative_url }}">
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %}
|
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type]['lazy-polyfill'].css | relative_url }}">
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.layout == 'page' or page.layout == 'post' %}
|
|
||||||
<!-- Image Popup -->
|
|
||||||
<link rel="stylesheet" href="{{ site.data.origin[type].glightbox.css | relative_url }}">
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- JavaScript -->
|
|
||||||
|
|
||||||
{% unless site.theme_mode %}
|
|
||||||
{% include mode-toggle.html %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% include metadata-hook.html %}
|
|
||||||
</head>
|
|
@ -1,109 +0,0 @@
|
|||||||
<!-- JS selector for site. -->
|
|
||||||
|
|
||||||
<!-- commons -->
|
|
||||||
|
|
||||||
{% assign urls = site.data.origin[type].search.js %}
|
|
||||||
|
|
||||||
<!-- layout specified -->
|
|
||||||
|
|
||||||
{% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %}
|
|
||||||
{% assign urls = urls | append: ',' | append: site.data.origin[type]['lazy-polyfill'].js %}
|
|
||||||
|
|
||||||
{% unless page.layout == 'home' %}
|
|
||||||
<!-- image lazy-loading & popup & clipboard -->
|
|
||||||
{% assign urls = urls
|
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].glightbox.js
|
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].clipboard.js
|
|
||||||
%}
|
|
||||||
{% endunless %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.layout == 'home'
|
|
||||||
or page.layout == 'post'
|
|
||||||
or page.layout == 'archives'
|
|
||||||
or page.layout == 'category'
|
|
||||||
or page.layout == 'tag'
|
|
||||||
%}
|
|
||||||
{% assign locale = include.lang | split: '-' | first %}
|
|
||||||
|
|
||||||
{% assign urls = urls
|
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].dayjs.js.common
|
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].dayjs.js.locale
|
|
||||||
| replace: ':LOCALE', locale
|
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].dayjs.js.relativeTime
|
|
||||||
| append: ','
|
|
||||||
| append: site.data.origin[type].dayjs.js.localizedFormat
|
|
||||||
%}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.content contains '<h2' or page.content contains '<h3' and site.toc and page.toc %}
|
|
||||||
{% assign urls = urls | append: ',' | append: site.data.origin[type].toc.js %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.mermaid %}
|
|
||||||
{% assign urls = urls | append: ',' | append: site.data.origin[type].mermaid.js %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% include jsdelivr-combine.html urls=urls %}
|
|
||||||
|
|
||||||
{% case page.layout %}
|
|
||||||
{% when 'home', 'categories', 'post', 'page' %}
|
|
||||||
{% assign js = page.layout %}
|
|
||||||
{% when 'archives', 'category', 'tag' %}
|
|
||||||
{% assign js = 'misc' %}
|
|
||||||
{% else %}
|
|
||||||
{% assign js = 'commons' %}
|
|
||||||
{% endcase %}
|
|
||||||
|
|
||||||
{% capture script %}/assets/js/dist/{{ js }}.min.js{% endcapture %}
|
|
||||||
|
|
||||||
<script src="{{ script | relative_url }}"></script>
|
|
||||||
|
|
||||||
{% if page.math %}
|
|
||||||
<!-- MathJax -->
|
|
||||||
<script src="{{ '/assets/js/data/mathjax.js' | relative_url }}"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=es6"></script>
|
|
||||||
<script id="MathJax-script" async src="{{ site.data.origin[type].mathjax.js | relative_url }}"></script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Pageviews -->
|
|
||||||
{% if page.layout == 'post' %}
|
|
||||||
{% assign provider = site.pageviews.provider %}
|
|
||||||
|
|
||||||
{% if provider and provider != empty %}
|
|
||||||
{% case provider %}
|
|
||||||
{% when 'goatcounter' %}
|
|
||||||
{% if site.analytics[provider].id != empty and site.analytics[provider].id %}
|
|
||||||
{% include pageviews/{{ provider }}.html %}
|
|
||||||
{% endif %}
|
|
||||||
{% endcase %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.mermaid %}
|
|
||||||
{% include mermaid.html %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if jekyll.environment == 'production' %}
|
|
||||||
<!-- PWA -->
|
|
||||||
{% if site.pwa.enabled %}
|
|
||||||
<script
|
|
||||||
defer
|
|
||||||
src="{{ 'app.min.js' | relative_url }}?baseurl={{ site.baseurl | default: '' }}®ister={{ site.pwa.cache.enabled }}"
|
|
||||||
></script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Web Analytics -->
|
|
||||||
{% for analytics in site.analytics %}
|
|
||||||
{% capture str %}{{ analytics }}{% endcapture %}
|
|
||||||
{% assign type = str | split: '{' | first %}
|
|
||||||
{% if site.analytics[type].id and site.analytics[type].id != empty %}
|
|
||||||
{% include analytics/{{ type }}.html %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
@ -1,26 +0,0 @@
|
|||||||
{% assign urls = include.urls | split: ',' %}
|
|
||||||
|
|
||||||
{% assign combined_urls = nil %}
|
|
||||||
|
|
||||||
{% assign domain = 'https://cdn.jsdelivr.net/' %}
|
|
||||||
|
|
||||||
{% for url in urls %}
|
|
||||||
{% if url contains domain %}
|
|
||||||
{% assign url_snippet = url | slice: domain.size, url.size %}
|
|
||||||
|
|
||||||
{% if combined_urls %}
|
|
||||||
{% assign combined_urls = combined_urls | append: ',' | append: url_snippet %}
|
|
||||||
{% else %}
|
|
||||||
{% assign combined_urls = domain | append: 'combine/' | append: url_snippet %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% elsif url contains '//' %}
|
|
||||||
<script src="{{ url }}"></script>
|
|
||||||
{% else %}
|
|
||||||
<script src="{{ url | relative_url }}"></script>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% if combined_urls %}
|
|
||||||
<script src="{{ combined_urls }}"></script>
|
|
||||||
{% endif %}
|
|
@ -1,10 +0,0 @@
|
|||||||
{% comment %}
|
|
||||||
Detect appearance language and return it through variable "lang"
|
|
||||||
{% endcomment %}
|
|
||||||
{% if site.data.locales[page.lang] %}
|
|
||||||
{% assign lang = page.lang %}
|
|
||||||
{% elsif site.data.locales[site.lang] %}
|
|
||||||
{% assign lang = site.lang %}
|
|
||||||
{% else %}
|
|
||||||
{% assign lang = 'en' %}
|
|
||||||
{% endif %}
|
|
@ -1,70 +0,0 @@
|
|||||||
{% comment %}
|
|
||||||
|
|
||||||
Convert the alias of the syntax language to the official name
|
|
||||||
|
|
||||||
See: <https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers>
|
|
||||||
|
|
||||||
{% endcomment %}
|
|
||||||
|
|
||||||
{% assign _lang = include.language | default: '' %}
|
|
||||||
|
|
||||||
{% case _lang %}
|
|
||||||
{% when 'actionscript', 'as', 'as3' %}
|
|
||||||
{{ 'ActionScript' }}
|
|
||||||
{% when 'applescript' %}
|
|
||||||
{{ 'AppleScript' }}
|
|
||||||
{% when 'brightscript', 'bs', 'brs' %}
|
|
||||||
{{ 'BrightScript' }}
|
|
||||||
{% when 'cfscript', 'cfc' %}
|
|
||||||
{{ 'CFScript' }}
|
|
||||||
{% when 'coffeescript', 'coffee', 'coffee-script' %}
|
|
||||||
{{ 'CoffeeScript' }}
|
|
||||||
{% when 'cs', 'csharp' %}
|
|
||||||
{{ 'C#' }}
|
|
||||||
{% when 'erl' %}
|
|
||||||
{{ 'Erlang' }}
|
|
||||||
{% when 'graphql' %}
|
|
||||||
{{ 'GraphQL' }}
|
|
||||||
{% when 'haskell', 'hs' %}
|
|
||||||
{{ 'Haskell' }}
|
|
||||||
{% when 'javascript', 'js' %}
|
|
||||||
{{ 'JavaScript' }}
|
|
||||||
{% when 'make', 'mf', 'gnumake', 'bsdmake' %}
|
|
||||||
{{ 'Makefile' }}
|
|
||||||
{% when 'md', 'mkd' %}
|
|
||||||
{{ 'Markdown' }}
|
|
||||||
{% when 'm' %}
|
|
||||||
{{ 'Matlab' }}
|
|
||||||
{% when 'objective_c', 'objc', 'obj-c', 'obj_c', 'objectivec' %}
|
|
||||||
{{ 'Objective-C' }}
|
|
||||||
{% when 'perl', 'pl' %}
|
|
||||||
{{ 'Perl' }}
|
|
||||||
{% when 'php','php3','php4','php5' %}
|
|
||||||
{{ 'PHP' }}
|
|
||||||
{% when 'py' %}
|
|
||||||
{{ 'Python' }}
|
|
||||||
{% when 'rb' %}
|
|
||||||
{{ 'Ruby' }}
|
|
||||||
{% when 'rs','no_run','ignore','should_panic' %}
|
|
||||||
{{ 'Rust' }}
|
|
||||||
{% when 'bash', 'zsh', 'ksh', 'sh' %}
|
|
||||||
{{ 'Shell' }}
|
|
||||||
{% when 'st', 'squeak' %}
|
|
||||||
{{ 'Smalltalk' }}
|
|
||||||
{% when 'tex'%}
|
|
||||||
{{ 'TeX' }}
|
|
||||||
{% when 'latex' %}
|
|
||||||
{{ 'LaTex' }}
|
|
||||||
{% when 'ts', 'typescript' %}
|
|
||||||
{{ 'TypeScript' }}
|
|
||||||
{% when 'vb', 'visualbasic' %}
|
|
||||||
{{ 'Visual Basic' }}
|
|
||||||
{% when 'vue', 'vuejs' %}
|
|
||||||
{{ 'Vue.js' }}
|
|
||||||
{% when 'yml' %}
|
|
||||||
{{ 'YAML' }}
|
|
||||||
{% when 'css', 'html', 'scss', 'ssh', 'toml', 'xml', 'yaml', 'json' %}
|
|
||||||
{{ _lang | upcase }}
|
|
||||||
{% else %}
|
|
||||||
{{ _lang | capitalize }}
|
|
||||||
{% endcase %}
|
|
@ -1,37 +0,0 @@
|
|||||||
{%- comment -%}
|
|
||||||
Generate media resource final URL based on `site.cdn`, `page.media_subpath`
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
src - required, basic media resources path
|
|
||||||
subpath - optional, relative path of media resources
|
|
||||||
absolute - optional, boolean, if true, generate absolute URL
|
|
||||||
|
|
||||||
Return:
|
|
||||||
media resources URL
|
|
||||||
{%- endcomment -%}
|
|
||||||
|
|
||||||
{% assign url = include.src %}
|
|
||||||
|
|
||||||
{%- if url -%}
|
|
||||||
{% unless url contains ':' %}
|
|
||||||
{%- comment -%} Add media resources subpath prefix {%- endcomment -%}
|
|
||||||
{% assign url = include.subpath | default: '' | append: '/' | append: url %}
|
|
||||||
|
|
||||||
{%- comment -%} Prepend CND URL {%- endcomment -%}
|
|
||||||
{% if site.cdn %}
|
|
||||||
{% assign url = site.cdn | append: '/' | append: url %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign url = url | replace: '///', '/' | replace: '//', '/' | replace: ':/', '://' %}
|
|
||||||
|
|
||||||
{% unless url contains '://' %}
|
|
||||||
{% if include.absolute %}
|
|
||||||
{% assign url = site.url | append: site.baseurl | append: url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign url = site.baseurl | append: url %}
|
|
||||||
{% endif %}
|
|
||||||
{% endunless %}
|
|
||||||
{% endunless %}
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
{{- url -}}
|
|
@ -1,62 +0,0 @@
|
|||||||
<!-- mermaid-js loader -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
function updateMermaid(event) {
|
|
||||||
if (event.source === window && event.data && event.data.direction === ModeToggle.ID) {
|
|
||||||
const mode = event.data.message;
|
|
||||||
|
|
||||||
if (typeof mermaid === 'undefined') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let expectedTheme = mode === ModeToggle.DARK_MODE ? 'dark' : 'default';
|
|
||||||
let config = { theme: expectedTheme };
|
|
||||||
|
|
||||||
{%- comment -%}
|
|
||||||
Re-render the SVG › <https://github.com/mermaid-js/mermaid/issues/311#issuecomment-332557344>
|
|
||||||
{%- endcomment -%}
|
|
||||||
const mermaidList = document.getElementsByClassName('mermaid');
|
|
||||||
|
|
||||||
[...mermaidList].forEach((elem) => {
|
|
||||||
const svgCode = elem.previousSibling.children.item(0).innerHTML;
|
|
||||||
elem.innerHTML = svgCode;
|
|
||||||
elem.removeAttribute('data-processed');
|
|
||||||
});
|
|
||||||
|
|
||||||
mermaid.initialize(config);
|
|
||||||
mermaid.init(undefined, '.mermaid');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
(function () {
|
|
||||||
let initTheme = 'default';
|
|
||||||
const html = document.documentElement;
|
|
||||||
|
|
||||||
if (
|
|
||||||
(html.hasAttribute('data-mode') && html.getAttribute('data-mode') === 'dark') ||
|
|
||||||
(!html.hasAttribute('data-mode') && window.matchMedia('(prefers-color-scheme: dark)').matches)
|
|
||||||
) {
|
|
||||||
initTheme = 'dark';
|
|
||||||
}
|
|
||||||
|
|
||||||
let mermaidConf = {
|
|
||||||
theme: initTheme {%- comment -%} <default | dark | forest | neutral> {%- endcomment -%}
|
|
||||||
};
|
|
||||||
|
|
||||||
{%- comment -%} Create mermaid tag {%- endcomment -%}
|
|
||||||
const basicList = document.getElementsByClassName('language-mermaid');
|
|
||||||
[...basicList].forEach((elem) => {
|
|
||||||
const svgCode = elem.textContent;
|
|
||||||
const backup = elem.parentElement;
|
|
||||||
backup.classList.add('d-none');
|
|
||||||
{%- comment -%} create mermaid node {%- endcomment -%}
|
|
||||||
let mermaid = document.createElement('pre');
|
|
||||||
mermaid.classList.add('mermaid');
|
|
||||||
const text = document.createTextNode(svgCode);
|
|
||||||
mermaid.appendChild(text);
|
|
||||||
backup.after(mermaid);
|
|
||||||
});
|
|
||||||
|
|
||||||
mermaid.initialize(mermaidConf);
|
|
||||||
window.addEventListener('message', updateMermaid);
|
|
||||||
})();
|
|
||||||
</script>
|
|
@ -1 +0,0 @@
|
|||||||
<!-- A placeholder to allow defining custom metadata -->
|
|
@ -1,116 +0,0 @@
|
|||||||
<!-- Switch the mode between dark and light. -->
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
class ModeToggle {
|
|
||||||
static get MODE_KEY() {
|
|
||||||
return 'mode';
|
|
||||||
}
|
|
||||||
static get MODE_ATTR() {
|
|
||||||
return 'data-mode';
|
|
||||||
}
|
|
||||||
static get DARK_MODE() {
|
|
||||||
return 'dark';
|
|
||||||
}
|
|
||||||
static get LIGHT_MODE() {
|
|
||||||
return 'light';
|
|
||||||
}
|
|
||||||
static get ID() {
|
|
||||||
return 'mode-toggle';
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
let self = this;
|
|
||||||
|
|
||||||
{%- comment -%} always follow the system prefers {%- endcomment -%}
|
|
||||||
this.sysDarkPrefers.addEventListener('change', () => {
|
|
||||||
if (self.hasMode) {
|
|
||||||
self.clearMode();
|
|
||||||
}
|
|
||||||
self.notify();
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!this.hasMode) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.isDarkMode) {
|
|
||||||
this.setDark();
|
|
||||||
} else {
|
|
||||||
this.setLight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
get sysDarkPrefers() {
|
|
||||||
return window.matchMedia('(prefers-color-scheme: dark)');
|
|
||||||
}
|
|
||||||
|
|
||||||
get isPreferDark() {
|
|
||||||
return this.sysDarkPrefers.matches;
|
|
||||||
}
|
|
||||||
|
|
||||||
get isDarkMode() {
|
|
||||||
return this.mode === ModeToggle.DARK_MODE;
|
|
||||||
}
|
|
||||||
|
|
||||||
get hasMode() {
|
|
||||||
return this.mode != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
get mode() {
|
|
||||||
return sessionStorage.getItem(ModeToggle.MODE_KEY);
|
|
||||||
}
|
|
||||||
|
|
||||||
{%- comment -%} get the current mode on screen {%- endcomment -%}
|
|
||||||
get modeStatus() {
|
|
||||||
if (this.hasMode) {
|
|
||||||
return this.mode;
|
|
||||||
} else {
|
|
||||||
return this.isPreferDark ? ModeToggle.DARK_MODE : ModeToggle.LIGHT_MODE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setDark() {
|
|
||||||
document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.DARK_MODE);
|
|
||||||
sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.DARK_MODE);
|
|
||||||
}
|
|
||||||
|
|
||||||
setLight() {
|
|
||||||
document.documentElement.setAttribute(ModeToggle.MODE_ATTR, ModeToggle.LIGHT_MODE);
|
|
||||||
sessionStorage.setItem(ModeToggle.MODE_KEY, ModeToggle.LIGHT_MODE);
|
|
||||||
}
|
|
||||||
|
|
||||||
clearMode() {
|
|
||||||
document.documentElement.removeAttribute(ModeToggle.MODE_ATTR);
|
|
||||||
sessionStorage.removeItem(ModeToggle.MODE_KEY);
|
|
||||||
}
|
|
||||||
|
|
||||||
{%- comment -%}
|
|
||||||
Notify another plugins that the theme mode has changed
|
|
||||||
{%- endcomment -%}
|
|
||||||
notify() {
|
|
||||||
window.postMessage(
|
|
||||||
{
|
|
||||||
direction: ModeToggle.ID,
|
|
||||||
message: this.modeStatus
|
|
||||||
},
|
|
||||||
'*'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
flipMode() {
|
|
||||||
if (this.hasMode) {
|
|
||||||
this.clearMode();
|
|
||||||
} else {
|
|
||||||
if (this.isPreferDark) {
|
|
||||||
this.setLight();
|
|
||||||
} else {
|
|
||||||
this.setDark();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.notify();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const modeToggle = new ModeToggle();
|
|
||||||
</script>
|
|
@ -1,10 +0,0 @@
|
|||||||
{% comment %}
|
|
||||||
Remove the line number of the code snippet.
|
|
||||||
{% endcomment %}
|
|
||||||
|
|
||||||
{% assign content = include.content %}
|
|
||||||
|
|
||||||
{% if content contains '<td class="rouge-gutter gl"><pre class="lineno">' %}
|
|
||||||
{% assign content = content | replace: '<td class="rouge-gutter gl"><pre class="lineno">', '<!-- <td class="rouge-gutter gl"><pre class="lineno">'%}
|
|
||||||
{% assign content = content | replace: '</td><td class="rouge-code">', '</td> --><td class="rouge-code">' %}
|
|
||||||
{% endif %}
|
|
@ -1,24 +0,0 @@
|
|||||||
<aside
|
|
||||||
id="notification"
|
|
||||||
class="toast"
|
|
||||||
role="alert"
|
|
||||||
aria-live="assertive"
|
|
||||||
aria-atomic="true"
|
|
||||||
data-bs-animation="true"
|
|
||||||
data-bs-autohide="false"
|
|
||||||
>
|
|
||||||
<div class="toast-header">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn-close ms-auto"
|
|
||||||
data-bs-dismiss="toast"
|
|
||||||
aria-label="Close"
|
|
||||||
></button>
|
|
||||||
</div>
|
|
||||||
<div class="toast-body text-center pt-0">
|
|
||||||
<p class="px-2 mb-3">{{ site.data.locales[include.lang].notification.update_found }}</p>
|
|
||||||
<button type="button" class="btn btn-primary" aria-label="Update">
|
|
||||||
{{ site.data.locales[include.lang].notification.update }}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</aside>
|
|
@ -1,13 +0,0 @@
|
|||||||
{% comment %} Site static assets origin type {% endcomment %}
|
|
||||||
|
|
||||||
{% assign type = 'cors' %}
|
|
||||||
|
|
||||||
{% if site.assets.self_host.enabled %}
|
|
||||||
{% if site.assets.self_host.env %}
|
|
||||||
{% if site.assets.self_host.env == jekyll.environment %}
|
|
||||||
{% assign type = 'basic' %}
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
{% assign type = 'basic' %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
@ -1,19 +0,0 @@
|
|||||||
<!-- Display GoatCounter pageviews -->
|
|
||||||
<script>
|
|
||||||
let pv = document.getElementById('pageviews');
|
|
||||||
|
|
||||||
if (pv !== null) {
|
|
||||||
const uri = location.pathname.replace(/\/$/, '');
|
|
||||||
const url = `https://{{ site.analytics.goatcounter.id }}.goatcounter.com/counter/${encodeURIComponent(uri)}.json`;
|
|
||||||
|
|
||||||
fetch(url)
|
|
||||||
.then((response) => response.json())
|
|
||||||
.then((data) => {
|
|
||||||
const count = data.count.replace(/\s/g, '');
|
|
||||||
pv.innerText = new Intl.NumberFormat().format(count);
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
pv.innerText = '1';
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,16 +0,0 @@
|
|||||||
{%- comment -%}
|
|
||||||
Get post description or generate it from the post content.
|
|
||||||
{%- endcomment -%}
|
|
||||||
|
|
||||||
{%- assign max_length = include.max_length | default: 200 -%}
|
|
||||||
|
|
||||||
{%- capture description -%}
|
|
||||||
{%- if post.description -%}
|
|
||||||
{{- post.description -}}
|
|
||||||
{%- else -%}
|
|
||||||
{%- include no-linenos.html content=post.content -%}
|
|
||||||
{{- content | markdownify | strip_html -}}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{{- description | strip | truncate: max_length | escape -}}
|
|
@ -1,34 +0,0 @@
|
|||||||
<!-- Navigation buttons at the bottom of the post. -->
|
|
||||||
|
|
||||||
<nav class="post-navigation d-flex justify-content-between" aria-label="Post Navigation">
|
|
||||||
{% assign previous = site.data.locales[include.lang].post.button.previous %}
|
|
||||||
{% assign next = site.data.locales[include.lang].post.button.next %}
|
|
||||||
|
|
||||||
{% if page.previous.url %}
|
|
||||||
<a
|
|
||||||
href="{{ site.baseurl }}{{ page.previous.url }}"
|
|
||||||
class="btn btn-outline-primary"
|
|
||||||
aria-label="{{ previous }}"
|
|
||||||
>
|
|
||||||
<p>{{ page.previous.title }}</p>
|
|
||||||
</a>
|
|
||||||
{% else %}
|
|
||||||
<div class="btn btn-outline-primary disabled" aria-label="{{ previous }}">
|
|
||||||
<p>-</p>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.next.url %}
|
|
||||||
<a
|
|
||||||
href="{{ site.baseurl }}{{page.next.url}}"
|
|
||||||
class="btn btn-outline-primary"
|
|
||||||
aria-label="{{ next }}"
|
|
||||||
>
|
|
||||||
<p>{{ page.next.title }}</p>
|
|
||||||
</a>
|
|
||||||
{% else %}
|
|
||||||
<div class="btn btn-outline-primary disabled" aria-label="{{ next }}">
|
|
||||||
<p>-</p>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</nav>
|
|
@ -1,91 +0,0 @@
|
|||||||
<!-- The paginator for post list on HomgPage. -->
|
|
||||||
|
|
||||||
<nav aria-label="Page Navigation">
|
|
||||||
<ul class="pagination align-items-center mt-4 mb-0">
|
|
||||||
<!-- left arrow -->
|
|
||||||
{% if paginator.previous_page %}
|
|
||||||
{% assign prev_url = paginator.previous_page_path | relative_url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign prev_url = '#' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<li class="page-item {% unless paginator.previous_page %}disabled{% endunless %}">
|
|
||||||
<a class="page-link" href="{{ prev_url }}" aria-label="previous-page">
|
|
||||||
<i class="fas fa-angle-left"></i>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<!-- page numbers -->
|
|
||||||
{% assign left_ellipsis = false %}
|
|
||||||
{% assign right_ellipsis = false %}
|
|
||||||
|
|
||||||
{% for i in (1..paginator.total_pages) %}
|
|
||||||
{% assign pre = paginator.page | minus: 1 %}
|
|
||||||
{% assign next = paginator.page | plus: 1 %}
|
|
||||||
{% assign pre_less = pre | minus: 1 %}
|
|
||||||
{% assign next_more = next | plus: 1 %}
|
|
||||||
{% assign show = false %}
|
|
||||||
|
|
||||||
{% if paginator.page == 1 %}
|
|
||||||
{% if i <= 3 or i == paginator.total_pages %}
|
|
||||||
{% assign show = true %}
|
|
||||||
{% endif %}
|
|
||||||
{% elsif paginator.page == paginator.total_pages %}
|
|
||||||
{% if i == 1 or i >= pre_less %}
|
|
||||||
{% assign show = true %}
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
{% if i == 1 or i == paginator.total_pages %}
|
|
||||||
{% assign show = true %}
|
|
||||||
{% elsif i >= pre and i <= next %}
|
|
||||||
{% assign show = true %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if show %}
|
|
||||||
<!-- show number -->
|
|
||||||
<li class="page-item {% if i == paginator.page %} active{% endif %}">
|
|
||||||
<a
|
|
||||||
class="page-link"
|
|
||||||
href="{% if i > 1 %}{{ site.paginate_path | replace: ':num', i | relative_url }}{% else %}{{ '/' | relative_url }}{% endif %}"
|
|
||||||
>
|
|
||||||
{{- i -}}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<!-- hide number -->
|
|
||||||
{% if i < pre and left_ellipsis == false %}
|
|
||||||
<li class="page-item disabled">
|
|
||||||
<span class="page-link">...</span>
|
|
||||||
</li>
|
|
||||||
{% assign left_ellipsis = true %}
|
|
||||||
{% elsif i > next and right_ellipsis == false %}
|
|
||||||
<li class="page-item disabled">
|
|
||||||
<span class="page-link">...</span>
|
|
||||||
</li>
|
|
||||||
{% assign right_ellipsis = true %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<!-- mobile pagination -->
|
|
||||||
<li class="page-index align-middle">
|
|
||||||
<span>{{ paginator.page }}</span>
|
|
||||||
<span class="text-muted">/ {{ paginator.total_pages }}</span>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<!-- right arrow -->
|
|
||||||
{% if paginator.next_page_path %}
|
|
||||||
{% assign next_url = paginator.next_page_path | relative_url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign next_url = '#' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<li class="page-item {% unless paginator.next_page_path %}disabled{% endunless %}">
|
|
||||||
<a class="page-link" href="{{ next_url }}" aria-label="next-page">
|
|
||||||
<i class="fas fa-angle-right"></i>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
<!-- .pagination -->
|
|
@ -1,52 +0,0 @@
|
|||||||
<!-- Post sharing snippet -->
|
|
||||||
|
|
||||||
<div class="share-wrapper d-flex align-items-center">
|
|
||||||
<span class="share-label text-muted">{{ site.data.locales[include.lang].post.share }}</span>
|
|
||||||
<span class="share-icons">
|
|
||||||
{% capture title %}{{ page.title }} - {{ site.title }}{% endcapture %}
|
|
||||||
{% assign title = title | uri_escape %}
|
|
||||||
{% assign url = page.url | absolute_url | url_encode %}
|
|
||||||
|
|
||||||
{% for share in site.data.share.platforms -%}
|
|
||||||
{%- capture tooltip -%}
|
|
||||||
data-bs-toggle="tooltip" data-bs-placement="top" title="{{ share.type }}" aria-label="{{ share.type }}"
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{% if share.type == 'Mastodon' %}
|
|
||||||
<script defer type="module" src="https://cdn.jsdelivr.net/npm/@justinribeiro/share-to-mastodon/+esm"></script>
|
|
||||||
<button class="btn text-start" {{ tooltip }}>
|
|
||||||
<share-to-mastodon
|
|
||||||
class="share-mastodon"
|
|
||||||
message="{{ title }}"
|
|
||||||
url="{{ url }}"
|
|
||||||
{%- if share.instances -%}
|
|
||||||
customInstanceList="{{ share.instances | jsonify | xml_escape }}"
|
|
||||||
{%- endif %}
|
|
||||||
>
|
|
||||||
<i class="fa-fw {{ share.icon }}"></i>
|
|
||||||
</share-to-mastodon>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign link = share.link | replace: 'TITLE', title | replace: 'URL', url %}
|
|
||||||
|
|
||||||
<a href="{{ link }}" target="_blank" rel="noopener" {{ tooltip }}>
|
|
||||||
<i class="fa-fw {{ share.icon }}"></i>
|
|
||||||
</a>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<button
|
|
||||||
id="copy-link"
|
|
||||||
aria-label="Copy link"
|
|
||||||
class="btn small"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-placement="top"
|
|
||||||
title="{{ site.data.locales[include.lang].post.button.share_link.title }}"
|
|
||||||
data-title-succeed="{{ site.data.locales[include.lang].post.button.share_link.succeed }}"
|
|
||||||
>
|
|
||||||
<i class="fa-fw fas fa-link pe-none fs-6"></i>
|
|
||||||
</button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
@ -1,37 +0,0 @@
|
|||||||
<!-- Calculate the post's reading time, and display the word count in tooltip -->
|
|
||||||
|
|
||||||
{% assign words = include.content | strip_html | number_of_words: 'auto' %}
|
|
||||||
|
|
||||||
<!-- words per minute -->
|
|
||||||
|
|
||||||
{% assign wpm = 180 %}
|
|
||||||
{% assign min_time = 1 %}
|
|
||||||
|
|
||||||
{% assign read_time = words | divided_by: wpm %}
|
|
||||||
|
|
||||||
{% unless read_time > 0 %}
|
|
||||||
{% assign read_time = min_time %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% capture read_prompt %}
|
|
||||||
{{- site.data.locales[include.lang].post.read_time.prompt -}}
|
|
||||||
{% endcapture %}
|
|
||||||
|
|
||||||
<!-- return element -->
|
|
||||||
<span
|
|
||||||
class="readtime"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
data-bs-placement="bottom"
|
|
||||||
title="{{ words }} {{ site.data.locales[include.lang].post.words }}"
|
|
||||||
>
|
|
||||||
<em>
|
|
||||||
{{- read_time -}}
|
|
||||||
{{ ' ' }}
|
|
||||||
{{- site.data.locales[include.lang].post.read_time.unit -}}
|
|
||||||
</em>
|
|
||||||
{%- if include.prompt -%}
|
|
||||||
{%- assign _prompt_words = read_prompt | number_of_words: 'auto' -%}
|
|
||||||
{%- unless _prompt_words > 1 -%}{{ ' ' }}{%- endunless -%}
|
|
||||||
{{ read_prompt }}
|
|
||||||
{%- endif -%}
|
|
||||||
</span>
|
|
@ -1,255 +0,0 @@
|
|||||||
<!-- Refactor the HTML structure -->
|
|
||||||
|
|
||||||
{% assign _content = include.content %}
|
|
||||||
|
|
||||||
<!--
|
|
||||||
In order to allow a wide table to scroll horizontally,
|
|
||||||
we suround the markdown table with `<div class="table-wrapper">` and `</div>`
|
|
||||||
-->
|
|
||||||
|
|
||||||
{% if _content contains '<table' %}
|
|
||||||
{% assign _content = _content
|
|
||||||
| replace: '<table', '<div class="table-wrapper"><table'
|
|
||||||
| replace: '</table>', '</table></div>'
|
|
||||||
| replace: '<code><div class="table-wrapper">', '<code>'
|
|
||||||
| replace: '</table></div></code>', '</table></code>'
|
|
||||||
%}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Fixed kramdown code highlight rendering:
|
|
||||||
https://github.com/penibelst/jekyll-compress-html/issues/101
|
|
||||||
https://github.com/penibelst/jekyll-compress-html/issues/71#issuecomment-188144901
|
|
||||||
-->
|
|
||||||
|
|
||||||
{% if _content contains '<pre class="highlight">' %}
|
|
||||||
{% assign _content = _content
|
|
||||||
| replace: '<div class="highlight"><pre class="highlight"><code', '<div class="highlight"><code'
|
|
||||||
| replace: '</code></pre></div>', '</code></div>'
|
|
||||||
%}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Change the icon of checkbox -->
|
|
||||||
|
|
||||||
{% if _content contains '<input type="checkbox"' %}
|
|
||||||
{% assign _content = _content
|
|
||||||
| replace: '<input type="checkbox" class="task-list-item-checkbox" disabled="disabled" checked="checked" />',
|
|
||||||
'<i class="fas fa-check-circle fa-fw checked"></i>'
|
|
||||||
| replace: '<input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />',
|
|
||||||
'<i class="far fa-circle fa-fw"></i>'
|
|
||||||
%}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Handle images -->
|
|
||||||
|
|
||||||
{% assign IMG_TAG = '<img ' %}
|
|
||||||
|
|
||||||
{% if _content contains IMG_TAG %}
|
|
||||||
{% assign _img_content = null %}
|
|
||||||
{% assign _img_snippets = _content | split: IMG_TAG %}
|
|
||||||
|
|
||||||
{% for _img_snippet in _img_snippets %}
|
|
||||||
{% if forloop.first %}
|
|
||||||
{% assign _img_content = _img_snippet %}
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign _left = _img_snippet | split: '>' | first %}
|
|
||||||
{% assign _right = _img_snippet | remove: _left %}
|
|
||||||
|
|
||||||
{% unless _left contains 'src=' %}
|
|
||||||
{% continue %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% assign _left = _left | remove: ' /' | replace: ' w=', ' width=' | replace: ' h=', ' height=' %}
|
|
||||||
{% assign _attrs = _left | split: '" ' %}
|
|
||||||
|
|
||||||
{% assign _src = null %}
|
|
||||||
{% assign _lqip = null %}
|
|
||||||
{% assign _class = null %}
|
|
||||||
|
|
||||||
{% for _attr in _attrs %}
|
|
||||||
{% unless _attr contains '=' %}
|
|
||||||
{% continue %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% assign _pair = _attr | split: '="' %}
|
|
||||||
{% capture _key %}{{ _pair | first }}{% endcapture %}
|
|
||||||
{% capture _value %}{{ _pair | last | remove: '"' }}{% endcapture %}
|
|
||||||
|
|
||||||
{% case _key %}
|
|
||||||
{% when 'src' %}
|
|
||||||
{% assign _src = _value %}
|
|
||||||
{% when 'lqip' %}
|
|
||||||
{% assign _lqip = _value %}
|
|
||||||
{% when 'class' %}
|
|
||||||
{% assign _class = _value %}
|
|
||||||
{% endcase %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<!-- take out classes -->
|
|
||||||
{% if _class %}
|
|
||||||
{% capture _old_class %}class="{{ _class }}"{% endcapture %}
|
|
||||||
{% assign _left = _left | remove: _old_class %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign _final_src = null %}
|
|
||||||
{% assign _lazyload = true %}
|
|
||||||
|
|
||||||
{%- capture _img_url -%}
|
|
||||||
{% include media-url.html src=_src subpath=page.media_subpath %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
|
|
||||||
{% assign _path_prefix = _img_url | remove: _src %}
|
|
||||||
|
|
||||||
{% unless _src contains '//' %}
|
|
||||||
{% assign _final_src = _path_prefix | append: _src %}
|
|
||||||
{% assign _src_alt = 'src="' | append: _path_prefix %}
|
|
||||||
{% assign _left = _left | replace: 'src="', _src_alt %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% if _lqip %}
|
|
||||||
{% assign _lazyload = false %}
|
|
||||||
{% assign _class = _class | append: ' blur' %}
|
|
||||||
|
|
||||||
{% unless _lqip contains 'data:' %}
|
|
||||||
{% assign _lqip_alt = 'lqip="' | append: _path_prefix %}
|
|
||||||
{% assign _left = _left | replace: 'lqip="', _lqip_alt %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
<!-- add image placeholder -->
|
|
||||||
{% assign _left = _left | replace: 'src=', 'data-src=' | replace: ' lqip=', ' data-lqip="true" src=' %}
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
{% assign _class = _class | append: ' shimmer' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- lazy-load images -->
|
|
||||||
{% if _lazyload %}
|
|
||||||
{% assign _left = _left | append: ' loading="lazy"' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.layout == 'home' %}
|
|
||||||
<!-- create the image wrapper -->
|
|
||||||
{% assign _wrapper_start = '<div class="preview-img ' | append: _class | append: '">' %}
|
|
||||||
|
|
||||||
{% assign _img_content = _img_content | append: _wrapper_start %}
|
|
||||||
{% assign _right = _right | prepend: '></div' %}
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
<!-- make sure the `<img>` is wrapped by `<a>` -->
|
|
||||||
{% assign _parent = _right | slice: 1, 4 %}
|
|
||||||
|
|
||||||
{% if _parent == '</a>' %}
|
|
||||||
<!-- add class to exist <a> tag -->
|
|
||||||
{% assign _size = _img_content | size | minus: 1 %}
|
|
||||||
{% capture _class %}
|
|
||||||
class="img-link{% unless _lqip %} shimmer{% endunless %}"
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign _img_content = _img_content | slice: 0, _size | append: _class | append: '>' %}
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
<!-- create the image wrapper -->
|
|
||||||
{% assign _wrapper_start = _final_src
|
|
||||||
| default: _src
|
|
||||||
| prepend: '<a href="'
|
|
||||||
| append: '" class="popup img-link '
|
|
||||||
| append: _class
|
|
||||||
| append: '">'
|
|
||||||
%}
|
|
||||||
|
|
||||||
{% assign _img_content = _img_content | append: _wrapper_start %}
|
|
||||||
{% assign _right = '></a' | append: _right %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- combine -->
|
|
||||||
{% assign _img_content = _img_content | append: IMG_TAG | append: _left | append: _right %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% if _img_content %}
|
|
||||||
{% assign _content = _img_content %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Add header for code snippets -->
|
|
||||||
|
|
||||||
{% if _content contains '<div class="highlight"><code>' %}
|
|
||||||
{% assign _code_spippets = _content | split: '<div class="highlight"><code>' %}
|
|
||||||
{% assign _new_content = '' %}
|
|
||||||
|
|
||||||
{% for _snippet in _code_spippets %}
|
|
||||||
{% if forloop.last %}
|
|
||||||
{% assign _new_content = _new_content | append: _snippet %}
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
{% assign _left = _snippet | split: '><' | last %}
|
|
||||||
|
|
||||||
{% if _left contains 'file="' %}
|
|
||||||
{% assign _label_text = _left | split: 'file="' | last | split: '"' | first %}
|
|
||||||
{% assign _label_icon = 'far fa-file-code fa-fw' %}
|
|
||||||
{% else %}
|
|
||||||
{% assign _lang = _left | split: 'language-' | last | split: ' ' | first %}
|
|
||||||
{% capture _label_text %}{% include language-alias.html language=_lang %}{% endcapture %}
|
|
||||||
{% assign _label_icon = 'fas fa-code fa-fw small' %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% capture _label %}
|
|
||||||
<span data-label-text="{{ _label_text | strip }}"><i class="{{ _label_icon }}"></i></span>
|
|
||||||
{% endcapture %}
|
|
||||||
|
|
||||||
{% assign _new_content = _new_content
|
|
||||||
| append: _snippet
|
|
||||||
| append: '<div class="code-header">'
|
|
||||||
| append: _label
|
|
||||||
| append: '<button aria-label="copy" data-title-succeed="'
|
|
||||||
| append: site.data.locales[include.lang].post.button.copy_code.succeed
|
|
||||||
| append: '"><i class="far fa-clipboard"></i></button></div>'
|
|
||||||
| append: '<div class="highlight"><code>'
|
|
||||||
%}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% assign _content = _new_content %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Create heading anchors -->
|
|
||||||
|
|
||||||
{% assign heading_levels = '2,3,4,5' | split: ',' %}
|
|
||||||
{% assign _heading_content = _content %}
|
|
||||||
|
|
||||||
{% for level in heading_levels %}
|
|
||||||
{% assign mark_start = '<h' | append: level | append: ' id="' %}
|
|
||||||
{% assign mark_end = '</h' | append: level | append: '>' %}
|
|
||||||
|
|
||||||
{% if _heading_content contains mark_start %}
|
|
||||||
{% assign _new_content = null %}
|
|
||||||
{% assign heading_snippets = _heading_content | split: mark_start %}
|
|
||||||
|
|
||||||
{% for snippet in heading_snippets %}
|
|
||||||
{% if forloop.first %}
|
|
||||||
{% assign _new_content = snippet %}
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign id = snippet | split: '"' | first %}
|
|
||||||
{% assign anchor = '<a href="#'
|
|
||||||
| append: id
|
|
||||||
| append: '" class="anchor text-muted"><i class="fas fa-hashtag"></i></a>'
|
|
||||||
%}
|
|
||||||
|
|
||||||
{% assign left = snippet | split: mark_end | first %}
|
|
||||||
{% assign right = snippet | slice: left.size, snippet.size %}
|
|
||||||
{% assign left = left | replace_first: '">', '"><span class="me-2">' | append: '</span>' %}
|
|
||||||
|
|
||||||
{% assign _new_content = _new_content | append: mark_start | append: left | append: anchor | append: right %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% assign _heading_content = _new_content %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% assign _content = _heading_content %}
|
|
||||||
|
|
||||||
<!-- return -->
|
|
||||||
{{ _content }}
|
|
@ -1,94 +0,0 @@
|
|||||||
<!-- Recommend the other 3 posts according to the tags and categories of the current post. -->
|
|
||||||
|
|
||||||
<!-- The total size of related posts -->
|
|
||||||
{% assign TOTAL_SIZE = 3 %}
|
|
||||||
|
|
||||||
<!-- An random integer that bigger than 0 -->
|
|
||||||
{% assign TAG_SCORE = 1 %}
|
|
||||||
|
|
||||||
<!-- Equals to TAG_SCORE / {max_categories_hierarchy} -->
|
|
||||||
{% assign CATEGORY_SCORE = 0.5 %}
|
|
||||||
|
|
||||||
{% assign SEPARATOR = ':' %}
|
|
||||||
|
|
||||||
{% assign match_posts = '' | split: '' %}
|
|
||||||
|
|
||||||
{% for category in page.categories %}
|
|
||||||
{% assign match_posts = match_posts | push: site.categories[category] | uniq %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% for tag in page.tags %}
|
|
||||||
{% assign match_posts = match_posts | push: site.tags[tag] | uniq %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% assign match_posts = match_posts | reverse %}
|
|
||||||
{% assign last_index = match_posts.size | minus: 1 %}
|
|
||||||
{% assign score_list = '' | split: '' %}
|
|
||||||
|
|
||||||
{% for i in (0..last_index) %}
|
|
||||||
{% assign post = match_posts[i] %}
|
|
||||||
|
|
||||||
{% if post.url == page.url %}
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign score = 0 %}
|
|
||||||
|
|
||||||
{% for tag in post.tags %}
|
|
||||||
{% if page.tags contains tag %}
|
|
||||||
{% assign score = score | plus: TAG_SCORE %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% for category in post.categories %}
|
|
||||||
{% if page.categories contains category %}
|
|
||||||
{% assign score = score | plus: CATEGORY_SCORE %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% if score > 0 %}
|
|
||||||
{% capture score_item %}{{ score }}{{ SEPARATOR }}{{ i }}{% endcapture %}
|
|
||||||
{% assign score_list = score_list | push: score_item %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% assign index_list = '' | split: '' %}
|
|
||||||
|
|
||||||
{% if score_list.size > 0 %}
|
|
||||||
{% assign score_list = score_list | sort | reverse %}
|
|
||||||
{% for entry in score_list limit: TOTAL_SIZE %}
|
|
||||||
{% assign index = entry | split: SEPARATOR | last %}
|
|
||||||
{% assign index_list = index_list | push: index %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% assign relate_posts = '' | split: '' %}
|
|
||||||
|
|
||||||
{% for index in index_list %}
|
|
||||||
{% assign i = index | to_integer %}
|
|
||||||
{% assign relate_posts = relate_posts | push: match_posts[i] %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% if relate_posts.size > 0 %}
|
|
||||||
<aside id="related-posts" aria-labelledby="related-label">
|
|
||||||
<h3 class="mb-4" id="related-label">
|
|
||||||
{{- site.data.locales[include.lang].post.relate_posts -}}
|
|
||||||
</h3>
|
|
||||||
<nav class="row row-cols-1 row-cols-md-2 row-cols-xl-3 g-4 mb-4">
|
|
||||||
{% for post in relate_posts %}
|
|
||||||
<article class="col">
|
|
||||||
<a href="{{ post.url | relative_url }}" class="post-preview card h-100">
|
|
||||||
<div class="card-body">
|
|
||||||
{% include datetime.html date=post.date lang=include.lang %}
|
|
||||||
<h4 class="pt-0 my-2">{{ post.title }}</h4>
|
|
||||||
<div class="text-muted">
|
|
||||||
<p>{% include post-description.html %}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</article>
|
|
||||||
{% endfor %}
|
|
||||||
</nav>
|
|
||||||
</aside>
|
|
||||||
<!-- #related-posts -->
|
|
||||||
{% endif %}
|
|
@ -1,47 +0,0 @@
|
|||||||
<!--
|
|
||||||
Jekyll Simple Search loader
|
|
||||||
See: <https://github.com/christian-fei/Simple-Jekyll-Search>
|
|
||||||
-->
|
|
||||||
|
|
||||||
{% capture result_elem %}
|
|
||||||
<article class="px-1 px-sm-2 px-lg-4 px-xl-0">
|
|
||||||
<header>
|
|
||||||
<h2><a href="{url}">{title}</a></h2>
|
|
||||||
<div class="post-meta d-flex flex-column flex-sm-row text-muted mt-1 mb-1">
|
|
||||||
{categories}
|
|
||||||
{tags}
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<p>{snippet}</p>
|
|
||||||
</article>
|
|
||||||
{% endcapture %}
|
|
||||||
|
|
||||||
{% capture not_found %}<p class="mt-5">{{ site.data.locales[include.lang].search.no_results }}</p>{% endcapture %}
|
|
||||||
|
|
||||||
<script>
|
|
||||||
{%- comment -%} Note: dependent library will be loaded in `js-selector.html` {%- endcomment -%}
|
|
||||||
SimpleJekyllSearch({
|
|
||||||
searchInput: document.getElementById('search-input'),
|
|
||||||
resultsContainer: document.getElementById('search-results'),
|
|
||||||
json: '{{ '/assets/js/data/search.json' | relative_url }}',
|
|
||||||
searchResultTemplate: '{{ result_elem | strip_newlines }}',
|
|
||||||
noResultsText: '{{ not_found }}',
|
|
||||||
templateMiddleware: function(prop, value, template) {
|
|
||||||
if (prop === 'categories') {
|
|
||||||
if (value === '') {
|
|
||||||
return `${value}`;
|
|
||||||
} else {
|
|
||||||
return `<div class="me-sm-4"><i class="far fa-folder fa-fw"></i>${value}</div>`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (prop === 'tags') {
|
|
||||||
if (value === '') {
|
|
||||||
return `${value}`;
|
|
||||||
} else {
|
|
||||||
return `<div><i class="fa fa-tag fa-fw"></i>${value}</div>`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
@ -1,10 +0,0 @@
|
|||||||
<!-- The Search results -->
|
|
||||||
|
|
||||||
<div id="search-result-wrapper" class="d-flex justify-content-center d-none">
|
|
||||||
<div class="col-11 content">
|
|
||||||
<div id="search-hints">
|
|
||||||
{% include_cached trending-tags.html %}
|
|
||||||
</div>
|
|
||||||
<div id="search-results" class="d-flex flex-wrap justify-content-center text-muted mt-3"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -1,97 +0,0 @@
|
|||||||
<!-- The Side Bar -->
|
|
||||||
|
|
||||||
<aside aria-label="Sidebar" id="sidebar" class="d-flex flex-column align-items-end">
|
|
||||||
<header class="profile-wrapper">
|
|
||||||
<a href="{{ '/' | relative_url }}" id="avatar" class="rounded-circle">
|
|
||||||
{%- if site.avatar != empty and site.avatar -%}
|
|
||||||
{%- capture avatar_url -%}
|
|
||||||
{% include media-url.html src=site.avatar %}
|
|
||||||
{%- endcapture -%}
|
|
||||||
<img src="{{- avatar_url -}}" width="112" height="112" alt="avatar" onerror="this.style.display='none'">
|
|
||||||
{%- endif -%}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a class="site-title d-block" href="{{ '/' | relative_url }}">{{ site.title }}</a>
|
|
||||||
<p class="site-subtitle fst-italic mb-0">{{ site.tagline }}</p>
|
|
||||||
</header>
|
|
||||||
<!-- .profile-wrapper -->
|
|
||||||
|
|
||||||
<nav class="flex-column flex-grow-1 w-100 ps-0">
|
|
||||||
<ul class="nav">
|
|
||||||
<!-- home -->
|
|
||||||
<li class="nav-item{% if page.layout == 'home' %}{{ " active" }}{% endif %}">
|
|
||||||
<a href="{{ '/' | relative_url }}" class="nav-link">
|
|
||||||
<i class="fa-fw fas fa-home"></i>
|
|
||||||
<span>{{ site.data.locales[include.lang].tabs.home | upcase }}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<!-- the real tabs -->
|
|
||||||
{% for tab in site.tabs %}
|
|
||||||
<li class="nav-item{% if tab.url == page.url %}{{ " active" }}{% endif %}">
|
|
||||||
<a href="{{ tab.url | relative_url }}" class="nav-link">
|
|
||||||
<i class="fa-fw {{ tab.icon }}"></i>
|
|
||||||
{% capture tab_name %}{{ tab.url | split: '/' }}{% endcapture %}
|
|
||||||
|
|
||||||
<span>{{ site.data.locales[include.lang].tabs.[tab_name] | default: tab.title | upcase }}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<!-- .nav-item -->
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<div class="sidebar-bottom d-flex flex-wrap align-items-center w-100">
|
|
||||||
{% unless site.theme_mode %}
|
|
||||||
<button type="button" class="btn btn-link nav-link" aria-label="Switch Mode" id="mode-toggle">
|
|
||||||
<i class="fas fa-adjust"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
{% if site.data.contact.size > 0 %}
|
|
||||||
<span class="icon-border"></span>
|
|
||||||
{% endif %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% for entry in site.data.contact %}
|
|
||||||
{% case entry.type %}
|
|
||||||
{% when 'github', 'twitter' %}
|
|
||||||
{%- capture url -%}
|
|
||||||
https://{{ entry.type }}.com/{{ site[entry.type].username }}
|
|
||||||
{%- endcapture -%}
|
|
||||||
{% when 'email' %}
|
|
||||||
{% assign email = site.social.email | split: '@' %}
|
|
||||||
{%- capture url -%}
|
|
||||||
javascript:location.href = 'mailto:' + ['{{ email[0] }}','{{ email[1] }}'].join('@')
|
|
||||||
{%- endcapture -%}
|
|
||||||
{% when 'rss' %}
|
|
||||||
{% assign url = '/feed.xml' | relative_url %}
|
|
||||||
{% else %}
|
|
||||||
{% assign url = entry.url %}
|
|
||||||
{% endcase %}
|
|
||||||
|
|
||||||
{% if url %}
|
|
||||||
<a
|
|
||||||
href="{{ url }}"
|
|
||||||
aria-label="{{ entry.type }}"
|
|
||||||
{% assign link_types = '' %}
|
|
||||||
|
|
||||||
{% unless entry.noblank %}
|
|
||||||
target="_blank"
|
|
||||||
{% assign link_types = 'noopener noreferrer' %}
|
|
||||||
{% endunless %}
|
|
||||||
|
|
||||||
{% if entry.type == 'mastodon' %}
|
|
||||||
{% assign link_types = link_types | append: ' me' | strip %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% unless link_types == empty %}
|
|
||||||
rel="{{ link_types }}"
|
|
||||||
{% endunless %}
|
|
||||||
>
|
|
||||||
<i class="{{ entry.icon }}"></i>
|
|
||||||
</a>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
<!-- .sidebar-bottom -->
|
|
||||||
</aside>
|
|
||||||
<!-- #sidebar -->
|
|
@ -1,10 +0,0 @@
|
|||||||
{% comment %}
|
|
||||||
Determine TOC state and return it through variable "enable_toc"
|
|
||||||
{% endcomment %}
|
|
||||||
|
|
||||||
{% assign enable_toc = false %}
|
|
||||||
{% if site.toc and page.toc %}
|
|
||||||
{% if page.content contains '<h2' or page.content contains '<h3' %}
|
|
||||||
{% assign enable_toc = true %}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
@ -1,8 +0,0 @@
|
|||||||
{% include toc-status.html %}
|
|
||||||
|
|
||||||
{% if enable_toc %}
|
|
||||||
<section id="toc-wrapper" class="ps-0 pe-4">
|
|
||||||
<h2 class="panel-heading ps-3 mb-2">{{- site.data.locales[include.lang].panel.toc -}}</h2>
|
|
||||||
<nav id="toc"></nav>
|
|
||||||
</section>
|
|
||||||
{% endif %}
|
|
@ -1,77 +0,0 @@
|
|||||||
<!-- The Top Bar -->
|
|
||||||
|
|
||||||
<header id="topbar-wrapper" aria-label="Top Bar">
|
|
||||||
<div
|
|
||||||
id="topbar"
|
|
||||||
class="d-flex align-items-center justify-content-between px-lg-3 h-100"
|
|
||||||
>
|
|
||||||
<nav id="breadcrumb" aria-label="Breadcrumb">
|
|
||||||
{% assign paths = page.url | split: '/' %}
|
|
||||||
|
|
||||||
{% if paths.size == 0 or page.layout == 'home' %}
|
|
||||||
<!-- index page -->
|
|
||||||
<span>{{ site.data.locales[include.lang].tabs.home | capitalize }}</span>
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
{% for item in paths %}
|
|
||||||
{% if forloop.first %}
|
|
||||||
<span>
|
|
||||||
<a href="{{ '/' | relative_url }}">
|
|
||||||
{{- site.data.locales[include.lang].tabs.home | capitalize -}}
|
|
||||||
</a>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
{% elsif forloop.last %}
|
|
||||||
{% if page.collection == 'tabs' %}
|
|
||||||
<span>{{ site.data.locales[include.lang].tabs[item] | default: page.title }}</span>
|
|
||||||
{% else %}
|
|
||||||
<span>{{ page.title }}</span>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% elsif page.layout == 'category' or page.layout == 'tag' %}
|
|
||||||
<span>
|
|
||||||
<a href="{{ item | append: '/' | relative_url }}">
|
|
||||||
{{- site.data.locales[include.lang].tabs[item] | default: page.title -}}
|
|
||||||
</a>
|
|
||||||
</span>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
</nav>
|
|
||||||
<!-- endof #breadcrumb -->
|
|
||||||
|
|
||||||
<button type="button" id="sidebar-trigger" class="btn btn-link">
|
|
||||||
<i class="fas fa-bars fa-fw"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div id="topbar-title">
|
|
||||||
{% if page.layout == 'home' %}
|
|
||||||
{{- site.data.locales[include.lang].title | default: site.title -}}
|
|
||||||
{% elsif page.collection == 'tabs' or page.layout == 'page' %}
|
|
||||||
{%- capture tab_key -%}{{ page.url | split: '/' }}{%- endcapture -%}
|
|
||||||
{{- site.data.locales[include.lang].tabs[tab_key] | default: page.title -}}
|
|
||||||
{% else %}
|
|
||||||
{{- site.data.locales[include.lang].layout[page.layout] | default: page.layout | capitalize -}}
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<button type="button" id="search-trigger" class="btn btn-link">
|
|
||||||
<i class="fas fa-search fa-fw"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<search id="search" class="align-items-center ms-3 ms-lg-0">
|
|
||||||
<i class="fas fa-search fa-fw"></i>
|
|
||||||
<input
|
|
||||||
class="form-control"
|
|
||||||
id="search-input"
|
|
||||||
type="search"
|
|
||||||
aria-label="search"
|
|
||||||
autocomplete="off"
|
|
||||||
placeholder="{{ site.data.locales[include.lang].search.hint | capitalize }}..."
|
|
||||||
>
|
|
||||||
</search>
|
|
||||||
<button type="button" class="btn btn-link text-decoration-none" id="search-cancel">
|
|
||||||
{{- site.data.locales[include.lang].search.cancel -}}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
@ -1,46 +0,0 @@
|
|||||||
<!-- The trending tags list -->
|
|
||||||
|
|
||||||
{% assign MAX = 10 %}
|
|
||||||
|
|
||||||
{% assign size_list = '' | split: '' %}
|
|
||||||
{% assign tag_list = '' | split: '' %}
|
|
||||||
|
|
||||||
{% for tag in site.tags %}
|
|
||||||
{% assign size = tag | last | size %}
|
|
||||||
{% assign size_list = size_list | push: size %}
|
|
||||||
|
|
||||||
{% assign tag_str = tag | first | append: '::' | append: size %}
|
|
||||||
{% assign tag_list = tag_list | push: tag_str %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% assign size_list = size_list | sort | reverse %}
|
|
||||||
|
|
||||||
{% assign tag_list = tag_list | sort_natural %}
|
|
||||||
|
|
||||||
{% assign trending_tags = '' | split: '' %}
|
|
||||||
|
|
||||||
{% for size in size_list limit: MAX %}
|
|
||||||
{% for tag_str in tag_list %}
|
|
||||||
{% assign tag = tag_str | split: '::' %}
|
|
||||||
{% assign tag_name = tag | first %}
|
|
||||||
{% assign tag_size = tag | last | plus: 0 %}
|
|
||||||
{% if tag_size == size %}
|
|
||||||
{% unless trending_tags contains tag_name %}
|
|
||||||
{% assign trending_tags = trending_tags | push: tag_name %}
|
|
||||||
{% break %}
|
|
||||||
{% endunless %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% if trending_tags.size > 0 %}
|
|
||||||
<section>
|
|
||||||
<h2 class="panel-heading">{{- site.data.locales[include.lang].panel.trending_tags -}}</h2>
|
|
||||||
<div class="d-flex flex-wrap mt-3 mb-1 me-3">
|
|
||||||
{% for tag_name in trending_tags %}
|
|
||||||
{% assign url = tag_name | slugify | url_encode | prepend: '/tags/' | append: '/' %}
|
|
||||||
<a class="post-tag btn btn-outline-primary" href="{{ url | relative_url }}">{{ tag_name }}</a>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
{% endif %}
|
|
@ -1,40 +0,0 @@
|
|||||||
<!-- Get 5 last posted/updated posts -->
|
|
||||||
|
|
||||||
{% assign MAX_SIZE = 5 %}
|
|
||||||
|
|
||||||
{% assign all_list = '' | split: '' %}
|
|
||||||
|
|
||||||
{% for post in site.posts %}
|
|
||||||
{% assign datetime = post.last_modified_at | default: post.date %}
|
|
||||||
|
|
||||||
{% capture elem %}
|
|
||||||
{{- datetime | date: "%Y%m%d%H%M%S" -}}::{{- forloop.index0 -}}
|
|
||||||
{% endcapture %}
|
|
||||||
|
|
||||||
{% assign all_list = all_list | push: elem %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% assign all_list = all_list | sort | reverse %}
|
|
||||||
|
|
||||||
{% assign update_list = '' | split: '' %}
|
|
||||||
|
|
||||||
{% for entry in all_list limit: MAX_SIZE %}
|
|
||||||
{% assign update_list = update_list | push: entry %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% if update_list.size > 0 %}
|
|
||||||
<section id="access-lastmod">
|
|
||||||
<h2 class="panel-heading">{{- site.data.locales[include.lang].panel.lastmod -}}</h2>
|
|
||||||
<ul class="content list-unstyled ps-0 pb-1 ms-1 mt-2">
|
|
||||||
{% for item in update_list %}
|
|
||||||
{% assign index = item | split: '::' | last | plus: 0 %}
|
|
||||||
{% assign post = site.posts[index] %}
|
|
||||||
{% assign url = post.url | relative_url %}
|
|
||||||
<li class="text-truncate lh-lg">
|
|
||||||
<a href="{{ url }}">{{ post.title }}</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
<!-- #access-lastmod -->
|
|
||||||
{% endif %}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user