first commit
20
.drone.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: exec
|
||||||
|
name: mozzie.cn发布内容
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: greeting
|
||||||
|
commands:
|
||||||
|
- echo 开始构建mozzie.cn
|
||||||
|
|
||||||
|
- name: publish
|
||||||
|
commands:
|
||||||
|
- ls
|
||||||
|
- cp -rf css /www/wwwroot/nginx/html/www.mozzie.cn/
|
||||||
|
- cp -rf doc@ /www/wwwroot/nginx/html/www.mozzie.cn/
|
||||||
|
- cp -rf favicon.png /www/wwwroot/nginx/html/www.mozzie.cn/
|
||||||
|
- cp -rf img /www/wwwroot/nginx/html/www.mozzie.cn/
|
||||||
|
- cp -rf index.html /www/wwwroot/nginx/html/www.mozzie.cn/
|
||||||
|
- cp -rf js /www/wwwroot/nginx/html/www.mozzie.cn/
|
||||||
|
- echo 构建完成
|
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
**/node_modules
|
||||||
|
**/dist
|
||||||
|
**/.DS_Store
|
105
_config.yml
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
# Hexo Configuration
|
||||||
|
## Docs: https://hexo.io/docs/configuration.html
|
||||||
|
## Source: https://github.com/hexojs/hexo/
|
||||||
|
|
||||||
|
# Site
|
||||||
|
title: Hexo
|
||||||
|
subtitle: ''
|
||||||
|
description: ''
|
||||||
|
keywords:
|
||||||
|
author: John Doe
|
||||||
|
language: en
|
||||||
|
timezone: ''
|
||||||
|
|
||||||
|
# URL
|
||||||
|
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
|
||||||
|
url: http://example.com
|
||||||
|
permalink: :year/:month/:day/: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
|
||||||
|
highlight:
|
||||||
|
enable: true
|
||||||
|
line_number: true
|
||||||
|
auto_detect: false
|
||||||
|
tab_replace: ''
|
||||||
|
wrap: true
|
||||||
|
hljs: false
|
||||||
|
prismjs:
|
||||||
|
enable: false
|
||||||
|
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: 10
|
||||||
|
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: hexo-theme-linear
|
||||||
|
|
||||||
|
# Deployment
|
||||||
|
## Docs: https://hexo.io/docs/one-command-deployment
|
||||||
|
deploy:
|
||||||
|
type: ''
|
26
package.json
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"name": "my-hexo-blog",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"build": "hexo generate",
|
||||||
|
"clean": "hexo clean",
|
||||||
|
"deploy": "hexo deploy",
|
||||||
|
"server": "hexo server"
|
||||||
|
},
|
||||||
|
"hexo": {
|
||||||
|
"version": "6.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"hexo": "^6.3.0",
|
||||||
|
"hexo-generator-archive": "^2.0.0",
|
||||||
|
"hexo-generator-category": "^2.0.0",
|
||||||
|
"hexo-generator-index": "^3.0.0",
|
||||||
|
"hexo-generator-tag": "^2.0.0",
|
||||||
|
"hexo-renderer-ejs": "^2.0.0",
|
||||||
|
"hexo-renderer-marked": "^6.0.0",
|
||||||
|
"hexo-renderer-stylus": "^2.1.0",
|
||||||
|
"hexo-server": "^3.0.0",
|
||||||
|
"hexo-theme-landscape": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|
1588
pnpm-lock.yaml
Normal file
4
scaffolds/draft.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: {{ title }}
|
||||||
|
tags:
|
||||||
|
---
|
4
scaffolds/page.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: {{ title }}
|
||||||
|
date: {{ date }}
|
||||||
|
---
|
5
scaffolds/post.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: {{ title }}
|
||||||
|
date: {{ date }}
|
||||||
|
tags:
|
||||||
|
---
|
38
source/_posts/hello-world.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
title: Hello World
|
||||||
|
---
|
||||||
|
Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
### Create a new post
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ hexo new "My New Post"
|
||||||
|
```
|
||||||
|
|
||||||
|
More info: [Writing](https://hexo.io/docs/writing.html)
|
||||||
|
|
||||||
|
### Run server
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ hexo server
|
||||||
|
```
|
||||||
|
|
||||||
|
More info: [Server](https://hexo.io/docs/server.html)
|
||||||
|
|
||||||
|
### Generate static files
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ hexo generate
|
||||||
|
```
|
||||||
|
|
||||||
|
More info: [Generating](https://hexo.io/docs/generating.html)
|
||||||
|
|
||||||
|
### Deploy to remote sites
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ hexo deploy
|
||||||
|
```
|
||||||
|
|
||||||
|
More info: [Deployment](https://hexo.io/docs/one-command-deployment.html)
|
0
themes/.gitkeep
Normal file
62
themes/hexo-theme-linear/_config.yml
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
# support svg or image url, such as /img/favicon.png
|
||||||
|
favicon: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 10l7.383 7.418c.823.82.823 2.148 0 2.967a2.11 2.11 0 0 1-2.976 0L10 13"></path><path d="M6.293 15.293l-2.586-2.586a1 1 0 0 1 0-1.414l7.586-7.586a1 1 0 0 1 1.414 0l2.586 2.586a1 1 0 0 1 0 1.414l-7.586 7.586a1 1 0 0 1-1.414 0z"></path></g></svg>
|
||||||
|
|
||||||
|
# required = false
|
||||||
|
icp: 苏ICP备xxxxxxx号
|
||||||
|
|
||||||
|
motto: true
|
||||||
|
|
||||||
|
# Copyright statement at the bottom of the post
|
||||||
|
postCopyright:
|
||||||
|
enable: true
|
||||||
|
license: CC BY-NC-SA 4.0
|
||||||
|
license_url: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||||
|
|
||||||
|
# post classification icon mapping
|
||||||
|
postCategoryIcons:
|
||||||
|
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9 16h6v2H9zm4-7h-2v2H9v2h2v2h2v-2h2v-2h-2z" fill="currentColor"></path><path d="M12 2c-5.33 4.55-8 8.48-8 11.8c0 4.98 3.8 8.2 8 8.2s8-3.22 8-8.2c0-3.32-2.67-7.25-8-11.8zm0 18c-3.35 0-6-2.57-6-6.2c0-2.34 1.95-5.44 6-9.14c4.05 3.7 6 6.79 6 9.14c0 3.63-2.65 6.2-6 6.2z" fill="currentColor"></path></svg>
|
||||||
|
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M28 22h2v8h-2z" fill="currentColor"></path><path d="M24 18h2v12h-2z" fill="currentColor"></path><path d="M20 26h2v4h-2z" fill="currentColor"></path><path d="M9 16a7 7 0 1 0 7 7a7.008 7.008 0 0 0-7-7zm4.899 6H10v-3.899A5.014 5.014 0 0 1 13.899 22zM9 28a5 5 0 0 1-1-9.899V22a2 2 0 0 0 2 2h3.899A5.008 5.008 0 0 1 9 28z" fill="currentColor"></path><path d="M22.535 12l4-6H30V4h-4.535l-4 6H18V2h-2v12a2 2 0 0 0 2 2h12v-2H18v-2z" fill="currentColor"></path><circle cx="11" cy="7" r="1" fill="currentColor"></circle><circle cx="9" cy="11" r="1" fill="currentColor"></circle><circle cx="7" cy="5" r="1" fill="currentColor"></circle><circle cx="5" cy="9" r="1" fill="currentColor"></circle><circle cx="3" cy="13" r="1" fill="currentColor"></circle></svg>
|
||||||
|
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M22 11h-4.17l3.24-3.24l-1.41-1.42L15 11h-2V9l4.66-4.66l-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93L6.34 4.34L11 9v2H9L4.34 6.34L2.93 7.76L6.17 11H2v2h4.17l-3.24 3.24l1.41 1.42L9 13h2v2l-4.66 4.66l1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24l1.42-1.41L13 15v-2h2l4.66 4.66l1.41-1.42L17.83 13H22z" fill="currentColor"></path></svg>
|
||||||
|
|
||||||
|
# katex
|
||||||
|
katex:
|
||||||
|
enable: true
|
||||||
|
jsCdn: //cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.js
|
||||||
|
cssCdn: //cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css
|
||||||
|
|
||||||
|
# mermaid
|
||||||
|
mermaid:
|
||||||
|
enable: true
|
||||||
|
cdn: //cdn.jsdelivr.net/npm/mermaid@10.4.0/dist/mermaid.min.js
|
||||||
|
|
||||||
|
# post comments
|
||||||
|
valine:
|
||||||
|
enable: true
|
||||||
|
appId: TisMit6uhflounFqAN3ZGjgq-MdYXbMMI
|
||||||
|
appKey: CdjirjYdz07U5i62ElsJvXUh
|
||||||
|
avatar: monsterid
|
||||||
|
cdn: //unpkg.com/valine@latest/dist/Valine.min.js
|
||||||
|
|
||||||
|
# search service
|
||||||
|
algolia:
|
||||||
|
appId: 5DTW808BZ8
|
||||||
|
apiKey: 04971da7118a97baf2fc19989e016ee2
|
||||||
|
adminApiKey: 73fd07d4f278b0e494cf31f771fef43f
|
||||||
|
SearchOnlyAPIKey: 27845b245efc8a2853cc0bdc7366ea26
|
||||||
|
chunkSize: 5000
|
||||||
|
indexName: hex-blog
|
||||||
|
fields:
|
||||||
|
- content:strip
|
||||||
|
- categories
|
||||||
|
- date
|
||||||
|
- permalink
|
||||||
|
- slug
|
||||||
|
- tags
|
||||||
|
- title
|
||||||
|
|
||||||
|
# qweather for index weather widget, u must register api first
|
||||||
|
# api register: https://id.qweather.com/#/register
|
||||||
|
weather:
|
||||||
|
enable: true
|
||||||
|
cityCode: 101190101
|
||||||
|
appKey: 6f89c60ce1714fa58018b5489aa697e5
|
27
themes/hexo-theme-linear/languages/ar.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: الرئيسية
|
||||||
|
tip-switch-theme: تغيير الثيم
|
||||||
|
tip-status-done: مكتمل
|
||||||
|
tip-status-doing: قيد التنفيذ
|
||||||
|
tip-status-todo: قيد الانتظار
|
||||||
|
tip-status-other: مكرر
|
||||||
|
tip-status-default: افتراضي
|
||||||
|
tip-filter: فلتر الحالة
|
||||||
|
tip-top: الأعلى
|
||||||
|
tip-prev-page: الصفحة السابقة
|
||||||
|
tip-next-page: الصفحة التالية
|
||||||
|
tip-collapse: طي
|
||||||
|
tip-expand: توسيع
|
||||||
|
|
||||||
|
text-select: اختر
|
||||||
|
text-move: حركة
|
||||||
|
text-esc: إغلاق
|
||||||
|
text-post-count-prev: مجموع
|
||||||
|
text-post-count-next: منشورات
|
||||||
|
text-timeline: الجدول الزمني
|
||||||
|
text-search: بحث...
|
||||||
|
text-category: الفئة
|
||||||
|
text-author: المؤلف
|
||||||
|
text-pub-time: نشر في
|
||||||
|
text-license: الترخيص
|
||||||
|
text-post-link: رابط المنشور
|
||||||
|
text-catalog: الفهرس
|
27
themes/hexo-theme-linear/languages/de.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: Startseite
|
||||||
|
tip-switch-theme: Thema wechseln
|
||||||
|
tip-status-done: Erledigt
|
||||||
|
tip-status-doing: In Bearbeitung
|
||||||
|
tip-status-todo: Zu erledigen
|
||||||
|
tip-status-other: Duplikat
|
||||||
|
tip-status-default: Standard
|
||||||
|
tip-filter: Statusfilter
|
||||||
|
tip-top: Nach oben
|
||||||
|
tip-prev-page: Vorherige Seite
|
||||||
|
tip-next-page: Nächste Seite
|
||||||
|
tip-collapse: Einklappen
|
||||||
|
tip-expand: Ausklappen
|
||||||
|
|
||||||
|
text-select: auswählen
|
||||||
|
text-move: Bewegung
|
||||||
|
text-esc: schließen
|
||||||
|
text-post-count-prev: Insgesamt
|
||||||
|
text-post-count-next: Beiträge
|
||||||
|
text-timeline: Zeitleiste
|
||||||
|
text-search: Suchen...
|
||||||
|
text-category: Kategorie
|
||||||
|
text-author: Autor
|
||||||
|
text-pub-time: Veröffentlicht am
|
||||||
|
text-license: Lizenz
|
||||||
|
text-post-link: Beitrag URL
|
||||||
|
text-catalog: Katalog
|
28
themes/hexo-theme-linear/languages/en.yml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# tip
|
||||||
|
tip-index: Home
|
||||||
|
tip-switch-theme: Switch Theme
|
||||||
|
tip-status-done: Done
|
||||||
|
tip-status-doing: In Progress
|
||||||
|
tip-status-todo: Todo
|
||||||
|
tip-status-other: Duplicate
|
||||||
|
tip-status-default: Default
|
||||||
|
tip-filter: Status Filter
|
||||||
|
tip-top: Top
|
||||||
|
tip-prev-page: Prev Page
|
||||||
|
tip-next-page: Next Page
|
||||||
|
tip-collapse: Collapse
|
||||||
|
tip-expand: Expand
|
||||||
|
# text
|
||||||
|
text-select: select
|
||||||
|
text-move: movement
|
||||||
|
text-esc: close
|
||||||
|
text-post-count-prev: Total of
|
||||||
|
text-post-count-next: Posts
|
||||||
|
text-timeline: Timeline
|
||||||
|
text-search: Search...
|
||||||
|
text-category: Category
|
||||||
|
text-author: Author
|
||||||
|
text-pub-time: Published on
|
||||||
|
text-license: License
|
||||||
|
text-post-link: Post Url
|
||||||
|
text-catalog: Catalog
|
27
themes/hexo-theme-linear/languages/es.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: Inicio
|
||||||
|
tip-switch-theme: Cambiar Tema
|
||||||
|
tip-status-done: Hecho
|
||||||
|
tip-status-doing: En Progreso
|
||||||
|
tip-status-todo: Pendiente
|
||||||
|
tip-status-other: Duplicado
|
||||||
|
tip-status-default: Predeterminado
|
||||||
|
tip-filter: Filtro de Estado
|
||||||
|
tip-top: Arriba
|
||||||
|
tip-prev-page: Página Anterior
|
||||||
|
tip-next-page: Página Siguiente
|
||||||
|
tip-collapse: Colapsar
|
||||||
|
tip-expand: Expandir
|
||||||
|
|
||||||
|
text-select: seleccionar
|
||||||
|
text-move: movimiento
|
||||||
|
text-esc: cerrar
|
||||||
|
text-post-count-prev: Total de
|
||||||
|
text-post-count-next: Publicaciones
|
||||||
|
text-timeline: Cronología
|
||||||
|
text-search: Buscar...
|
||||||
|
text-category: Categoría
|
||||||
|
text-author: Autor
|
||||||
|
text-pub-time: Publicado en
|
||||||
|
text-license: Licencia
|
||||||
|
text-post-link: URL de la Publicación
|
||||||
|
text-catalog: Catálogo
|
27
themes/hexo-theme-linear/languages/fr.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: Accueil
|
||||||
|
tip-switch-theme: Changer de Thème
|
||||||
|
tip-status-done: Terminé
|
||||||
|
tip-status-doing: En Cours
|
||||||
|
tip-status-todo: À Faire
|
||||||
|
tip-status-other: Doublon
|
||||||
|
tip-status-default: Par Défaut
|
||||||
|
tip-filter: Filtre de Statut
|
||||||
|
tip-top: Haut
|
||||||
|
tip-prev-page: Page Précédente
|
||||||
|
tip-next-page: Page Suivante
|
||||||
|
tip-collapse: Réduire
|
||||||
|
tip-expand: Étendre
|
||||||
|
|
||||||
|
text-select: sélectionner
|
||||||
|
text-move: mouvement
|
||||||
|
text-esc: fermer
|
||||||
|
text-post-count-prev: Total de
|
||||||
|
text-post-count-next: Articles
|
||||||
|
text-timeline: Chronologie
|
||||||
|
text-search: Recherche...
|
||||||
|
text-category: Catégorie
|
||||||
|
text-author: Auteur
|
||||||
|
text-pub-time: Publié le
|
||||||
|
text-license: Licence
|
||||||
|
text-post-link: URL de l'Article
|
||||||
|
text-catalog: Catalogue
|
27
themes/hexo-theme-linear/languages/ja.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: ホーム
|
||||||
|
tip-switch-theme: テーマ切り替え
|
||||||
|
tip-status-done: 完了
|
||||||
|
tip-status-doing: 進行中
|
||||||
|
tip-status-todo: 未完了
|
||||||
|
tip-status-other: 重複
|
||||||
|
tip-status-default: デフォルト
|
||||||
|
tip-filter: ステータスフィルター
|
||||||
|
tip-top: トップ
|
||||||
|
tip-prev-page: 前のページ
|
||||||
|
tip-next-page: 次のページ
|
||||||
|
tip-collapse: 折りたたむ
|
||||||
|
tip-expand: 展開する
|
||||||
|
|
||||||
|
text-select: 選択
|
||||||
|
text-move: 移動
|
||||||
|
text-esc: 閉じる
|
||||||
|
text-post-count-prev: 合計
|
||||||
|
text-post-count-next: 投稿
|
||||||
|
text-timeline: タイムライン
|
||||||
|
text-search: 検索...
|
||||||
|
text-category: カテゴリ
|
||||||
|
text-author: 著者
|
||||||
|
text-pub-time: 公開日
|
||||||
|
text-license: ライセンス
|
||||||
|
text-post-link: 投稿URL
|
||||||
|
text-catalog: カタログ
|
27
themes/hexo-theme-linear/languages/ko.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: 홈
|
||||||
|
tip-switch-theme: 테마 변경
|
||||||
|
tip-status-done: 완료
|
||||||
|
tip-status-doing: 진행 중
|
||||||
|
tip-status-todo: 할 일
|
||||||
|
tip-status-other: 중복
|
||||||
|
tip-status-default: 기본
|
||||||
|
tip-filter: 상태 필터
|
||||||
|
tip-top: 상단
|
||||||
|
tip-prev-page: 이전 페이지
|
||||||
|
tip-next-page: 다음 페이지
|
||||||
|
tip-collapse: 접기
|
||||||
|
tip-expand: 펼치기
|
||||||
|
|
||||||
|
text-select: 선택
|
||||||
|
text-move: 이동
|
||||||
|
text-esc: 닫기
|
||||||
|
text-post-count-prev: 총
|
||||||
|
text-post-count-next: 개의 글
|
||||||
|
text-timeline: 타임라인
|
||||||
|
text-search: 검색...
|
||||||
|
text-category: 카테고리
|
||||||
|
text-author: 작성자
|
||||||
|
text-pub-time: 게시 일자
|
||||||
|
text-license: 라이선스
|
||||||
|
text-post-link: 게시글 URL
|
||||||
|
text-catalog: 목록
|
27
themes/hexo-theme-linear/languages/ru.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: Главная
|
||||||
|
tip-switch-theme: Сменить тему
|
||||||
|
tip-status-done: Завершено
|
||||||
|
tip-status-doing: В процессе
|
||||||
|
tip-status-todo: В планах
|
||||||
|
tip-status-other: Дубликат
|
||||||
|
tip-status-default: По умолчанию
|
||||||
|
tip-filter: Фильтр статуса
|
||||||
|
tip-top: Вверх
|
||||||
|
tip-prev-page: Предыдущая страница
|
||||||
|
tip-next-page: Следующая страница
|
||||||
|
tip-collapse: Свернуть
|
||||||
|
tip-expand: Развернуть
|
||||||
|
|
||||||
|
text-select: выбрать
|
||||||
|
text-move: движение
|
||||||
|
text-esc: закрыть
|
||||||
|
text-post-count-prev: Всего
|
||||||
|
text-post-count-next: Публикаций
|
||||||
|
text-timeline: Временная шкала
|
||||||
|
text-search: Поиск...
|
||||||
|
text-category: Категория
|
||||||
|
text-author: Автор
|
||||||
|
text-pub-time: Опубликовано
|
||||||
|
text-license: Лицензия
|
||||||
|
text-post-link: Ссылка на публикацию
|
||||||
|
text-catalog: Каталог
|
28
themes/hexo-theme-linear/languages/zh-CN.yml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# tip
|
||||||
|
tip-index: 首页
|
||||||
|
tip-switch-theme: 切换主题
|
||||||
|
tip-status-done: 完成
|
||||||
|
tip-status-doing: 进行中
|
||||||
|
tip-status-todo: 待办
|
||||||
|
tip-status-other: 废弃
|
||||||
|
tip-status-default: 默认
|
||||||
|
tip-filter: 筛选
|
||||||
|
tip-top: 置顶
|
||||||
|
tip-prev-page: 上一页
|
||||||
|
tip-next-page: 下一页
|
||||||
|
tip-collapse: 折叠
|
||||||
|
tip-expand: 展开
|
||||||
|
# text
|
||||||
|
text-select: 选择
|
||||||
|
text-move: 移动
|
||||||
|
text-esc: 关闭
|
||||||
|
text-post-count-prev: 共
|
||||||
|
text-post-count-next: 篇
|
||||||
|
text-timeline: 时间轴
|
||||||
|
text-search: 搜索...
|
||||||
|
text-category: 分类
|
||||||
|
text-author: 作者
|
||||||
|
text-pub-time: 发布于
|
||||||
|
text-license: 许可
|
||||||
|
text-post-link: 本文链接
|
||||||
|
text-catalog: 目录
|
27
themes/hexo-theme-linear/languages/zh-TW.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
tip-index: 主頁
|
||||||
|
tip-switch-theme: 切換主題
|
||||||
|
tip-status-done: 已完成
|
||||||
|
tip-status-doing: 進行中
|
||||||
|
tip-status-todo: 待辦
|
||||||
|
tip-status-other: 重覆
|
||||||
|
tip-status-default: 預設
|
||||||
|
tip-filter: 狀態篩選
|
||||||
|
tip-top: 頂部
|
||||||
|
tip-prev-page: 上一頁
|
||||||
|
tip-next-page: 下一頁
|
||||||
|
tip-collapse: 折疊
|
||||||
|
tip-expand: 展開
|
||||||
|
|
||||||
|
text-select: 選擇
|
||||||
|
text-move: 移動
|
||||||
|
text-esc: 關閉
|
||||||
|
text-post-count-prev: 總共
|
||||||
|
text-post-count-next: 篇文章
|
||||||
|
text-timeline: 時間線
|
||||||
|
text-search: 搜尋...
|
||||||
|
text-category: 分類
|
||||||
|
text-author: 作者
|
||||||
|
text-pub-time: 發布於
|
||||||
|
text-license: 授權
|
||||||
|
text-post-link: 文章連結
|
||||||
|
text-catalog: 目錄
|
5
themes/hexo-theme-linear/layout/about.ejs
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<%- css("/css/dd6e1d47.css")%>
|
||||||
|
|
||||||
|
<div class="about">关于</div>
|
||||||
|
|
||||||
|
<%- js("/js/91645890.js")%>
|
93
themes/hexo-theme-linear/layout/airplane.ejs
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
<%- css("/css/3a4a90d1.css")%>
|
||||||
|
|
||||||
|
<div class="plane-bg">
|
||||||
|
<div class="airplane-wrap">
|
||||||
|
<div class="airplane" id="airplane">
|
||||||
|
<div class="front-cover grp" id="front-cover-grp">
|
||||||
|
<div class="plate front-cover-inner"></div>
|
||||||
|
<div class="plate front-cover-center"></div>
|
||||||
|
<div class="trapezoid front-cover-top"></div>
|
||||||
|
<div class="trapezoid front-cover-bottom"></div>
|
||||||
|
<div class="trapezoid front-cover-left"></div>
|
||||||
|
<div class="trapezoid front-cover-right"></div>
|
||||||
|
<div class="bordered-thin front-cover-top-left"></div>
|
||||||
|
<div class="bordered-thin front-cover-top-right"></div>
|
||||||
|
<div class="bordered-thin front-cover-bottom-left"></div>
|
||||||
|
<div class="bordered-thin front-cover-bottom-right"></div>
|
||||||
|
</div>
|
||||||
|
<div class="body grp" id="body-grp">
|
||||||
|
<div class="plate left-cover"></div>
|
||||||
|
<div class="plate right-cover"></div>
|
||||||
|
<div class="plate top-cover-front"></div>
|
||||||
|
<div class="plate top-cover-back"></div>
|
||||||
|
<div class="cockpit grp" id="cockpit-grp">
|
||||||
|
<div class="plate roof"></div>
|
||||||
|
<div class="bordered window-fill front-window"></div>
|
||||||
|
<div class="window left-window"></div>
|
||||||
|
<div class="window right-window"></div>
|
||||||
|
<div class="bordered window-fill rear-window"></div>
|
||||||
|
</div>
|
||||||
|
<div class="plate bottom-cover"></div>
|
||||||
|
<div class="plate back-cover"></div>
|
||||||
|
</div>
|
||||||
|
<div class="top-tail grp" id="top-tail-grp">
|
||||||
|
<div class="plate tail-top"></div>
|
||||||
|
<div class="plate tail-front"></div>
|
||||||
|
<div class="plate tail-back"></div>
|
||||||
|
<div class="plate-no-border tail-left-rect"></div>
|
||||||
|
<div class="triangle tail-triangle-left-bottom"></div>
|
||||||
|
<div class="triangle tail-triangle-left-top"></div>
|
||||||
|
<div class="plate-no-border tail-right-rect"></div>
|
||||||
|
<div class="triangle tail-triangle-right-bottom"></div>
|
||||||
|
<div class="triangle tail-triangle-right-top"></div>
|
||||||
|
<div class="bordered tail-connector"></div>
|
||||||
|
</div>
|
||||||
|
<div class="right-tail grp" id="right-tail-grp">
|
||||||
|
<div class="plate tail-top"></div>
|
||||||
|
<div class="plate tail-front"></div>
|
||||||
|
<div class="plate tail-back"></div>
|
||||||
|
<div class="plate-no-border tail-left-rect"></div>
|
||||||
|
<div class="triangle tail-triangle-left-bottom"></div>
|
||||||
|
<div class="triangle tail-triangle-left-top"></div>
|
||||||
|
<div class="plate-no-border tail-right-rect"></div>
|
||||||
|
<div class="triangle tail-triangle-right-bottom"></div>
|
||||||
|
<div class="triangle tail-triangle-right-top"></div>
|
||||||
|
<div class="bordered tail-connector"></div>
|
||||||
|
</div>
|
||||||
|
<div class="left-tail grp" id="left-tail-grp">
|
||||||
|
<div class="plate tail-top"></div>
|
||||||
|
<div class="plate tail-front"></div>
|
||||||
|
<div class="plate tail-back"></div>
|
||||||
|
<div class="plate-no-border tail-left-rect"></div>
|
||||||
|
<div class="triangle tail-triangle-left-bottom"></div>
|
||||||
|
<div class="triangle tail-triangle-left-top"></div>
|
||||||
|
<div class="plate-no-border tail-right-rect"></div>
|
||||||
|
<div class="triangle tail-triangle-right-bottom"></div>
|
||||||
|
<div class="triangle tail-triangle-right-top"></div>
|
||||||
|
<div class="bordered tail-connector"></div>
|
||||||
|
</div>
|
||||||
|
<div class="wing grp" id="wing-grp">
|
||||||
|
<div class="plate wing-right"></div>
|
||||||
|
<div class="plate wing-right bottom"></div>
|
||||||
|
<div class="plate wing-left"></div>
|
||||||
|
<div class="plate wing-left bottom"></div>
|
||||||
|
<div class="bordered conector right"></div>
|
||||||
|
<div class="bordered conector left"></div>
|
||||||
|
</div>
|
||||||
|
<div class="propeller rotate-propeller grp" id="propeller-grp">
|
||||||
|
<div class="plate propeller-center"></div>
|
||||||
|
<div class="plate propeller-center top"></div>
|
||||||
|
<div class="plate p-w propeller-wing-1"></div>
|
||||||
|
<div class="plate p-w propeller-wing-2"></div>
|
||||||
|
<div class="plate p-w propeller-wing-3"></div>
|
||||||
|
<div class="plate p-w propeller-wing-4"></div>
|
||||||
|
<div class="plate p-w propeller-wing-5"></div>
|
||||||
|
<div class="plate p-w propeller-wing-6"></div>
|
||||||
|
<div class="plate p-w propeller-wing-7"></div>
|
||||||
|
<div class="plate p-w propeller-wing-8"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%- js("/js/31d6cfe0.js")%>
|
48
themes/hexo-theme-linear/layout/archive.ejs
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<%- css("/css/efca006a.css")%>
|
||||||
|
|
||||||
|
<% var archive = {}; %>
|
||||||
|
<% site.posts.forEach(function(post){ %>
|
||||||
|
<% var year = post.date.year(); %>
|
||||||
|
|
||||||
|
<% if(!archive[year]) { %>
|
||||||
|
<% archive[year] = []; %>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<% archive[year].push(post); %>
|
||||||
|
<% }); %>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="archive scrollbar-obtrusive">
|
||||||
|
<ul>
|
||||||
|
<% for(var key in archive) { %>
|
||||||
|
<li>
|
||||||
|
<h2><%= key %></h2>
|
||||||
|
<ul class="timeline">
|
||||||
|
<% archive[key].forEach(function(post){ %>
|
||||||
|
<li>
|
||||||
|
<a class="timeline-item" href="<%- url_for(post.path) %>">
|
||||||
|
<div class="timeline-info">
|
||||||
|
<span><%= post.date.format('MM-DD HH:mm:ss') %></span>
|
||||||
|
</div>
|
||||||
|
<div class="timeline-marker"></div>
|
||||||
|
<div class="timeline-content">
|
||||||
|
<div class="timeline-title">
|
||||||
|
<% if(post.status !==undefined){ %>
|
||||||
|
<%- post_icon(post,'status') %>
|
||||||
|
<% } %>
|
||||||
|
<span><%= post.title %></span>
|
||||||
|
</div>
|
||||||
|
<p><%= generate_excerpt(post, 100) %>...</p>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<% }) %>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%- js("/js/31d6cfe0.js")%>
|
47
themes/hexo-theme-linear/layout/breadcrumb.ejs
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<%- css("/css/de5de8fb.css")%>
|
||||||
|
<nav class="breadcrumb">
|
||||||
|
<a href="/" class="home tip btn-hover right" data-tip="<%- __('tip-index') %>">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
|
||||||
|
<path d="M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22c18.2 6.8 31.3 24.4 31.3 45c0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7c54.4-11.4 98.3-55.4 109.7-109.7c17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9c129.4 7 233.4 112 240.9 241.5c.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9c76.8 6.3 138 68.2 144.9 145.2c.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3c-8.4-110.1-96.5-198.2-206.6-206.7z" fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<% if (page.category) { %>
|
||||||
|
<em>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20">
|
||||||
|
<g fill="none">
|
||||||
|
<path d="M7.733 4.207a.75.75 0 0 1 1.06.026l5.001 5.25a.75.75 0 0 1 0 1.035l-5 5.25a.75.75 0 1 1-1.087-1.034L12.216 10l-4.51-4.734a.75.75 0 0 1 .027-1.06z" fill="currentColor"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</em>
|
||||||
|
<span class="ellipsis">
|
||||||
|
<%= page.category %>
|
||||||
|
</span>
|
||||||
|
<% } else if (page.categories && page.categories.length) { %>
|
||||||
|
<% page.categories.forEach(function(category, index) { %>
|
||||||
|
<em>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20">
|
||||||
|
<g fill="none">
|
||||||
|
<path d="M7.733 4.207a.75.75 0 0 1 1.06.026l5.001 5.25a.75.75 0 0 1 0 1.035l-5 5.25a.75.75 0 1 1-1.087-1.034L12.216 10l-4.51-4.734a.75.75 0 0 1 .027-1.06z" fill="currentColor"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</em>
|
||||||
|
<a href="<%- url_for(category.path) %>">
|
||||||
|
<%= category.name %>
|
||||||
|
</a>
|
||||||
|
<% }) %>
|
||||||
|
<% } %>
|
||||||
|
<% if (page.title) { %>
|
||||||
|
<em>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20">
|
||||||
|
<g fill="none">
|
||||||
|
<path d="M7.733 4.207a.75.75 0 0 1 1.06.026l5.001 5.25a.75.75 0 0 1 0 1.035l-5 5.25a.75.75 0 1 1-1.087-1.034L12.216 10l-4.51-4.734a.75.75 0 0 1 .027-1.06z" fill="currentColor"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</em>
|
||||||
|
<span class="ellipsis">
|
||||||
|
<%= page.title %>
|
||||||
|
</span>
|
||||||
|
<% } %>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<%- js("/js/31d6cfe0.js")%>
|
80
themes/hexo-theme-linear/layout/category.ejs
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
<%- css("/css/2cd7dba2.css")%>
|
||||||
|
|
||||||
|
<% var sortedPosts=sort_posts_by_top(page.posts.toArray()); %>
|
||||||
|
|
||||||
|
<div class="category">
|
||||||
|
<header>
|
||||||
|
<div>
|
||||||
|
<%- partial('breadcrumb') %>
|
||||||
|
</div>
|
||||||
|
<section></section>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- 快速操作 -->
|
||||||
|
<div class="spotlight">
|
||||||
|
<!-- 筛选 -->
|
||||||
|
<a class="filter tip" data-tip="<%- __('tip-filter') %>" id="filter-button">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<path d="M5.5 5h13a1 1 0 0 1 .5 1.5L14 12v7l-4-3v-4L5 6.5A1 1 0 0 1 5.5 5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<!-- 当前文章数量 -->
|
||||||
|
<%- post_counter(page) %>
|
||||||
|
<!-- 分页代码 -->
|
||||||
|
<section class="pagination">
|
||||||
|
<% if (page.total> 1){ %>
|
||||||
|
<% if (page.prev){ %>
|
||||||
|
<a class="tip btn-hover left" data-tip="<%- __('tip-prev-page') %>" href="<%- url_for(page.prev_link) %>">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M12 5v14"></path>
|
||||||
|
<path d="M16 9l-4-4"></path>
|
||||||
|
<path d="M8 9l4-4"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<% } %>
|
||||||
|
<% if (page.next){ %>
|
||||||
|
<a class="tip btn-hover left" data-tip="<%- __('tip-prev-page') %>" href="<%- url_for(page.next_link) %>">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M12 5v14"></path>
|
||||||
|
<path d="M16 15l-4 4"></path>
|
||||||
|
<path d="M8 15l4 4"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<% } %>
|
||||||
|
<% } %>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 分类文章列表 -->
|
||||||
|
<ul class="table scrollbar-obtrusive">
|
||||||
|
<% sortedPosts.forEach(function(post){ %>
|
||||||
|
<li data-status="<%= post.status %>">
|
||||||
|
<a href="<%- url_for(post.path) %>">
|
||||||
|
<% if(post.status !==undefined){ %>
|
||||||
|
<%- post_icon(post,'status') %>
|
||||||
|
<% } %>
|
||||||
|
<% if(post.top !==undefined){ %>
|
||||||
|
<%- post_icon(post,'top') %>
|
||||||
|
<% } %>
|
||||||
|
<p class="ellipsis">
|
||||||
|
<span><%- post.title %></span>
|
||||||
|
</p>
|
||||||
|
<span class="post-date">
|
||||||
|
<b>
|
||||||
|
<%= post.date.format('MM DD') %>
|
||||||
|
</b>
|
||||||
|
<em>/ <%= post.date.format('YYYY') %></em>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<% }) %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%- js("/js/430dbbd6.js")%>
|
43
themes/hexo-theme-linear/layout/homebar.ejs
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
<%- css("/css/e01add4b.css")%>
|
||||||
|
|
||||||
|
<div class="home-bar">
|
||||||
|
<a href="/" class="tip" data-tip="<%- __('tip-index') %>">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
|
||||||
|
<path
|
||||||
|
d="M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22c18.2 6.8 31.3 24.4 31.3 45c0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7c54.4-11.4 98.3-55.4 109.7-109.7c17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9c129.4 7 233.4 112 240.9 241.5c.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9c76.8 6.3 138 68.2 144.9 145.2c.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3c-8.4-110.1-96.5-198.2-206.6-206.7z"
|
||||||
|
fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
<span><%- config.subtitle %></span>
|
||||||
|
</a>
|
||||||
|
<!-- 切换主题 -->
|
||||||
|
<a id="toggle-theme" class="tip left" data-tip="<%- __('tip-switch-theme') %>">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
|
||||||
|
<path d="M256 118a22 22 0 0 1-22-22V48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22z" fill="currentColor"></path>
|
||||||
|
<path d="M256 486a22 22 0 0 1-22-22v-48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22z" fill="currentColor"></path>
|
||||||
|
<path
|
||||||
|
d="M369.14 164.86a22 22 0 0 1-15.56-37.55l33.94-33.94a22 22 0 0 1 31.11 31.11l-33.94 33.94a21.93 21.93 0 0 1-15.55 6.44z"
|
||||||
|
fill="currentColor"></path>
|
||||||
|
<path
|
||||||
|
d="M108.92 425.08a22 22 0 0 1-15.55-37.56l33.94-33.94a22 22 0 1 1 31.11 31.11l-33.94 33.94a21.94 21.94 0 0 1-15.56 6.45z"
|
||||||
|
fill="currentColor"></path>
|
||||||
|
<path d="M464 278h-48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44z" fill="currentColor"></path>
|
||||||
|
<path d="M96 278H48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44z" fill="currentColor"></path>
|
||||||
|
<path
|
||||||
|
d="M403.08 425.08a21.94 21.94 0 0 1-15.56-6.45l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.55 37.56z"
|
||||||
|
fill="currentColor"></path>
|
||||||
|
<path
|
||||||
|
d="M142.86 164.86a21.89 21.89 0 0 1-15.55-6.44l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.56 37.55z"
|
||||||
|
fill="currentColor"></path>
|
||||||
|
<path d="M256 358a102 102 0 1 1 102-102a102.12 102.12 0 0 1-102 102z" fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
|
||||||
|
<path
|
||||||
|
d="M264 480A232 232 0 0 1 32 248c0-94 54-178.28 137.61-214.67a16 16 0 0 1 21.06 21.06C181.07 76.43 176 104.66 176 136c0 110.28 89.72 200 200 200c31.34 0 59.57-5.07 81.61-14.67a16 16 0 0 1 21.06 21.06C442.28 426 358 480 264 480z"
|
||||||
|
fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<%- js("/js/1247bc3e.js")%>
|
6
themes/hexo-theme-linear/layout/index.ejs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<%- css("/css/aeb44e7a.css")%>
|
||||||
|
|
||||||
|
<% layout='layout' %>
|
||||||
|
|
||||||
|
<%- partial('welcome') %>
|
||||||
|
<%- js("/js/31d6cfe0.js")%>
|
71
themes/hexo-theme-linear/layout/layout.ejs
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>
|
||||||
|
<%= page.title || config.title %>
|
||||||
|
</title>
|
||||||
|
<meta name="description" content="<%= page.description || config.description %>">
|
||||||
|
<meta name="keywords" content="<%= page.keywords || config.keywords %>">
|
||||||
|
<meta name="author" content="<%= config.author %>">
|
||||||
|
<link rel="canonical" href="<%= page.permalink || config.url %>">
|
||||||
|
<% if(theme.favicon !==undefined){ %>
|
||||||
|
<% if(theme.favicon.startsWith('<svg')){ %>
|
||||||
|
<link rel="icon" type="image/svg" href='data:image/svg+xml,<%- theme.favicon %>'>
|
||||||
|
<% } else { %>
|
||||||
|
<link rel="icon" href='<%- theme.favicon %>'>
|
||||||
|
<% } %>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
|
<%- css("/css/2f1ea598.css")%>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="app">
|
||||||
|
<!-- 响应式布局按钮 -->
|
||||||
|
<a class="side-navigation btn-hover btn-hover-bg tip left" data-tip="<%- __('tip-expand') %>">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<rect x="4" y="4" width="16" height="16" rx="2"></rect>
|
||||||
|
<path d="M9 4v16"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<aside>
|
||||||
|
<div>
|
||||||
|
<%- partial('homebar') %>
|
||||||
|
<!-- search -->
|
||||||
|
<%- partial('search') %>
|
||||||
|
<!-- navigation -->
|
||||||
|
<%- partial('navigation') %>
|
||||||
|
<!-- icp -->
|
||||||
|
<% if(theme.icp !==undefined){ %>
|
||||||
|
<div class="icp">
|
||||||
|
<a href="http://beian.miit.gov.cn/"><%- theme.icp %></a>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<main>
|
||||||
|
<%- body %>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
window.i18n = {
|
||||||
|
"tip-collapse": "<%- __('tip-collapse') %>",
|
||||||
|
"tip-expand": "<%- __('tip-expand') %>",
|
||||||
|
"text-select": "<%- __('text-select') %>",
|
||||||
|
"text-move": "<%- __('text-move') %>",
|
||||||
|
"text-esc": "<%- __('text-esc') %>",
|
||||||
|
"tip-status-done": "<%- __('tip-status-done') %>",
|
||||||
|
"tip-status-doing": "<%- __('tip-status-doing') %>",
|
||||||
|
"tip-status-todo": "<%- __('tip-status-todo') %>",
|
||||||
|
"tip-status-other": "<%- __('tip-status-other') %>",
|
||||||
|
"tip-status-default": "<%- __('tip-status-default') %>",
|
||||||
|
"text-search": "<%- __('text-search') %>"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<%- js("/js/85d1c72e.js")%>
|
||||||
|
|
||||||
|
</html>
|
35
themes/hexo-theme-linear/layout/navigation.ejs
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<%- css("/css/3efc6cb5.css")%>
|
||||||
|
|
||||||
|
<section class="category-nav scrollbar-obtrusive">
|
||||||
|
<ul class="nav-items">
|
||||||
|
<li data-path="archives">
|
||||||
|
<a href="/archives">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M12 7v14"></path>
|
||||||
|
<path d="M9 18l3 3l3-3"></path>
|
||||||
|
<circle cx="12" cy="5" r="2"></circle>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
<div class="ellipsis"><%- __('text-timeline') %></div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p><%- __('text-category') %></p>
|
||||||
|
<ul>
|
||||||
|
<% site.categories.each(function(category,index){ %>
|
||||||
|
<li class="<% if ((page.category && page.category === category.name) || (page.categories && page.categories.some(cat => cat.name === category.name))) { %>active<% } %>">
|
||||||
|
<a href="<%- url_for(category.path) %>">
|
||||||
|
<%- theme.postCategoryIcons[index] %>
|
||||||
|
<div class="ellipsis">
|
||||||
|
<span>
|
||||||
|
<%= category.name %>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<% }) %>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<%- js("/js/f8b20eb9.js")%>
|
68
themes/hexo-theme-linear/layout/post.ejs
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
<%- css("/css/7c527814.css")%>
|
||||||
|
|
||||||
|
<div class="post-container">
|
||||||
|
<div class="content">
|
||||||
|
<header>
|
||||||
|
<%- partial('breadcrumb') %>
|
||||||
|
</header>
|
||||||
|
<main class="scrollbar-obtrusive">
|
||||||
|
<div class="article-container">
|
||||||
|
<!-- 文章tags -->
|
||||||
|
<% if (page.tags.length > 0) { %>
|
||||||
|
<ul class="tags">
|
||||||
|
<li>#</li>
|
||||||
|
<% page.tags.each(function(tag){ %>
|
||||||
|
<li>
|
||||||
|
<a><%- tag.name %></a>
|
||||||
|
</li>
|
||||||
|
<% }) %>
|
||||||
|
</ul>
|
||||||
|
<% } %>
|
||||||
|
<!-- 渲染文章内容 -->
|
||||||
|
<article><%- page.content %></article>
|
||||||
|
<% if(theme.postCopyright !==undefined){ %>
|
||||||
|
<%- partial('postCopyright') %>
|
||||||
|
<% } %>
|
||||||
|
<!-- 评论 -->
|
||||||
|
<div id="vcomments"></div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
<div class="meta-container">
|
||||||
|
<div class="toc-wrapper content-dialog">
|
||||||
|
<p class="catalog">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M4 6h16"></path>
|
||||||
|
<path d="M4 12h16"></path>
|
||||||
|
<path d="M4 18h12"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
<span><%- __('text-catalog') %></span>
|
||||||
|
</p>
|
||||||
|
<!-- 文章toc -->
|
||||||
|
<%- toc(page.content,{max_depth:3}) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.katex = {
|
||||||
|
enable: "<%= theme.katex.enable %>",
|
||||||
|
jsCdn: "<%= theme.katex.jsCdn %>",
|
||||||
|
cssCdn: "<%= theme.katex.cssCdn %>"
|
||||||
|
}
|
||||||
|
window.mermaid = {
|
||||||
|
enable: "<%= theme.mermaid.enable %>",
|
||||||
|
cdn: "<%= theme.mermaid.cdn %>",
|
||||||
|
}
|
||||||
|
window.valine = {
|
||||||
|
enable: "<%= theme.valine.enable %>",
|
||||||
|
appId: '<%= theme.valine.appId %>',
|
||||||
|
appKey: '<%= theme.valine.appKey %>',
|
||||||
|
avatar: '<%= theme.valine.avatar %>',
|
||||||
|
cdn: '<%= theme.valine.cdn %>'
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<%- js("/js/96ea39da.js")%>
|
24
themes/hexo-theme-linear/layout/postCopyright.ejs
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<%- css("/css/ccbcde32.css")%>
|
||||||
|
<% if (theme.postCopyright.enable) { %>
|
||||||
|
<div class="copyright">
|
||||||
|
<a target="_blank" href="<%- page.permalink %>">
|
||||||
|
<span><%- __('text-post-link') %>:</span>
|
||||||
|
<span><%- page.permalink %></span>
|
||||||
|
</a>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span><%- __('text-author') %></span>
|
||||||
|
<p> <%- config.author %></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span><%- __('text-pub-time') %></span>
|
||||||
|
<p><%- page.date.format("YYYY-MM-DD") %></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span><%- __('text-license') %></span>
|
||||||
|
<p><a href="<%- theme.postCopyright.license_url %>"><%- theme.postCopyright.license %></a></p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<% } %>
|
||||||
|
<%- js("/js/31d6cfe0.js")%>
|
21
themes/hexo-theme-linear/layout/search.ejs
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<%- css("/css/4c3d0e88.css")%>
|
||||||
|
<form class="search-group">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20">
|
||||||
|
<g fill="currentColor">
|
||||||
|
<path d="M8.5 3a5.5 5.5 0 0 1 4.383 8.823l4.147 4.147a.75.75 0 0 1-.976 1.133l-.084-.073l-4.147-4.147A5.5 5.5 0 1 1 8.5 3zm0 1.5a4 4 0 1 0 0 8a4 4 0 0 0 0-8z" fill="currentColor"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
<span id="search-input"><%- __('text-search') %></span>
|
||||||
|
<div class="short-key">
|
||||||
|
<kbd class="key-cap"><span>Ctrl K</span></kbd>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.algolia = {
|
||||||
|
appId: "<%- theme.algolia.appId %>",
|
||||||
|
SearchOnlyAPIKey: "<%- theme.algolia.SearchOnlyAPIKey %>"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<%- js("/js/07f44e09.js")%>
|
13
themes/hexo-theme-linear/layout/weather.ejs
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<%- css("/css/f3729dde.css")%>
|
||||||
|
|
||||||
|
<div class="weather glass-material"></div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
window.weather = {
|
||||||
|
enable: "<%= theme.weather.enable %>",
|
||||||
|
cityCode: "<%= theme.weather.cityCode %>",
|
||||||
|
appKey: "<%= theme.weather.appKey %>",
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<%- js("/js/ca6b30b5.js")%>
|
39
themes/hexo-theme-linear/layout/welcome.ejs
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<%- css("/css/0c63d269.css")%>
|
||||||
|
|
||||||
|
<div class="welcome">
|
||||||
|
<%- partial('airplane') %>
|
||||||
|
<div class="bg-linear-grow">
|
||||||
|
<div class="ball"></div>
|
||||||
|
<div class="ball" style="--delay:-12s;--size:0.35;--speed:25s;"></div>
|
||||||
|
<div class="ball" style="--delay:-10s;--size:0.3;--speed:15s;"></div>
|
||||||
|
</div>
|
||||||
|
<div class="slogan">
|
||||||
|
<svg id="hello-svg" data-name="hello" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 582 197">
|
||||||
|
<title>Hello</title>
|
||||||
|
<path class="path path-1" d="M208,338c38-16.67,73.74-45.72,97.33-66,21.33-18.33,32.67-35.67,37.33-52.67C347.12,203.12,344,192,332,192c-11,0-21,10.33-24.94,27.68-4.52,19.89-22.06,107.82-29.39,149,15.67-72.33,36.33-81.33,53.67-81.33,22.33,0,24.67,18.67,19.42,39-5.43,21.07-7.42,44.32,17.91,44.32,18,0,35.53-8.17,52.67-20,14-9.67,23-24,23-40,0-13.42-8-23.33-20.67-23.33s-24.33,12-24.33,33.33c0,27,16.33,48,44,48,25.67,0,47.67-19.67,62-44.67,13.61-23.74,30.67-64.67,33.33-92.67s-5.33-36-18.67-36-24.67,17.33-28.67,43.33S486,302,491.33,330s28,37.67,46,37.67,38.17-15.67,52-37c16.54-25.51,35.87-67.45,38.67-102,2-24.67-8.67-33.33-20-33.33-14.67,0-23.33,13.33-28,38-4.5,23.81-8,64-2,94,4.64,23.21,25.33,40.33,44.67,40.33s32.67-19,36.67-42.33" transform="translate(-199 -183)" />
|
||||||
|
<path class="path path-2" d="M697.33,287.33C672,287.33,661.33,305,659,327c-2.81,26.54,10.33,41.67,29.67,41.67,22,0,34.54-20.78,36.67-40.67,2-18.67-7.39-39.13-28-40.67" transform="translate(-199 -183)" />
|
||||||
|
<path class="path path-3" d="M714.8,295.12c12.11,12.26,43.53,9.55,56.53-5.79" transform="translate(-199 -183)" />
|
||||||
|
<line class="path path-4" x1="561" y1="181.67" x2="561" y2="181.67" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<% if(theme.motto === true){ %>
|
||||||
|
<div class="motto">重拾纯粹的写作</div>
|
||||||
|
<% } %>
|
||||||
|
<ul class="circles">
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
<li></li>
|
||||||
|
</ul>
|
||||||
|
<% if(theme.weather !==undefined){ %>
|
||||||
|
<%- partial('weather') %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%- js("/js/3cf4fd98.js")%>
|
5
themes/hexo-theme-linear/scripts/generate_excerpt.js
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
hexo.extend.helper.register('generate_excerpt', function (post, length) {
|
||||||
|
length = length || 100;
|
||||||
|
const strippedContent = post.content.replace(/<\/?[^>]+(>|$)/g, ""); // 删除 HTML 标签
|
||||||
|
return strippedContent.substring(0, length);
|
||||||
|
});
|
5
themes/hexo-theme-linear/scripts/mermaid_tag.js
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
hexo.extend.tag.register('mermaid', function (args, content) {
|
||||||
|
return `<div class="mermaid">
|
||||||
|
${content}
|
||||||
|
</div>`;
|
||||||
|
}, { ends: true });
|
16
themes/hexo-theme-linear/scripts/postIcon.js
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
hexo.extend.helper.register('post_icon', function (post, command) {
|
||||||
|
const mapping = {
|
||||||
|
status: {
|
||||||
|
done: `<span class="icon status tip right" data-tip="${this.__('tip-status-done')}"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M9 12l2 2l4-4"></path></g></svg></span>`,
|
||||||
|
doing: `<span class="icon status tip right" data-tip="${this.__('tip-status-doing')}"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 20h4L18.5 9.5a1.5 1.5 0 0 0-4-4L4 16v4"></path><path d="M13.5 6.5l4 4"></path></g></svg></span>`,
|
||||||
|
todo: `<span class="icon status tip right" data-tip="${this.__('tip-status-todo')}"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8.56 3.69a9 9 0 0 0-2.92 1.95"></path><path d="M3.69 8.56A9 9 0 0 0 3 12"></path><path d="M3.69 15.44a9 9 0 0 0 1.95 2.92"></path><path d="M8.56 20.31A9 9 0 0 0 12 21"></path><path d="M15.44 20.31a9 9 0 0 0 2.92-1.95"></path><path d="M20.31 15.44A9 9 0 0 0 21 12"></path><path d="M20.31 8.56a9 9 0 0 0-1.95-2.92"></path><path d="M15.44 3.69A9 9 0 0 0 12 3"></path></g></svg></span>`,
|
||||||
|
other: `<span class="icon status tip right" data-tip="${this.__('tip-status-other')}"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.042 16.045A9 9 0 0 0 7.955 3.958M5.637 5.635a9 9 0 1 0 12.725 12.73"></path><path d="M3 3l18 18"></path></g></svg></span>`
|
||||||
|
},
|
||||||
|
top: {
|
||||||
|
other: `<span class="icon pin tip right" data-tip="${this.__('tip-top')}"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4v6l-2 4v2h10v-2l-2-4V4"></path><path d="M12 16v5"></path><path d="M8 4h8"></path></g></svg></span>`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const iconInPost = post[command]
|
||||||
|
const iconGroup = mapping[command]
|
||||||
|
return iconGroup[iconInPost] ?? iconGroup['other']
|
||||||
|
});
|
9
themes/hexo-theme-linear/scripts/post_counter.js
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
hexo.extend.helper.register('post_counter', function (page) {
|
||||||
|
let output = '';
|
||||||
|
this.site.categories.forEach((category) => {
|
||||||
|
if (category.name === page.category) {
|
||||||
|
output = `<span class="post-num">${this.__('text-post-count-prev')} ${category.length} ${this.__('text-post-count-next')}</span>`;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return output;
|
||||||
|
});
|
14
themes/hexo-theme-linear/scripts/sort_posts.js
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
hexo.extend.helper.register('sort_posts_by_top', function (posts) {
|
||||||
|
// 使用 slice() 创建数组的副本,以避免修改原始数组
|
||||||
|
return posts.slice().sort(function (a, b) {
|
||||||
|
var topA = a.top || Number.MAX_SAFE_INTEGER; // 如果没有 top 字段,则设置为一个非常大的数
|
||||||
|
var topB = b.top || Number.MAX_SAFE_INTEGER; // 同上
|
||||||
|
|
||||||
|
// 根据 top 字段从小到大排序
|
||||||
|
if (topA < topB) return -1;
|
||||||
|
if (topA > topB) return 1;
|
||||||
|
|
||||||
|
// 如果 top 字段相同或者不存在,根据日期从新到旧排序
|
||||||
|
return b.date - a.date;
|
||||||
|
});
|
||||||
|
});
|
1
themes/hexo-theme-linear/source/css/0c63d269.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.bg-linear-grow{min-height:100vh;overflow-x:hidden;overflow-y:hidden;position:fixed;width:100%}.bg-linear-grow .ball{--delay:0s;--size:0.4;--speed:20s;animation:loop var(--speed) infinite linear;animation-delay:var(--delay);aspect-ratio:1;background:linear-gradient(259.53deg,#0a3fff 6.53%,#f55f0a 95.34%);border-radius:50%;filter:blur(10vw);left:0;opacity:.6;position:absolute;top:0;transform-origin:50% 50%;width:calc(150%*var(--size))}@keyframes loop{0%{transform:translate3D(0,51%,0) rotate(0deg)}5%{transform:translate3D(8%,31%,0) rotate(18deg)}10%{transform:translate3D(22%,13%,0) rotate(36deg)}15%{transform:translate3D(40%,2%,0) rotate(54deg)}20%{transform:translate3D(46%,21%,0) rotate(72deg)}25%{transform:translate3D(50%,47%,0) rotate(90deg)}30%{transform:translate3D(53%,80%,0) rotate(108deg)}35%{transform:translate3D(59%,98%,0) rotate(125deg)}40%{transform:translate3D(84%,89%,0) rotate(144deg)}45%{transform:translate3D(92%,68%,0) rotate(162deg)}50%{transform:translate3D(99%,47%,0) rotate(180deg)}55%{transform:translate3D(97%,21%,0) rotate(198deg)}60%{transform:translate3D(80%,7%,0) rotate(216deg)}65%{transform:translate3D(68%,25%,0) rotate(234deg)}70%{transform:translate3D(59%,41%,0) rotate(251deg)}75%{transform:translate3D(50%,63%,0) rotate(270deg)}80%{transform:translate3D(38%,78%,0) rotate(288deg)}85%{transform:translate3D(21%,92%,0) rotate(306deg)}90%{transform:translate3D(3%,79%,0) rotate(324deg)}to{transform:translate3D(0,51%,0) rotate(1turn)}}.circles{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.circles li{animation:animate 25s linear infinite;background-color:#ff3cac;background-image:linear-gradient(225deg,#ff3cac,#784ba0 50%,#2b86c5);bottom:-150px;display:block;height:20px;list-style:none;position:absolute;width:20px}.circles li:first-child{animation-delay:0s;height:80px;left:25%;width:80px}.circles li:nth-child(2){animation-delay:2s;animation-duration:12s;height:20px;left:10%;width:20px}.circles li:nth-child(3){animation-delay:4s;height:20px;left:70%;width:20px}.circles li:nth-child(4){animation-delay:0s;animation-duration:18s;height:60px;left:40%;width:60px}.circles li:nth-child(5){animation-delay:0s;height:20px;left:65%;width:20px}.circles li:nth-child(6){animation-delay:3s;height:110px;left:75%;width:110px}.circles li:nth-child(7){animation-delay:7s;height:150px;left:35%;width:150px}.circles li:nth-child(8){animation-delay:15s;animation-duration:45s;height:25px;left:50%;width:25px}.circles li:nth-child(9){animation-delay:2s;animation-duration:35s;height:15px;left:20%;width:15px}.circles li:nth-child(10){animation-delay:0s;animation-duration:11s;height:150px;left:85%;width:150px}@keyframes animate{0%{border-radius:20%;opacity:1;transform:translateY(0) rotate(0deg)}to{border-radius:50%;opacity:0;transform:translateY(-1000px) rotate(2turn)}}.welcome{background-image:linear-gradient(90deg,#80808012 1px,transparent 0),linear-gradient(180deg,#80808012 1px,transparent 0);background-size:50px 50px;height:100%;position:relative}.welcome .slogan{left:10%;min-width:300px;position:absolute;top:50%}.welcome .slogan.fin .path-1,.welcome .slogan.fin .path-2,.welcome .slogan.fin .path-3{stroke-dashoffset:0}.welcome .slogan.fin .path-4{stroke-width:18px}.welcome .slogan .path{fill:none;stroke:var(--color-font);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round}.welcome .slogan .path-1{stroke-dasharray:1850 2000;stroke-dashoffset:1851;transition:5s linear}.welcome .slogan .path-2{stroke-dasharray:260 1000;stroke-dashoffset:261;transition:1.2s linear 5.2s}.welcome .slogan .path-3{stroke-dasharray:100 1000;stroke-dashoffset:101;transition:1s linear 6.5s}.welcome .slogan .path-4{stroke-width:0;transition:.1s linear 7.5s}.welcome .motto{bottom:20px;font-family:motto;font-size:22px;left:50%;position:absolute;transform:translateX(-50%);z-index:1999}
|
1
themes/hexo-theme-linear/source/css/206.a3a4e130.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
pre[class*=language-].line-numbers{counter-reset:linenumber;padding-left:3.8em;position:relative}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{border-right:1px solid #999;font-size:100%;left:-3.8em;letter-spacing:-1px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:3em}.line-numbers-rows>span{counter-increment:linenumber;display:block}.line-numbers-rows>span:before{color:#999;content:counter(linenumber);display:block;padding-right:.8em;text-align:right}
|
1
themes/hexo-theme-linear/source/css/21.88950121.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
code[class*=language-],pre[class*=language-]{background:#27212e;color:#fff;direction:ltr;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{background:#eb64b927;color:inherit}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#eb64b927;color:inherit}pre[class*=language-]{border-radius:.5em;margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-]{border-radius:.5rem;padding:.2em .3em;white-space:normal}.token.cdata,.token.comment,.token.prolog{color:#91889b}.token.punctuation{color:#7b6995}.token.boolean,.token.builtin,.token.constant{color:#ffe261}.token.number{color:#b381c5}.token.atrule,.token.important,.token.keyword,.token.property{color:#40b4c4}.token.class-name,.token.doctype,.token.inserted,.token.operator,.token.symbol,.token.tag{color:#74dfc4}.token.attr-name,.token.deleted,.token.function,.token.selector{color:#eb64b9}.token.attr-value,.token.char,.token.regex,.token.string{color:#b4dce7}.token.entity,.token.url,.token.variable{color:#fff}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.namespace{opacity:.7}
|
1
themes/hexo-theme-linear/source/css/271.54fa1675.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
code[class*=language-],pre[class*=language-]{color:#c5c8c6;direction:ltr;font-family:Inconsolata,Monaco,Consolas,Courier New,Courier,monospace;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px rgba(0,0,0,.3);white-space:pre;word-break:normal;word-spacing:normal}pre[class*=language-]{border-radius:.3em;margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#1d1f21}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7c7c7c}.token.punctuation{color:#c5c8c6}.namespace{opacity:.7}.token.keyword,.token.property,.token.tag{color:#96cbfe}.token.class-name{color:#ffffb6;text-decoration:underline}.token.boolean,.token.constant{color:#9c9}.token.deleted,.token.symbol{color:#f92672}.token.number{color:#ff73fd}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a8ff60}.token.variable{color:#c6c5fe}.token.operator{color:#ededed}.token.entity{color:#ffffb6;cursor:help}.token.url{color:#96cbfe}.language-css .token.string,.style .token.string{color:#87c38a}.token.atrule,.token.attr-value{color:#f9ee98}.token.function{color:#dad085}.token.regex{color:#e9c062}.token.important{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}
|
1
themes/hexo-theme-linear/source/css/291.a8323266.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
code[class*=language-],pre[class*=language-]{word-wrap:normal;color:#d6deeb;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{background:rgba(29,59,83,.99);text-shadow:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:rgba(29,59,83,.99);text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#011627;color:#fff}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.prolog{color:#637777;font-style:italic}.token.punctuation{color:#c792ea}.namespace{color:#b2ccd6}.token.deleted{color:rgba(239,83,80,.56);font-style:italic}.token.property,.token.symbol{color:#80cbc4}.token.keyword,.token.operator,.token.tag{color:#7fdbca}.token.boolean{color:#ff5874}.token.number{color:#f78c6c}.token.builtin,.token.char,.token.constant,.token.function{color:#82aaff}.token.doctype,.token.selector{color:#c792ea;font-style:italic}.token.attr-name,.token.inserted{color:#addb67;font-style:italic}.language-css .token.string,.style .token.string,.token.entity,.token.string,.token.url{color:#addb67}.token.atrule,.token.attr-value,.token.class-name{color:#ffcb8b}.token.important,.token.regex,.token.variable{color:#d6deeb}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}
|
1
themes/hexo-theme-linear/source/css/2cd7dba2.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.category{display:flex;flex-direction:column;height:100%}.category>header{border-bottom:1px solid var(--color-border-2);height:57px;justify-content:space-between;padding-left:30px;padding-right:24px}.category .spotlight,.category>header,.category>header>section{align-items:center;display:flex}.category .spotlight{background:var(--color-bg-2);height:36px;justify-content:space-between;padding:0 30px}.category .spotlight .filter{align-items:center;color:var(--color-font-3);cursor:pointer;display:inline-flex}.category .spotlight .filter svg{height:20px;width:20px}.category .spotlight .post-num{color:var(--color-font-2);font-size:13px}.category .table{flex:1;margin:0;overflow:auto;padding:0}.category .table li{border-bottom:1px solid var(--color-border-2);height:44px;line-height:44px;list-style:none}.category .table li:hover{background:var(--color-tiny-hover)}.category .table li.selected{background:var(--color-primary-2)}.category .table li a{align-items:center;color:var(--color-font);display:flex;padding:0 30px;text-decoration:none}.category .table li a .icon{align-items:center;color:var(--color-font-3);display:inline-flex;height:16px;margin-right:8px;width:20px}.category .table li a .icon svg{height:100%;width:100%}.category .table li a .icon.priority{color:#fc7840;height:20px;width:20px}.category .table li a p{flex:1;font-size:13px;margin:0;padding-right:20px}.category .table li a .post-date{color:var(--color-font-2);font-size:12px}.category .table li a .post-date b{font-weight:500}.category .table li a .post-date em{transform:translateY(5px)}.category .table .color-circle{border:1px solid;border-radius:50%;display:inline-block;height:12px;width:12px}.category .table .color-circle.color-1{border-color:#ff453a}.category .table .color-circle.color-2{border-color:#ff9f0a}.category .table .color-circle.color-3{border-color:#ffd60a}.category .table .color-circle.color-4{border-color:#32d74b}.category .table .color-circle.color-5{border-color:#0a84ff}.category .table .color-circle.color-6{border-color:#bf5af2}.category .table .color-circle.color-7{border-color:#8e8e93}
|
1
themes/hexo-theme-linear/source/css/2f1ea598.css
Normal file
1
themes/hexo-theme-linear/source/css/3a4a90d1.css
Normal file
1
themes/hexo-theme-linear/source/css/3efc6cb5.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.category-nav{flex:1;margin:24px 0 0;overflow:auto}.category-nav>ul{margin:0 0 20px;padding:0}.category-nav>ul li{border-radius:var(--radius);list-style:none;margin-bottom:1px;padding:0 6px;transition:all .25s ease}.category-nav>ul li.active{background:var(--color-primary-2)}.category-nav>ul li:hover{background:var(--color-menu-hover)}.category-nav>ul li a{align-items:center;color:var(--color-font);display:flex;height:27px;text-decoration:none}.category-nav>ul li a svg{color:var(--color-font-2);width:16px}.category-nav>ul li a>div{flex:1;font-size:13px;max-width:100%;padding-left:10px}.category-nav p{color:var(--color-font-2);font-size:12px;padding-left:6px}.category-nav .nav-items li a div{font-size:14px}
|
1
themes/hexo-theme-linear/source/css/429.fb1dabcb.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
code[class*=language-],pre[class*=language-]{word-wrap:normal;background:#2f2f2f;color:#eee;font-family:Roboto Mono,monospace;font-size:1em;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{background:#363636}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#363636}:not(pre)>code[class*=language-]{border-radius:.2em;padding:.1em;white-space:normal}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1.25em 1em;position:relative}.language-css>code,.language-sass>code,.language-scss>code{color:#fd9170}[class*=language-] .namespace{opacity:.7}.token.atrule{color:#c792ea}.token.attr-name{color:#ffcb6b}.token.attr-value,.token.attribute{color:#a5e844}.token.boolean{color:#c792ea}.token.builtin{color:#ffcb6b}.token.cdata,.token.char{color:#80cbc4}.token.class{color:#ffcb6b}.token.class-name{color:#f2ff00}.token.comment{color:#616161}.token.constant{color:#c792ea}.token.deleted{color:#f66}.token.doctype{color:#616161}.token.entity{color:#f66}.token.function{color:#c792ea}.token.hexcode{color:#f2ff00}.token.id,.token.important{color:#c792ea;font-weight:700}.token.inserted{color:#80cbc4}.token.keyword{color:#c792ea}.token.number{color:#fd9170}.token.operator{color:#89ddff}.token.prolog{color:#616161}.token.property{color:#80cbc4}.token.pseudo-class,.token.pseudo-element{color:#a5e844}.token.punctuation{color:#89ddff}.token.regex{color:#f2ff00}.token.selector{color:#f66}.token.string{color:#a5e844}.token.symbol{color:#c792ea}.token.tag{color:#f66}.token.unit{color:#fd9170}.token.url,.token.variable{color:#f66}
|
1
themes/hexo-theme-linear/source/css/4c3d0e88.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.search-group{align-items:center;background:var(--color-bg-2);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;height:32px;padding-left:6px;padding-right:2px}.search-group:hover{background:var(--color-bg-4);cursor:pointer}.search-group svg{color:var(--color-font-2);height:16px;width:16px}.search-group #search-input{color:var(--color-font-2);flex:1;font-size:13px;padding-left:5px}.search-group .short-key{display:flex;z-index:10}
|
1
themes/hexo-theme-linear/source/css/618.6513d67e.css
Normal file
1
themes/hexo-theme-linear/source/css/766.64ad3c35.css
Normal file
1
themes/hexo-theme-linear/source/css/7c527814.css
Normal file
1
themes/hexo-theme-linear/source/css/922.9efa0b6b.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
code[class*=language-],pre[class*=language-]{background:#1d262f;color:#57718e;direction:ltr;font-family:Consolas,Menlo,Monaco,Andale Mono WT,Andale Mono,Lucida Console,Lucida Sans Typewriter,DejaVu Sans Mono,Bitstream Vera Sans Mono,Liberation Mono,Nimbus Mono L,Courier New,Courier,monospace;font-size:14px;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.375;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}pre>code[class*=language-]{font-size:1em}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{background:#004a9e;text-shadow:none}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#004a9e;text-shadow:none}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em}.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:#4a5f78}.token.namespace{opacity:.7}.token.number,.token.operator,.token.tag{color:#0aa370}.token.function,.token.property{color:#57718e}.token.atrule-id,.token.selector,.token.tag-id{color:#ebf4ff}.token.attr-name,code.language-javascript{color:#7eb6f6}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.keyword,.token.placeholder,.token.regex,.token.statement,.token.string,.token.unit,.token.url,.token.variable,code.language-css,code.language-scss{color:#47ebb4}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #ebf4ff;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#7eb6f6}.token.entity{cursor:help}pre>code.highlight{outline:.4em solid #34659d;outline-offset:.4em}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#1f2932}.line-numbers .line-numbers-rows>span:before{color:#2c3847}.line-highlight.line-highlight{background:rgba(10,163,112,.2);background:-webkit-linear-gradient(left,rgba(10,163,112,.2) 70%,rgba(10,163,112,0));background:linear-gradient(90deg,rgba(10,163,112,.2) 70%,rgba(10,163,112,0))}
|
1
themes/hexo-theme-linear/source/css/945.fdf98cb0.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
code[class*=language-],pre[class*=language-]{color:#d4d4d4;direction:ltr;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;font-size:13px;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:none;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#264f78;text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{background:#1e1e1e;margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-]{background:#1e1e1e;border-radius:.3em;color:#db4c69;padding:.1em .3em}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation,.token.punctuation{color:#d4d4d4}.token.boolean,.token.constant,.token.inserted,.token.number,.token.property,.token.symbol,.token.tag,.token.unit{color:#b5cea8}.token.attr-name,.token.builtin,.token.char,.token.deleted,.token.selector,.token.string{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.entity,.token.operator{color:#d4d4d4}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.control-flow,.token.keyword.module{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.interpolation,.token.parameter{color:#9cdcfe}.token.boolean,.token.punctuation.interpolation-punctuation{color:#569cd6}.token.exports .token.maybe-class-name,.token.imports .token.maybe-class-name,.token.property,.token.variable{color:#9cdcfe}.token.escape,.token.selector{color:#d7ba7d}.token.tag{color:#569cd6}.token.cdata,.token.tag .token.punctuation{color:grey}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}code[class*=language-javascript],code[class*=language-jsx],code[class*=language-tsx],code[class*=language-typescript],pre[class*=language-javascript],pre[class*=language-jsx],pre[class*=language-tsx],pre[class*=language-typescript]{color:#9cdcfe}code[class*=language-css],pre[class*=language-css]{color:#ce9178}code[class*=language-html],pre[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:grey}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 0 #f7d87c;z-index:0}
|
1
themes/hexo-theme-linear/source/css/aeb44e7a.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
:root{--radius:4px;--font-monospace:"linear","SFMono Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;--font-regular:"linear","Inter UI","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-emoji:"linear","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Segoe UI","Twemoji Mozilla","Noto Color Emoji","Android Emoji";--scrollbar-width:12px;--scrollbar-min-size:32px}.loading-bar{background-color:rgba(0,0,0,.2);border-radius:var(--radius);display:inherit;position:relative;width:100px}.loading-bar,.loading-bar span{background-clip:padding-box;height:4px;overflow:hidden}.loading-bar span{animation:react-spinners-barLoader 2.1s cubic-bezier(.65,.815,.735,.395) 0s infinite normal none running;background-color:#000;border-radius:2px;display:block;position:absolute;will-change:left,right}@keyframes react-spinners-barLoader{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}::selection{background:var(--color-selection)}.scrollbar-obtrusive::-webkit-scrollbar-track{background:transparent}.scrollbar-obtrusive::-webkit-scrollbar{height:var(--scrollbar-width);width:var(--scrollbar-width)}.scrollbar-obtrusive::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--scrollbar-color);border:3px solid transparent;border-radius:var(--scrollbar-width);opacity:.2}.tip{position:relative}.tip:hover:after{word-wrap:break-word;animation-delay:.4s;animation-duration:.1s;animation-fill-mode:forwards;animation-name:tooltip-appear;animation-timing-function:ease-in;background:var(--color-font);border-radius:3px;color:var(--color-bg);content:attr(data-tip);font-size:12px;line-height:1;margin-top:6px;opacity:0;padding:.5em .75em;pointer-events:none;position:absolute;text-align:center;top:100%;white-space:pre;z-index:1000000}.tip.left:after{right:0}.tip.right:after{left:0}@keyframes tooltip-appear{0%{opacity:0}to{opacity:1}}.loader{background-color:#000;height:10px;left:50%;position:absolute;top:50%;width:100px}.blur-behind{position:relative;z-index:2}.blur-behind:before{background:var(--color-bg-mask);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.key-cap{border-radius:4px;font-family:var(--font-regular);height:24px;margin-right:2px;min-width:24px}.key-cap>span{align-items:center;background:var(--color-bg-3);border-radius:4px;color:var(--color-font-2);display:flex;font-size:12px;height:100%;justify-content:center;padding:2px 4px}.glass-material{backdrop-filter:blur(30px);background:linear-gradient(180deg,hsla(0,0%,100%,.28),hsla(0,0%,100%,0));box-shadow:inset 0 .5px 0 1px hsla(0,0%,100%,.23),inset 0 1px 0 0 hsla(0,0%,100%,.66),0 4px 16px rgba(0,0,0,.12)}.content-dialog:before{background:linear-gradient(var(--color-bg),transparent 70%)}.content-dialog:after,.content-dialog:before{content:"";height:2rem;position:fixed;width:100%;z-index:10}.content-dialog:after{background:linear-gradient(transparent,var(--color-bg) 70%);bottom:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-hover{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;justify-content:center;padding:3px;text-decoration:none;transition:all .3 ease}.btn-hover svg{color:var(--color-font-3);height:18px;width:18px}.btn-hover-bg,.btn-hover:hover{background:var(--color-bg-3)}.btn-hover:hover svg{color:var(--color-font-2)}@media only screen and (max-width:767px){.side-navigation{display:flex!important}.search-mask>div{left:20px!important;right:20px!important;transform:inherit!important;width:auto!important}#app{grid-template-columns:0 1fr!important}#app.equip{grid-template-columns:220px auto!important}#app.equip main{min-width:430px;position:relative}#app.equip main:after{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:var(--color-bg-mask);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1000}.archive>ul{padding-right:20px}.dropdown-menu{background:var(--color-bg-2)!important}.article-container{margin:0;padding:0 30px;width:100%!important}.copyright ul{flex-direction:column!important}.copyright ul li{margin-bottom:20px!important;margin-right:0!important}.meta-container{display:none!important}.welcome .circles{margin:0;padding:0}.welcome .weather{min-width:300px!important;right:20px!important;top:60px!important;width:auto!important}.welcome .slogan,.welcome .weather{left:20px!important}}*{box-sizing:border-box}@font-face{font-family:linear;src:url(../font/linear.woff2)}@font-face{font-family:motto;src:url(../font/motto.woff)}body,html{background:var(--color-bg);color:var(--color-font);font-family:var(--font-regular);font-size:14px;height:100%;line-height:1;margin:0;overflow:hidden;padding:0}
|
1
themes/hexo-theme-linear/source/css/ccbcde32.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.copyright{background-color:var(--color-bg-2);border-radius:var(--radius);margin:24px 0;overflow:hidden;padding:16px;position:relative}.copyright>p{color:var(--color-font);font-size:13px;margin:0 0 4px}.copyright a{word-wrap:break-word;color:var(--color-font-2);font-size:13px;text-decoration:none}.copyright a:hover{color:var(--color-primary)}.copyright ul{display:flex;margin:16px 0 0;padding:0}.copyright ul li{display:flex;flex-direction:column;margin-right:20px}.copyright ul li:last-of-type{margin:0}.copyright ul li span{color:var(--color-font-3);font-size:12px}.copyright ul li p{color:var(--color-font);font-size:13px;margin:10px 0 0}
|
1
themes/hexo-theme-linear/source/css/de5de8fb.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.breadcrumb{align-items:center;display:inline-flex;font-size:13px}.breadcrumb a{color:var(--color-font-3);margin-left:-3px;text-decoration:none}.breadcrumb a:hover{color:var(--color-font-2)}.breadcrumb em{align-items:center;color:var(--color-font-3);display:inline-flex;margin:0 5px}.breadcrumb em svg{height:14px;width:14px}.breadcrumb .ellipsis{max-width:50vw}
|
1
themes/hexo-theme-linear/source/css/e01add4b.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.home-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.home-bar>a{align-items:center;color:var(--color-font);display:inline-flex;text-decoration:none}.home-bar>a>svg{border-radius:var(--radius);color:var(--color-primary);height:32px;padding:4px;width:32px}.home-bar>a span{font-weight:500;padding-left:8px}.home-bar #toggle-theme{align-items:center;border:1px solid var(--color-border);border-radius:20px;color:var(--color-font);cursor:pointer;display:inline-flex;justify-content:space-between;padding:2px}.home-bar #toggle-theme.dark svg:last-of-type,.home-bar #toggle-theme.light svg:first-of-type{background-color:var(--color-bg-4);color:var(--color-font)}.home-bar #toggle-theme svg{border-radius:50%;color:var(--color-font-2);height:22px;padding:4px;width:22px}.home-bar #toggle-theme svg:first-of-type{margin-right:8px}
|
1
themes/hexo-theme-linear/source/css/efca006a.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.timeline{line-height:1.4em;list-style:none;margin:0;padding:0;width:100%}.timeline li:last-of-type .timeline-item{padding-bottom:0}.timeline .timeline-item{color:var(--color-font-2);display:block;padding-bottom:40px;padding-left:40px;position:relative;text-decoration:none}.timeline .timeline-item:hover .timeline-marker:before{background:var(--color-primary)}.timeline .timeline-item .timeline-info{font-size:12px;letter-spacing:1px;padding-top:2px;text-transform:uppercase;white-space:nowrap}.timeline .timeline-item .timeline-marker{bottom:0;left:0;position:absolute;top:0;width:15px}.timeline .timeline-item .timeline-marker:last-child:after{content:none}.timeline .timeline-item .timeline-marker:before{background:transparent;border:2px solid var(--color-primary);border-radius:100%;content:"";display:block;height:8px;left:50%;position:absolute;top:5.5px;transform:translateX(-50%);transition:background .3s ease-in-out,border .3s ease-in-out;width:8px}.timeline .timeline-item .timeline-marker:after{background:var(--color-border);bottom:0;content:"";display:block;left:50%;position:absolute;top:24px;transform:translateX(-50%);width:1px}.timeline .timeline-item .timeline-content .timeline-title{align-items:center;color:var(--color-font);display:flex;font-size:16px;font-weight:400;margin:0;padding:12px 0}.timeline .timeline-item .timeline-content .timeline-title .icon{color:var(--color-font-3);height:16px;margin-right:8px;width:16px}.timeline .timeline-item .timeline-content p{color:var(--color-font-2);font-size:13px;margin:0}.archive{height:100%;overflow-y:auto;padding:24px 0}.archive ul{list-style:none;margin:0 auto;max-width:860px}.archive ul h2{font-weight:400;margin:0 0 24px}
|
1
themes/hexo-theme-linear/source/css/f3729dde.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.weather{animation:zoomIn .5s ease-out 1s forwards}
|
BIN
themes/hexo-theme-linear/source/font/linear.woff2
Normal file
BIN
themes/hexo-theme-linear/source/font/motto.woff
Normal file
2
themes/hexo-theme-linear/source/img/favicon.svg
Normal file
After Width: | Height: | Size: 20 KiB |
1
themes/hexo-theme-linear/source/img/icon-arrow-left.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 12h10"></path><path d="M10 12l4 4"></path><path d="M10 12l4-4"></path><path d="M4 4v16"></path></g></svg>
|
After Width: | Height: | Size: 322 B |
1
themes/hexo-theme-linear/source/img/icon-book.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg width="16" height="16" color="rgb(184, 184, 184)" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="current"><path d="M10 16c-.456.607-1.182 1-2 1H3.5A1.5 1.5 0 0 1 2 15.5v-11A1.5 1.5 0 0 1 3.5 3H8c.818 0 1.544.393 2 1c.456-.607 1.182-1 2-1h4.5A1.5 1.5 0 0 1 18 4.5v11a1.5 1.5 0 0 1-1.5 1.5H12a2.496 2.496 0 0 1-2-1zM3 4.5v11a.5.5 0 0 0 .5.5H8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 8 4H3.5a.5.5 0 0 0-.5.5zm7.5 10A1.5 1.5 0 0 0 12 16h4.5a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5H12a1.5 1.5 0 0 0-1.5 1.5v9z" fill="currentColor"></path></g></svg>
|
After Width: | Height: | Size: 605 B |
12
themes/hexo-theme-linear/source/img/icon-click.svg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M8 13V4.5a1.5 1.5 0 0 1 3 0V12"></path>
|
||||||
|
<path d="M11 11.5v-2a1.5 1.5 0 0 1 3 0V12"></path>
|
||||||
|
<path d="M14 10.5a1.5 1.5 0 0 1 3 0V12"></path>
|
||||||
|
<path d="M17 11.5a1.5 1.5 0 0 1 3 0V16a6 6 0 0 1-6 6h-2h.208a6 6 0 0 1-5.012-2.7L7 19c-.312-.479-1.407-2.388-3.286-5.728a1.5 1.5 0 0 1 .536-2.022a1.867 1.867 0 0 1 2.28.28L8 13"></path>
|
||||||
|
<path d="M5 3L4 2"></path>
|
||||||
|
<path d="M4 7H3"></path>
|
||||||
|
<path d="M14 3l1-1"></path>
|
||||||
|
<path d="M15 6h1"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 693 B |
1
themes/hexo-theme-linear/source/img/icon-date.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M7 11h2v2H7v-2zm14-5v14c0 1.1-.9 2-2 2H5a2 2 0 0 1-2-2l.01-14c0-1.1.88-2 1.99-2h1V2h2v2h8V2h2v2h1c1.1 0 2 .9 2 2zM5 8h14V6H5v2zm14 12V10H5v10h14zm-4-7h2v-2h-2v2zm-4 0h2v-2h-2v2z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 324 B |
1
themes/hexo-theme-linear/source/img/icon-layout.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2"></rect><path d="M9 4v16"></path><path d="M15 10l-2 2l2 2"></path></g></svg>
|
After Width: | Height: | Size: 327 B |
14
themes/hexo-theme-linear/source/img/icon-link.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve"><g><path d="M280,341.1l-1.2,0.1c-3.6,0.4-7,2-9.6,4.5l-64.6,64.6c-13.7,13.7-32,21.2-51.5,21.2c-19.5,0-37.8-7.5-51.5-21.2
|
||||||
|
c-13.7-13.7-21.2-32-21.2-51.5c0-19.5,7.5-37.8,21.2-51.5l68.6-68.6c3.5-3.5,7.3-6.6,11.4-9.3c4.6-3,9.6-5.6,14.8-7.5
|
||||||
|
c4.8-1.8,9.9-3,15-3.7c3.4-0.5,6.9-0.7,10.2-0.7c1.4,0,2.8,0.1,4.6,0.2c17.7,1.1,34.4,8.6,46.8,21c7.7,7.7,13.6,17.1,17.1,27.3
|
||||||
|
c2.8,8,11.2,12.5,19.3,10.1c0.1,0,0.2-0.1,0.3-0.1c0.1,0,0.2,0,0.2-0.1c8.1-2.5,12.8-11,10.5-19.1c-4.4-15.6-12.2-28.7-24.6-41
|
||||||
|
c-15.6-15.6-35.9-25.8-57.6-29.3c-1.9-0.3-3.8-0.6-5.7-0.8c-3.7-0.4-7.4-0.6-11.1-0.6c-2.6,0-5.2,0.1-7.7,0.3
|
||||||
|
c-5.4,0.4-10.8,1.2-16.2,2.5c-1.1,0.2-2.1,0.5-3.2,0.8c-6.7,1.8-13.3,4.2-19.5,7.3c-10.3,5.1-19.6,11.7-27.7,19.9l-68.6,68.6
|
||||||
|
C58.9,304.4,48,330.8,48,359c0,28.2,10.9,54.6,30.7,74.4C98.5,453.1,124.9,464,153,464c28.2,0,54.6-10.9,74.4-30.7l65.3-65.3
|
||||||
|
C303.1,357.5,294.7,339.7,280,341.1z"></path><path d="M433.3,78.7C413.5,58.9,387.1,48,359,48s-54.6,10.9-74.4,30.7l-63.7,63.7c-9.7,9.7-3.6,26.3,10.1,27.4
|
||||||
|
c4.7,0.4,9.3-1.3,12.7-4.6l63.8-63.6c13.7-13.7,32-21.2,51.5-21.2s37.8,7.5,51.5,21.2c13.7,13.7,21.2,32,21.2,51.5
|
||||||
|
c0,19.5-7.5,37.8-21.2,51.5l-68.6,68.6c-3.5,3.5-7.3,6.6-11.4,9.3c-4.6,3-9.6,5.6-14.8,7.5c-4.8,1.8-9.9,3-15,3.7
|
||||||
|
c-3.4,0.5-6.9,0.7-10.2,0.7c-1.4,0-2.9-0.1-4.6-0.2c-17.7-1.1-34.4-8.6-46.8-21c-7.3-7.3-12.8-16-16.4-25.5
|
||||||
|
c-2.9-7.7-11.1-11.9-19.1-9.8c-8.9,2.3-14.1,11.7-11.3,20.5c4.5,14,12.1,25.9,23.7,37.5l0,0l0.2,0.2c16.9,16.9,39.4,27.6,63.3,30.1
|
||||||
|
c3.7,0.4,7.4,0.6,11.1,0.6c2.6,0,5.2-0.1,7.8-0.3c6.5-0.5,13-1.6,19.3-3.2c6.7-1.8,13.3-4.2,19.5-7.3c10.3-5.1,19.6-11.7,27.7-19.9
|
||||||
|
l68.6-68.6c19.8-19.8,30.7-46.2,30.7-74.4S453.1,98.5,433.3,78.7z"></path></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
1
themes/hexo-theme-linear/source/img/icon-moon.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 419 B |
1
themes/hexo-theme-linear/source/img/icon-sun.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M6.76 4.84l-1.8-1.79l-1.41 1.41l1.79 1.79zM1 10.5h3v2H1zM11 .55h2V3.5h-2zm8.04 2.495l1.408 1.407l-1.79 1.79l-1.407-1.408zm-1.8 15.115l1.79 1.8l1.41-1.41l-1.8-1.79zM20 10.5h3v2h-3zm-8-5c-3.31 0-6 2.69-6 6s2.69 6 6 6s6-2.69 6-6s-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4s4 1.79 4 4s-1.79 4-4 4zm-1 4h2v2.95h-2zm-7.45-.96l1.41 1.41l1.79-1.8l-1.41-1.41z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 501 B |
1
themes/hexo-theme-linear/source/img/icon1.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg color="rgb(107, 111, 118)" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9 16h6v2H9zm4-7h-2v2H9v2h2v2h2v-2h2v-2h-2z" fill="currentColor"></path><path d="M12 2c-5.33 4.55-8 8.48-8 11.8c0 4.98 3.8 8.2 8 8.2s8-3.22 8-8.2c0-3.32-2.67-7.25-8-11.8zm0 18c-3.35 0-6-2.57-6-6.2c0-2.34 1.95-5.44 6-9.14c4.05 3.7 6 6.79 6 9.14c0 3.63-2.65 6.2-6 6.2z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 451 B |
1
themes/hexo-theme-linear/source/img/icon2.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg color="rgb(107, 111, 118)" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M28 22h2v8h-2z" fill="currentColor"></path><path d="M24 18h2v12h-2z" fill="currentColor"></path><path d="M20 26h2v4h-2z" fill="currentColor"></path><path d="M9 16a7 7 0 1 0 7 7a7.008 7.008 0 0 0-7-7zm4.899 6H10v-3.899A5.014 5.014 0 0 1 13.899 22zM9 28a5 5 0 0 1-1-9.899V22a2 2 0 0 0 2 2h3.899A5.008 5.008 0 0 1 9 28z" fill="currentColor"></path><path d="M22.535 12l4-6H30V4h-4.535l-4 6H18V2h-2v12a2 2 0 0 0 2 2h12v-2H18v-2z" fill="currentColor"></path><circle cx="11" cy="7" r="1" fill="currentColor"></circle><circle cx="9" cy="11" r="1" fill="currentColor"></circle><circle cx="7" cy="5" r="1" fill="currentColor"></circle><circle cx="5" cy="9" r="1" fill="currentColor"></circle><circle cx="3" cy="13" r="1" fill="currentColor"></circle></svg>
|
After Width: | Height: | Size: 896 B |
1
themes/hexo-theme-linear/source/img/icon3.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M22 11h-4.17l3.24-3.24l-1.41-1.42L15 11h-2V9l4.66-4.66l-1.42-1.41L13 6.17V2h-2v4.17L7.76 2.93L6.34 4.34L11 9v2H9L4.34 6.34L2.93 7.76L6.17 11H2v2h4.17l-3.24 3.24l1.41 1.42L9 13h2v2l-4.66 4.66l1.42 1.41L11 17.83V22h2v-4.17l3.24 3.24l1.42-1.41L13 15v-2h2l4.66 4.66l1.41-1.42L17.83 13H22z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 431 B |
BIN
themes/hexo-theme-linear/source/img/logo.png
Normal file
After Width: | Height: | Size: 190 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/100.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/101.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/102.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/103.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/104.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/150.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/151.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/152.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/153.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/300.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/301.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/302.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/303.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/304.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/305.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/306.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/307.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/308.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/309.png
Normal file
After Width: | Height: | Size: 8.6 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/310.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/311.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
themes/hexo-theme-linear/source/img/qweather-color-icon/312.png
Normal file
After Width: | Height: | Size: 12 KiB |