ブログ作成

This commit is contained in:
Last2014 2025-06-19 17:18:16 +09:00
commit df3991fd56
295 changed files with 19663 additions and 0 deletions

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
_multiconfig.yml

104
_config.yml Normal file
View File

@ -0,0 +1,104 @@
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site
title: Last2014's Blog
subtitle: ""
description: ""
keywords:
author: Last2014
language: ja
timezone: Asia/Tokyo
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://blog.last2014.f5.si
permalink: :year/:title/
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks
# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:
# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link:
enable: true # Open external links in new tab
field: site # Apply to the whole site
exclude: ""
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
syntax_highlighter: highlight.js
highlight:
line_number: true
auto_detect: false
tab_replace: ""
wrap: true
hljs: true
prismjs:
preprocess: true
line_number: true
tab_replace: ""
# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
path: ""
per_page: 5
order_by: -date
# Category & Tag
default_category: uncategorized
category_map:
tag_map:
# Metadata elements
## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
meta_generator: true
# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss
## updated_option supports 'mtime', 'date', 'empty'
updated_option: "mtime"
# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page
# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
exclude:
ignore:
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: next
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ""

2430
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

29
package.json Normal file
View File

@ -0,0 +1,29 @@
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server"
},
"hexo": {
"version": "7.3.0"
},
"dependencies": {
"hexo": "^7.3.0",
"hexo-generator-archive": "^2.0.0",
"hexo-generator-category": "^2.0.0",
"hexo-generator-index": "^4.0.0",
"hexo-generator-tag": "^2.0.0",
"hexo-renderer-ejs": "^2.0.0",
"hexo-renderer-marked": "^7.0.0",
"hexo-renderer-stylus": "^3.0.1",
"hexo-server": "^3.0.0",
"hexo-theme-landscape": "^1.0.0"
},
"devDependencies": {
"hexo-theme-next": "^8.23.1"
}
}

4
scaffolds/draft.md Normal file
View File

@ -0,0 +1,4 @@
---
title: {{ title }}
tags:
---

4
scaffolds/page.md Normal file
View File

@ -0,0 +1,4 @@
---
title: {{ title }}
date: {{ date }}
---

5
scaffolds/post.md Normal file
View File

@ -0,0 +1,5 @@
---
title: {{ title }}
date: {{ date }}
tags:
---

35
source/_posts/aboutme.md Normal file
View File

@ -0,0 +1,35 @@
---
title: Last2014について
date: 2025-06-18 19:31:28
tags:
- Last2014
- 自己紹介
---
> Last2014って誰だよ
と読者の皆さんはなると思うのでLast2014について解説していきます。
{% note "注意" %}
この記事は2025/6/18時点の情報です。
{% endnote %}
# 早速Last2014について
年齢10歳
生年月日2014/12/8
性別:男性
在住:神奈川県
趣味:プログラミング・自宅サーバー(ラズパイ)
プログラミング言語HTML・CSS・JavaScript・TypeScript・PHP
技術Node.js・Bulma・Next.js・React・Vue.js・Git・Gitea・Cloudflare
とても省略してこんな感じになっています。
[ホームページ](https://last2014.f5.si)で公開している情報をざっと持ってきてみました。
そして凄いどうでもいいことですが学校の漢字テストとITパスポート、Tech Kids Grand Prixが全部かぶって困ってます。
TKGPは単純に出たい、ITパスポートはもう申請してしまった、漢字テストは必須(義務教育)とやることが多すぎます。
今回の記事は~~最初~~Qiita記事を含めて2本目ですが自己紹介でかなり短くなってしまいました。
次回からはまともな内容で書いていきます。
最後まで読んでくださってありがとうございました。

0
themes/.gitkeep Normal file
View File

59
themes/next/LICENSE.md Normal file
View File

@ -0,0 +1,59 @@
# <div align="center">«NexT» Elegant and powerful theme for Hexo.</div>
<p align="center">Copyright © 2017 «<a href="https://github.com/next-theme/hexo-theme-next">NexT</a>».</p>
<p align="center">Detail attribution information for «NexT»<br>
is contained in the '<a href="docs/AUTHORS.md">docs/AUTHORS.md</a>' file.</p>
This program is free software; you can redistribute it and/or modify
it under the terms of the [GNU Affero General Public License version 3][AGPL3]
as published by the Free Software Foundation with the addition of the
following permission added to [Section 15][AGPL3-15] as permitted in [Section 7(a)][AGPL3-7]:
FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY «NEXT»,
«NEXT» DISCLAIMS THE WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program; if not, see: https://www.gnu.org/licenses/agpl.txt
In accordance with [Section 7(b)][AGPL3-7] of the GNU Affero General Public License:
* a) It is not necessary to specify copyright in each source file of
this program because GitHub fully save commits of all modified files
with their authors and provides to see for this changes publicly.
* b) For any part of the covered work in which the copyright not specified,
will mean this part owned by «NexT» in accord with terms in this file.
* c) A covered work must retain «NexT» official website link
(https://theme-next.js.org) in footer section of every website created,
modified or manipulated by using «NexT».
«NexT» theme configuration must be:
```yml
footer:
theme:
enable: true
```
Collaborators, best contributors and all authors specified in the
'[docs/AUTHORS.md][AUTHORS]' file of «NexT» repository under the
'https://github.com/next-theme' organization can ignore theme info link
requirements.
Anyone can be released from the requirements of the license by purchasing
a commercial license. Buying such a license is mandatory as soon as you
develop commercial activities involving the «NexT» software without
disclosing the source code of your own applications.
These activities include:
1. Access to private repository with various premium features.
2. Priority support for resolve all possible issues with «NexT».
3. Priority support for implement all possible features to «NexT».
<p align="center">This license also available in <a href="docs/LICENSE.txt">text format</a>.</p>
[AUTHORS]: docs/AUTHORS.md
[AGPL3]: docs/AGPL3.md
[AGPL3-7]: docs/AGPL3.md/#7-additional-terms
[AGPL3-15]: docs/AGPL3.md/#15-disclaimer-of-warranty

202
themes/next/README.md Normal file
View File

@ -0,0 +1,202 @@
<div align="right">
Language:
🇺🇸
<a title="Chinese" href="docs/zh-CN/README.md">🇨🇳</a>
<a title="Russian" href="docs/ru/README.md">🇷🇺</a>
</div>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes-dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes.png">
<img alt="NexT preview" src="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes.png">
</picture>
<a title="NexT website" href="https://theme-next.js.org"><img align="right" alt="NexT logo" width="100" height="100" src="https://raw.githubusercontent.com/next-theme/hexo-theme-next/master/source/images/logo.svg"></a>
# NexT
> NexT is a high quality elegant [Hexo](https://hexo.io) theme. It is crafted from scratch with love.
[![NPM version](https://img.shields.io/npm/v/hexo-theme-next?color=red&logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
[![NPM Downloads](https://img.shields.io/npm/dm/hexo-theme-next?logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
[![Required Hexo version](https://img.shields.io/badge/hexo-%3E=5.3.0-blue?style=flat-square&logo=hexo)](https://hexo.io)
[![License](https://img.shields.io/badge/license-%20AGPL-orange?style=flat-square&logo=gnu)](https://github.com/next-theme/hexo-theme-next/blob/master/LICENSE.md)
[![Build Status](https://img.shields.io/github/actions/workflow/status/next-theme/hexo-theme-next/linter.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/next-theme/hexo-theme-next/actions?query=workflow%3ALinter)
[![Build Status](https://img.shields.io/github/actions/workflow/status/next-theme/hexo-theme-next/tester.yml?branch=master&logo=github&style=flat-square)](https://github.com/next-theme/hexo-theme-next/actions?query=workflow%3ATester)
[![Coverage Status](https://img.shields.io/coveralls/github/next-theme/hexo-theme-next?logo=coveralls&style=flat-square)](https://coveralls.io/github/next-theme/hexo-theme-next)
## Live Preview
<p align="center">
💟 <a href="https://theme-next.js.org/muse/">Muse</a> | 🔯 <a href="https://theme-next.js.org/mist/">Mist</a> | ♓️ <a href="https://theme-next.js.org/pisces/">Pisces</a> | ♊️ <a href="https://theme-next.js.org">Gemini</a>
<br>
<br>
More NexT examples <a href="https://github.com/next-theme/awesome-next#live-preview">here</a>.
</p>
## Installation
If you're using Hexo 5.0 or later, the simplest way to install is through npm:
```sh
cd hexo-site
npm install hexo-theme-next
```
Or you can clone the entire repository:
```sh
cd hexo-site
git clone https://github.com/next-theme/hexo-theme-next themes/next
```
See [detailed installation instructions][docs-installation-url] if you want any other variant.
After the installation, open Hexo config file and set `theme` variable to `next`.
```yml
theme: next
```
## Configuration
It is not recommended to directly modify any files in the NexT theme. Because this may cause errors (e.g. merge conflicts), and the modified files may be discarded when upgrading the theme.
At present, NexT encourages users to use the [Alternate Theme Config][docs-configuration-url] to configure NexT. And it's easy to customize the layout or style of NexT using [Custom Files][docs-custom-files-url].
## Plugins
Plugins extend and expand the functionality of NexT. Some advanced features may require third-party libraries or additional configuration, giving you the flexibility to create a truly personalized website.
Configuring these plugins is very easy. For example, if you want to enable `pjax` on your site, just set `pjax` to `true` in NexT config file:
```yml
# Easily enable fast Ajax navigation on your website.
# For more information: https://github.com/next-theme/pjax
pjax: true
```
### Configure CDN
Third-party plugins are loaded from [CDNJS](https://cdnjs.com) CDN by default. We also provide other optional CDNs, including the famous [UNPKG](https://unpkg.com) and [jsDelivr](https://www.jsdelivr.com).
For example, if you want to use `unpkg` instead of `cdnjs` as the default CDN provider, you need to edit the following settings in NexT config file:
```yml
vendors:
# ...
# Some contents...
# ...
plugins: unpkg
```
## Update
The NexT theme will continue to release new versions to include new features and bug fixes. Please read the [release notes][docs-release-url] before updating the theme. You can update NexT by the following command.
Install the latest version through npm:
```sh
cd hexo-site
npm install hexo-theme-next@latest
```
Or update to the latest master branch:
```sh
cd themes/next
git pull
```
**If you want to update from v5.x / v7.x to the latest version, read [this][docs-upgrade-url].**
## Community
Connect with us and be part of our growing community!
* **Telegram Group (Chinese Language)**: [Click here to join!](https://t.me/theme_next_cn)
* **Discord Server**: [Join our Discord!](https://discord.gg/qmkgkY3jaG)
* **Gitter**: [Join our Gitter chats!][gitter-url]
* **ChatGPT**: [NexT Mentor][gpt-url]
## Feedback
* Visit the [Awesome NexT][awesome-next-url] list to share plugins and tutorials with other users.
* Join our [GitHub discussions][discussions-url].
* [Add or improve translation][i18n-url] in few seconds.
* Report a bug in [GitHub Issues][issues-bug-url].
* Request a new feature on [GitHub][issues-feat-url].
* Vote for [popular feature requests][feat-req-vote-url].
## Contributing
We welcome you to join the development of NexT. Please see [contributing document][contributing-document-url]. 🤗
Also, we welcome Issue or PR to our [official-plugins][official-plugins-url].
## Contributors
[![Contributors][contributors-image]][contributors-url]
## Thanks
NexT send special thanks to these great services that sponsor our core infrastructure:
<a href="https://github.com"><img height="40" src="https://github.githubassets.com/images/modules/logos_page/GitHub-Logo.png"></a>
> GitHub allows us to host the Git repository and run the test suite.
<a href="https://www.netlify.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://www.netlify.com/v3/img/components/full-logo-dark.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://www.netlify.com/v3/img/components/full-logo-light.svg">
<img alt="Netlify Logo" height="40" src="https://www.netlify.com/v3/img/components/full-logo-light.svg">
</picture>
</a>
> Netlify allows us to distribute the documentation.
<a href="https://crowdin.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cWhite.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cDark.svg">
<img alt="Netlify Logo" height="40" src="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cDark.svg">
</picture>
</a>
> Crowdin allows us to translate conveniently the documentation.
<a href="https://cdnjs.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/light-brackets.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/dark-brackets.svg">
<img alt="CDNJS Logo" height="40" src="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/dark-brackets.svg">
</picture>
</a>
> Thanks CDNJS for providing public CDN service.
## License
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fnext-theme%2Fhexo-theme-next.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fnext-theme%2Fhexo-theme-next?ref=badge_large)
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
[docs-configuration-url]: https://theme-next.js.org/docs/getting-started/configuration.html
[docs-custom-files-url]: https://theme-next.js.org/docs/advanced-settings/custom-files.html
[docs-release-url]: https://github.com/next-theme/hexo-theme-next/releases
[docs-upgrade-url]: https://theme-next.js.org/docs/getting-started/upgrade.html
[awesome-next-url]: https://github.com/next-theme/awesome-next
[discussions-url]: https://github.com/next-theme/hexo-theme-next/discussions
[gitter-url]: https://app.gitter.im/#/room/#next:gitter.im
[gpt-url]: https://chatgpt.com/g/g-68286c2fc1f48191aee3e87c94a89431-next-mentor
[i18n-url]: https://crowdin.com/project/hexo-theme-next
[issues-bug-url]: https://github.com/next-theme/hexo-theme-next/issues/new?assignees=&labels=Bug&template=bug-report.md
[issues-feat-url]: https://github.com/next-theme/hexo-theme-next/issues/new?assignees=&labels=Feature+Request&template=feature-request.md
[feat-req-vote-url]: https://github.com/next-theme/hexo-theme-next/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22
[contributing-document-url]: https://github.com/next-theme/hexo-theme-next/blob/master/.github/CONTRIBUTING.md
[official-plugins-url]: https://github.com/next-theme
[contributors-image]: https://raw.githubusercontent.com/next-theme/contributors/master/contributors.svg
[contributors-url]: https://github.com/next-theme/hexo-theme-next/blob/master/docs/AUTHORS.md

915
themes/next/_config.yml Normal file
View File

@ -0,0 +1,915 @@
# ===============================================================
# It's recommended to use Alternate Theme Config to configure NexT
# Modifying this file may result in merge conflict
# See: https://theme-next.js.org/docs/getting-started/configuration
# ===============================================================
# ---------------------------------------------------------------
# Theme Core Configuration Settings
# See: https://theme-next.js.org/docs/theme-settings/
# ---------------------------------------------------------------
# Allow to cache content generation.
cache:
enable: false
# Remove unnecessary files after hexo generate.
minify: true
# Define custom file paths.
# Create your custom files in site directory `source/_data` and uncomment needed files below.
custom_file_path:
#head: source/_data/head.njk
#header: source/_data/header.njk
#sidebar: source/_data/sidebar.njk
#postMeta: source/_data/post-meta.njk
#postBodyStart: source/_data/post-body-start.njk
#postBodyEnd: source/_data/post-body-end.njk
#footer: source/_data/footer.njk
#bodyEnd: source/_data/body-end.njk
#variable: source/_data/variables.styl
#mixin: source/_data/mixins.styl
#style: source/_data/styles.styl
# ---------------------------------------------------------------
# Scheme Settings
# ---------------------------------------------------------------
# Schemes
scheme: Pisces
#scheme: Mist
#scheme: Pisces
#scheme: Gemini
# Dark Mode
darkmode: true
# ---------------------------------------------------------------
# Site Information Settings
# ---------------------------------------------------------------
favicon:
small: /images/favicon-96x96.png
medium: /images/favicon-192x192.png
large: /images/favicon-512x512.png
apple_touch_icon: /images/apple-touch-icon.png
safari_pinned_tab: /images/logo.svg
#android_manifest: /manifest.json
# Custom Logo (Warning: Do not support scheme Mist)
# custom_logo: /images/logo.svg
# Creative Commons 4.0 International License.
# See: https://creativecommons.org/about/cclicenses/
creative_commons:
# Available values: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | cc-zero
license: by-nc
# Available values: big | small
size: small
sidebar: true
post: true
# You can set a language value if you prefer a translated version of CC license, e.g. deed.zh
# CC licenses are available in 39 languages, you can find the specific and correct abbreviation you need on https://creativecommons.org
language: legalcode.ja
# Open graph settings
# See: https://hexo.io/docs/helpers#open-graph
open_graph:
enable: true
options:
#twitter_card: <twitter:card>
#twitter_id: <twitter:creator>
#twitter_site: <twitter:site>
#twitter_image: <twitter:image>
#google_plus: <g+:profile_link>
#fb_admins: <fb:admin_id>
#fb_app_id: <fb:app_id>
# ---------------------------------------------------------------
# Menu Settings
# ---------------------------------------------------------------
# Usage: `Key: /link/ || icon`
# Key is the name of menu item. If the translation for this item is available, the translated text will be loaded, otherwise the Key name will be used. Key is case-sensitive.
# Value before `||` delimiter is the target link, value after `||` delimiter is the name of Font Awesome icon.
# External url should start with http:// or https://
menu:
#home: / || fa fa-home
#about: /about/ || fa fa-user
#tags: /tags/ || fa fa-tags
#categories: /categories/ || fa fa-th
#archives: /archives/ || fa fa-archive
#schedule: /schedule/ || fa fa-calendar
#sitemap: /sitemap.xml || fa fa-sitemap
#commonweal: /404/ || fa fa-heartbeat
# Enable / Disable menu icons / item badges.
menu_settings:
icons: true
badges: false
# ---------------------------------------------------------------
# Sidebar Settings
# See: https://theme-next.js.org/docs/theme-settings/sidebar
# ---------------------------------------------------------------
sidebar:
# Sidebar position. Available values: left | right
position: left
# Sidebar width.
# Applicable to Muse | Mist and mobile of Pisces | Gemini.
width_expanded: 320
# Applicable to desktop of Pisces | Gemini.
width_dual_column: 240
# Sidebar display.
# Applicable to Muse | Mist and mobile of Pisces | Gemini.
# Available values:
# - post expand on posts automatically. Default.
# - always expand for all pages automatically.
# - hide expand only when click on the sidebar toggle icon.
# - remove totally remove sidebar including sidebar toggle.
display: post
# Sidebar padding in pixels.
padding: 18
# Sidebar offset from top menubar in pixels (only for Pisces | Gemini).
offset: 12
# Sidebar Avatar
avatar:
# Replace the default image and set the url here.
url: /images/avatar.png
# If true, the avatar will be displayed in circle.
rounded: false
# If true, the avatar will be rotated with the cursor.
rotated: false
# Posts / Categories / Tags in sidebar.
site_state: true
# Social Links
# Usage: `Key: permalink || icon`
# Key is the link label showing to end users.
# Value before `||` delimiter is the target permalink, value after `||` delimiter is the name of Font Awesome icon.
social:
#GitHub: https://github.com/yourname || fab fa-github
About Me: /2025/aboutme || fa fa-user
Home Page: https://last2014.f5.si || fa fa-globe
E-Mail: mailto:last2014yh@yahoo.co.jp || fa fa-envelope
Gitea: https://gitea.last2014.f5.si/last2014 || fa fa-code-fork
#Weibo: https://weibo.com/yourname || fab fa-weibo
#Twitter: https://twitter.com/yourname || fab fa-twitter
#FB Page: https://www.facebook.com/yourname || fab fa-facebook
#StackOverflow: https://stackoverflow.com/yourname || fab fa-stack-overflow
#YouTube: https://youtube.com/yourname || fab fa-youtube
#Instagram: https://instagram.com/yourname || fab fa-instagram
#Skype: skype:yourname?call|chat || fab fa-skype
social_icons:
enable: true
icons_only: false
transition: false
# Blog rolls
links_settings:
icon: fa fa-globe
# Available values: block | inline
layout: block
links:
#Title: https://example.com
# Table of Contents in the Sidebar
# Front-matter variable (nonsupport wrap expand_all).
toc:
enable: true
# Automatically add list number to toc.
number: true
# If true, all words will placed on next lines if header width longer then sidebar width.
wrap: false
# If true, all level of TOC in a post will be displayed, rather than the activated part of it.
expand_all: false
# Maximum heading depth of generated toc.
max_depth: 6
# ---------------------------------------------------------------
# Footer Settings
# See: https://theme-next.js.org/docs/theme-settings/footer
# ---------------------------------------------------------------
# Show multilingual switcher in footer.
language_switcher: false
footer:
# Specify the year when the site was setup. If not defined, current year will be used.
#since: 2021
# Icon between year and copyright info.
icon:
# Icon name in Font Awesome. See: https://fontawesome.com/icons
name: fa fa-heart
# If you want to animate the icon, set it to true.
animated: false
# Change the color of icon, using Hex Code.
color: "#ff0000"
# If not defined, `author` from Hexo `_config.yml` will be used.
# Set to `false` to disable the copyright statement.
copyright: Last2014
# Powered by Hexo & NexT
powered: true
# Beian ICP and gongan information for Chinese users. See: https://beian.miit.gov.cn, https://beian.mps.gov.cn
beian:
enable: false
icp:
# The digit in the num of gongan beian.
gongan_id:
# The full num of gongan beian.
gongan_num:
# The icon for gongan beian. Login and See: https://beian.mps.gov.cn/web/business/businessHome/website
gongan_icon_url:
# ---------------------------------------------------------------
# Post Settings
# See: https://theme-next.js.org/docs/theme-settings/posts
# ---------------------------------------------------------------
# Use `description` in front-matter to specify post excerpt.
excerpt_description: false
# Read more button
# If true, the read more button will be displayed in excerpt section.
read_more_btn: true
# Post meta display settings
post_meta:
item_text: false
created_at: true
updated_at:
enable: true
another_day: true
categories: true
# Post wordcount display settings
# Dependencies: https://github.com/next-theme/hexo-word-counter
symbols_count_time:
separated_meta: true
item_text_total: false
# Use icon instead of the symbol # to indicate the tag at the bottom of the post
tag_icon: false
# Donate (Sponsor) settings
# Front-matter variable (nonsupport animation).
reward_settings:
# If true, a donate button will be displayed in every article by default.
enable: false
animation: false
reward:
#wechatpay: /images/wechatpay.png
#alipay: /images/alipay.png
#paypal: /images/paypal.png
#bitcoin: /images/bitcoin.png
# Subscribe through Telegram Channel, Twitter, etc.
# Usage: `Key: permalink || icon` (Font Awesome)
follow_me:
#Twitter: https://twitter.com/username || fab fa-twitter
#Telegram: https://t.me/channel_name || fab fa-telegram
#WeChat: /images/wechat_channel.png || fab fa-weixin
#RSS: /atom.xml || fa fa-rss
# Related popular posts
# Dependencies: https://github.com/sergeyzwezdin/hexo-related-posts
related_posts:
enable: false
icon: fa fa-signs-post
# Post edit
# Easily browse and edit blog source code online.
post_edit:
enable: false
url: https://github.com/user-name/repo-name/tree/branch-name/subdirectory-name/ # Link for view source
#url: https://github.com/user-name/repo-name/edit/branch-name/subdirectory-name/ # Link for fork & edit
# Show previous post and next post in post footer if exists
# Available values: left | right | false
post_navigation: left
# ---------------------------------------------------------------
# Custom Page Settings
# See: https://theme-next.js.org/docs/theme-settings/custom-pages
# ---------------------------------------------------------------
# TagCloud settings for tags page.
tagcloud:
min: 12 # Minimum font size in px
max: 30 # Maximum font size in px
amount: 200 # Total amount of tags
orderby: name # Order of tags
order: 1 # Sort order
# Google Calendar
# Share your recent schedule to others via calendar page.
calendar:
calendar_id: <required> # Your Google account E-Mail
api_key: <required>
orderBy: startTime
showLocation: false
offsetMax: 72 # Time Range
offsetMin: 4 # Time Range
showDeleted: false
singleEvents: true
maxResults: 250
# ---------------------------------------------------------------
# Misc Theme Settings
# See: https://theme-next.js.org/docs/theme-settings/miscellaneous
# ---------------------------------------------------------------
# Preload styles and preconnect CDN for fonts and plugins.
# For more information: https://www.w3.org/TR/resource-hints/#preconnect
preconnect: false
# Set the text alignment in posts / pages.
text_align:
# Available values: start | end | left | right | center | justify | justify-all | match-parent
desktop: justify
mobile: justify
# Reduce padding / margin indents on devices with narrow width.
mobile_layout_economy: false
# Browser header panel color.
theme_color:
light: "#222"
dark: "#222"
# Override browsers' default behavior.
body_scrollbar:
# Place the scrollbar over the content.
overlay: false
# Reserving space for the scrollbar gutter even if the content is not overflowing.
stable: false
codeblock:
# Code Highlight theme
# All available themes: https://theme-next.js.org/highlight/
theme:
light: default
dark: stackoverflow-dark
prism:
light: prism
dark: prism-dark
# Add copy button on codeblock
copy_button:
enable: false
# Available values: default | flat | mac
style:
# Fold code block
fold:
enable: false
height: 500
# Display language name
language: true
back2top:
enable: true
# Back to top in sidebar.
sidebar: false
# Scroll percent label in b2t button.
scrollpercent: false
# Reading progress bar
reading_progress:
enable: true
# Available values: left | right
start_at: left
# Available values: top | bottom
position: bottom
reversed: false
color: "#37c6c0"
height: 3px
# Bookmark Support
bookmark:
enable: false
# Customize the color of the bookmark.
color: "#222"
# If auto, save the reading progress when closing the page or clicking the bookmark-icon.
# If manual, only save it by clicking the bookmark-icon.
save: auto
# `Follow me on GitHub` banner in the top-right corner.
github_banner:
enable: false
permalink: https://github.com/yourname
# ---------------------------------------------------------------
# Font Settings
# ---------------------------------------------------------------
# Find fonts on Google Fonts (https://fonts.google.com)
# All fonts set here will have the following styles:
# light | light italic | normal | normal italic | bold | bold italic
# Be aware that setting too much fonts will cause site running slowly
# ---------------------------------------------------------------
# Web Safe fonts are recommended for `global` (and `title`):
# Arial | Tahoma | Helvetica | Times New Roman | Courier New | Verdana | Georgia | Palatino | Garamond | Comic Sans MS | Trebuchet MS
# ---------------------------------------------------------------
font:
enable: false
# Uri of fonts host, e.g. https://fonts.googleapis.com (Default).
host:
# Font options:
# `external: true` will load this font family from `host` above.
# `family: Times New Roman`. Without any quotes.
# `size: x.x`. Use `em` as unit. Default: 1 (16px)
# Global font settings used for all elements inside <body>.
global:
external: true
family: Lato
size:
# Font settings for site title (.site-title).
title:
external: true
family:
size:
# Font settings for headlines (<h1> to <h6>).
headings:
external: true
family:
size:
# Font settings for posts (.post-body).
posts:
external: true
family:
# Font settings for <code> and code blocks.
codes:
external: true
family:
# ---------------------------------------------------------------
# SEO Settings
# See: https://theme-next.js.org/docs/theme-settings/seo
# ---------------------------------------------------------------
# If true, site-subtitle will be added to the title of index page.
# Remember to set up your site-subtitle in Hexo `_config.yml` (e.g. subtitle: Subtitle)
index_with_subtitle: false
# Automatically add external URL with Base64 encrypt & decrypt.
exturl: false
# If true, an icon will be attached to each external URL
exturl_icon: true
# Google Webmaster tools verification.
# See: https://developers.google.com/search
google_site_verification:
# Bing Webmaster tools verification.
# See: https://www.bing.com/webmasters
bing_site_verification:
# Yandex Webmaster tools verification.
# See: https://webmaster.yandex.ru
yandex_site_verification:
# Baidu Webmaster tools verification.
# See: https://ziyuan.baidu.com/site
baidu_site_verification:
# ---------------------------------------------------------------
# Tags Settings
# See: https://theme-next.js.org/docs/tag-plugins/
# ---------------------------------------------------------------
# Note tag (bootstrap callout)
note:
# Note tag style values:
# - simple bootstrap callout old alert style. Default.
# - modern bootstrap callout new (v2-v3) alert style.
# - flat flat callout style with background, like on Mozilla or StackOverflow.
# - disabled disable all CSS styles import of note tag.
style: simple
icons: false
# Offset lighter of background in % for modern and flat styles (modern: -12 | 12; flat: -18 | 6).
# Offset also applied to label tag variables. This option can work with disabled note tag.
light_bg_offset: 0
# Tabs tag
tabs:
# Make the nav bar of tabs with long content stick to the top.
sticky: false
transition:
tabs: false
labels: true
# PDF tag
# NexT will try to load pdf files natively, if failed, pdf.js will be used.
# So, you have to install the dependency of pdf.js if you want to use pdf tag and make it available to all browsers.
# Dependencies: https://github.com/next-theme/theme-next-pdf
pdf:
enable: false
# Default height
height: 500px
# Mermaid tag
mermaid:
enable: false
# Available themes: default | dark | forest | neutral
theme:
light: default
dark: dark
# WaveDrom tag
wavedrom:
enable: false
# ---------------------------------------------------------------
# Third Party Plugins & Services Settings
# See: https://theme-next.js.org/docs/third-party-services/
# More plugins: https://github.com/next-theme/awesome-next
# ---------------------------------------------------------------
# ---------------------------------------------------------------
# Math Formulas Render Support
# See: https://theme-next.js.org/docs/third-party-services/math-equations
# Warning: Please install / uninstall the relevant renderer according to the documentation.
# Server-side plugin: https://github.com/next-theme/hexo-filter-mathjax
# ---------------------------------------------------------------
math:
# Default (false) will load mathjax / katex script on demand.
# That is it only render those page which has `mathjax: true` in front-matter.
# If you set it to true, it will load mathjax / katex script EVERY PAGE.
every_page: false
mathjax:
enable: false
# Available values: none | ams | all
tags: none
katex:
enable: false
# See: https://github.com/KaTeX/KaTeX/tree/master/contrib/copy-tex
copy_tex: false
# ---------------------------------------------------------------
# External Libraries
# See: https://theme-next.js.org/docs/third-party-services/external-libraries
# ---------------------------------------------------------------
# Easily enable fast Ajax navigation on your website.
# For more information: https://github.com/next-theme/pjax
pjax: false
# FancyBox is a tool that offers a nice and elegant way to add zooming functionality for images.
# For more information: https://fancyapps.com/fancybox/
fancybox: false
# Medium Zoom is a JavaScript library for zooming images like Medium.
# Warning: Do not enable both `fancybox` and `mediumzoom`.
# For more information: https://medium-zoom.francoischalifour.com
mediumzoom: false
# Vanilla JavaScript plugin for lazyloading images.
# For more information: https://apoorv.pro/lozad.js/demo/
lazyload: false
# Automatically insert whitespace between CJK and half-width characters.
# For more information: https://github.com/vinta/pangu.js
# Server-side plugin: https://github.com/next-theme/hexo-pangu
pangu: false
# Prefetch links based on what is in the user's viewport.
# For more information: https://getquick.link
# Front-matter variable (nonsupport home archive).
quicklink:
enable: false
# Home page and archive page can be controlled through home and archive options below.
# This configuration item is independent of `enable`.
home: false
archive: false
# Default (true) will initialize quicklink after the load event fires.
delay: true
# Custom a time in milliseconds by which the browser must execute prefetching.
timeout: 3000
# Default (true) will attempt to use the fetch() API if supported (rather than link[rel=prefetch]).
priority: true
# ---------------------------------------------------------------
# Animation Settings
# ---------------------------------------------------------------
# Use Animate.css to animate everything.
# For more information: https://animate.style
motion:
enable: true
async: false
duration: 200
transition:
# All available transition variants: https://theme-next.js.org/animate/
menu_item: fadeInDown
post_block: fadeIn
post_header: fadeInDown
post_body: fadeInDown
coll_header: fadeInLeft
# Only for Pisces | Gemini.
sidebar: fadeInUp
# Progress bar in the top during page loading.
# For more information: https://github.com/CodeByZach/pace
pace:
enable: false
# All available colors:
# black | blue | green | orange | pink | purple | red | silver | white | yellow
color: blue
# All available themes:
# big-counter | bounce | barber-shop | center-atom | center-circle | center-radar | center-simple
# corner-indicator | fill-left | flat-top | flash | loading-bar | mac-osx | material | minimal
theme: minimal
# Generate a ribbon in your website with HTML5 canvas.
# For more information: https://github.com/hustcc/ribbon.js
canvas_ribbon:
enable: false
size: 300 # The width of the ribbon
alpha: 0.6 # The transparency of the ribbon
zIndex: -1 # The display level of the ribbon
# ---------------------------------------------------------------
# Comments Settings
# See: https://theme-next.js.org/docs/third-party-services/comments
# ---------------------------------------------------------------
# Multiple Comment System Support
comments:
# Available values: tabs | buttons
style: tabs
# Choose a comment system to be displayed by default.
# Available values: disqus | disqusjs | changyan | livere | gitalk | utterances
active:
# Setting `true` means remembering the comment system selected by the visitor.
storage: true
# Lazyload all comment systems.
lazyload: false
# Modify texts or order for any naves, here are some examples.
nav:
#disqus:
# text: Load Disqus
# order: -1
#gitalk:
# order: -2
# Disqus
# For more information: https://disqus.com
disqus:
enable: false
shortname:
count: true
# DisqusJS
# For more information: https://disqusjs.skk.moe
disqusjs:
enable: false
# API Endpoint of Disqus API (https://disqus.com/api/docs/).
# Leave api empty if you are able to connect to Disqus API. Otherwise you need a reverse proxy for it.
# For example:
# api: https://disqus.skk.moe/disqus/
api:
apikey: # Register new application from https://disqus.com/api/applications/
shortname: # See: https://disqus.com/admin/settings/general/
# Changyan
# For more information: https://changyan.kuaizhan.com
changyan:
enable: false
appid:
appkey:
# Show comments count
count: true
# LiveRe comments system
# You can get your uid from https://livere.com/insight/myCode (General web site)
livere_uid: # <your_uid>
# Gitalk
# For more information: https://gitalk.github.io
gitalk:
enable: false
github_id: # GitHub repo owner
repo: # Repository name to store issues
client_id: # GitHub Application Client ID
client_secret: # GitHub Application Client Secret
admin_user: # GitHub repo owner and collaborators, only these guys can initialize gitHub issues
distraction_free_mode: true # Facebook-like distraction free mode
# When the official proxy is not available, you can change it to your own proxy address
proxy: https://cors-anywhere.azm.workers.dev/https://github.com/login/oauth/access_token # This is official proxy address
# Gitalk's display language depends on user's browser or system environment
# If you want everyone visiting your site to see a uniform language, you can set a force language value
# Available values: en | es-ES | fr | ru | zh-CN | zh-TW
language:
# Utterances
# For more information: https://utteranc.es
utterances:
enable: false
repo: user-name/repo-name # Github repository owner and name
# Available values: pathname | url | title | og:title
issue_term: pathname
# Available values: github-light | github-dark | preferred-color-scheme | github-dark-orange | icy-dark | dark-blue | photon-dark | boxy-light
theme: github-light
# Isso
# For more information: https://isso-comments.de
isso: # <data_isso>
# ---------------------------------------------------------------
# Post Widgets & Content Sharing Services
# See: https://theme-next.js.org/docs/third-party-services/post-widgets
# ---------------------------------------------------------------
# AddToAny Share. See: https://www.addtoany.com
addtoany:
enable: false
buttons:
- facebook
- twitter
# ---------------------------------------------------------------
# Statistics and Analytics
# See: https://theme-next.js.org/docs/third-party-services/statistics-and-analytics
# ---------------------------------------------------------------
# Google Analytics
# See: https://analytics.google.com
google_analytics:
tracking_id: # <app_id>
# By default, NexT will load an external gtag.js script on your site.
# If you only need the pageview feature, set the following option to true to get a better performance.
only_pageview: false
# only needed if you are using `only_pageview` mode, https://developers.google.com/analytics/devguides/collection/protocol/ga4
measure_protocol_api_secret:
# Baidu Analytics
# See: https://tongji.baidu.com
baidu_analytics: # <app_id>
# Growingio Analytics
# See: https://www.growingio.com
growingio_analytics: # <project_id>
# Cloudflare Web Analytics
# See: https://www.cloudflare.com/web-analytics/
cloudflare_analytics:
# Microsoft Clarity Analytics
# See: https://clarity.microsoft.com/
clarity_analytics: # <project_id>
# Matomo Analytics
# See: https://matomo.org/
matomo:
enable: false
server_url: # https://www.example.com/
site_id: # <your site id>
# Umami Analytics
# See: https://umami.is/
umami:
enable: false
script_url: # https://umami.example.com/script.js
website_id: # <your website id>
host_url: # <your umami site url>
# Plausible Analytics
# See: https://plausible.io/
plausible:
enable: false
script_url: # https://plausible.io/js/script.js
site_domain: # www.example.com
# Show number of visitors of each article.
# You can visit https://www.leancloud.cn to get AppID and AppKey.
leancloud_visitors:
enable: false
app_id: # <your app id>
app_key: # <your app key>
# Required for apps from CN region
server_url: # <your server url>
# Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security
# If you don't care about security in leancloud counter and just want to use it directly
# (without hexo-leancloud-counter-security plugin), set `security` to `false`.
security: true
# Another tool to show number of visitors to each article.
# Visit https://console.firebase.google.com/u/0/ to get apiKey and projectId.
# Visit https://firebase.google.com/docs/firestore/ to get more information about firestore.
firestore:
enable: false
collection: articles # Required, a string collection name to access firestore database
apiKey: # Required
projectId: # Required
# Show Views / Visitors of the website / page with busuanzi.
# For more information: http://ibruce.info/2015/04/04/busuanzi/
busuanzi_count:
enable: false
total_visitors: true
total_visitors_icon: fa fa-user
total_views: true
total_views_icon: fa fa-eye
post_views: true
post_views_icon: far fa-eye
# ---------------------------------------------------------------
# Search Services
# See: https://theme-next.js.org/docs/third-party-services/search-services
# ---------------------------------------------------------------
# Algolia Search
# For more information: https://www.algolia.com
algolia_search:
enable: false
hits:
per_page: 10
# Local Search
# Dependencies: https://github.com/next-theme/hexo-generator-searchdb
local_search:
enable: false
# Show top n results per article, show all results by setting to -1
top_n_per_article: 1
# Unescape html strings to the readable one.
unescape: false
# Preload the search data when the page loads.
preload: false
# ---------------------------------------------------------------
# Chat Services
# See: https://theme-next.js.org/docs/third-party-services/chat-services
# ---------------------------------------------------------------
# A button to open designated chat widget in sidebar.
# Firstly, you need to enable and configure the chat service.
chat:
enable: true
icon: fa fa-comment # Icon name in Font Awesome, set to `false` to disable icon.
# Chatra is a functional, easy to use piece of chat software for websites.
# For more information: https://chatra.com
# Dashboard: https://app.chatra.io/settings/general
chatra:
enable: false
async: true
id: # Visit Dashboard to get your ChatraID
#embed: # Unfinished experimental feature for developers. See: https://chatra.com/help/api/#injectto
# Tidio is a powerful, all-in-one customer service tool.
# For more information: https://www.tidio.com
# Dashboard: https://www.tidio.com/panel/dashboard
tidio:
enable: false
key: # Public Key, get it from dashboard. See: https://www.tidio.com/panel/settings/developer
# ---------------------------------------------------------------
# CDN Settings
# See: https://theme-next.js.org/docs/advanced-settings/vendors
# ---------------------------------------------------------------
vendors:
# The CDN provider of NexT internal scripts.
# Available values: local | jsdelivr | unpkg | cdnjs | custom
# Warning: If you are using the latest master branch of NexT, please set `internal: local`
internal: local
# The default CDN provider of third-party plugins.
# Available values: local | jsdelivr | unpkg | cdnjs | custom
# Dependencies for `plugins: local`: https://github.com/next-theme/plugins
plugins: cdnjs
# Custom CDN URL
# For example:
# custom_cdn_url: https://cdn.jsdelivr.net/npm/${npm_name}@${version}/${minified}
# custom_cdn_url: https://cdnjs.cloudflare.com/ajax/libs/${cdnjs_name}/${version}/${cdnjs_file}
custom_cdn_url:
# Assets
# Accelerate delivery of static files using a CDN
# The js option is only valid when vendors.internal is local.
css: css
js: js
images: images

174
themes/next/_vendors.yml Normal file
View File

@ -0,0 +1,174 @@
# This file is automatically generated
# See https://github.com/next-theme/plugins
anime:
name: animejs
version: 3.2.1
file: lib/anime.min.js
integrity: sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=
fontawesome:
name: '@fortawesome/fontawesome-free'
version: 6.7.2
file: css/all.min.css
alias: font-awesome
integrity: sha256-dABdfBfUoC8vJUBOwGVdm8L9qlMWaHTIfXt+7GnZCIo=
prism:
name: prismjs
version: 1.30.0
file: components/prism-core.min.js
alias: prism
integrity: sha256-bKrTFt2ZHyT4AE4LnBnAVctYKf9l6XP77kBvltgbjn4=
prism_autoloader:
name: prismjs
version: 1.30.0
file: plugins/autoloader/prism-autoloader.min.js
alias: prism
integrity: sha256-AjM0J5XIbiB590BrznLEgZGLnOQWrt62s3BEq65Q/I0=
prism_line_numbers:
name: prismjs
version: 1.30.0
file: plugins/line-numbers/prism-line-numbers.min.js
alias: prism
integrity: sha256-9cmf7tcLdXpKsPi/2AWE93PbZpTp4M4tqzFk+lWomjU=
mathjax:
name: mathjax
version: 3.2.2
file: es5/tex-mml-chtml.js
integrity: sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI=
katex:
name: katex
version: 0.16.9
file: dist/katex.min.css
alias: KaTeX
integrity: sha256-UF1fgpAiu3tPJN/uCqEUHNe7pnr+QR0SQDNfgglgtcM=
copy_tex_js:
name: katex
version: 0.16.9
file: dist/contrib/copy-tex.min.js
alias: KaTeX
integrity: sha256-Us54+rSGDSTvIhKKUs4kygE2ipA0RXpWWh0/zLqw3bs=
pjax:
name: '@next-theme/pjax'
version: 0.6.0
file: pjax.min.js
alias: next-theme-pjax
integrity: sha256-vxLn1tSKWD4dqbMRyv940UYw4sXgMtYcK6reefzZrao=
fancybox_js:
name: '@fancyapps/ui'
version: 5.0.36
file: dist/fancybox/fancybox.umd.js
alias: fancyapps-ui
integrity: sha256-hiUEBwFEpLF6DlB8sGXlKo4kPZ46Ui4qGpd0vrVkOm4=
fancybox_css:
name: '@fancyapps/ui'
version: 5.0.36
file: dist/fancybox/fancybox.css
alias: fancyapps-ui
integrity: sha256-zM8WXtG4eUn7dKKNMTuoWZub++VnSfaOpA/8PJfvTBo=
mediumzoom:
name: medium-zoom
version: 1.1.0
file: dist/medium-zoom.min.js
integrity: sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc=
lazyload:
name: lozad
version: 1.16.0
file: dist/lozad.min.js
alias: lozad.js
integrity: sha256-mOFREFhqmHeQbXpK2lp4nA3qooVgACfh88fpJftLBbc=
pangu:
name: pangu
version: 4.0.7
file: dist/browser/pangu.min.js
integrity: sha256-j+yj56cdEY2CwkVtGyz18fNybFGpMGJ8JxG3GSyO2+I=
quicklink:
name: quicklink
version: 2.3.0
file: dist/quicklink.umd.js
integrity: sha256-yvJQOINiH9fWemHn0vCA5lsHWJaHs6/ZmO+1Ft04SvM=
disqusjs_js:
name: disqusjs
version: 3.0.2
file: dist/browser/disqusjs.es2015.umd.min.js
integrity: sha256-okP99ZQKVpIy7+NogAMpGlIQzJa9XKXhIJcFgdju5bU=
disqusjs_css:
name: disqusjs
version: 3.0.2
file: dist/browser/styles/disqusjs.css
integrity: sha256-71XarXwNr1Td27HmZI9zjY+rMzRdush6/glo6VFXp7o=
gitalk_js:
name: gitalk
version: 1.8.0
file: dist/gitalk.min.js
integrity: sha256-MVK9MGD/XJaGyIghSVrONSnoXoGh3IFxLw0zfvzpxR4=
gitalk_css:
name: gitalk
version: 1.8.0
file: dist/gitalk.css
integrity: sha256-AJnUHL7dBv6PGaeyPQJcgQPDjt/Hn/PvYZde1iqfp8U=
firebase_app:
name: firebase
version: 11.1.0
file: firebase-app-compat.js
integrity: sha256-k2eD8Bl04gp35v4S01cNbO+3UeLK6mVqpOyUJz4aXzY=
firebase_firestore:
name: firebase
version: 11.1.0
file: firebase-firestore-compat.js
integrity: sha256-r1EpenNle+MZs+KB73PFJnrmIF3k29t5XGrSqfZ9PPw=
algolia_search:
name: algoliasearch
version: 5.20.2
file: dist/lite/builds/browser.umd.js
integrity: sha256-GAVfj3g77lfB3t1p2bw8++dsZYNGet5S4K75T292Izs=
local_search:
name: hexo-generator-searchdb
version: 1.4.1
file: dist/search.js
integrity: sha256-1kfA5uHPf65M5cphT2dvymhkuyHPQp5A53EGZOnOLmc=
pdfobject:
name: pdfobject
version: 2.3.1
file: pdfobject.min.js
integrity: sha256-jI72I8ZLVflVOisZIOaLvRew3tyvzeu6aZXFm7P7dEo=
mermaid:
name: mermaid
version: 11.5.0
file: dist/mermaid.min.js
integrity: sha256-2obLuIPcceEhkE3G09G33hBdmE55ivVcZUlcKcGNHjU=
animate_css:
name: animate.css
version: 3.1.1
file: animate.min.css
integrity: sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=
pace_js:
name: pace-js
version: 1.2.4
file: pace.min.js
alias: pace
integrity: sha256-gqd7YTjg/BtfqWSwsJOvndl0Bxc8gFImLEkXQT8+qj0=
pace_css:
name: pace-js
version: 1.2.4
dir: themes
alias: pace
canvas_ribbon:
name: ribbon.js
version: 1.0.2
file: dist/ribbon.min.js
integrity: sha256-UkSSapoJqxvq+8bSCIrAhXO+aOMBRmkK6vxjTstemLs=
creative_commons:
name: '@creativecommons/vocabulary'
version: 2020.11.3
dir: assets/license_badges
alias: creativecommons-vocabulary
wavedrom:
name: wavedrom
version: 3.5.0
file: wavedrom.min.js
integrity: sha256-INLAoJc6quTNfiMWkGZniYO2cxE8mHpddnLow1m6RFs=
wavedrom_skin:
name: wavedrom
version: 3.5.0
file: skins/default.js
integrity: sha256-fduc/Zszk5ezWws2uInY/ALWVmIrmV6VTgXbsYSReFI=

649
themes/next/docs/AGPL3.md Normal file
View File

@ -0,0 +1,649 @@
# <div align="center">GNU Affero General Public License<div>
<p align="center">Version 3, 19 November 2007 Copyright © 2007 Free Software Foundation, Inc. &lt;http://fsf.org/&gt;</p>
<p align="center">Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.</p>
## <div align="center">Preamble</div>
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights
with two steps: **(1)** assert copyright on the software, and **(2)** offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
## <div align="center">TERMS AND CONDITIONS</div>
### 0. Definitions
“This License” refers to version 3 of the GNU Affero General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this
License. Each licensee is addressed as “you”. “Licensees” and
“recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a “modified version” of the
earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based
on the Program.
To “propagate” a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices”
to the extent that it includes a convenient and prominently visible
feature that **(1)** displays an appropriate copyright notice, and **(2)**
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
### 1. Source Code
The “source code” for a work means the preferred form of the work
for making modifications to it. “Object code” means any non-source
form of a work.
A “Standard Interface” means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other
than the work as a whole, that **(a)** is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and **(b)** serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
“Major Component”, in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
### 2. Basic Permissions
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
### 3. Protecting Users' Legal Rights From Anti-Circumvention Law
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
### 4. Conveying Verbatim Copies
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
### 5. Conveying Modified Source Versions
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
* **a)** The work must carry prominent notices stating that you modified
it, and giving a relevant date.
* **b)** The work must carry prominent notices stating that it is
released under this License and any conditions added under section 7.
This requirement modifies the requirement in section 4 to
“keep intact all notices”.
* **c)** You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
* **d)** If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
“aggregate” if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
### 6. Conveying Non-Source Forms
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
* **a)** Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
* **b)** Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either **(1)** a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or **(2)** access to copy the
Corresponding Source from a network server at no charge.
* **c)** Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
* **d)** Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
* **e)** Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A “User Product” is either **(1)** a “consumer product”, which means any
tangible personal property which is normally used for personal, family,
or household purposes, or **(2)** anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, “normally used” refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
“Installation Information” for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
### 7. Additional Terms
“Additional permissions” are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
* **a)** Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
* **b)** Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
* **c)** Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
* **d)** Limiting the use for publicity purposes of names of licensors or
authors of the material; or
* **e)** Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
* **f)** Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered “further
restrictions” within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
### 8. Termination
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated **(a)**
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and **(b)** permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
### 9. Acceptance Not Required for Having Copies
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
### 10. Automatic Licensing of Downstream Recipients
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
### 11. Patents
A “contributor” is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, “control” includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To “grant” such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either **(1)** cause the Corresponding Source to be so
available, or **(2)** arrange to deprive yourself of the benefit of the
patent license for this particular work, or **(3)** arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. “Knowingly relying” means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is “discriminatory” if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license **(a)** in connection with copies of the covered work
conveyed by you (or copies made from those copies), or **(b)** primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
### 12. No Surrender of Others' Freedom
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
### 13. Remote Network Interaction; Use with the GNU General Public License
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
### 14. Revised Versions of this License
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License “or any later version” applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
### 15. Disclaimer of Warranty
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
### 16. Limitation of Liability
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
### 17. Interpretation of Sections 15 and 16
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
## <div align="center">END OF TERMS AND CONDITIONS</div>
### <div align="center">How to Apply These Terms to Your New Programs</div>
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a “Source” link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a “copyright disclaimer” for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
&lt;<http://www.gnu.org/licenses/>&gt;.

View File

@ -0,0 +1,87 @@
# <div align="center">«NexT» Authors</div>
NexT theme was initially developed by:
- **IIssNaN**: [NexT](https://github.com/iissnan/hexo-theme-next) (2014 - 2017)
With collaborators from initially repository:
- **Ivan.Nginx**: [DIFF highlight](https://github.com/iissnan/hexo-theme-next/pull/1079),
[HyperComments](https://github.com/iissnan/hexo-theme-next/pull/1155),
[`{% note %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1160),
[`seo` option](https://github.com/iissnan/hexo-theme-next/pull/1311),
[`{% button %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1328),
[VK API](https://github.com/iissnan/hexo-theme-next/pull/1381),
[WordCount plugin support](https://github.com/iissnan/hexo-theme-next/pull/1381),
[Yandex verification option](https://github.com/iissnan/hexo-theme-next/pull/1381),
[`{% exturl %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1438),
[`b2t` option](https://github.com/iissnan/hexo-theme-next/pull/1438),
[`scrollpercent` option](https://github.com/iissnan/hexo-theme-next/pull/1438),
[`save_scroll` option](https://github.com/iissnan/hexo-theme-next/pull/1574),
[Star rating](https://github.com/iissnan/hexo-theme-next/pull/1649),
[`mobile_layout_economy` option](https://github.com/iissnan/hexo-theme-next/pull/1697),
[`{% tabs %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1697),
[`{% label %}` tag](https://github.com/iissnan/hexo-theme-next/pull/1697),
[**`Gemini`** scheme](https://github.com/iissnan/hexo-theme-next/pull/1697),
[Menu & Sidebar icons in 1 line](https://github.com/iissnan/hexo-theme-next/pull/1830),
[Sidebar scrollable](https://github.com/iissnan/hexo-theme-next/pull/1898),
[Responsive favicons](https://github.com/iissnan/hexo-theme-next/pull/1898)
and many other [PR's with fixes and enhancements](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aivan-nginx)
- **Acris**: [Many PR's with fixes and updates](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3AAcris)
And best contributors from initially repository:
- **Rainy**: [Gentie comments](https://github.com/iissnan/hexo-theme-next/pull/1301),
[Han](https://github.com/iissnan/hexo-theme-next/pull/1598)
and many [PR's with fixes and optimizations](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Ageekrainy)
- **Jeff**: [Local search](https://github.com/iissnan/hexo-theme-next/pull/694)
and many [PR's with fixes and improvements](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aflashlab)
- **Haocen**: [Footer enhancements](https://github.com/iissnan/hexo-theme-next/pull/1886)
and some other [PR's with improvements](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3AHaocen)
- **uchuhimo**: [Greatest enhancements for local search](https://github.com/iissnan/hexo-theme-next/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Auchuhimo)
- **Kei**: [Change static file setting to support subdirectory](https://github.com/iissnan/hexo-theme-next/pull/4)
- **Jolyon**: [Swiftype](https://github.com/iissnan/hexo-theme-next/pull/84)
- **xirong**: [404 page](https://github.com/iissnan/hexo-theme-next/pull/126)
- **PinkyJie**: [Fix Swiftype](https://github.com/iissnan/hexo-theme-next/pull/132)
- **Tim Kuijsten**: [Split javascript into separate files](https://github.com/iissnan/hexo-theme-next/pull/152)
- **iamwent**: [Friendly links](https://github.com/iissnan/hexo-theme-next/pull/250)
- **arao lin**: [Option to lazyload images](https://github.com/iissnan/hexo-theme-next/pull/269)
- **Konstantin Pavlov**: [Microdata, opengraph and other semantic features](https://github.com/iissnan/hexo-theme-next/pull/276)
- **Gary**: [FastClick](https://github.com/iissnan/hexo-theme-next/pull/324)
- **Octavian**: [Baidu site vertification](https://github.com/iissnan/hexo-theme-next/pull/367)
- **Henry Chang**: [Facebook SDK](https://github.com/iissnan/hexo-theme-next/pull/410)
- **XiaMo**: [LeanCloud visitors](https://github.com/iissnan/hexo-theme-next/pull/439)
- **iblogc**: [Fix UA in Duoshuo](https://github.com/iissnan/hexo-theme-next/pull/489)
- **Vincent**: [Automatic headline ID's](https://github.com/iissnan/hexo-theme-next/pull/588)
- **cissoid**: [Tencent analytics](https://github.com/iissnan/hexo-theme-next/pull/603)
- **CosmoX**: [AddThis](https://github.com/iissnan/hexo-theme-next/pull/660)
- **Jason Guo**: [Reward for post](https://github.com/iissnan/hexo-theme-next/pull/687)
- **Jerry Bendy**: [CNZZ counter](https://github.com/iissnan/hexo-theme-next/pull/712)
- **Hui Wang**: [Wechat subscriber](https://github.com/iissnan/hexo-theme-next/pull/788)
- **PoonChiTim**: [Busuanzi counter](https://github.com/iissnan/hexo-theme-next/pull/809)
- **hydai**: [Facebook comments](https://github.com/iissnan/hexo-theme-next/pull/925)
- **OAwan**: [`canonical` option](https://github.com/iissnan/hexo-theme-next/pull/931)
- **Jim Zenn**: [Google Calendar](https://github.com/iissnan/hexo-theme-next/pull/1167)
- **Abner Chou**: [Disqus improvements](https://github.com/iissnan/hexo-theme-next/pull/1173)
- **Igor Fesenko**: [Application Insights](https://github.com/iissnan/hexo-theme-next/pull/1257)
- **jinfang**: [Youyan comments](https://github.com/iissnan/hexo-theme-next/pull/1324)
- **AlynxZhou**: [`canvas_nest` option](https://github.com/iissnan/hexo-theme-next/pull/1327)
- **aleon**: [Tencent MTA](https://github.com/iissnan/hexo-theme-next/pull/1408)
- **asmoker**: [LiveRe comments](https://github.com/iissnan/hexo-theme-next/pull/1415)
- **Jacksgong**: [Copyright on posts](https://github.com/iissnan/hexo-theme-next/pull/1497)
- **zhaiqianfeng**: [Changyan comments](https://github.com/iissnan/hexo-theme-next/pull/1514)
- **zproo**: [`canvas_ribbon` option](https://github.com/iissnan/hexo-theme-next/pull/1565)
- **jjandxa**: [`three_waves`](https://github.com/iissnan/hexo-theme-next/pull/1534),
[`canvas_lines` and `canvas_sphere`](https://github.com/iissnan/hexo-theme-next/pull/1595) options
- **shenzekun**: [Load bar at the top](https://github.com/iissnan/hexo-theme-next/pull/1689)
- **elkan1788**: [Upgrade jiathis share](https://github.com/iissnan/hexo-theme-next/pull/1796)
- **xCss**: [Valine comment system support](https://github.com/iissnan/hexo-theme-next/pull/1811)
- **Julian Xhokaxhiu**: [`override` option](https://github.com/iissnan/hexo-theme-next/pull/1861)
- **LEAFERx**: [NeedMoreShare2](https://github.com/iissnan/hexo-theme-next/pull/1913)
- **aimingoo & LEAFERx**: [Gitment supported with Mint](https://github.com/iissnan/hexo-theme-next/pull/1919)
- **LeviDing**: [Fix the bug of Gitment](https://github.com/iissnan/hexo-theme-next/pull/1944)
- **maple3142**: [Firestore visitor counter](https://github.com/iissnan/hexo-theme-next/pull/1978)
It lives on as an open source project with many contributors, a self updating list is [here](https://github.com/next-theme/hexo-theme-next/graphs/contributors).
P.S. If you did some useful pulls/commits in original repository and you are not in the list, let us know and you will be added here.

View File

@ -0,0 +1,52 @@
«NexT» Elegant and powerful theme for Hexo.
Copyright © 2017 «NexT» (github.com/next-theme/hexo-theme-next).
Detail attribution information for «NexT»
is contained in the 'docs/AUTHORS.md' file.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License version 3
as published by the Free Software Foundation with the addition of the
following permission added to Section 15 as permitted in Section 7(a):
FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY «NEXT»,
«NEXT» DISCLAIMS THE WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program; if not, see: https://www.gnu.org/licenses/agpl.txt
In accordance with Section 7(b) of the GNU Affero General Public License:
a) It is not necessary to specify copyright in each source file of
this program because GitHub fully save commits of all modified files
with their authors and provides to see for this changes publicly.
b) For any part of the covered work in which the copyright not specified,
will mean this part owned by «NexT» in accord with terms in this file.
* c) A covered work must retain «NexT» official website link
(https://theme-next.js.org) in footer section of every website created,
modified or manipulated by using «NexT».
«NexT» theme configuration must be:
```
footer:
theme:
enable: true
```
Collaborators, best contributors and all authors specified in the
'docs/AUTHORS.md' file of «NexT» repository under the
'https://github.com/next-theme' organization can ignore theme info link
requirements.
Anyone can be released from the requirements of the license by purchasing
a commercial license. Buying such a license is mandatory as soon as you
develop commercial activities involving the «NexT» software without
disclosing the source code of your own applications.
These activities include:
1. Access to private repository with various premium features.
2. Priority support for resolve all possible issues with «NexT».
3. Priority support for implement all possible features to «NexT».

View File

@ -0,0 +1,197 @@
<div align="right">
Язык:
<a title="Английский" href="../../README.md">🇺🇸</a>
<a title="Китайский" href="../zh-CN/README.md">🇨🇳</a>
🇷🇺
</div>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes-dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes.png">
<img alt="NexT preview" src="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes.png">
</picture>
<a title="NexT website" href="https://theme-next.js.org"><img align="right" alt="NexT logo" width="100" height="100" src="https://raw.githubusercontent.com/next-theme/hexo-theme-next/master/source/images/logo.svg?sanitize=true"></a>
# NexT
> «NexT» — элегантная высококачественная тема под [Hexo](https://hexo.io). Сделана с нуля, с любовью.
[![NPM version](https://img.shields.io/npm/v/hexo-theme-next?color=red&logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
[![NPM Downloads](https://img.shields.io/npm/dm/hexo-theme-next?logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
[![Required Hexo version](https://img.shields.io/badge/hexo-%3E=5.3.0-blue?style=flat-square&logo=hexo)](https://hexo.io)
[![License](https://img.shields.io/badge/license-%20AGPL-orange?style=flat-square&logo=gnu)](https://github.com/next-theme/hexo-theme-next/blob/master/LICENSE.md)
[![Build Status](https://img.shields.io/github/actions/workflow/status/next-theme/hexo-theme-next/linter.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/next-theme/hexo-theme-next/actions?query=workflow%3ALinter)
[![Build Status](https://img.shields.io/github/actions/workflow/status/next-theme/hexo-theme-next/tester.yml?branch=master&logo=github&style=flat-square)](https://github.com/next-theme/hexo-theme-next/actions?query=workflow%3ATester)
[![Coverage Status](https://img.shields.io/coveralls/github/next-theme/hexo-theme-next?logo=coveralls&style=flat-square)](https://coveralls.io/github/next-theme/hexo-theme-next)
## Демо
<p align="center">
💟 <a href="https://theme-next.js.org/muse/">Muse</a> | 🔯 <a href="https://theme-next.js.org/mist/">Mist</a> | ♓️ <a href="https://theme-next.js.org/pisces/">Pisces</a> | ♊️ <a href="https://theme-next.js.org">Gemini</a>
<br>
<br>
Больше примеров «NexT» <a href="https://github.com/next-theme/awesome-next#live-preview">здесь</a>.
</p>
## Установка
If you're using Hexo 5.0 or later, the simplest way to install is through npm:
```sh
cd hexo-site
npm install hexo-theme-next
```
Or you can clone the entire repository:
```sh
cd hexo-site
git clone https://github.com/next-theme/hexo-theme-next themes/next
```
See [detailed installation instructions][docs-installation-url] if you want any other variant.
After the installation, open Hexo config file and set `theme` variable to `next`.
```yml
theme: next
```
## Configuration
It is not recommended to directly modify any files in the NexT theme. Because this may cause errors (e.g. merge conflicts), and the modified files may be discarded when upgrading the theme.
At present, NexT encourages users to use the [Alternate Theme Config][docs-configuration-url] to configure NexT. And it's easy to customize the layout or style of NexT using [Custom Files][docs-custom-files-url].
## Плагины
Plugins extend and expand the functionality of NexT. Some advanced features may require third-party libraries or additional configuration, giving you the flexibility to create a truly personalized website.
Configuring these plugins is very easy. Например, Вы хотите использовать `pjax` для своего сайта. Открываем конфиг NexT'а и находим:
```yml
# Easily enable fast Ajax navigation on your website.
# For more information: https://github.com/next-theme/pjax
pjax: true
```
### Configure CDN
Third-party plugins are loaded from [CDNJS](https://cdnjs.com) CDN by default. We also provide other optional CDNs, including the famous [UNPKG](https://unpkg.com) and [jsDelivr](https://www.jsdelivr.com).
For example, if you want to use `unpkg` instead of `cdnjs` as the default CDN provider, you need to edit the following settings in NexT config file:
```yml
vendors:
# ...
# Some contents...
# ...
plugins: unpkg
```
## Обновление
The NexT theme will continue to release new versions to include new features and bug fixes. Please read the [release notes][docs-release-url] before updating the theme. You can update NexT by the following command.
Install the latest version through npm:
```sh
cd hexo-site
npm install hexo-theme-next@latest
```
Or update to the latest master branch:
```sh
cd themes/next
git pull
```
**Если нужно обновиться с версии v5.x / v7.x на последней версиями, читаем [здесь][docs-upgrade-url].**
## Community
Connect with us and be part of our growing community!
* **Discord Server**: [Join our Discord!](https://discord.gg/qmkgkY3jaG)
* **Gitter**: [Join our Gitter chats!][gitter-url]
* **ChatGPT**: [NexT Mentor][gpt-url]
## Обратная связь
* Посетите [Awesome NexT][awesome-next-url] список.
* Вступить в наши [GitHub discussions][discussions-url].
* [Добавить или улучшить перевод][i18n-url] за несколько секунд.
* Сообщить об ошибке в разделе [GitHub Issues][issues-bug-url].
* Запросить новую возможность на [GitHub][issues-feat-url].
* Голосовать за [популярные запросы возможностей][feat-req-vote-url].
## Contributing
We welcome you to join the development of NexT. Please see [contributing document][contributing-document-url]. 🤗
Also, we welcome Issue or PR to our [official-plugins][official-plugins-url].
## Содействие
[![Contributors][contributors-image]][contributors-url]
## Благодарности
«NexT» send special thanks to these great services that sponsor our core infrastructure:
<a href="https://github.com"><img height="40" src="https://github.githubassets.com/images/modules/logos_page/GitHub-Logo.png"></a>
> GitHub allows us to host the Git repository and run the test suite.
<a href="https://www.netlify.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://www.netlify.com/v3/img/components/full-logo-dark.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://www.netlify.com/v3/img/components/full-logo-light.svg">
<img alt="Netlify Logo" height="40" src="https://www.netlify.com/v3/img/components/full-logo-light.svg">
</picture>
</a>
> Netlify allows us to distribute the documentation.
<a href="https://crowdin.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cWhite.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cDark.svg">
<img alt="Netlify Logo" height="40" src="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cDark.svg">
</picture>
</a>
> Crowdin allows us to translate conveniently the documentation.
<a href="https://cdnjs.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/light-brackets.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/dark-brackets.svg">
<img alt="CDNJS Logo" height="40" src="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/dark-brackets.svg">
</picture>
</a>
> Thanks CDNJS for providing public CDN service.
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
[docs-configuration-url]: https://theme-next.js.org/docs/getting-started/configuration.html
[docs-custom-files-url]: https://theme-next.js.org/docs/advanced-settings/custom-files.html
[docs-release-url]: https://github.com/next-theme/hexo-theme-next/releases
[docs-upgrade-url]: https://theme-next.js.org/docs/getting-started/upgrade.html
[awesome-next-url]: https://github.com/next-theme/awesome-next
[discussions-url]: https://github.com/next-theme/hexo-theme-next/discussions
[gitter-url]: https://app.gitter.im/#/room/#next:gitter.im
[gpt-url]: https://chatgpt.com/g/g-68286c2fc1f48191aee3e87c94a89431-next-mentor
[i18n-url]: https://crowdin.com/project/hexo-theme-next
[issues-bug-url]: https://github.com/next-theme/hexo-theme-next/issues/new?assignees=&labels=Bug&template=bug-report.md
[issues-feat-url]: https://github.com/next-theme/hexo-theme-next/issues/new?assignees=&labels=Feature+Request&template=feature-request.md
[feat-req-vote-url]: https://github.com/next-theme/hexo-theme-next/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22
[contributing-document-url]: https://github.com/next-theme/hexo-theme-next/blob/master/.github/CONTRIBUTING.md
[official-plugins-url]: https://github.com/next-theme
[contributors-image]: https://raw.githubusercontent.com/next-theme/contributors/master/contributors.svg
[contributors-url]: https://github.com/next-theme/hexo-theme-next/blob/master/docs/AUTHORS.md

View File

@ -0,0 +1,95 @@
<div align="right">
语言:
<a title="英语" href="../../.github/CODE_OF_CONDUCT.md">:us:</a>
:cn:
<a title="俄语" href="../ru/CODE_OF_CONDUCT.md">:ru:</a>
</div>
<a title="NexT website" href="https://theme-next.js.org"><img align="right" alt="NexT logo" width="100" height="100" src="https://raw.githubusercontent.com/next-theme/hexo-theme-next/master/source/images/logo.svg"></a>
# NexT
[NexT](https://theme-next.js.org) 是一个优雅而强大的 [Hexo](https://hexo.io/)主题。在这里,您可以构建一个托管在 [GitHub Pages](https://pages.github.com/) 上的静态博客,分享您的生活,并与新朋友进行交流。
参与者公约用来约束在 [NexT](https://github.com/next-theme/hexo-theme-next) 社区中代码更新、问题交流、请求合并等行为。我们期望所有用户相互尊重,礼貌待人。任何违反这些规则的人都将不会被审核,并会在发现后立即被阻止和驱逐。
## 目录
- [我们的保证](#我们的保证)
- [我们的责任](#我们的责任)
- [我们的标准](#我们的标准)
- [使用范围](#使用范围)
- [强制执行](#强制执行)
- [联系项目维护者](#联系项目维护者)
- [来源](#来源)
## 我们的保证
作为此项目的贡献者和维护者,我们承诺尊重所有做出贡献的用户,这些贡献包括了报告问题、发布功能请求、更新文档、提交合并请求以及其他活动。
为了促进一个开放透明且友好的环境,我们作为贡献者和维护者保证:无论年龄、种族、民族、性别认同和表达(方式)、体型、身体健全与否、经验水平、国籍、个人表现、宗教或性别取向,参与者在我们项目和社区中都免于骚扰。
## 我们的责任
项目维护者有责任为「可接受的行为」标准做出诠释有权利及责任去删除、编辑、拒绝与本行为标准有所违背的评论comments、提交commits、代码、wiki 编辑、问题issues和其他贡献以及项目维护者可暂时或永久性的禁止任何他们认为有不适当、威胁、冒犯、有害行为的贡献者。
## 我们的标准
作为 GitHub 上的一个项目,本项目受到 [GitHub 社区准则](https://help.github.com/articles/github-community-guidelines/)的约束。 此外,作为 npm 托管的项目,[npm 公司的行为准则](https://www.npmjs.com/policies/conduct)也涵盖了本项目。
有助于创造正面环境的行为包括但不限于:
* 使用友好和包容性语言
* 尊重不同的观点和经历
* 耐心地接受建设性批评
* 关注对社区最有利的事情
* 友善对待其他社区成员
身为参与者不能接受的行为包括但不限于:
* 使用与性有关的言语或是图像,以及不受欢迎的性骚扰
* 捣乱/煽动/造谣的行为或进行侮辱/贬损的评论,人身攻击及政治攻击
* 公开或私下的骚扰
* 未经许可地发布他人的个人资料,例如住址或是电子地址
* 其他可以被合理地认定为不恰当或者违反职业操守的行为
## 使用范围
当一个人代表该项目或是其社区时,本行为标准适用于其项目社区和公共社区。
根据某人在本社区范围以外发生的违规情况,项目维护者可以认为其不受欢迎,并采取适当措施来保证所有成员的安全性和舒适性。
## 强制执行
如果您看到违反行为准则的行为,请按以下步骤操作:
1. 让这个人知道他所做的并不合适,并要求他停止或编辑他们的提交信息。该人应立即停止行为并纠正问题。
2. 如果该人没有纠正其行为,或者您不方便与其沟通,请[联系项目维护者](#联系项目维护者)。上报时,请尽可能多的提供详细信息,链接,截图,上下文或可用于更好地理解和解决情况的其他信息。
3. 收到上报信息后,项目维护者会查看问题,并采取进一步的措施。
一旦项目维护者参与其中,他们将遵循以下一系列步骤,并尽力保护项目成员的利益。任何维护团队认为有必要且适合的所有投诉都将进行审查及调查,并做出相对应的回应。项目小组有对事件回报者有保密的义务。具体执行的方针近一步细节可能会单独公布。
以下是项目维护者根据需要采取的进一步执法步骤:
1. 再次要求停止违规行为。
2. 如果违规者还是没有回应,将会受到正式的警告,并收到项目维护者的移除或修改消息。同时,相关的问题或合并请求将会被锁定。
3. 如果警告后违规行为继续出现,违规者将会被禁言 24 小时。
4. 如果禁言后违规行为继续出现违规者将会被处罚长期6-12个月禁言。
除此之外,项目维护者可以根据需要删除任何违规的消息,图片,贡献等。如果违规行为被认为是对社区成员的严重或直接威胁,包括任何置社区成员于风险的威胁、身体或言语攻击,项目维护者有充分权利自行决定跳过上述任何步骤。
没有切实地遵守或是执行本行为标准的项目维护人员,可能会因项目领导人或是其他成员的决定,暂时或是永久地取消其参与资格。
## 联系项目维护者
您可以通过以下方式与维护人员联系:
* 讨论:
* [GitHub Discussions](https://github.com/next-theme/hexo-theme-next/discussions)
* 即时通信:
* [Gitter](https://app.gitter.im/#/room/#next:gitter.im)
## 来源
本行为标准改编自[Contributor Covenant](https://www.contributor-covenant.org/) 和 [WeAllJS Code of Conduct](https://wealljs.org/code-of-conduct)。

View File

@ -0,0 +1,181 @@
<div align="right">
语言:
<a title="英语" href="../../.github/CONTRIBUTING.md">:us:</a>
:cn:
<a title="俄语" href="../ru/CONTRIBUTING.md">:ru:</a>
</div>
<a title="NexT website" href="https://theme-next.js.org"><img align="right" alt="NexT logo" width="100" height="100" src="https://raw.githubusercontent.com/next-theme/hexo-theme-next/master/source/images/logo.svg"></a>
# NexT
首先,非常感谢大家抽出宝贵时间来让我们的 NexT 主题越变越好。在这里,我们介绍一下 [NexT 主题及其子模块](https://github.com/next-theme) 的开源贡献指南。不过,我们希望大家不要局限于此,更欢迎大家随时进行补充。
## 目录
[如何为 NexT 做贡献](#如何为-next-做贡献)
* [你需要了解的](#你需要了解的)
* [阅读文档](#阅读文档)
* [快速调试指南](#快速调试指南)
* [反馈 Bug](#反馈-bug)
* [提交漏洞](#提交漏洞)
* [提交功能需求](#提交功能需求)
* [提交合并请求](#提交合并请求)
* [发布版本](#发布版本)
[规范](#规范)
* [行为规范](#行为规范)
* [编码规范](#编码规范)
* [标签规范](#标签规范)
* [提交信息规范](#提交信息规范)
## 如何为 NexT 做贡献
### 你需要了解的
#### 阅读文档
如果你在使用过程中遇到了问题,你可以查阅 [FAQs](https://theme-next.js.org/docs/faqs) 或者 [NexT 帮助文档](https://theme-next.js.org/docs/troubleshooting)。
另外,你也可以通过 [这里](https://github.com/next-theme/hexo-theme-next/search?q=&type=Issues&utf8=%E2%9C%93) 进行大致检索,有些问题已经得到解答,你可以自行解决。对于没有解决的 Issue你也可以继续提问。
#### 快速调试指南
在 GitHub 上提交 Issue 前,请先查看我们的 [快速调试指南](https://theme-next.js.org/docs/troubleshooting.html#Quick-Debug-Instructions) 来 debug。
如果你在使用过程中发现了 Bug请再次确认 Bug 在 [最新发布版本](https://github.com/next-theme/hexo-theme-next/releases/latest) 中是否重现。如果 Bug 重现,欢迎你到我们的 [主题仓库](https://github.com/next-theme/hexo-theme-next) 中 [反馈 Bug](#reporting-bugs) 或者 [提交功能需求](#提交功能需求),也更期待您 [提交合并请求](#提交合并请求)。
### 反馈 Bug
反馈 Bug 前,请再次确认您已经查看了 [你需要了解的](#你需要了解的) 内容,避免提交重复的 Issue。创建 Issue 时,请认真遵守如下指南,这样我们才能更好地理解问题,重现问题和解决问题。
* 在标题中清晰准确地描述你的问题。
* 按照 [模板](../../.github/ISSUE_TEMPLATE.md) 尽可能的详细填写相关信息。
* 一步步详细你是如何重现 Bug 的,做了什么,使用了哪些功能等等。如果你需要展示代码段,请使用 [Markdown 代码块](https://help.github.com/articles/creating-and-highlighting-code-blocks/) 或 [Github 预览链接](https://help.github.com/articles/creating-a-permanent-link-to-a-code-snippet/) 或 [Gist 链接](https://gist.github.com/)。
* 提供 Bug 的样例,如图像文件、在线演示网址等等。
* 详细描述通过上述重现过程出现的问题。
* 详细描述你期待的结果。
#### 提交漏洞
如果你发现安全问题,请以负责任的方式行事,即不要在公共 Issue 中提交而是直接向我们反馈,这样我们就可以在漏洞被利用之前对其进行修复。请将相关信息发送到 security@theme-next.com可接受 PGP 加密邮件)。
我们很乐意对任何提交漏洞的人予以特别感谢以便我们修复它。如果你想保持匿名性或使用笔名替代,请告诉我们。我们将充分尊重你的意愿。
### 提交功能需求
提交功能需求前,请再次确认您已经查看了 [你需要了解的](#你需要了解的) 内容,避免提交重复的 Issue。确定相关仓库后创建 Issue 并按照 [模板](../../.github/ISSUE_TEMPLATE.md) 尽可能的详细填写相关信息。
请认真遵守如下指南,这样我们才能更好地理解和开发功能需求:pencil:
* 在标题中清晰准确地描述你的功能需求。
* 详细描述目前所具有的功能和你所期待的功能,并解释为什么需要该功能。
* 提供功能需求的样例,如图像文件、在线演示网址等等。
### 提交合并请求
提交合并请求前,请再次确认您已经查看了 [你需要了解的](#你需要了解的) 内容,避免提交重复的合并请求。确定相关仓库后,创建合并请求。更多详细操作过程可以查看 [帮助文档](https://help.github.com/articles/creating-a-pull-request/)。
请认真遵守如下指南,这样我们才能更好地理解你的合并请求:
* 创建合并请求时,请遵守 [编码规范](#编码规范) 和 [提交信息规范](#提交信息规范)。
* 在标题中清晰准确地描述你的合并请求,不要加入 Issue 编号。
* 按照 [模板](../../.github/PULL_REQUEST_TEMPLATE.md) 尽可能的详细填写相关信息。
* 合并请求需要在所有主题样式中测试通过,并提供所表现功能的样例,如图像文件、在线演示网址等等。
### 发布版本
版本发布是将项目发布给用户的一种很好的方式。
1. 进入 GitHub 项目主页,点击 **Releases****Draft a new release**
2. 输入你需要发布的版本号。版本控制是基于 [Git tags](https://git-scm.com/book/en/Git-Basics-Tagging) 工作的,建议按照 [About Major and Minor NexT versions](https://github.com/theme-next/hexo-theme-next/issues/187) 确定版本号。
3. 确定你需要发布的分支。除非发布测试版本,通常情况下选择 `master` 分支。
4. 输入发布版本的标题和说明。
- 标题为版本号。
- 内容根据 [Release Drafter](https://github.com/release-drafter/release-drafter) 的模版填写。
- 使用被动语态,省略主语。
- 所有的变化都需要记录在版本说明中。对于没有使用 PR 的更改,需要添加相应的 commit 编号。如果使用了 PR 进行合并修改,则直接添加相应的 PR 编号即可。
5. 如果您希望随版本一起发布二进制文件(如编译的程序),请在上传二进制文件对话框中手动拖放或选择文件。
6. 如果版本不稳定,请选择 **This is a pre-release**,以通知用户它尚未完全准备好。如果您准备公布您的版本,请点击 **Publish release**。否则,请单击 **Save draft** 以稍后处理。
## 规范
### 行为规范
为了保证本项目的顺利运作,所有参与人都需要遵守 [行为规范](CODE_OF_CONDUCT.md)。
### 编码规范
我们使用 ESLint 和 Stylint 来识别和报告 JavaScript 和 Stylus 中的模式,目的是使代码更加一致并避免错误。编码时应遵循这些规范。
### 标签规范
为了方便维护人员和用户能够快速找到他们想要查看的问题,我们使用「标签」功能对 Pull requests 和 Issues 进行分类。
如果您不确定某个标签的含义,或者不知道将哪些标签应用于 PR 或 issue千万别错过这个。
Issue 的标签:
- 类型
- `Bug`: 检测到需要进行确认的 Bug
- `Feature Request`: 提出了新功能请求的 Issue
- `Question`: 提出疑问的 Issue
- `Meta`: 表明使用条款变更的 Issue
- `Support`: 被标记为支持请求的 Issue
- `Polls`: 发起投票的 Issue
- 结果
- `Duplicate`: 重复提及的 Issue
- `Hexo`: 与 Hexo 相关的 Issue
- `Hexo Plugin`: 与 Hexo 插件相关的 Issue
- `Browser`: 与浏览器相关的 Issue
- `Invalid`: 无法复现的 Issue
- `Expected Behavior`: 与预期行为相符的 Issue
- `Need More Info`: 需要更多信息的 Issue
- `Solved`: 已经解决的 Issue
- `To Do`: 待解决的 Issue
- `Stale`: 由于长期无人回应被封存的 Issue
Pull Request 的标签:
- `Breaking Change`: 产生重大变动的 Pull Request
- `Bug Fix`: 修复相关 Bug 的 Pull Request
- `New Feature`: 添加了新功能的 Pull Request
- `Feature`: 为现有功能提供选项或加成的 Pull Request
- `i18n`: 更新了翻译的 Pull Request
- `Dependencies`: 更新了依赖包的 Pull Request
- `Actions`: 更新了 GitHub Actions 的 Pull Request
- `Skip Release`: 无需在 Release Note 中展现的 Pull Request
两者兼有:
- `Roadmap`: 与 NexT 主题发展相关的 Issue 或者 Pull Request
- `Help Wanted`: 需要帮助的 Issue 或者 Pull Request
- `Improvement`: 需要改进的 Issue 或者改进了 NexT 主题的 Pull Request
- `Layout`: 与模版引擎相关的 Issue 或者 Pull Request
- `CSS`: 与 NexT 主题 CSS 文件相关的 Issue 或者 Pull Request
- `Icons & Fonts`: 与 NexT 主题图标和字体相关的 Issue 或者 Pull Request
- `PJAX`: 与 PJAX 相关的 Issue 或者 Pull Request
- `3rd Party Plugin`: 与第三方插件和服务相关的 Issue 或者 Pull Request
- `Docs`: 与文档说明相关的 Issue 或者 Pull Request
- `Configurations`: 与 NexT 主题设置相关的 Issue 或者 Pull Request
### 提交信息规范
我们对项目的 git 提交信息格式进行统一格式约定,每条提交信息由 `type`+`subject` 组成,这将提升项目日志的可读性。
- `type` 用于表述此次提交信息的意义,首写字母大写,包括但不局限于如下类型:
* `Build`:基础构建系统或依赖库的变化
* `Ci`CI 构建系统及其脚本变化
* `Docs`:文档内容变化
* `Feat`:新功能
* `Fix`Bug 修复
* `Perf`:性能优化
* `Refactor`:重构(即不是新增功能,也不是修改 Bug 的代码变动)
* `Style`:格式(不影响代码运行的变动)
* `Revert`:代码回滚
* `Release`:版本发布
- `subject` 用于简要描述修改变更的内容,如 `Update code highlighting in README.md`
* 句尾不要使用符号。
* 使用现在时、祈使句语气。

View File

@ -0,0 +1,198 @@
<div align="right">
语言:
<a title="英语" href="../../README.md">🇺🇸</a>
🇨🇳
<a title="俄语" href="../ru/README.md">🇷🇺</a>
</div>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes-dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes.png">
<img alt="NexT preview" src="https://raw.githubusercontent.com/next-theme/theme-next-docs/v8.13.0/source/images/next-schemes.png">
</picture>
<a title="NexT 网站" href="https://theme-next.js.org"><img align="right" alt="NexT logo" width="100" height="100" src="https://raw.githubusercontent.com/next-theme/hexo-theme-next/master/source/images/logo.svg"></a>
# NexT
> NexT 是一款风格优雅的高质量 [Hexo](https://hexo.io) 主题,自点点滴滴中用爱雕琢而成。
[![NPM version](https://img.shields.io/npm/v/hexo-theme-next?color=red&logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
[![NPM Downloads](https://img.shields.io/npm/dm/hexo-theme-next?logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
[![Required Hexo version](https://img.shields.io/badge/hexo-%3E=5.3.0-blue?style=flat-square&logo=hexo)](https://hexo.io)
[![License](https://img.shields.io/badge/license-%20AGPL-orange?style=flat-square&logo=gnu)](https://github.com/next-theme/hexo-theme-next/blob/master/LICENSE.md)
[![Build Status](https://img.shields.io/github/actions/workflow/status/next-theme/hexo-theme-next/linter.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/next-theme/hexo-theme-next/actions?query=workflow%3ALinter)
[![Build Status](https://img.shields.io/github/actions/workflow/status/next-theme/hexo-theme-next/tester.yml?branch=master&logo=github&style=flat-square)](https://github.com/next-theme/hexo-theme-next/actions?query=workflow%3ATester)
[![Coverage Status](https://img.shields.io/coveralls/github/next-theme/hexo-theme-next?logo=coveralls&style=flat-square)](https://coveralls.io/github/next-theme/hexo-theme-next)
## 即时预览
<p align="center">
💟 <a href="https://theme-next.js.org/muse/">Muse</a> | 🔯 <a href="https://theme-next.js.org/mist/">Mist</a> | ♓️ <a href="https://theme-next.js.org/pisces/">Pisces</a> | ♊️ <a href="https://theme-next.js.org">Gemini</a>
<br>
<br>
更多 NexT 的例子参见<a href="https://github.com/next-theme/awesome-next#live-preview">这里</a>
</p>
## 安装
如果你在使用 Hexo 5.0 或更新版本,最简单的安装方式是通过 npm
```sh
cd hexo-site
npm install hexo-theme-next
```
你也可以直接克隆整个仓库:
```sh
cd hexo-site
git clone https://github.com/next-theme/hexo-theme-next themes/next
```
此外,如果你想要使用其他方式,请参见[详细安装步骤][docs-installation-url]。
安装完成后,在 Hexo 配置文件中将 `theme` 设置为 `next`
```yml
theme: next
```
## 配置
我们不推荐直接修改 NexT 主题的文件。因为这可能导致错误(例如 git merge 冲突),并且在升级主题时修改的文件可能丢失。
目前 NexT 鼓励用户使用 [Alternate Theme Config][docs-configuration-url] 进行配置。并且可以轻松地通过 [Custom Files][docs-custom-files-url] 自定义主题的布局和样式。
## 插件
插件丰富和拓展了 NexT 的功能。一些高级功能需要第三方依赖库和额外配置,使你能够灵活地创建一个完全自定义的网站。
配置这些插件非常简单。例如,你想要在你的站点中使用 `pjax` 插件,请进入 NexT 配置文件,启用 `pjax` 配置项:
```yml
# Easily enable fast Ajax navigation on your website.
# For more information: https://github.com/next-theme/pjax
pjax: true
```
### 设置 CDN
第三方插件默认通过 [CDNJS](https://cdnjs.com) CDN 服务加载。我们也提供了其它的 CDN 服务供选择,包括著名的 [UNPKG](https://unpkg.com) 和 [jsDelivr](https://www.jsdelivr.com)。
例如,你想要使用 `unpkg` 代替 `cdnjs` 作为默认的 CDN 提供商,你需要在 NexT 配置文件中进行如下设置:
```yml
vendors:
# ...
# Some contents...
# ...
plugins: unpkg
```
## 更新
NexT 会不断发布新版本以包含新功能和问题修复。请在更新前阅读[更新说明][docs-release-url]。你可以通过如下命令更新 NexT。
通过 npm 安装最新版本:
```sh
cd hexo-site
npm install hexo-theme-next@latest
```
或者通过 git 更新到最新的 master 分支:
```sh
cd themes/next
git pull
```
**如果你想要从 v5.x / v7.x 更新到最新版本,阅读[这篇文档][docs-upgrade-url]。**
## 社区
与我们联系并成为我们日益壮大的社区的一部分!
* **Telegram 群组(中文)**[点击此处加入!](https://t.me/theme_next_cn)
* **Discord 服务器**[加入我们的 Discord](https://discord.gg/qmkgkY3jaG)
* **Gitter**[加入我们的 Gitter 聊天!]
* **ChatGPT**: [NexT Mentor][gpt-url]
## 反馈
* 浏览 [Awesome NexT][awesome-next-url] 列表,与其它用户分享插件和教程。
* 加入我们的 [GitHub discussions][discussions-url]。
* 请花几秒钟来[添加或修正翻译][i18n-url]。
* 在 [GitHub Issues][issues-bug-url] 报告Bug。
* 在 [GitHub][issues-feat-url] 请求新的功能。
* 为 [受欢迎的 Feature request][feat-req-vote-url] 投票。
## 贡献你的代码
我们欢迎你加入 NexT 的开发,贡献出你的一份力量。请看[开源贡献指南][contributing-document-url]。 🤗
你也可以随时向我们的[官方插件][official-plugins-url]提交 Issue 或 Pull Request。
## 贡献者
[![Contributors][contributors-image]][contributors-url]
## 鸣谢
NexT 特别感谢这些支持我们核心基础设施的优质服务:
<a href="https://github.com"><img height="40" src="https://github.githubassets.com/images/modules/logos_page/GitHub-Logo.png"></a>
> GitHub 容许我们托管 Git 仓库及运行测试。
<a href="https://www.netlify.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://www.netlify.com/v3/img/components/full-logo-dark.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://www.netlify.com/v3/img/components/full-logo-light.svg">
<img alt="Netlify Logo" height="40" src="https://www.netlify.com/v3/img/components/full-logo-light.svg">
</picture>
</a>
> Netlify 容许我们发布文档。
<a href="https://crowdin.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cWhite.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cDark.svg">
<img alt="Netlify Logo" height="40" src="https://support.crowdin.com/assets/logos/core-logo/svg/crowdin-core-logo-cDark.svg">
</picture>
</a>
> Crowdin 容许我们方便地翻译文档。
<a href="https://cdnjs.com">
<picture>
<source media="(prefers-color-scheme: dark)" height="40" srcset="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/light-brackets.svg">
<source media="(prefers-color-scheme: light)" height="40" srcset="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/dark-brackets.svg">
<img alt="CDNJS Logo" height="40" src="https://raw.githubusercontent.com/cdnjs/brand/master/logo/source/dark-brackets.svg">
</picture>
</a>
> 感谢 CDNJS 提供的 CDN 服务。
[docs-installation-url]: https://theme-next.js.org/docs/getting-started/installation.html
[docs-configuration-url]: https://theme-next.js.org/docs/getting-started/configuration.html
[docs-custom-files-url]: https://theme-next.js.org/docs/advanced-settings/custom-files.html
[docs-release-url]: https://github.com/next-theme/hexo-theme-next/releases
[docs-upgrade-url]: https://theme-next.js.org/docs/getting-started/upgrade.html
[awesome-next-url]: https://github.com/next-theme/awesome-next
[discussions-url]: https://github.com/next-theme/hexo-theme-next/discussions
[gitter-url]: https://app.gitter.im/#/room/#next:gitter.im
[gpt-url]: https://chatgpt.com/g/g-68286c2fc1f48191aee3e87c94a89431-next-mentor
[i18n-url]: https://crowdin.com/project/hexo-theme-next
[issues-bug-url]: https://github.com/next-theme/hexo-theme-next/issues/new?assignees=&labels=Bug&template=bug-report.md
[issues-feat-url]: https://github.com/next-theme/hexo-theme-next/issues/new?assignees=&labels=Feature+Request&template=feature-request.md
[feat-req-vote-url]: https://github.com/next-theme/hexo-theme-next/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature+Request%22
[contributing-document-url]: https://github.com/next-theme/hexo-theme-next/blob/master/docs/zh-CN/CONTRIBUTING.md
[official-plugins-url]: https://github.com/next-theme
[contributors-image]: https://raw.githubusercontent.com/next-theme/contributors/master/contributors.svg
[contributors-url]: https://github.com/next-theme/hexo-theme-next/blob/master/docs/AUTHORS.md

View File

@ -0,0 +1,39 @@
# Internationalization (i18n)
[![Crowdin](https://badges.crowdin.net/hexo-theme-next/localized.svg)](https://crowdin.com/project/hexo-theme-next)
You can use internationalization to present your site in different languages. The default language is set by modifying the `language` setting in Hexo `_config.yml`. You can also set multiple languages and modify the order of default languages.
```yml
language: en
```
```yml
language:
- zh-CN
- en
```
## Override Default Translations
If you would like to customize the default translation, you do not need to modify the translation files in the `languages` directory. You can override all translations using [Data Files](https://hexo.io/docs/data-files).
1. Creat a `languages.yml` in `source/_data`.
2. Insert following codes: (be careful about the two-space indent)
```yml
# language
zh-CN:
# items
post:
copyright:
# the translation you perfer
author: 本文博主
en:
menu:
schedule: Calendar
```
## Improve Translations
The files in the `language` directory are automatically generated, you do not need to modify them directly. Please submit translations via [Crowdin](https://crowdin.com/project/hexo-theme-next) if you would like to add or improve translation for NexT theme.

View File

@ -0,0 +1,103 @@
---
name: عربي
title:
archive: الأرشيف
category: تصنيف
tag: وسم
schedule: التقويم
menu:
home: Home
archives: الأرشيفات
categories: التصنيفات
tags: الوسوم
about: معلومات
search: بحث
schedule: التقويم
sitemap: خريطة الموقع
commonweal: Commonweal 404
sidebar:
overview: عام
toc: المحتويات
links: Links
post:
posted: نُشر في
edited: عُدل في
created: أُنشأ
modified: عُدل
edit: تحرير هذا المقال
in: في
read_more: تابع القراءة
untitled: بدون عنوان
sticky: مثبت
views: مشاهدات
related_posts: مقالات مشابهة
copyright:
author: مؤلف المقال
link: رابط المقال
post_author: Written by
post_link: This article originally appeared on
license_title: حقوق الملكية
license_content: "حميع المقالات في هذه المدوّنة منشورة تحت رخصة %s إلا عند التنويه بخلافه."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "تطبيق الموقع %s"
total_views: إجمالي المشاهدات
total_visitors: إجمالي الزوار
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: لا وسوم
one: وسمٌ واحدٌ
other: "%d وسماً بالمُجمل"
categories:
zero: لا تصنيفات
one: تصنيفٌ واحد
other: "%d تصنيفات بالمُجمل"
archive_posts:
zero: لا مقالات.
one: مقالٌ واحد.
other: "%d مقالاً بالمُجمل."
state:
posts: المقالات
tags: الوسوم
categories: التصنيفات
search:
placeholder: بحث...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: هِم..
ok: حسناً
nice: جميل
good: جيد
great: عظيم
excellent: ممتاز
keep_on: واصل الكتابة.
symbol:
comma: "، "
period: ". "
colon: ": "
reward:
donate: تبرّع
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: مرحباً بك حيثُ أنشر أيضاً
accessibility:
nav_toggle: تشغيل شريط التصفح
prev_page: الصفحة السابقة
next_page: الصفحة التالية
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: عدد الحروف في المقال
count_total: مُجمل عدد الحروف
time: زمن القراءة
time_total: مُجمل زمن القراءة
time_minutes: دقائق.

View File

@ -0,0 +1,103 @@
---
name: বাংলা
title:
archive: আর্কাইভ
category: ক্যাটাগরি
tag: ট্যাগ
schedule: কর্ম পরিকল্পনা
menu:
home: হোম পেজ
archives: আর্কাইভ এর তালিকা
categories: ক্যাটাগরি এর তালিকা
tags: ট্যাগ এর তালিকা
about: সম্পর্কে
search: সার্চ
schedule: কর্ম পরিকল্পনা
sitemap: Sitemap
commonweal: Commonweal 404
sidebar:
overview: সারাংশ
toc: সূচীপত্র
links: লিঙ্কসমুহ
post:
posted: প্রকাশিত হয়েছে
edited: সম্পাদিত হয়েছে
created: তৈরি করা হয়েছে
modified: পরিমার্জন করা হয়েছে
edit: পোস্টটি সম্পাদনা করুন
in: শ্রেনী
read_more: আরো পড়ুন
untitled: শিরোনামহীন
sticky: স্থির
views: ভিউ
related_posts: সম্পর্কিত পোস্ট
copyright:
author: লিখিকা
link: পোস্ট লিঙ্ক
post_author: রচনা করেছেন
post_link: এই আর্টিকেলটি প্রথমে প্রকাশিত হয়েছে
license_title: কপিরাইট নোটিস
license_content: "এই ব্লগের সমস্ত আর্টিকেল %s এর অধীনে লাইসেন্সপ্রাপ্ত যদি না ব্যতিক্রম উল্লেখ করা হয়।"
license_content_reprint: "এই আর্টিকেলটি একটি পুনর্মুদ্রিত আর্টিকেল এবং অনুমতি নিয়ে পুনরায় মুদ্রণ করা হয়েছে। দয়া করে উৎস নির্দেশ করুন!"
footer:
powered: "%s এর সাহায্যে চলছে"
total_views: মোট দর্শক
total_visitors: মোট দর্শক
widget:
github: আমাকে GitHub এ অনুসরন কর
chat: চ্যাট
counter:
tag_cloud:
zero: কোনও ট্যাগ নেই
one: একটি ট্যাগ আছে
other: "মোট %d টি ট্যাগ"
categories:
zero: কোন ক্যাটাগরি নেই
one: একটি ক্যাটাগরি আছে
other: "মোট %d টি ক্যাটাগরি"
archive_posts:
zero: কোনও পোস্ট নেই.
one: ১টি পোস্ট।
other: "মোট %d টি পোস্ট।"
state:
posts: পোস্ট এর তালিকা
tags: ট্যাগ এর তালিকা
categories: ক্যাটাগরি এর তালিকা
search:
placeholder: সার্চ করা হচ্ছে...
empty: "আমরা উক্ত অনুসন্ধানের জন্য কোন ফলাফল খুঁজে পাইনি: %s"
hits_time: "%s টি ফলাফল %s মিলিসেকেন্ড এ পাওয়া গেছে"
hits: "%s টি ফলাফল পাওয়া গেছে"
cheers:
um: ইয়ে... মানে..
ok: ঠিক আছে
nice: বেশ
good: ভালো
great: অসাধারন
excellent: চমৎকার
keep_on: পোস্ট চালিয়ে যাও।
symbol:
comma: ", "
period: "। "
colon: "ঃ "
reward:
donate: দান করুন
wechatpay: উইচ্যাট পে
alipay: আলি পে
paypal: PayPal
bitcoin: বিটকয়েন
comment: আমাকে একটা কফি কিনে দাও
follow_me:
welcome: আমার অন্যান্য প্রকাশনা চ্যানেলে আপনাকে স্বাগতম
accessibility:
nav_toggle: নেভিগেশন বারের দৃশ্যমানতা টগল করুন
prev_page: পূর্ববর্তী পৃষ্ঠা
next_page: পূর্ববর্তী পৃষ্ঠা
back_to_top: উপরে ফিরে যান
select_lang: ভাষা নির্বাচন করুন
symbols_count_time:
count: আর্টিকালে অক্ষর এর পরিমাণ
count_total: আর্টিকালে অক্ষর এর মোট পরিমাণ
time: পড়াতে লাগবে
time_total: মোট পড়াতে লাগবে
time_minutes: মিনিট।

View File

@ -0,0 +1,103 @@
---
name: Deutsch
title:
archive: Archiv
category: Kategorie
tag: Schlagwort
schedule: Zeitplan
menu:
home: Startseite
archives: Archiv
categories: Kategorien
tags: Schlagwörter
about: Über
search: Suche
schedule: Zeitplan
sitemap: Sitemap
commonweal: Commonweal 404
sidebar:
overview: Übersicht
toc: Inhaltsverzeichnis
links: Links
post:
posted: Veröffentlicht am
edited: Bearbeitet am
created: Erstellt
modified: Geändert am
edit: Diesen Beitrag bearbeiten
in: in
read_more: Weiterlesen
untitled: Unbenannt
sticky: Angepinnt
views: Aufrufe
related_posts: Ähnliche Beiträge
copyright:
author: Beitragsautor
link: Beitragslink
post_author: Written by
post_link: This article originally appeared on
license_title: Urheberrechtshinweis
license_content: "Alle Artikel in diesem Blog sind unter %s lizenziert, außer es wird anders angegeben."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Erstellt mit %s"
total_views: Alle Aufrufe
total_visitors: Alle Besucher
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Keine Schlagworte
one: Insgesamt ein Schlagwort
other: "Insgesamt %d Schlagwörter"
categories:
zero: Keine Kategorien
one: Insgesamt eine Kategorie
other: "Insgesamt %d Kategorien"
archive_posts:
zero: Keine Artikel vorhanden.
one: Ein Artikel.
other: "Insgesamt %d Artikel."
state:
posts: Artikel
tags: schlagwörter
categories: Kategorien
search:
placeholder: Suche...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Öhm..
ok: OK
nice: Schön
good: Gut
great: Wunderbar
excellent: Exzellent
keep_on: Bleib dran.
symbol:
comma: ". "
period: ", "
colon: ": "
reward:
donate: Spenden
wechatpay: WeChat Bezahlung
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Willkommen zu meinen anderen Veröffentlichen Kanälen
accessibility:
nav_toggle: Navigationsleiste an/ausschalten
prev_page: Vorherige Seite
next_page: Nächste Seite
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Symbole im Artikel gezählt
count_total: Insgesamt gezählte Symbole
time: Lesezeit
time_total: Insgesamte Lesezeit
time_minutes: minuten.

View File

@ -0,0 +1,120 @@
name: English
title:
archive: Archive
category: Category
tag: Tag
schedule: Schedule
menu:
home: Home
archives: Archives
categories: Categories
tags: Tags
about: About
search: Search
schedule: Schedule
sitemap: Sitemap
commonweal: Commonweal 404
sidebar:
overview: Overview
toc: Table of Contents
links: Links
post:
posted: Posted on
edited: Edited on
created: Created
modified: Modified
edit: Edit this post
in: In
read_more: Read more
untitled: Untitled
sticky: Sticky
views: Views
related_posts: Related Posts
copyright:
author: Post author
link: Post link
post_author: Written by
post_link: This article originally appeared on
license_title: Copyright Notice
license_content: "All articles in this blog are licensed under %s unless stating additionally."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Powered by %s"
total_views: Total Views
total_visitors: Total Visitors
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: No tags
one: 1 tag in total
other: "%d tags in total"
categories:
zero: No categories
one: 1 category in total
other: "%d categories in total"
archive_posts:
zero: No posts.
one: 1 post.
other: "%d posts in total."
state:
posts: posts
tags: tags
categories: categories
search:
placeholder: Searching...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Um..
ok: OK
nice: Nice
good: Good
great: Great
excellent: Excellent
keep_on: Keep on posting.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Donate
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Welcome to my other publishing channels
accessibility:
nav_toggle: Toggle navigation bar
prev_page: Previous page
next_page: Next page
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Word count in article
count_total: Word count total
time: Reading time
time_total: Reading time total
time_minutes: mins.

View File

@ -0,0 +1,103 @@
---
name: Esperanto
title:
archive: Arkivo
category: Kategorio
tag: Etikedo
schedule: Horaro
menu:
home: Ĉefpaĝo
archives: Arkivoj
categories: Kategorioj
tags: Etikedoj
about: Pri
search: Serĉi
schedule: Horaro
sitemap: Retejmapo
commonweal: Commonweal 404
sidebar:
overview: Superrigardo
toc: Enhavtabelo
links: Links
post:
posted: Afiŝita je
edited: Redaktita je
created: Kreita por
modified: Modifita por
edit: Redaktu ĉi tiun afiŝon
in: En
read_more: Legi pli
untitled: Neniu titolo
sticky: Alpingli al la supro
views: Rigardoj
related_posts: Rilataj afiŝoj
copyright:
author: Aŭtoro de ĉi tiu afiŝo
link: Ligilo de ĉi tui afiŝo
post_author: Written by
post_link: This article originally appeared on
license_title: Copyright
license_content: "Ĉiuj artikoloj en ĉi tiu blogo estas licencita sub %s krom se kroma permesilo estas specifita."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Funkciigita de %s"
total_views: Tutaj rigardoj
total_visitors: Tutaj visitoj
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Neniuj etikedoj
one: Entute 1 etikedo
other: "Entute %d etikedoj"
categories:
zero: Neniuj kategorioj
one: Entute 1 kategorio
other: "Entute %d kategorioj"
archive_posts:
zero: Neniuj afiŝoj.
one: Entute 1 afiŝo.
other: "Entute %d afiŝoj."
state:
posts: afiŝoj
tags: etikedoj
categories: kategorioj
search:
placeholder: Serĉante...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Um..
ok: malaĉe
nice: bonete
good: bone
great: bonege
excellent: perfekte
keep_on: Daŭre afiŝu!
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Doni
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Bonvenon al miaj aliaj eldonkanaloj
accessibility:
nav_toggle: Baskuligi navigacian stangon
prev_page: Antaŭa paĝo
next_page: Sekva paĝo
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Nombro da signoj en la artikolo
count_total: Nombro da signoj en la tuta reto
time: Tempo de rigardo
time_total: Tempo tuta de rigardo
time_minutes: minutoj.

View File

@ -0,0 +1,103 @@
---
name: Español
title:
archive: Archivo
category: Categoría
tag: Etiqueta
schedule: Calendario
menu:
home: Inicio
archives: Archivo
categories: Categorías
tags: Etiquetas
about: Sobre mi
search: Buscar
schedule: Calendario
sitemap: Mapa del sitio
commonweal: Commonweal 404
sidebar:
overview: Inicio
toc: Tabla de contenidos
links: Links
post:
posted: Publicado el
edited: Editado el
created: Creado por
modified: Modificado por
edit: Editar esta entrada
in: En
read_more: Leer más
untitled: Sin título
sticky: Destacados
views: Visitas
related_posts: Entradas relacionadas
copyright:
author: Autor de la entrada
link: Enlace a la entrada
post_author: Escrito por
post_link: Este artículo apareció originalmente en
license_title: Copyright
license_content: "Todos los artículos de este blog están licenciados bajo %s a no ser que se especifique una licencia adicional."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Creado mediante %s"
total_views: Visitas totales
total_visitors: Visitantes totales
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Sin etiquetas
one: 1 etiqueta en total
other: "%d etiquetas en total"
categories:
zero: Sin categorías
one: 1 categoría en total
other: "%d categorías en total"
archive_posts:
zero: Sin entradas.
one: 1 entrada.
other: "%d entradas en total."
state:
posts: entradas
tags: etiquetas
categories: categorías
search:
placeholder: Buscando...
empty: "No hemos encontrado ningún resultado para la búsqueda: %s"
hits_time: "%s resultados encontrados en %s ms"
hits: "%s resultados encontrados"
cheers:
um: Um..
ok: Bueno
nice: Guai
good: Bien
great: Genial
excellent: Excelente
keep_on: Sigue posteando.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Donar
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Bienvenido a mis otros canales
accessibility:
nav_toggle: Cambiar a barra de navegación
prev_page: Página anterior
next_page: Página siguiente
back_to_top: Volver al principio
select_lang: Seleccione el idioma
symbols_count_time:
count: Cantidad de caracteres en el articulo
count_total: Cantidad total de caracteres
time: Tiempo de lectura
time_total: Tiempo total de lectura
time_minutes: minutos.

View File

@ -0,0 +1,103 @@
---
name: فارسی
title:
archive: بایگانی
category: دسته بندی
tag: برچسب
schedule: زمان بندی
menu:
home: صفحه اصلی
archives: بایگانی
categories: دسته بندی ها
tags: برچسب ها
about: درباره
search: جستجو
schedule: زمان بندی
sitemap: نقشه سایت
commonweal: Commonweal 404
sidebar:
overview: نمای کلی
toc: فهرست مطالب
links: Links
post:
posted: نوشته شده در
edited: ویرایش شده در
created: ایجاد شده
modified: تغییر یافته
edit: ویرایش این پست
in: در
read_more: ادامه مطلب
untitled: بدون عنوان
sticky: چسبنده
views: بازدیدها
related_posts: پست های مرتبط
copyright:
author: نویسنده پست
link: لینک پست
post_author: Written by
post_link: This article originally appeared on
license_title: مقررات کپی رایت
license_content: "همه مقالات در این وبلاگ تحت %s مجاز می باشند مگر اینکه به طور اضافی بیان شوند."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "قدرت گرفته از %s"
total_views: مجموع بازدیدها
total_visitors: تعداد بازدید کنندگان
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: بدون برچسب
one: 1 برچسب در مجموع
other: "%d برچسب در مجموع"
categories:
zero: بدون دسته بندی
one: 1 دسته بندی در مجموع
other: "%d دسته بندی در مجموع"
archive_posts:
zero: بدون پست.
one: 1 پست.
other: "%d برچسب در مجموع."
state:
posts: پست ها
tags: برجسب ها
categories: دسته بندی ها
search:
placeholder: جستجو...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: ام...
ok: باشه
nice: زیبا
good: خوب
great: عالی
excellent: بسیار عالی
keep_on: به پست دادن ادامه دهید.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: کمک مالی
wechatpay: پرداخت WeChat
alipay: AliPay
paypal: PayPal
bitcoin: بیت کوین
comment: Buy me a coffee
follow_me:
welcome: Welcome to my other publishing channels
accessibility:
nav_toggle: تغییر ناوبری
prev_page: صفحه قبلی
next_page: صفحه بعدی
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: تعداد نمادها در مقاله
count_total: تعداد کل نمادها
time: زمان خواندن
time_total: کل زمان خواندن
time_minutes: دقیقه.

View File

@ -0,0 +1,103 @@
---
name: Français
title:
archive: Archive
category: Catégorie
tag: Mots clés
schedule: Plannifier
menu:
home: Accueil
archives: Archives
categories: Catégories
tags: Mots clés
about: À propos
search: Recherche
schedule: Plannifier
sitemap: Plan de site
commonweal: Commonweal 404
sidebar:
overview: Aperçu
toc: Table Des Matières
links: Liens
post:
posted: Posté le
edited: Édité le
created: Article créé le
modified: Mis à jour le
edit: Éditer cet article
in: dans
read_more: Lire la suite
untitled: Sans titre
sticky: Épingler
views: Vues
related_posts: Articles similaires
copyright:
author: Auteur de l'article
link: Lien de l'article
post_author: Rédigé par
post_link: Cet article a été initialement publié sur
license_title: Droit d'auteur
license_content: "Tous les articles de ce blog sont sous licence %s, sauf mention contraire."
license_content_reprint: "Cet article provient d'un article publié et repris avec autorisation. Veuillez indiquer la source!"
footer:
powered: "Propulsé par %s"
total_views: Vues totales
total_visitors: Total visiteurs
widget:
github: Suivez-moi sur GitHub
chat: Discussion
counter:
tag_cloud:
zero: Aucun tag
one: 1 tag au total
other: "%d tags au total"
categories:
zero: Aucune categorie
one: 1 catégorie au total
other: "%d catégories au total"
archive_posts:
zero: Aucun article.
one: 1 article.
other: "%d articles au total."
state:
posts: articles
tags: mots clé
categories: catégories
search:
placeholder: Recherche...
empty: "Nous n'avons trouvé aucun résultat pour la recherche : %s"
hits_time: "%s resultats trouvés en %s ms"
hits: "%s résultats trouvés"
cheers:
um: Eh bien..
ok: Ok
nice: Jolie
good: Bien
great: Super
excellent: Excellent
keep_on: Continue comme ça.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Donner
wechatpay: Paiement WeChat
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Offrez-moi un café
follow_me:
welcome: Bienvenue dans mes autres salons de publication
accessibility:
nav_toggle: Basculer la barre de navigation
prev_page: Page précédente
next_page: Page suivante
back_to_top: Revenir en haut
select_lang: Choisir une langue
symbols_count_time:
count: Caractères dans l'article
count_total: Caractères total
time: Temps de lecture
time_total: Temps total de lecture
time_minutes: minutes.

View File

@ -0,0 +1,103 @@
---
name: Bahasa Indonesia
title:
archive: Arsip
category: Kategori
tag: Tag
schedule: Schedule
menu:
home: Beranda
archives: Arsip
categories: Kategori
tags: Tags
about: Tentang
search: Pencarian
schedule: Schedule
sitemap: Sitemap
commonweal: Commonweal 404
sidebar:
overview: Ikhtisar
toc: Daftar Isi
links: Links
post:
posted: Diposting di
edited: Edited on
created: Post created
modified: Updated at
edit: Edit this post
in: Di
read_more: Baca lebih
untitled: Tidak ada title
sticky: Sticky
views: Views
related_posts: Related Posts
copyright:
author: Post author
link: Post link
post_author: Written by
post_link: This article originally appeared on
license_title: Copyright Notice
license_content: "All articles in this blog are licensed under %s unless stating additionally."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Powered by %s"
total_views: Total Views
total_visitors: Total Visitors
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Tidak ada tags
one: 1 total tag
other: "%d total tags"
categories:
zero: Tidak ada kategori
one: 1 total categori
other: "%d total kategori"
archive_posts:
zero: Tidak ada posting.
one: 1 posting.
other: "%d total posting."
state:
posts: posting
tags: tags
categories: kategori
search:
placeholder: Searching...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Um..
ok: OK
nice: Bagus
good: Bagus
great: Besar
excellent: Baik
keep_on: Terus Posting.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Donate
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Welcome to my other publishing channels
accessibility:
nav_toggle: Toggle navigation bar
prev_page: Halaman sebelumnya
next_page: Halaman selanjutnya
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Symbols count in article
count_total: Symbols count total
time: Reading time
time_total: Reading time total
time_minutes: mins.

View File

@ -0,0 +1,103 @@
---
name: Italiano
title:
archive: Archivio
category: Categoria
tag: Tag
schedule: Programma
menu:
home: Home
archives: Archivi
categories: Categorie
tags: Tags
about: Informazioni su
search: Cerca
schedule: Programma
sitemap: Sitemap
commonweal: Commonweal 404
sidebar:
overview: Panoramica
toc: Indice
links: Links
post:
posted: Scritto il
edited: Edited on
created: Post creato
modified: Post modificato
edit: Edit this post
in: In
read_more: Leggi di più
untitled: Senza titolo
sticky: Sticky
views: Views
related_posts: Related Posts
copyright:
author: Autore
link: Link
post_author: Written by
post_link: This article originally appeared on
license_title: Copyright
license_content: "Tutti gli articoli in questo sito sono sotto licenza %s salvo disposizione contraria."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Powered by %s"
total_views: Total Views
total_visitors: Total Visitors
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Nessun tag
one: 1 tag in totale
other: "%d tags in totale."
categories:
zero: Nessuna categoria
one: 1 categoria in totale
other: "%d categorie in totale."
archive_posts:
zero: Nessun post.
one: 1 post.
other: "%d posts in totale."
state:
posts: posts
tags: tags
categories: categorie
search:
placeholder: Cerca...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Mh..
ok: OK
nice: Bello
good: Buono
great: Ottimo
excellent: Eccellente
keep_on: Continua così.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Dona
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Welcome to my other publishing channels
accessibility:
nav_toggle: Toggle navigation bar
prev_page: Pagina precedente
next_page: Pagina successiva
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Symbols count in article
count_total: Symbols count total
time: Reading time
time_total: Reading time total
time_minutes: mins.

View File

@ -0,0 +1,103 @@
---
name: 日本語
title:
archive: アーカイブ
category: カテゴリ
tag: タグ
schedule: スケジュール
menu:
home: ホーム
archives: アーカイブ
categories: カテゴリ
tags: タグ
about: プロフィール
search: 検索
schedule: スケジュール
sitemap: サイトマップ
commonweal: 公益 404
sidebar:
overview: 概要
toc: 見出し
links: Links
post:
posted: 投稿日
edited: 編集日
created: 作成日
modified: 修正日
edit: この記事を編集する
in: カテゴリ
read_more: 続きを読む
untitled: 無題
sticky: 固定
views: 閲覧数
related_posts: 関連記事
copyright:
author: 著者
link: 記事へのリンク
post_author: 作者
post_link: 元の記事
license_title: 著作権表示
license_content: "このブログ内のすべての記事は、特別な記載がない限り %s の下のライセンスで保護されています。"
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Powered by %s"
total_views: 閲覧合計数
total_visitors: 合計閲覧者数
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: タグなし
one: 全 1 タグ
other: "全 %d タグ"
categories:
zero: カテゴリなし
one: 全 1 カテゴリ
other: "全 %d カテゴリ"
archive_posts:
zero: ポストなし
one: 全 1 ポスト
other: "全 %d ポスト"
state:
posts: ポスト
tags: タグ
categories: カテゴリ
search:
placeholder: 検索…
empty: "検索結果が見つかりませんでした: %s"
hits_time: "%s の結果が %s ms で見つかりました"
hits: "%s 件の結果が見つかりました"
cheers:
um: うーん
ok: はい
nice: まあまあ
good: いいね
great: すごい
excellent: 最高
keep_on: もっと書こう!
symbol:
comma: "、"
period: "。"
colon: ""
reward:
donate: 寄付
wechatpay: WeChat 支払う
alipay: Alipay
paypal: PayPal
bitcoin: ビットコイン
comment: Buy me a coffee
follow_me:
welcome: 他の公開チャンネルへようこそ
accessibility:
nav_toggle: ナビゲーションバーの切り替え
prev_page: 前のページ
next_page: 次のページ
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: 単語数
count_total: 単語の総数
time: 読書の時間
time_total: 読書の合計時間
time_minutes:

View File

@ -0,0 +1,103 @@
---
name: 한국어
title:
archive: 아카이브
category: 카테고리
tag: 태그
schedule: Schedule
menu:
home:
archives: 아카이브
categories: 카테고리
tags: 태그
about: 정보
search: 검색
schedule: Schedule
sitemap: Sitemap
commonweal: Commonweal 404
sidebar:
overview: 흝어보기
toc: 목차
links: Links
post:
posted: 작성일
edited: Edited on
created: Post created
modified: Updated at
edit: Edit this post
in: In
read_more: 더 읽어보기
untitled: 제목 없음
sticky: 고정
views: Views
related_posts: Related Posts
copyright:
author: 포스트 작성자
link: Post link
post_author: Written by
post_link: This article originally appeared on
license_title: Copyright Notice
license_content: "All articles in this blog are licensed under %s unless stating additionally."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Powered by %s"
total_views: Total Views
total_visitors: Total Visitors
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: 태그 없음
one: 1개의 태그
other: "총 %d개의 태그"
categories:
zero: 카테고리 없음
one: 1개의 카테고리
other: "총 %d개의 카테고리"
archive_posts:
zero: 포스트 없음
one: 1개의 포스트
other: "총 %d개의 포스트를 작성하셨습니다."
state:
posts: 포스트
tags: 태그
categories: 카테고리
search:
placeholder: Searching...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: 음..
ok: 동의해요
nice: 잘했어요
good: 좋아요
great: 훌륭해요
excellent: 완벽해요
keep_on: 포스트를 계속 작성하세요.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: 도네이션
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: 비트코인
comment: Buy me a coffee
follow_me:
welcome: Welcome to my other publishing channels
accessibility:
nav_toggle: Toggle navigation bar
prev_page: 이전 페이지
next_page: 다음 페이지
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Symbols count in article
count_total: Symbols count total
time: Reading time
time_total: Reading time total
time_minutes: mins.

View File

@ -0,0 +1,103 @@
---
name: Niederländisch
title:
archive: Archief
category: Categorie
tag: Label
schedule: Rooster
menu:
home: Home
archives: Archieven
categories: Categorieën
tags: Labels
about: Over
search: Zoeken
schedule: Rooster
sitemap: Sitemap
commonweal: Gezond verstand 404
sidebar:
overview: Overzicht
toc: Inhoudsopgave
links: Links
post:
posted: Geplaatst op
edited: Edited on
created: Post aangemaakt
modified: Post aangepast
edit: Edit this post
in: In
read_more: Lees meer
untitled: Naamloos
sticky: Sticky
views: Views
related_posts: Related Posts
copyright:
author: Post auteur
link: Post link
post_author: Written by
post_link: This article originally appeared on
license_title: Copyright melding
license_content: "Alle artikelen op deze blog zijn gelicenseerd onder %s, mits niet anders aangegeven."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Mede mogelijk gemaakt door %s"
total_views: Total Views
total_visitors: Total Visitors
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Geen labels
one: 1 label in totaal
other: "%d labels in totaal"
categories:
zero: Geen categorieën
one: 1 categorie in totaal
other: "%d categorieën in totaal"
archive_posts:
zero: Geen posts.
one: 1 post.
other: "%d posts in totaal."
state:
posts: posts
tags: labels
categories: categorieën
search:
placeholder: Zoeken...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Um..
ok: Oké
nice: Leuk
good: Goed
great: Geweldig
excellent: Uitstekend
keep_on: Blijf posten.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Doneer
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Welcome to my other publishing channels
accessibility:
nav_toggle: Toggle navigation bar
prev_page: Vorige pagina
next_page: Volgende pagina
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Symbols count in article
count_total: Symbols count total
time: Reading time
time_total: Reading time total
time_minutes: mins.

View File

@ -0,0 +1,103 @@
---
name: Português
title:
archive: Arquivo
category: Categoria
tag: Etiqueta
schedule: Programação
menu:
home: Home
archives: Arquivos
categories: Categorias
tags: Etiquetas
about: Sobre
search: Pesquisar
schedule: Programação
sitemap: Mapa do site
commonweal: Commonweal 404
sidebar:
overview: Visão geral
toc: Índice
links: Links
post:
posted: Postado em
edited: Editado em
created: Criado em
modified: Modificado em
edit: Editar publicação
in: Em
read_more: Leia mais
untitled: Sem título
sticky: Fixo
views: Visualizações
related_posts: Publicações Relacionadas
copyright:
author: Autor da publicação
link: Link da publicação
post_author: Escrito por
post_link: Este artigo foi originalmente publicado em
license_title: Nota de Direitos Autorais
license_content: "Todos os artigos deste blog são licenciados sob %s, a menos que seja indicado o contrário."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Feito com %s"
total_views: Visualizações Totais
total_visitors: Total de visitantes
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Sem etiquetas
one: 1 etiqueta no total de
other: "%d etiquetas no total de"
categories:
zero: Sem categoria
one: 1 categoria no total de
other: "%d categoria no total de"
archive_posts:
zero: Sem publicações.
one: 1 publicação.
other: "%d publicações no total."
state:
posts: publicações
tags: etiquetas
categories: categorias
search:
placeholder: Pesquisando...
empty: "Não encontramos nenhum resultado para a pesquisa: %s"
hits_time: "%s resultados encontrados em %s ms"
hits: "%s resultados encontrados"
cheers:
um: Uhmmmm...
ok: OK
nice: Bom
good: Muito Bom
great: Ótimo
excellent: Excelente
keep_on: Continue publicando.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Doar
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Bem-vindo aos meus outros canais de publicação
accessibility:
nav_toggle: Alternar barra de navegação
prev_page: Página anterior
next_page: Próxima página
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Contagem total de caracteres no artigo
count_total: Contagem total de caracteres
time: Tempo de leitura
time_total: Tempo total de leitura
time_minutes: mins.

View File

@ -0,0 +1,103 @@
---
name: Português
title:
archive: Arquivo
category: Categoria
tag: Etiqueta
schedule: Agenda
menu:
home: Início
archives: Arquivos
categories: Categorias
tags: Etiquetas
about: Sobre
search: Pesquisa
schedule: Agenda
sitemap: Sitemap
commonweal: Commonweal 404
sidebar:
overview: Visão Geral
toc: Tabela de Conteúdo
links: Links
post:
posted: Postado em
edited: Editado em
created: Post created
modified: Updated at
edit: Modificar este post
in: Em
read_more: Ler mais
untitled: Sem título
sticky: Marcado
views: Visualizações
related_posts: Publicações Relacionadas
copyright:
author: Autor da publicação
link: Link para postagem
post_author: Escrito por
post_link: Este artigo apareceu originalmente em
license_title: Direitos de autor
license_content: "Todos os artigos deste blog são licenciados sob %s a não ser que informe adicionalmente."
license_content_reprint: "Este artigo é um artigo reimpresso e foi reimpresso com permissão. Por favor, indique a origem!"
footer:
powered: "Desenvolvido com amor com %s"
total_views: Total de Visualizações
total_visitors: Total de visitantes
widget:
github: Siga-me no GitHub
chat: Chat
counter:
tag_cloud:
zero: Sem tags
one: 1 tag no total
other: "%d tags no total"
categories:
zero: Sem categorias
one: 1 categoria no total
other: "%d categorias no total"
archive_posts:
zero: Sem publicações.
one: 1 publicação.
other: "%d publicações no total."
state:
posts: publicações
tags: etiquetas
categories: categorias
search:
placeholder: Pesquisando...
empty: "Não encontramos nenhum resultado para a pesquisa: %s"
hits_time: "%s resultados encontrados em %s ms"
hits: "%s resultados encontrados"
cheers:
um: Um..
ok: OK
nice: Legal
good: Bom
great: Grandioso
excellent: Excelente
keep_on: Mantenha-se publicando!
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Doar
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Pague-me um café
follow_me:
welcome: Bem-vindo aos meus outros canais de publicação
accessibility:
nav_toggle: Alternar barra de navegação
prev_page: Página anterior
next_page: Página seguinte
back_to_top: Voltar ao início
select_lang: Escolher idioma
symbols_count_time:
count: Symbols count in article
count_total: Symbols count total
time: Tempo de leitura
time_total: Tempo total de leitura
time_minutes: mins.

View File

@ -0,0 +1,103 @@
---
name: Английский
title:
archive: Архив
category: Категория
tag: Тэг
schedule: Календарь
menu:
home: Главная
archives: Архив
categories: Категории
tags: Тэги
about: О сайте
search: Поиск
schedule: Планировщик
sitemap: Карта сайта
commonweal: Страница 404
sidebar:
overview: Обзор
toc: Содержание
links: Links
post:
posted: Размещено
edited: Изменено
created: Создано
modified: Изменено
edit: Редактировать запись
in: В категории
read_more: Далее...
untitled: Безимянный
sticky: Ссылка
views: Просмотров
related_posts: Похожие записи
copyright:
author: Автор записи
link: Ссылка на запись
post_author: Авторы
post_link: Оригинал этой статьи был написан
license_title: Информация об авторских правах
license_content: "Все записи на этом сайте защищены лицензией %s, если не указано дополнительно."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Генератор — %s"
total_views: Всего просмотров
total_visitors: Всего посетителей
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Нет тэгов.
one: 1 тэг.
other: "%d тэгов всего."
categories:
zero: Нет категорий.
one: 1 категория.
other: "%d категорий всего."
archive_posts:
zero: Нет записей.
one: 1 запись.
other: "%d записей всего."
state:
posts: Архив
tags: Тэги
categories: Категории
search:
placeholder: Поиск...
empty: "По запросу ничего не найдено: %s"
hits_time: "%s результатов найдено за %s мс"
hits: "%s результатов найдено"
cheers:
um: Эм..
ok: ОК
nice: Неплохо
good: Хорошо
great: Замечательно
excellent: Великолепно
keep_on: Продолжаю писать.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Донат
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Биткоин
comment: Buy me a coffee
follow_me:
welcome: Добро пожаловать на другие мои издательские каналы
accessibility:
nav_toggle: Показать/скрыть меню
prev_page: Предыдущая страница
next_page: Следующая страница
back_to_top: В начало
select_lang: Выберите язык
symbols_count_time:
count: Кол-во символов в статье
count_total: Общее кол-во символов
time: Время чтения
time_total: Общее время чтения
time_minutes: мин.

View File

@ -0,0 +1,103 @@
---
name: සිංහල
title:
archive: සංරක්ෂිතය
category: ප්‍රවර්ගය
tag: ටැගය
schedule: කාලසටහන
menu:
home: මුල
archives: සංරක්ෂිත
categories: ප්‍රවර්ග
tags: ටැග
about: පිළිබඳව
search: සොයන්න
schedule: කාලසටහන
sitemap: අඩවි සිතියම
commonweal: සමස්ත ප්‍රජාව 404
sidebar:
overview: සමස්ත දැක්ම
toc: පටුන
links: Links
post:
posted: පළ කළේ
edited: සංස්කරණය කළේ
created: හැදුවා
modified: සංස්කරණය කළා
edit: ලිපිය සංස්කරණය
in: තුළ
read_more: තව කියවන්න
untitled: නිර්නාමික
sticky: ඇලෙන
views: දර්ශන වාර
related_posts: ආශ්‍රිත ලිපි
copyright:
author: කර්තෘ
link: සබැඳිය
post_author: ලියන ලද්දේ
post_link: මේ ලිපිය මුළින්ම පළ වූයේ
license_title: හිමිකම් ප්‍රකාශය
license_content: "මෙහි සියලු ලිපි, අමතර සඳහනක් නොමැති තැන් වලදී, %s බලපත්‍රය යටතේ පවතී."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "%s විසින් බල ගැන්වේ"
total_views: සියලු දර්ශන වාර
total_visitors: සියලු අමුත්තන්
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: ටැග නැත
one: 1 ටැගයක් ඇත
other: "ටැග %dක් ඇත"
categories:
zero: ප්‍රවර්ග නැත
one: 1 ප්‍රවර්ගයක් ඇත
other: "ප්‍රවර්ග %dක් ඇත"
archive_posts:
zero: ලිපි නැත.
one: 1 ලිපියක්.
other: "ලිපි %dක් ඇත."
state:
posts: ලිපි
tags: ටැග
categories: ප්‍රවර්ග
search:
placeholder: සොයමින්...
empty: "%s ගැන සෙවීමෙන් ප්‍රතිඵල හමු නොවුණි"
hits_time: "ප්‍රතිඵල %s සඳහා %s ms ගතවිය"
hits: "ප්‍රතිඵල %s හමු විය"
cheers:
um: ඇත්ත වශයෙන්ම..
ok: හරි
nice: කදිමයි
good: හොඳයි
great: නියමයි
excellent: විශිෂ්ටයි
keep_on: දිගටම පළ කරන්න.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: පරිත්‍යාග කරන්න
wechatpay: වීචැට් පේ
alipay: අලිපේ
paypal: පේපෑල්
bitcoin: බිට්කොයින්
comment: Buy me a coffee
follow_me:
welcome: මගේ වෙනත් පළකිරීම් මාධ්‍ය වෙත සාදරයෙන් පිළිගනිමි
accessibility:
nav_toggle: යාත්‍රණය මාරු කිරීම
prev_page: පෙර පිටුව
next_page: පසු පිටුව
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: ලිපියේ සංකේත ගණන
count_total: මුළු සංකේත ගණන
time: කියවුම් කාලය
time_total: මුළු කියවුම් කාලය
time_minutes: විනාඩි.

View File

@ -0,0 +1,103 @@
---
name: ประเทศไทย
title:
archive: คลังเก็บเอกสารสำคัญ
category: หมวดหมู่
tag: แท็ก
schedule: กำหนดการ
menu:
home: บ้าน
archives: หอจดหมายเหตุ
categories: หมวดหมู่
tags: แท็ก
about: เกี่ยวกับ
search: ค้นหา
schedule: กำหนดการ
sitemap: แผนผังเว็บไซต์
commonweal: เครือจักรภพ404
sidebar:
overview: ภาพรวม
toc: สารบัญ
links: Links
post:
posted: โพสต์เมื่อ
edited: แก้ไขเมื่อ
created: สร้าง
modified: ดัดแปลง
edit: แก้ไขโพสต์นี้
in: ใน
read_more: อ่านเพิ่มเติม
untitled: ไม่มีชื่อ
sticky: เหนียว
views: มุมมอง
related_posts: กระทู้ที่เกี่ยวข้อง
copyright:
author: ผู้เขียนโพสต์
link: โพสต์ลิงค์
post_author: เขียนโดย
post_link: บทความนี้เดิมปรากฏบน
license_title: ประกาศเกี่ยวกับลิขสิทธิ์
license_content: "บทความทั้งหมดในบล็อกนี้ได้รับอนุญาตภายใต้ %s เว้นแต่จะระบุไว้เพิ่มเติม"
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "ขับเคลื่อนโดย %s"
total_views: ยอดดูทั้งหมด
total_visitors: ผู้เข้าชมทั้งหมด
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: ไม่มีแท็ก
one: ทั้งหมด 1 แท็ก
other: "รวม %d แท็ก"
categories:
zero: ไม่มีหมวดหมู่
one: ทั้งหมด 1 หมวดหมู่
other: "ทั้งหมด %d หมวดหมู่"
archive_posts:
zero: ไม่มีโพสต์
one: 1 โพสต์
other: "ทั้งหมด %d โพสต์"
state:
posts: posts
tags: tags
categories: categories
search:
placeholder: กำลังค้นหา...
empty: "เราไม่พบผลลัพธ์ใด ๆ สำหรับการค้นหา: %s"
hits_time: "พบผลลัพธ์ %s ใน %s ms"
hits: "พบผลลัพธ์ %s"
cheers:
um: Um..
ok: OK
nice: Nice
good: Good
great: Great
excellent: Excellent
keep_on: โพสต์ต่อไป.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Donate
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: ยินดีต้อนรับสู่ช่องทางการเผยแพร่อื่นๆ ของฉัน
accessibility:
nav_toggle: สลับแถบนำทาง
prev_page: หน้าก่อน
next_page: หน้าต่อไป
back_to_top: กลับไปด้านบน
select_lang: เลือกภาษา
symbols_count_time:
count: สัญลักษณ์นับในบทความ
count_total: สัญลักษณ์นับรวม
time: เวลาอ่านหนังสือ
time_total: เวลาในการอ่านทั้งหมด
time_minutes: นาที

View File

@ -0,0 +1,103 @@
---
name: Türkmençe
title:
archive: Arhiw
category: Bölüm
tag: Teg
schedule: Kalendar
menu:
home: Baş sahypa
archives: Arhiw
categories: Bölümler
tags: Tegler
about: Saýt hakynda
search: Gözleg
schedule: Kalendar
sitemap: Saýtyň kartasy
commonweal: 404 sahypa
sidebar:
overview: Syn
toc: Mazmuny
links: Links
post:
posted: Goýuldy
edited: Üýtgedildi
created: Döredildi
modified: Üýtgedildi
edit: Redaktirle
in: bölümde
read_more: Dowamyny oka
untitled: Atlandyrylmadyk
sticky: Salgylanma
views: Görüldi
related_posts: Meňzeş makalalar
copyright:
author: Makalanyň awtory
link: Makala salgylanma
post_author: Written by
post_link: This article originally appeared on
license_title: Awtorlyk hukugy hakynda maglumat
license_content: "Eger-de goşmaça maglumat berilmedik bolsa, bu saýtdaky ähli maglumatlar %s lisenziýa bilen goragly."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Генератор — %s"
total_views: Görülme sany
total_visitors: Girilen sany
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Teg ýok.
one: 1 teg.
other: "%d teg bar."
categories:
zero: Bölüm ýok.
one: 1 bölüm.
other: "%d bölüm bar."
archive_posts:
zero: Makala tapylmady.
one: 1 makala.
other: "%d makala bar."
state:
posts: Makalalar
tags: Tegler
categories: Bölümler
search:
placeholder: Gözleg...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Hmm..
ok: OK
nice: Erbet däl
good: Gowy
great: Bet
excellent: Örän gowy
keep_on: Ýazmagy dowam et.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Donat
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Meniň başga paýlaşma platformalarym
accessibility:
nav_toggle: Görkez/Gizle
prev_page: Öňki sahypa
next_page: Indiki sahypa
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Makalada symbollaryň mukdary
count_total: Symbollaryň umumy sany
time: Okalma wagty
time_total: Jemi okalma wagty
time_minutes: min.

View File

@ -0,0 +1,103 @@
---
name: Türk
title:
archive: Arşiv
category: Kategori
tag: Etiket
schedule: Program
menu:
home: Ana Sayfa
archives: Arşivler
categories: Kategoriler
tags: Etiketler
about: Hakkımda
search: Ara
schedule: Program
sitemap: Site Haritası
commonweal: Hata 404
sidebar:
overview: Genel Bakış
toc: İçindekiler
links: Links
post:
posted: Yayınlandı
edited: Düzenlendi
created: Oluşturuldu
modified: Değiştirildi
edit: Bu gönderiyi düzenle
in: İçinde
read_more: Daha fazla oku
untitled: Başlıksız
sticky: Sabit
views: Görünümler
related_posts: İlgili Gönderiler
copyright:
author: Gönderiyi yazan
link: Gönderi bağlantısı
post_author: Written by
post_link: This article originally appeared on
license_title: Telif Hakkı Bildirimi
license_content: "Bu blogdaki tüm makaleler aksi belirtilmediği sürece %s altında lisanslıdır."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "%s tarafından desteklenmektedir"
total_views: Toplam görüntülenme
total_visitors: Toplam Ziyaretçi
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Etiket yok
one: Toplam 1 etiket
other: "Toplamda %d etiket"
categories:
zero: Kategori yok
one: Toplamda 1 kategori
other: "Toplamda %d kategori"
archive_posts:
zero: Gönderi yok.
one: 1 gönderi.
other: "Toplamda %d gönderi."
state:
posts: gönderiler
tags: etiketler
categories: kategoriler
search:
placeholder: Aranıyor...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Um..
ok: Tamam
nice: Güzel
good: İyi
great: Müthiş
excellent: Mükemmel
keep_on: Gönderiye devam.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Bağış
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Diğer yayıncılık kanallarıma hoşgeldiniz
accessibility:
nav_toggle: Gezinti çubuğunu değiştir
prev_page: Önceki sayfa
next_page: Sonraki sayfa
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Makalede sayılan semboller
count_total: Sayılan toplam semboller
time: Okuma Süresi
time_total: Toplamda Okuma Süresi
time_minutes: dk.

View File

@ -0,0 +1,103 @@
---
name: Український
title:
archive: Архів
category: Категорія
tag: Тег
schedule: Календар
menu:
home: Головна
archives: Архів
categories: Категорії
tags: Теги
about: Про сайт
search: Пошук
schedule: Календар
sitemap: Карта сайту
commonweal: Сторінка 404
sidebar:
overview: Огляд
toc: Зміст
links: Links
post:
posted: Опубліковано
edited: Змінено
created: Створено
modified: Змінено
edit: Редагувати запис
in: в категорії
read_more: Читати повністю
untitled: Без імені
sticky: Посилання
views: Переглядів
related_posts: Схожі записи
copyright:
author: Автор запису
link: Посилання на запис
post_author: Written by
post_link: This article originally appeared on
license_title: Інформація про авторські права
license_content: "Всі записи на цьому сайті захищені ліцензією %s, якщо не вказано додатково."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Генератор — %s"
total_views: Всього переглядів
total_visitors: Всього відвідувачів
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Немає тегів.
one: 1 тег.
other: "%d тегів всього."
categories:
zero: Немає категорій.
one: 1 категорія.
other: "%d категорій всього."
archive_posts:
zero: Немає записів.
one: 1 запис.
other: "%d записів всього."
state:
posts: Архів
tags: Теги
categories: Категорії
search:
placeholder: Пошук...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Ем..
ok: ОК
nice: Не погано
good: Добре
great: Чудово
excellent: Прекрасно
keep_on: Продовжую писати.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Донат
wechatpay: WeChat Pay
alipay: Alipay
paypal: PayPal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Мої інші видавничі канали
accessibility:
nav_toggle: Показати/приховати меню
prev_page: Попередня сторінка
next_page: Наступна сторінка
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: К-сть символів в статті
count_total: Загальна к-сть символів
time: Час читання
time_total: Загальний час читання
time_minutes: хв.

View File

@ -0,0 +1,103 @@
---
name: Tiếng Việt
title:
archive: Lưu Trữ
category: Phân Loại
tag: Thẻ
schedule: Danh Mục
menu:
home: Trang Chủ
archives: Lưu Trữ
categories: Đầu Mục
tags: Thẻ
about: Giới Thiệu
search: Tìm Kiếm
schedule: Danh Mục
sitemap: Bản đồ trang
commonweal: Commonwealth Act No. 404
sidebar:
overview: Tổng Quan
toc: Mục Lục
links: Links
post:
posted: Tạo lúc
edited: Chỉnh sửa vào
created: Được tạo
modified: Được thay đổi
edit: Chính sửa bài viết này
in: Trong
read_more: Đọc tiếp
untitled: Không có tiêu đề
sticky: Đính
views: Lượt xem
related_posts: Các bài viết liên quan
copyright:
author: Người viết
link: Liên kết bài viết
post_author: Written by
post_link: This article originally appeared on
license_title: Chú ý bản quyền
license_content: "Tất cả bài viết trong blog này được đăng ký bởi %s trừ khi có thông báo bổ sung."
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "Cung cấp bởi %s"
total_views: Tổng số người xem
total_visitors: Tổng số truy cập
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: Không có thẻ nào
one: có 1 thẻ tất cả
other: "có %d thẻ tất cả"
categories:
zero: Không có trong mục nào
one: có 1 mục tất cả
other: "có %d mục tất cả"
archive_posts:
zero: Không có bài viết.
one: 1 bài viết.
other: "tổng số %d bài viết."
state:
posts: bài viết
tags: thẻ
categories: mục
search:
placeholder: Đang tìm...
empty: "We didn't find any results for the search: %s"
hits_time: "%s results found in %s ms"
hits: "%s results found"
cheers:
um: Um..
ok: Đồng Ý
nice: Hay
good: Tốt
great: Tuyệt vời
excellent: Tuyệt cú mèo
keep_on: Giữ tiến độ nha.
symbol:
comma: ", "
period: ". "
colon: ": "
reward:
donate: Tài trợ
wechatpay: WeChat Pay
alipay: Alipay
paypal: Paypal
bitcoin: Bitcoin
comment: Buy me a coffee
follow_me:
welcome: Xin chào mừng đến với các kênh khác của tôi
accessibility:
nav_toggle: Thanh điều hướng chuyển đổi
prev_page: Trang trước
next_page: Trang sau
back_to_top: Back to top
select_lang: Select language
symbols_count_time:
count: Số biểu tượng trong bài viết
count_total: Tổng số biểu tượng
time: Thời lượng đọc
time_total: Tổng thời lượng đọc
time_minutes: phút.

View File

@ -0,0 +1,103 @@
---
name: 简体中文
title:
archive: 归档
category: 分类
tag: 标签
schedule: 日程表
menu:
home: 首页
archives: 归档
categories: 分类
tags: 标签
about: 关于
search: 搜索
schedule: 日程表
sitemap: 站点地图
commonweal: 公益 404
sidebar:
overview: 站点概览
toc: 文章目录
links: 链接
post:
posted: 发表于
edited: 更新于
created: 创建时间
modified: 修改时间
edit: 编辑
in: 分类于
read_more: 阅读全文
untitled: 未命名
sticky: 置顶
views: 阅读次数
related_posts: 相关文章
copyright:
author: 本文作者
link: 本文链接
post_author: 原作者
post_link: 原文链接
license_title: 版权声明
license_content: "本博客所有文章除特别声明外,均采用 %s 许可协议。转载请注明出处!"
license_content_reprint: "本文章为转载文章,已获转载许可。转载请注明出处!"
footer:
powered: "由 %s 强力驱动"
total_views: 总访问量
total_visitors: 总访客量
widget:
github: 在 GitHub 上关注我
chat: 聊天
counter:
tag_cloud:
zero: 暂无标签
one: 目前共计 1 个标签
other: "目前共计 %d 个标签"
categories:
zero: 暂无分类
one: 目前共计 1 个分类
other: "目前共计 %d 个分类"
archive_posts:
zero: 暂无日志。
one: 目前共计 1 篇日志。
other: "目前共计 %d 篇日志。"
state:
posts: 日志
tags: 标签
categories: 分类
search:
placeholder: 搜索...
empty: "没有找到任何搜索结果:%s"
hits_time: "找到 %s 个搜索结果(用时 %s 毫秒)"
hits: "找到 %s 个搜索结果"
cheers:
um: 嗯..
ok: 还行
nice: 不错
good: 很好
great: 非常好
excellent: 太棒了
keep_on: 继续努力。
symbol:
comma: ""
period: "。"
colon: ""
reward:
donate: 赞赏
wechatpay: 微信
alipay: 支付宝
paypal: PayPal
bitcoin: 比特币
comment: 请我一杯咖啡吧!
follow_me:
welcome: 欢迎关注我的其它发布渠道
accessibility:
nav_toggle: 切换导航栏
prev_page: 上一页
next_page: 下一页
back_to_top: 返回顶部
select_lang: 选择语言
symbols_count_time:
count: 本文字数
count_total: 站点总字数
time: 阅读时长
time_total: 站点阅读时长
time_minutes: 分钟

View File

@ -0,0 +1,103 @@
---
name: 繁體中文(香港)
title:
archive: 歸檔
category: 分類
tag: 標籤
schedule: 日程表
menu:
home: 首頁
archives: 歸檔
categories: 分類
tags: 標籤
about: 關於
search: 檢索
schedule: 日程表
sitemap: 站點地圖
commonweal: 公益 404
sidebar:
overview: 本站概覽
toc: 文章目錄
links: Links
post:
posted: 發表於
edited: 更新於
created: 創建時間
modified: 修改時間
edit: 編輯
in: 分類於
read_more: 閱讀全文
untitled: 未命名
sticky: 置頂
views: 閱讀次數
related_posts: 相關文章
copyright:
author: 博主
link: 文章連結
post_author: 已寫入
post_link: 文章最初發表於
license_title: 版權聲明
license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!"
license_content_reprint: "This article is a reprinted article and has been reprinted with permission. Please indicate the source!"
footer:
powered: "由 %s 強力驅動"
total_views: 總瀏覽次數
total_visitors: 訪客總數
widget:
github: Follow me on GitHub
chat: Chat
counter:
tag_cloud:
zero: 暫無標籤
one: 目前共有 1 個標籤
other: "目前共有 %d 個標籤"
categories:
zero: 暫無分類
one: 目前共有 1 個分類
other: "目前共有 %d 個分類"
archive_posts:
zero: 暫無文章。
one: 目前共有 1 篇文章。
other: "目前共有 %d 篇文章。"
state:
posts: 文章
tags: 標籤
categories: 分類
search:
placeholder: 搜索...
empty: "我們無法找到任何有關 %s 的搜索結果"
hits_time: "找到 %s 個搜索結果(用時 %s 毫秒)"
hits: "找到 %s 個結果"
cheers:
um: 嗯..
ok: 還行
nice:
good: 很好
great: 非常好
excellent: 太棒了
keep_on: 繼續努力。
symbol:
comma: ""
period: "。"
colon: ""
reward:
donate: 讚賞
wechatpay: 微信支付
alipay: 支付寶
paypal: 貝寶
bitcoin: 比特幣
comment: Buy me a coffee
follow_me:
welcome: 歡迎關注我的其它發布渠道
accessibility:
nav_toggle: 切換導航欄
prev_page: 上一頁
next_page: 下一頁
back_to_top: 回到頂部
select_lang: 選擇語言
symbols_count_time:
count: 本文字數
count_total: 站點總字數
time: 閱讀時長
time_total: 站點閱讀時長
time_minutes: 分鍾

View File

@ -0,0 +1,103 @@
---
name: 繁體中文
title:
archive: 歸檔
category: 分類
tag: 標籤
schedule: 文章日曆
menu:
home: 首頁
archives: 歸檔
categories: 分類
tags: 標籤
about: 關於
search: 搜尋
schedule: 時間表
sitemap: 網站地圖
commonweal: 公益 404
sidebar:
overview: 本站概要
toc: 文章目錄
links: 連結
post:
posted: 發表於
edited: 更新於
created: 創建時間
modified: 修改時間
edit: 編輯
in: 分類於
read_more: 閱讀全文
untitled: 未命名
sticky: 置頂
views: 閱讀次數
related_posts: 相關文章
copyright:
author: 本文作者
link: 文章連結
post_author: 原作者
post_link: 文章最初發表於
license_title: 版權聲明
license_content: "本網誌所有文章除特別聲明外,均採用 %s 許可協議。轉載請註明出處!"
license_content_reprint: "本文章為轉載文章,已獲轉載許可。轉載請註明出處!"
footer:
powered: "由 %s 強力驅動"
total_views: 總瀏覽次數
total_visitors: 訪客總數
widget:
github: 在 GitHub 上關注我
chat: 聊天
counter:
tag_cloud:
zero: 暫無標籤
one: 目前共有 1 個標籤
other: "目前共有 %d 個標籤"
categories:
zero: 暫無分類
one: 目前共有 1 個分類
other: "目前共有 %d 個分類"
archive_posts:
zero: 沒有文章。
one: 目前共有 1 篇文章。
other: "目前共有 %d 篇文章。"
state:
posts: 文章
tags: 標籤
categories: 分類
search:
placeholder: 搜尋...
empty: "我們無法找到任何有關 %s 的搜索結果"
hits_time: "找到 %s 個搜索結果(用時 %s 毫秒)"
hits: "找到 %s 個搜索結果"
cheers:
um: 嗯..
ok: 還行
nice:
good: 很好
great: 非常好
excellent: 太棒了
keep_on: 繼續努力。
symbol:
comma: ""
period: "。"
colon: ""
reward:
donate: 捐贈
wechatpay: 微信支付
alipay: 支付寶
paypal: PayPal
bitcoin: 比特幣
comment: 請我喝杯咖啡!
follow_me:
welcome: 歡迎關注我的其它發布渠道
accessibility:
nav_toggle: 切換導航欄
prev_page: 上一頁
next_page: 下一頁
back_to_top: 回到頂端
select_lang: 選擇語言
symbols_count_time:
count: 文章字數
count_total: 總字數
time: 所需閱讀時間
time_total: 所需總閱讀時間
time_minutes: 分鐘

View File

@ -0,0 +1,50 @@
<!DOCTYPE html>
<html lang="{{ page.lang }}">
<head>
{{ partial('_partials/head/head.njk', {}, {cache: theme.cache.enable}) }}
{%- include '_partials/head/head-unique.njk' -%}
<title>{% block title %}{% endblock %}</title>
{{ partial('_third-party/analytics/index.njk', {}, {cache: theme.cache.enable}) }}
{{ partial('_scripts/index.njk', {}, {cache: theme.cache.enable}) }}
{{ partial('_third-party/index.njk', {}, {cache: theme.cache.enable}) }}
{{ partial('_third-party/statistics/index.njk', {}, {cache: theme.cache.enable}) }}
{%- include '_third-party/math/index.njk' -%}
{%- include '_third-party/quicklink.njk' -%}
{{- next_inject('head') }}
<noscript>
<link rel="stylesheet" href="{{ url_for(theme.css) }}/noscript.css">
</noscript>
</head>
<body itemscope itemtype="http://schema.org/WebPage"{% if theme.motion.enable %} class="use-motion"{% endif %}>
<div class="headband"></div>
<main class="main">
<div class="column">
<header class="header" itemscope itemtype="http://schema.org/WPHeader">
{%- include '_partials/header/index.njk' -%}
</header>
{%- if theme.sidebar.display !== 'remove' %}
{% block sidebar %}{% endblock %}
{%- endif %}
</div>
<div class="main-inner {% block class %}{% endblock %}">
{%- include '_partials/header/sub-menu.njk' -%}
{% block content %}{% endblock %}
{%- include '_partials/comments.njk' -%}
</div>
</main>
<footer class="footer">
<div class="footer-inner">
{%- include '_partials/languages.njk' -%}
{{ partial('_partials/footer.njk', {}, {cache: theme.cache.enable}) }}
</div>
</footer>
{{ partial('_partials/widgets.njk', {}, {cache: theme.cache.enable}) }}
{{- next_inject('bodyEnd') }}
</body>
</html>

View File

@ -0,0 +1,41 @@
{% macro render(posts) %}
{%- set current_year = '1970' %}
{%- for post in posts.toArray() %}
{%- set year = date(post.date, 'YYYY') %}
{%- if year !== current_year %}
{%- set current_year = year %}
<div class="collection-year">
<span class="collection-header">{{ current_year }}{% if is_archive() %}<span class="collection-year-count">{{ post_count(year) }}</span>{% endif %}</span>
</div>
{%- endif %}
<article itemscope itemtype="http://schema.org/Article">
<header class="post-header">
<div class="post-meta-container">
<time itemprop="dateCreated"
datetime="{{ moment(post.date).format() }}"
content="{{ date(post.date, config.date_format) }}">
{{ date(post.date, 'MM-DD') }}
</time>
</div>
<div class="post-title">
{%- if post.link %}{# Link posts #}
{%- set postTitleIcon = '<i class="fa fa-external-link-alt"></i>' %}
{%- set postText = post.title or post.link %}
{{ next_url(post.link, postText + postTitleIcon, {class: 'post-title-link post-title-link-external', itemprop: 'url'}) }}
{% else %}
<a class="post-title-link" href="{{ url_for(post.path) }}" itemprop="url">
<span itemprop="name">{{ post.title or __('post.untitled') }}</span>
</a>
{%- endif %}
</div>
{{ post_gallery(post.photos) }}
</header>
</article>
{%- endfor %}
{% endmacro %}

View File

@ -0,0 +1,158 @@
{##################}
{### POST BLOCK ###}
{##################}
<div class="post-block">
{# Gallery support #}
{{ post_gallery(post.photos) }}
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="{{ post.lang }}">
<link itemprop="mainEntityOfPage" href="{{ post.permalink }}">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="{{ url_for(theme.avatar.url or theme.images + '/avatar.gif') }}">
<meta itemprop="name" content="{{ author }}">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="{{ title }}">
<meta itemprop="description" content="{{ description }}">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content="{{ escape_html(page.title or '') + ' | ' + title }}">
<meta itemprop="description" content="{{ escape_html(page.description or '') }}">
</span>
{%- if post.header !== false %}
<header class="post-header">
<{% if is_index %}h2{% else %}h1{% endif %} class="post-title{% if post.direction and post.direction.toLowerCase() === 'rtl' %} rtl{% endif %}" itemprop="name headline">
{# Link posts #}
{%- if post.link %}
{%- if post.sticky > 0 %}
<span class="post-sticky-flag" title="{{ __('post.sticky') }}">
<i class="fa fa-thumbtack"></i>
</span>
{%- endif %}
{%- set postTitleIcon = '<i class="fa fa-external-link-alt"></i>' %}
{%- set postText = post.title or post.link %}
{{- next_url(post.link, postText + postTitleIcon, {class: 'post-title-link post-title-link-external', itemprop: 'url'}) }}
{% elif is_index %}
{%- if post.sticky > 0 %}
<span class="post-sticky-flag" title="{{ __('post.sticky') }}">
<i class="fa fa-thumbtack"></i>
</span>
{%- endif %}
{{- next_url(post.path, post.title or __('post.untitled'), {class: 'post-title-link', itemprop: 'url'}) }}
{%- else %}
{{- post.title }}
{{- post_edit(post.source) }}
{%- endif %}
</{% if is_index %}h2{% else %}h1{% endif %}>
<div class="post-meta-container">
{{ partial('_partials/post/post-meta.njk') }}
{%- if post.description and (not theme.excerpt_description or not is_index) %}
<div class="post-description">{{ post.description }}</div>
{%- endif %}
</div>
</header>
{%- endif %}
{#################}
{### POST BODY ###}
{#################}
<div class="post-body{% if post.direction and post.direction.toLowerCase() === 'rtl' %} rtl{% endif %}" itemprop="articleBody">
{%- if is_index %}
{%- if post.description and theme.excerpt_description %}
<p>{{ post.description }}</p>
<!--noindex-->
{%- if theme.read_more_btn %}
<div class="post-button">
<a class="btn" href="{{ url_for(post.path) }}">
{{ __('post.read_more') }} &raquo;
</a>
</div>
{%- endif %}
<!--/noindex-->
{% elif post.excerpt %}
{{ post.excerpt }}
<!--noindex-->
{%- if theme.read_more_btn %}
<div class="post-button">
<a class="btn" href="{{ url_for(post.path) }}#more" rel="contents">
{{ __('post.read_more') }} &raquo;
</a>
</div>
{%- endif %}
<!--/noindex-->
{% else %}
{{ post.content }}
{%- endif %}
{% else %}
{{- next_inject('postBodyStart') }}
{{- post.content }}
{%- endif %}
</div>
{#####################}
{### END POST BODY ###}
{#####################}
<footer class="post-footer">
{%- if is_index %}
<div class="post-eof"></div>
{% else %}
{{- next_inject('postBodyEnd') }}
{%- if post.reward_settings.enable %}
{{ partial('_partials/post/post-reward.njk') }}
{%- endif %}
{%- if theme.creative_commons.license and theme.creative_commons.post and post.copyright !== false %}
{{ partial('_partials/post/post-copyright.njk') }}
{%- endif %}
{%- if theme.follow_me %}
{{ partial('_partials/post/post-followme.njk', {}, {cache: theme.cache.enable}) }}
{%- endif %}
{%- if post.tags and post.tags.length %}
{%- set tag_indicate = '<i class="fa fa-tag"></i>' if theme.tag_icon else '#' %}
<div class="post-tags">
{%- for tag in post.tags.toArray() %}
<a href="{{ url_for(tag.path) }}" rel="tag">{{ tag_indicate }} {{ tag.name }}</a>
{%- endfor %}
</div>
{%- endif %}
{{ partial('_partials/post/post-share.njk', {}, {cache: theme.cache.enable}) }}
{%- if theme.post_navigation and (post.prev or post.next) %}
{%- set prev = post.prev if theme.post_navigation === 'right' else post.next %}
{%- set next = post.next if theme.post_navigation === 'right' else post.prev %}
<div class="post-nav">
<div class="post-nav-item">
{%- if prev %}
<a href="{{ url_for(prev.path) }}" rel="prev" title="{{ escape_html(prev.title or '') }}">
<i class="fa fa-angle-left"></i> {{ prev.title }}
</a>
{%- endif %}
</div>
<div class="post-nav-item">
{%- if next %}
<a href="{{ url_for(next.path) }}" rel="next" title="{{ escape_html(next.title or '') }}">
{{ next.title }} <i class="fa fa-angle-right"></i>
</a>
{%- endif %}
</div>
</div>
{%- endif %}
{%- endif %}
</footer>
</article>
</div>
{######################}
{### END POST BLOCK ###}
{######################}

View File

@ -0,0 +1,77 @@
{% macro render(display_toc) %}
<aside class="sidebar">
{%- if display_toc %}
{%- set toc = toc(page.content, {class: 'nav', list_number: page.toc.number, max_depth: page.toc.max_depth}) %}
{%- set display_toc = toc.length > 1 and display_toc %}
{%- endif %}
<div class="sidebar-inner {% if display_toc %}sidebar-nav-active sidebar-toc-active{% else %}sidebar-overview-active{% endif %}">
<ul class="sidebar-nav">
<li class="sidebar-nav-toc">
{{ __('sidebar.toc') }}
</li>
<li class="sidebar-nav-overview">
{{ __('sidebar.overview') }}
</li>
</ul>
<div class="sidebar-panel-container">
<!--noindex-->
<div class="post-toc-wrap sidebar-panel">
{%- if display_toc %}
<div class="post-toc animated">{{ toc }}</div>
{%- endif %}
</div>
<!--/noindex-->
<div class="site-overview-wrap sidebar-panel">
{{ partial('_partials/sidebar/site-overview.njk', {}, {cache: theme.cache.enable}) }}
{{- next_inject('sidebar') }}
</div>
</div>
{%- if theme.back2top.enable and theme.back2top.sidebar %}
<div class="back-to-top animated" role="button" aria-label="{{ __('accessibility.back_to_top') }}">
<i class="fa fa-arrow-up"></i>
<span>0%</span>
</div>
{%- endif %}
</div>
{# Blogroll #}
{%- if theme.links %}
<div class="sidebar-inner sidebar-blogroll">
<div class="links-of-blogroll animated">
<div class="links-of-blogroll-title">
{%- if theme.links_settings.icon %}<i class="{{ theme.links_settings.icon }} fa-fw"></i>{% endif %}
{{ __('sidebar.links') }}
</div>
<ul class="links-of-blogroll-list">
{%- for blogrollText, blogrollURL in theme.links %}
<li class="links-of-blogroll-item">
{{ next_url(blogrollURL, blogrollText, {title: blogrollURL}) }}
</li>
{%- endfor %}
</ul>
</div>
</div>
{%- endif %}
{%- if theme.related_posts.enable %}
{%- if theme.pjax %}
<div class="pjax">
{%- endif %}
{%- if page.related_posts and page.related_posts.length > 0 %}
<div class="sidebar-inner sidebar-post-related">
<div class="animated">
{{ partial('_partials/post/post-related.njk') }}
</div>
</div>
{%- endif %}
{%- if theme.pjax %}
</div>
{%- endif %}
{%- endif %}
</aside>
{% endmacro %}

View File

@ -0,0 +1,35 @@
{%- if page.comments %}
{%- if theme.injects.comment.length == 1 %}
{%- set inject_item = theme.injects.comment[0] %}
{{ partial(inject_item.layout, inject_item.locals, inject_item.options) }}
{%- elif theme.injects.comment.length > 1 %}
{%- if theme.comments.style == 'buttons' %}
<div class="comment-button-group">
{%- for inject_item in theme.injects.comment %}
<a class="btn comment-button {{ inject_item.locals.class }}">{{ inject_item.locals.button }}</a>
{%- endfor %}
</div>
{%- for inject_item in theme.injects.comment %}
<div class="comment-position {{ inject_item.locals.class }}">
{{ partial(inject_item.layout, inject_item.locals, inject_item.options) }}
</div>
{%- endfor %}
{{- next_js('comments-buttons.js', { pjax: true }) }}
{%- elif theme.comments.style == 'tabs' %}
<div class="tabs tabs-comment">
<ul class="nav-tabs">
{%- for inject_item in theme.injects.comment %}
<li class="tab"><a href="#comment-{{ inject_item.locals.class }}">{{ inject_item.locals.button }}</a></li>
{%- endfor %}
</ul>
<div class="tab-content">
{%- for inject_item in theme.injects.comment %}
<div class="tab-pane {{ inject_item.locals.class }}" id="comment-{{ inject_item.locals.class }}">
{{ partial(inject_item.layout, inject_item.locals, inject_item.options) }}
</div>
{%- endfor %}
</div>
</div>
{%- endif %}
{%- endif %}
{%- endif %}

View File

@ -0,0 +1,86 @@
{%- if theme.footer.beian.enable %}
<div class="beian">
{{- next_url('https://beian.miit.gov.cn', theme.footer.beian.icp + ' ') }}
{%- if theme.footer.beian.gongan_icon_url %}
<img src="{{ url_for(theme.footer.beian.gongan_icon_url) }}" alt="">
{%- endif %}
{%- if theme.footer.beian.gongan_id and theme.footer.beian.gongan_num %}
{{- next_url('https://beian.mps.gov.cn/#/query/webSearch?code=' + theme.footer.beian.gongan_id, theme.footer.beian.gongan_num + ' ') }}
{%- endif %}
</div>
{%- endif %}
{%- if theme.footer.copyright !== false %}
<div class="copyright">
{%- set copyright_year = date(null, 'YYYY') %}
&copy; {% if theme.footer.since and theme.footer.since != copyright_year %}{{ theme.footer.since }} {% endif %}
<span itemprop="copyrightYear">{{ copyright_year }}</span>
<span class="with-love">
<i class="{{ theme.footer.icon.name }}"></i>
</span>
<span class="author" itemprop="copyrightHolder">{{ theme.footer.copyright or author }}</span>
</div>
{%- endif %}
{%- if config.symbols_count_time.total_symbols or config.symbols_count_time.total_time %}
<div class="wordcount">
{%- if config.symbols_count_time.total_symbols %}
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="fa fa-chart-line"></i>
</span>
{%- if theme.symbols_count_time.item_text_total %}
<span>{{ __('symbols_count_time.count_total') + __('symbol.colon') }}</span>
{%- endif %}
<span title="{{ __('symbols_count_time.count_total') }}">{{ symbolsCountTotal(site) }}</span>
</span>
{%- endif %}
{%- if config.symbols_count_time.total_time %}
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="fa fa-coffee"></i>
</span>
{%- if theme.symbols_count_time.item_text_total %}
<span>{{ __('symbols_count_time.time_total') }} &asymp;</span>
{%- endif %}
<span title="{{ __('symbols_count_time.time_total') }}">{{ symbolsTimeTotal(site, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes')) }}</span>
</span>
{%- endif %}
</div>
{%- endif %}
{%- if theme.busuanzi_count.enable %}
<div class="busuanzi-count">
{%- if theme.busuanzi_count.total_visitors %}
<span class="post-meta-item" id="busuanzi_container_site_uv">
<span class="post-meta-item-icon">
<i class="{{ theme.busuanzi_count.total_visitors_icon }}"></i>
</span>
<span class="site-uv" title="{{ __('footer.total_visitors') }}">
<span id="busuanzi_value_site_uv"></span>
</span>
</span>
{%- endif %}
{%- if theme.busuanzi_count.total_views %}
<span class="post-meta-item" id="busuanzi_container_site_pv">
<span class="post-meta-item-icon">
<i class="{{ theme.busuanzi_count.total_views_icon }}"></i>
</span>
<span class="site-pv" title="{{ __('footer.total_views') }}">
<span id="busuanzi_value_site_pv"></span>
</span>
</span>
{%- endif %}
</div>
{%- endif %}
{%- if theme.footer.powered %}
<div class="powered-by">
{%- set next_site = 'https://theme-next.js.org' if theme.scheme === 'Gemini' else 'https://theme-next.js.org/' + theme.scheme | lower + '/' %}
{{- __('footer.powered', next_url('https://hexo.io', 'Hexo') + ' & ' + next_url(next_site, 'NexT.' + theme.scheme)) }}
</div>
{%- endif %}
{{- next_inject('footer') }}

View File

@ -0,0 +1,24 @@
{%- if theme.open_graph.enable %}
{%- if theme.open_graph.options %}
{{ open_graph(theme.open_graph.options) }}
{%- else %}
{{ open_graph() }}
{%- endif %}
{%- endif %}
{# https://github.com/theme-next/hexo-theme-next/issues/866 #}
{%- set canonical = url | replace(r/index\.html$/, '') %}
{%- if not config.permalink.endsWith('.html') %}
{%- set canonical = canonical | replace(r/\.html$/, '') %}
{%- endif %}
<link rel="canonical" href="{{ canonical }}">
{%- if page.noindex %}
<meta name="robots" content="noindex">
{%- endif %}
{# Exports some front-matter variables to Front-End #}
{# https://hexo.io/docs/variables.html #}
{{ next_data('page', next_config_unique()) }}
{{ next_data('calendar',
theme.calendar if page.type === 'schedule' else '')
}}

View File

@ -0,0 +1,67 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
{%- if theme.darkmode %}
<meta name="theme-color" content="{{ theme.theme_color.light }}" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="{{ theme.theme_color.dark }}" media="(prefers-color-scheme: dark)">
{%- else %}
<meta name="theme-color" content="{{ theme.theme_color.light }}">
{%- endif %}
{%- if config.meta_generator %}
{{- meta_generator() }}
{%- endif %}
{%- if config.preconnect %}
<link rel="preload" href="{{ url_for(theme.css) }}/main.css" as="style">
{%- endif %}
{{ next_pre() }}
{%- if theme.favicon.apple_touch_icon %}
<link rel="apple-touch-icon" sizes="180x180" href="{{ url_for(theme.favicon.apple_touch_icon) }}">
{%- endif %}
{%- if theme.favicon.medium %}
<link rel="icon" type="image/png" sizes="32x32" href="{{ url_for(theme.favicon.medium) }}">
{%- endif %}
{%- if theme.favicon.small %}
<link rel="icon" type="image/png" sizes="16x16" href="{{ url_for(theme.favicon.small) }}">
{%- endif %}
{%- if theme.favicon.safari_pinned_tab %}
<link rel="mask-icon" href="{{ url_for(theme.favicon.safari_pinned_tab) }}" color="{{ theme.theme_color.light }}">
{%- endif %}
{%- if theme.favicon.android_manifest %}
<link rel="manifest" href="{{ url_for(theme.favicon.android_manifest) }}">
{%- endif %}
{%- if theme.google_site_verification %}
<meta name="google-site-verification" content="{{ theme.google_site_verification }}">
{%- endif %}
{%- if theme.bing_site_verification %}
<meta name="msvalidate.01" content="{{ theme.bing_site_verification }}">
{%- endif %}
{%- if theme.yandex_site_verification %}
<meta name="yandex-verification" content="{{ theme.yandex_site_verification }}">
{%- endif %}
{%- if theme.baidu_site_verification %}
<meta name="baidu-site-verification" content="{{ theme.baidu_site_verification }}">
{%- endif %}
<link rel="stylesheet" href="{{ url_for(theme.css) }}/main.css">
{{ next_font() }}
{{ next_vendors('fontawesome') }}
{%- if theme.motion.enable %}
{{ next_vendors('animate_css') }}
{%- endif %}
{%- if theme.fancybox %}
{{ next_vendors('fancybox_css') }}
{%- endif %}
{%- if theme.pace.enable %}
{{ next_vendors('pace_css') }}
{{ next_vendors('pace_js') }}
{%- endif %}
{{ next_data('main', next_config()) }}
{{- next_js('config.js') }}

View File

@ -0,0 +1,37 @@
<div class="site-brand-container">
<div class="site-nav-toggle">
<div class="toggle" aria-label="{{ __('accessibility.nav_toggle') }}" role="button">
{%- if theme.menu %}
<span class="toggle-line"></span>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
{%- endif %}
</div>
</div>
<div class="site-meta">
{%- if theme.custom_logo and theme.scheme === 'Muse' %}
<img class="custom-logo-image" src="{{ url_for(theme.custom_logo) }}" alt="{{ title }}">
{%- endif %}
<a href="{{ config.root }}" class="brand" rel="start">
<i class="logo-line"></i>
<{% if is_home() or is_archive() %}h1{% else %}p{% endif %} class="site-title">{{ title }}</{% if is_home() or is_archive() %}h1{% else %}p{% endif %}>
<i class="logo-line"></i>
</a>
{%- if subtitle %}
<p class="site-subtitle" itemprop="description">{{ subtitle }}</p>
{%- endif %}
{%- if theme.custom_logo and (theme.scheme === 'Gemini' or theme.scheme === 'Pisces') %}
<img class="custom-logo-image" src="{{ url_for(theme.custom_logo) }}" alt="{{ title }}">
{%- endif %}
</div>
<div class="site-nav-right">
<div class="toggle popup-trigger" aria-label="{{ __('menu.search') }}" role="button">
{%- if theme.algolia_search.enable or theme.local_search.enable %}
<i class="fa fa-search fa-fw fa-lg"></i>
{%- endif %}
</div>
</div>
</div>

View File

@ -0,0 +1,7 @@
{{ partial('_partials/header/brand.njk') }}
{{ partial('_partials/header/menu.njk', {}, {cache: theme.cache.enable}) }}
{{ partial('_partials/search/index.njk', {}, {cache: theme.cache.enable}) }}
{{- next_inject('header') }}

View File

@ -0,0 +1,28 @@
{% macro render(node) %}
{%- set itemURL = node.path %}
<li class="menu-item menu-item-{{ node.name | lower | replace(' ', '-') }}">
{%- set menuIcon = '<i class="' + node.icon + ' fa-fw"></i>' if theme.menu_settings.icons and node.icon else '' %}
{%- set menuText = __('menu.' + node.name) | replace('menu.', '') %}
{%- set menuBadge = '' %}
{%- if theme.menu_settings.badges %}
{%- set badges = {
archives : site.posts.length,
categories: site.categories.length,
tags : site.tags.length
}
%}
{%- for menu, count in badges %}
{%- if node.name == menu %}
{%- set menuBadge = '<span class="badge">' + count + '</span>' %}
{%- endif %}
{%- endfor %}
{%- endif %}
{{- next_url(itemURL, menuIcon + menuText + menuBadge, {rel: 'section'}) -}}
</li>
{% endmacro %}

View File

@ -0,0 +1,19 @@
{% import 'menu-item.njk' as menu_item with context %}
{%- if theme.menu or theme.algolia_search.enable or theme.local_search.enable %}
<nav class="site-nav">
<ul class="main-menu menu">
{%- for node in theme.main_menu %}
{{- menu_item.render(node) | trim }}
{%- endfor %}
{%- if theme.algolia_search.enable or theme.local_search.enable %}
<li class="menu-item menu-item-search">
<a role="button" class="popup-trigger">
{%- if theme.menu_settings.icons %}<i class="fa fa-search fa-fw"></i>{% endif %}{{ __('menu.search') }}
</a>
</li>
{%- endif %}
</ul>
</nav>
{%- endif %}

View File

@ -0,0 +1,12 @@
{% import '_partials/header/menu-item.njk' as menu_item with context %}
{%- if theme.menu and is_page() %}
{%- set menus = next_menu(page.path) %}
{%- for menu in menus %}
<ul class="sub-menu menu">
{%- for node in menu %}
{{ menu_item.render(node) }}
{%- endfor %}
</ul>
{%- endfor %}
{%- endif %}

View File

@ -0,0 +1,16 @@
{%- if theme.language_switcher and languages.length > 1 %}
<div class="languages">
<label class="lang-select-label">
<i class="fa fa-language"></i>
<span>{{ language_name(page.lang) }}</span>
<i class="fa fa-angle-up" aria-hidden="true"></i>
</label>
<select class="lang-select" data-canonical="" aria-label="{{ __('accessibility.select_lang') }}">
{% for language in languages %}
<option value="{{ language }}" data-href="{{ i18n_path(language) }}" selected="">
{{ language_name(language) }}
</option>
{% endfor %}
</select>
</div>
{%- endif %}

View File

@ -0,0 +1,30 @@
{%- set paths = page.path.split('/') %}
{%- set count = paths.length %}
{%- if count > 2 %}
{%- set link = '/' %}
<ul class="breadcrumb">
{%- for path in paths %}
{%- if path != 'index.html' %}
{%- if loop.index == count and path.endsWith('.html') %}
{%- set link = link + path %}
{%- else %}
{%- set link = link + path + '/' %}
{%- endif %}
{%- if theme.menu_map.has(link) %}
{%- set name = __('menu.' + theme.menu_map.get(link).name) | replace('menu.', '') %}
{%- else %}
{%- set name = path %}
{%- endif %}
{%- if loop.index == count - 1 and paths[loop.index] == 'index.html' %}
<li>{{ name | upper }}</li>
{%- else %}
{%- if path.endsWith('.html') %}
<li>{{ name | replace(r/\.html$/, '') | upper }}</li>
{%- else %}
<li><a href="{{ url_for(link) }}">{{ name | upper }}</a></li>
{%- endif %}
{%- endif %}
{%- endif %}
{%- endfor %}
</ul>
{%- endif %}

View File

@ -0,0 +1,8 @@
<div class="category-all-page">
<div class="category-all-title">
{{ _p('counter.categories', site.categories.length) }}
</div>
<div class="category-all">
{{ list_categories() }}
</div>
</div>

View File

@ -0,0 +1,15 @@
<header class="post-header">
<h1 class="post-title" itemprop="name headline">
{{- page.title }}
{{- post_edit(page.source) }}
</h1>
<div class="post-meta-container">
{%- if page.description %}
<div class="post-description">{{ page.description }}</div>
{%- endif %}
{%- include '_partials/page/breadcrumb.njk' -%}
</div>
</header>

View File

@ -0,0 +1,3 @@
<div class="event-list">
</div>
{{- next_js('schedule.js', { pjax: true }) }}

View File

@ -0,0 +1,16 @@
<div class="tag-cloud">
<div class="tag-cloud-title">
{{ _p('counter.tag_cloud', site.tags.length) }}
</div>
<div class="tag-cloud-tags">
{{ tagcloud({
min_font: theme.tagcloud.min,
max_font: theme.tagcloud.max,
amount : theme.tagcloud.amount,
orderby : theme.tagcloud.orderby,
order : theme.tagcloud.order,
class : 'tag-cloud'
})
}}
</div>
</div>

View File

@ -0,0 +1,5 @@
{%- if page.prev or page.next %}
<nav class="pagination">
{{ next_paginator() }}
</nav>
{%- endif %}

View File

@ -0,0 +1,34 @@
{%- set ccIcon = '<i class="fab fa-fw fa-creative-commons"></i>' %}
{%- set ccText = theme.creative_commons.license | upper %}
<div class="post-copyright">
<ul>
<li class="post-copyright-author">
{%- if page.author %}
<strong>{{ __('post.copyright.post_author') + __('symbol.colon') }} </strong>
{{- page.author }}
{%- elif author %}
<strong>{{ __('post.copyright.author') + __('symbol.colon') }} </strong>
{{- author }}
{%- endif %}
</li>
<li class="post-copyright-link">
{%- if page.post_link %}
<strong>{{ __('post.copyright.post_link') + __('symbol.colon') }}</strong>
{{ next_url(page.post_link, page.post_link, {title: page.title}) }}
{%- else %}
<strong>{{ __('post.copyright.link') + __('symbol.colon') }}</strong>
{{ next_url(page.permalink, page.permalink, {title: page.title}, true) }}
{%- endif %}
</li>
<li class="post-copyright-license">
{%- if page.copyright_reprint %}
<strong>{{ __('post.copyright.license_title') + __('symbol.colon') }} </strong>
{{- __('post.copyright.license_content_reprint', next_url(ccURL, ccIcon + ccText)) }}
{%- else %}
<strong>{{ __('post.copyright.license_title') + __('symbol.colon') }} </strong>
{{- __('post.copyright.license_content', next_url(ccURL, ccIcon + ccText)) }}
{%- endif %}
</li>
</ul>
</div>

View File

@ -0,0 +1,32 @@
<div class="followme">
<span>{{ __('follow_me.welcome') }}</span>
<div class="social-list">
{%- for name, value in theme.follow_me %}
{%- set link = value.split('||')[0] | trim %}
{%- set icon = value.split('||')[1] | trim if value.split('||')[1] else '' %}
<div class="social-item">
{%- if link.endsWith('.png') or link.endsWith('.jpg') %}
<span class="social-link">
<span class="icon">
<i class="{{ icon }}"></i>
</span>
<span class="label">{{ name }}</span>
</span>
<img class="social-item-img" src="{{ url_for(link) }}">
{%- else %}
<a target="_blank" class="social-link" href="{{ url_for(link) }}">
<span class="icon">
<i class="{{ icon }}"></i>
</span>
<span class="label">{{ name }}</span>
</a>
{%- endif %}
</div>
{%- endfor %}
</div>
</div>

View File

@ -0,0 +1,107 @@
<div class="post-meta">
{%- set date_diff = date(post.date) != date(post.updated) %}
{%- set time_diff = time(post.date) != time(post.updated) %}
{%- if theme.post_meta.created_at %}
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">{{ __('post.posted') }}</span>
{%- if not date_diff and time_diff and theme.post_meta.updated_at.enable and theme.post_meta.updated_at.another_day %}
{%- set create_title = __('post.created') + __('symbol.colon') + full_date(post.date) + ' / ' + __('post.modified') + __('symbol.colon') + time(post.updated) %}
{% else %}
{%- set create_title = __('post.created') + __('symbol.colon') + full_date(post.date) %}
{%- endif %}
<time title="{{ create_title }}" itemprop="dateCreated datePublished" datetime="{{ moment(post.date).format() }}">{{ date(post.date) }}</time>
</span>
{%- endif %}
{%- if theme.post_meta.updated_at.enable and (not theme.post_meta.updated_at.another_day or date_diff or not theme.post_meta.created_at) %}
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">{{ __('post.edited') }}</span>
<time title="{{ __('post.modified') + __('symbol.colon') + full_date(post.updated) }}" itemprop="dateModified" datetime="{{ moment(post.updated).format() }}">{{ date(post.updated) }}</time>
</span>
{%- endif %}
{%- if post.categories and post.categories.length and theme.post_meta.categories %}
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-folder"></i>
</span>
<span class="post-meta-item-text">{{ __('post.in') }}</span>
{%- for cat in post.categories.toArray() %}
<span itemprop="about" itemscope itemtype="http://schema.org/Thing">
<a href="{{ url_for(cat.path) }}" itemprop="url" rel="index"><span itemprop="name">{{ cat.name }}</span></a>
</span>
{%- set cat_length = post.categories.length %}
{%- if cat_length > 1 and loop.index !== cat_length %}
{{ __('symbol.comma') }}
{%- endif %}
{%- endfor %}
</span>
{%- endif %}
{# LeanCloud PageView #}
{%- if theme.leancloud_visitors.enable %}
<span id="{{ url_for(post.path) }}" class="post-meta-item leancloud_visitors" data-flag-title="{{ post.title }}" title="{{ __('post.views') }}">
<span class="post-meta-item-icon">
<i class="far fa-eye"></i>
</span>
<span class="post-meta-item-text">{{ __('post.views') + __('symbol.colon') }}</span>
<span class="leancloud-visitors-count"></span>
</span>
{%- endif %}
{%- if theme.firestore.enable %}
<span class="post-meta-item" title="{{ __('post.views') }}">
<span class="post-meta-item-icon">
<i class="far fa-eye"></i>
</span>
<span class="post-meta-item-text">{{ __('post.views') + __('symbol.colon') }}</span>
<span class="firestore-visitors-count"></span>
</span>
{%- endif %}
{%- if not is_index and theme.busuanzi_count.enable and theme.busuanzi_count.post_views %}
<span class="post-meta-item" title="{{ __('post.views') }}" id="busuanzi_container_page_pv">
<span class="post-meta-item-icon">
<i class="{{ theme.busuanzi_count.post_views_icon }}"></i>
</span>
<span class="post-meta-item-text">{{ __('post.views') + __('symbol.colon') }}</span>
<span id="busuanzi_value_page_pv"></span>
</span>
{%- endif %}
{{- next_inject('postMeta') }}
{%- if theme.symbols_count_time.separated_meta and config.symbols_count_time.symbols and config.symbols_count_time.time %}
<span class="post-meta-break"></span>
{%- endif %}
{%- if config.symbols_count_time.symbols %}
<span class="post-meta-item" title="{{ __('symbols_count_time.count') }}">
<span class="post-meta-item-icon">
<i class="far fa-file-word"></i>
</span>
<span class="post-meta-item-text">{{ __('symbols_count_time.count') + __('symbol.colon') }}</span>
<span>{{ symbolsCount(post) }}</span>
</span>
{%- endif %}
{%- if config.symbols_count_time.time %}
<span class="post-meta-item" title="{{ __('symbols_count_time.time') }}">
<span class="post-meta-item-icon">
<i class="far fa-clock"></i>
</span>
<span class="post-meta-item-text">{{ __('symbols_count_time.time') }} &asymp;</span>
<span>{{ symbolsTime(post, config.symbols_count_time.awl, config.symbols_count_time.wpm, __('symbols_count_time.time_minutes')) }}</span>
</span>
{%- endif %}
</div>

View File

@ -0,0 +1,18 @@
<div class="links-of-blogroll-title">
{%- if theme.related_posts.icon %}<i class="{{ theme.related_posts.icon }} fa-fw"></i>{% endif %}
{{ __('post.related_posts') }}
</div>
<ul class="popular-posts">
{%- for path in page.related_posts %}
{%- set popular_post = site.posts.findOne({ path: path }) %}
<li class="popular-posts-item">
<a class="popular-posts-link" href="{{ url_for(popular_post.path) }}" rel="bookmark">
{%- if popular_post.date %}
<time class="popular-posts-time">{{ date(popular_post.date) }}</time>
<br>
{%- endif %}
{{ popular_post.title }}
</a>
</li>
{%- endfor %}
</ul>

View File

@ -0,0 +1,18 @@
<div class="reward-container">
<div>{{ __('reward.comment') }}</div>
<button>
{{ __('reward.donate') }}
</button>
<div class="post-reward">
{%- for name, image in theme.reward %}
{%- set builtin = ['wechatpay', 'alipay', 'paypal', 'bitcoin'] %}
{%- set translation = __('reward.' + name) if builtin.includes(name) else name %}
<div>
<img src="{{ url_for(image) }}" alt="{{ author }} {{ translation }}">
<span>{{ translation }}</span>
</div>
{%- endfor %}
</div>
</div>

View File

@ -0,0 +1,8 @@
{%- if theme.addtoany.enable %}
<div class="social-like a2a_kit a2a_kit_size_32 a2a_default_style">
<a class="a2a_dd" href="https://www.addtoany.com/share"></a>
{%- for button in theme.addtoany.buttons %}
<a class="a2a_button_{{ button }}"></a>
{%- endfor %}
</div>
{%- endif %}

View File

@ -0,0 +1,24 @@
{%- if theme.algolia_search.enable or theme.local_search.enable %}
<div class="search-pop-overlay">
<div class="popup search-popup">
<div class="search-header">
<span class="search-icon">
<i class="fa fa-search"></i>
</span>
<div class="search-input-container">
<input autocomplete="off" autocapitalize="off" maxlength="80"
placeholder="{{ __('search.placeholder') }}" spellcheck="false"
type="search" class="search-input">
</div>
<span class="popup-btn-close" role="button">
<i class="fa fa-times-circle"></i>
</span>
</div>
<div class="search-result-container">
<div class="search-result-icon">
<i class="{% if theme.algolia_search.enable %}fab fa-algolia{% elif theme.local_search.enable %}fa fa-spinner fa-pulse{% endif %} fa-5x"></i>
</div>
</div>
</div>
</div>
{%- endif %}

View File

@ -0,0 +1,81 @@
<div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
{%- if theme.avatar.url %}
<img class="site-author-image" itemprop="image" alt="{{ author }}"
src="{{ url_for(theme.avatar.url) }}">
{%- endif %}
<p class="site-author-name" itemprop="name">{{ author }}</p>
<div class="site-description" itemprop="description">{{ description }}</div>
</div>
{%- if theme.site_state %}
<div class="site-state-wrap animated">
<nav class="site-state">
{%- if config.archive_dir != '/' and site.posts.length > 0 %}
<div class="site-state-item site-state-posts">
{%- set archive_dir = theme.menu.archives.split('||')[0] | trim if theme.menu.archives else config.archive_dir + '/' %}
<a href="{{ url_for(archive_dir) }}">
<span class="site-state-item-count">{{ site.posts.length }}</span>
<span class="site-state-item-name">{{ __('state.posts') }}</span>
</a>
</div>
{%- endif %}
{%- if site.categories.length > 0 %}
{%- set categoriesPageQuery = site.pages.find({type: 'categories'}, {lean: true}) %}
{%- set hasCategoriesPage = categoriesPageQuery.length > 0 %}
<div class="site-state-item site-state-categories">
{%- set category_dir = theme.menu.categories.split('||')[0] | trim if theme.menu.categories else config.category_dir + '/' %}
{%- if hasCategoriesPage %}
<a href="{{ url_for(category_dir) }}">
{%- endif %}
<span class="site-state-item-count">{{ site.categories.length }}</span>
<span class="site-state-item-name">{{ __('state.categories') }}</span>
{%- if hasCategoriesPage %}</a>{% endif %}
</div>
{%- endif %}
{%- if site.tags.length > 0 %}
{%- set tagsPageQuery = site.pages.find({type: 'tags'}, {lean: true}) %}
{%- set hasTagsPage = tagsPageQuery.length > 0 %}
<div class="site-state-item site-state-tags">
{%- set tag_dir = theme.menu.tags.split('||')[0] | trim if theme.menu.tags else config.tag_dir + '/' %}
{%- if hasTagsPage %}
<a href="{{ url_for(tag_dir) }}">
{%- endif %}
<span class="site-state-item-count">{{ site.tags.length }}</span>
<span class="site-state-item-name">{{ __('state.tags') }}</span>
{%- if hasTagsPage %}</a>{% endif %}
</div>
{%- endif %}
</nav>
</div>
{%- endif %}
{%- if theme.chat.enable and (theme.chatra.enable or theme.tidio.enable) %}
<div class="sidebar-button animated">
<button>
{%- if theme.chat.icon %}<i class="{{ theme.chat.icon }}"></i>{% endif %}
{{ __('widget.chat') }}
</button>
</div>
{%- endif %}
{%- if theme.social %}
<div class="links-of-author animated">
{%- for name, link in theme.social %}
<span class="links-of-author-item">
{%- set sidebarURL = link.split('||')[0] | trim %}
{%- set sidebarIcon = '<i class="' + link.split('||')[1] | trim + ' fa-fw"></i>' if theme.social_icons.enable and link.split('||')[1] else '' %}
{%- set sidebarText = '' if (theme.social_icons.enable and theme.social_icons.icons_only) else name %}
{{ next_url(sidebarURL, sidebarIcon + sidebarText, {title: name + ' → ' + sidebarURL, rel: 'noopener me'}) }}
</span>
{%- endfor %}
</div>
{%- endif %}
{%- if theme.creative_commons.license and theme.creative_commons.sidebar %}
<div class="cc-license animated" itemprop="license">
{%- set ccImage = '<img src="' + theme.vendors.creative_commons.url + '" alt="Creative Commons">' %}
{{ next_url(ccURL, ccImage, {class: 'cc-opacity'}) }}
</div>
{%- endif %}

View File

@ -0,0 +1,38 @@
{# Widgets with fixed position #}
{%- if theme.sidebar.display !== 'remove' %}
<div class="toggle sidebar-toggle" role="button">
<span class="toggle-line"></span>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
</div>
<div class="sidebar-dimmer"></div>
{%- endif %}
{%- if theme.back2top.enable and not theme.back2top.sidebar %}
<div class="back-to-top" role="button" aria-label="{{ __('accessibility.back_to_top') }}">
<i class="fa fa-arrow-up fa-lg"></i>
<span>0%</span>
</div>
{%- endif %}
{%- if theme.reading_progress.enable %}
<div class="reading-progress-bar"></div>
{%- endif %}
{%- if theme.bookmark.enable %}
<a role="button" class="book-mark-link book-mark-link-fixed"></a>
{%- endif %}
{%- if theme.github_banner.enable %}
{%- set github_URL = theme.github_banner.permalink %}
{%- set github_title = __('widget.github') %}
{%- set github_image = '<svg width="80" height="80" viewBox="0 0 250 250" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg>' %}
{{ next_url(github_URL, github_image, {class: 'github-corner', title: github_title, "aria-label": github_title}) }}
{%- endif %}
<noscript>
<div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
</noscript>

View File

@ -0,0 +1,22 @@
{%- include 'vendors.njk' -%}
{%- if theme.injects.comment.length > 1 %}
{{- next_js('comments.js') }}
{%- endif %}
{{- next_js('utils.js') }}
{%- if theme.motion.enable %}
{{- next_js('motion.js') }}
{%- endif %}
{%- if theme.sidebar.display !== 'remove' %}
{{- next_js('sidebar.js') }}
{%- endif %}
{{- next_js('next-boot.js') }}
{%- if theme.bookmark.enable %}
{{- next_js('bookmark.js') }}
{%- endif %}
{%- if theme.pjax %}
{{- next_js('pjax.js') }}
{%- endif %}

View File

@ -0,0 +1,7 @@
{%- if theme.canvas_ribbon.enable %}
<script size="{{ theme.canvas_ribbon.size }}" alpha="{{ theme.canvas_ribbon.alpha }}" zIndex="{{ theme.canvas_ribbon.zIndex }}" src="{{ theme.vendors.canvas_ribbon.url }}" defer></script>
{%- endif %}
{%- for name in js_vendors() %}
{{ next_vendors(name) }}
{%- endfor %}

View File

@ -0,0 +1,3 @@
{%- if theme.addtoany.enable %}
{{ next_js('third-party/addtoany.js') }}
{%- endif %}

View File

@ -0,0 +1,4 @@
{%- if theme.baidu_analytics %}
{{ next_js('third-party/analytics/baidu-analytics.js') }}
<script async src="https://hm.baidu.com/hm.js?{{ theme.baidu_analytics }}"></script>
{%- endif %}

View File

@ -0,0 +1,3 @@
{%- if theme.cloudflare_analytics %}
<script{{ pjax }} defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{&quot;token&quot;: &quot;{{ theme.cloudflare_analytics }}&quot;}'></script>
{%- endif %}

View File

@ -0,0 +1,7 @@
{%- if theme.google_analytics.tracking_id %}
{%- if not theme.google_analytics.only_pageview %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ theme.google_analytics.tracking_id }}"></script>
{%- endif %}
{{ next_data('google_analytics', theme.google_analytics) }}
{{ next_js('third-party/analytics/google-analytics.js') }}
{%- endif %}

View File

@ -0,0 +1,5 @@
{%- if theme.growingio_analytics %}
<script async src="//assets.growingio.com/2.1/gio.js"></script>
{{ next_data('growingio_analytics', theme.growingio_analytics) }}
{{ next_js('third-party/analytics/growingio.js') }}
{%- endif %}

View File

@ -0,0 +1,8 @@
{%- include 'google-analytics.njk' -%}
{%- include 'baidu-analytics.njk' -%}
{%- include 'growingio.njk' -%}
{%- include 'cloudflare.njk' -%}
{%- include 'microsoft-clarity.njk' -%}
{%- include 'matomo.njk' -%}
{%- include 'umami.njk' -%}
{%- include 'plausible.njk' -%}

View File

@ -0,0 +1,4 @@
{%- if theme.matomo.enable %}
{{ next_data('matomo', theme.matomo) }}
{{ next_js('third-party/analytics/matomo.js') }}
{%- endif %}

View File

@ -0,0 +1,9 @@
{%- if theme.clarity_analytics %}
<script>
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "{{ theme.clarity_analytics }}");
</script>
{%- endif %}

View File

@ -0,0 +1,3 @@
{%- if theme.plausible.enable %}
<script defer data-domain="{{ theme.plausible.site_domain }}" src="{{ theme.plausible.script_url }}"></script>
{%- endif %}

View File

@ -0,0 +1,3 @@
{%- if theme.umami.enable %}
<script async defer data-website-id="{{ theme.umami.website_id }}" src="{{ theme.umami.script_url }}"{% if theme.umami.host_url %} data-host-url="{{ theme.umami.host_url }}"{% endif %}></script>
{%- endif %}

View File

@ -0,0 +1,3 @@
{{ next_data('chatra', theme.chatra) }}
{{ next_js('third-party/chat/chatra.js') }}
<script{{ ' async' if theme.chatra.async }} src="https://call.chatra.io/chatra.js"></script>

View File

@ -0,0 +1,2 @@
<script src="//code.tidio.co/{{ theme.tidio.key }}.js"></script>
{{ next_js('third-party/chat/tidio.js') }}

View File

@ -0,0 +1,2 @@
{{ next_data('changyan', theme.changyan) }}
{{ next_js('third-party/comments/changyan.js') }}

View File

@ -0,0 +1,6 @@
{{ next_data('disqus', theme.disqus, {
i18n: {
disqus: __('disqus')
}
}) }}
{{ next_js('third-party/comments/disqus.js') }}

View File

@ -0,0 +1,6 @@
{{ next_vendors('disqusjs_css') }}
{{ next_data('disqusjs', theme.disqusjs, {
js: theme.vendors.disqusjs_js
}) }}
{{ next_js('third-party/comments/disqusjs.js') }}

View File

@ -0,0 +1,7 @@
{{ next_vendors('gitalk_css') }}
{{ next_data('gitalk', theme.gitalk, {
js: theme.vendors.gitalk_js,
path_md5: gitalk_md5(page.path)
}) }}
{{ next_js('third-party/comments/gitalk.js') }}

View File

@ -0,0 +1,2 @@
{{ next_data('isso', theme.isso) }}
{{ next_js('third-party/comments/isso.js') }}

View File

@ -0,0 +1 @@
{{ next_js('third-party/comments/livere.js') }}

View File

@ -0,0 +1,2 @@
{{ next_data('utterances', theme.utterances) }}
{{ next_js('third-party/comments/utterances.js') }}

View File

@ -0,0 +1,3 @@
{%- if theme.fancybox %}
{{ next_js('third-party/fancybox.js') }}
{%- endif %}

View File

@ -0,0 +1,19 @@
{%- if theme.algolia_search.enable %}
{%- include 'search/algolia-search.njk' -%}
{%- elif theme.local_search.enable %}
{%- include 'search/localsearch.njk' -%}
{%- endif %}
{%- if theme.chatra.enable %}
{%- include 'chat/chatra.njk' -%}
{%- elif theme.tidio.enable %}
{%- include 'chat/tidio.njk' -%}
{%- endif %}
{%- include 'tags/pdf.njk' -%}
{%- include 'tags/mermaid.njk' -%}
{%- include 'tags/wavedrom.njk' -%}
{%- include 'fancybox.njk' -%}
{%- include 'pace.njk' -%}
{%- include 'addtoany.njk' -%}

View File

@ -0,0 +1,26 @@
{%- if theme.math.mathjax.enable or theme.math.katex.enable %}
{%- set enable_math = false %}
{%- set is_index_has_math = false %}
{# At home, check if there has `mathjax: true` post #}
{%- if is_home() and not theme.math.every_page %}
{%- for post in page.posts.toArray() %}
{%- if post.mathjax and not is_index_has_math %}
{%- set is_index_has_math = true %}
{%- endif %}
{%- endfor %}
{%- endif %}
{%- if theme.math.every_page or is_index_has_math or page.mathjax %}
{%- set enable_math = true %}
{%- endif %}
{{ next_data('enableMath', enable_math) }}
{%- if theme.math.mathjax.enable %}
{%- include '_third-party/math/mathjax.njk' -%}
{% elif theme.math.katex.enable %}
{%- include '_third-party/math/katex.njk' -%}
{%- endif %}
{%- endif %}

View File

@ -0,0 +1,7 @@
{{ next_vendors('katex') }}
{%- if theme.math.katex.copy_tex %}
{{ next_data('katex', {
copy_tex_js: theme.vendors.copy_tex_js
}) }}
{{ next_js('third-party/math/katex.js') }}
{%- endif %}

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