diff --git a/_config.yml b/_config.yml
index e3b044a8b1..7cdaede59f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -201,6 +201,7 @@ search:
path: search.xml
field: post
format: html
+ content: true
limit: 10000
# auto prefixer
diff --git "a/source/_posts/\345\210\206\344\272\253\357\274\232\344\270\255\345\214\273\345\275\222\346\255\243-\350\202\272\347\273\223\350\212\202\347\226\221\344\274\274\347\224\262\347\212\266\350\205\272\347\231\214\347\227\207\345\214\273\346\241\210\344\270\200\345\210\231.md" "b/source/_posts/\345\210\206\344\272\253\357\274\232\344\270\255\345\214\273\345\275\222\346\255\243-\350\202\272\347\273\223\350\212\202\347\226\221\344\274\274\347\224\262\347\212\266\350\205\272\347\231\214\347\227\207\345\214\273\346\241\210\344\270\200\345\210\231.md"
new file mode 100644
index 0000000000..278ee51501
--- /dev/null
+++ "b/source/_posts/\345\210\206\344\272\253\357\274\232\344\270\255\345\214\273\345\275\222\346\255\243-\350\202\272\347\273\223\350\212\202\347\226\221\344\274\274\347\224\262\347\212\266\350\205\272\347\231\214\347\227\207\345\214\273\346\241\210\344\270\200\345\210\231.md"
@@ -0,0 +1,28 @@
+---
+title: 分享:中医归正 --- 肺结节/疑似甲状腺癌症医案一则
+abbrlink: 9194c1ae
+tags:
+ - 保健
+ - 中医归正
+categories:
+ - 摘
+date: 2025-01-01 20:41:48
+author:
+---
+
+#### 知诺浮想:
+
+#### 归正先生微信公众号原文:
+
+为气根何在,悬于肝叶间。调清关腑脉,吐纳补天环。
+
+
+
+### [归正先生 / 肺结节/疑似甲状腺癌症医案一则](https://mp.weixin.qq.com/s/T0_7mDiiB18h2ExH1Qfrdg "跳转至原文")
+
+
+
+
+
近来俗务缠身,兼着整理所学,故久未更新文章。在此,选一医案,做深入探讨。
一女患者,73岁,患有肺部不规则结节,甲状腺肿大并局部异常高代谢(疑似癌症),肝脏多发囊肿,纵膈乳腺良性结节等,两个月前无感冒等特殊诱因出现持续性咳嗽,伴随体重骤降和口渴烦躁等症状,经西医治疗几无疗效,乃前来求诊。
问其病:喉咙不适,连续咳嗽两个月,其间使用西医点滴治疗,虽暂时有效,但反弹极快。近期肺中浓痰骤然增多,吐出呈泡沫状,色褐黄,口气重。肺中气短,憋闷难耐。平日几无汗,但晨起微有细汗。不畏冷,不骨节疼痛,却周身无力。二便频率正常,大便偏干,小便偏黄。溯其源:此近似仲景所论坏病也,当知犯何逆,随证治之。该患者本就有肺部不规则结节的问题,人体内一切非必要的有形物质的增生,起初都是寒症,而寒气在肺内的长久堆积,必然导致糟粕无法正常排出人体,久而久之,就有了热症,患者晨起出汗,面色焦黄,痰褐黄等症状,皆入此类。此时若用寒凉中药医治,本就不对,若再用西医消炎抗生素之流入肺,就会导致寒气和糟粕在肺部的更顽固堆积。寒气,会让结节更难消散,糟粕,则会成为供应结节进一步生长的营养物质。诚实而论,即使在西医的显微镜下暂无法得出癌症确诊的结论,不过,我们知道血气运行喜温和,寒性收引,会阻碍血气运行。如若该患者无法有效驱逐寒邪剥离糟粕,且继续使用西药治疗,那么,就可能演化成癌症就是一线之间。基于上述判断,乃予下方三帖:三帖服毕,面色转为淡黄,浓痰大大减少,口渴口干症状尚在,肺部明显清爽,晨起出汗小时,但仍有咳嗽,肺部仍有异物感。乃再予下方合计十四帖:服毕再诊,体力逐渐恢复,口干口渴程度减半,白日几无咳嗽,但夜间依然咳嗽。痰不再浓稠,泡沫明显变少,肺部异物感消失,不气短,人轻松,随着肺部的缓解,口气也随之消失。面色黄暂未改善。乃再予下方五帖:五帖毕,在巩固此前疗效的基础上,夜咳消失,脸色好转,口干口渴已很轻微,体力基本回复如常。这里要注意的是,寒气长久内陷所导致的口干口渴,在治疗伊始断不能以滋阴生津作为治疗重心,而是应当用较低比例的麻黄桂枝来引导寒气和糟粕的排出人体,具体详见前三帖药方的使用。在确认寒气和糟粕大减的情况下,再用玉竹栝楼之类缓缓滋阴生津,才能达到解渴却不新滋生糟粕的效果。治疗至此,可以基本判定患者症状已趋稳定,肺部结节和甲状腺肿大短期内已无进一步发展的基础。未来治疗,或可在春夏二季适当增大桂枝的使用比例,借助春夏阳气的升发之力,进一步强化白僵蚕、川芎、姜半夏、栝楼根等药物的散结之效,以期解决甲状腺肿大和肺部不规则结节的隐患。———— THE END ————
+
+
diff --git "a/source/_posts/\345\210\206\344\272\253\357\274\232\344\270\255\345\214\273\345\275\222\346\255\243-\350\213\215\350\214\253.md" "b/source/_posts/\345\210\206\344\272\253\357\274\232\344\270\255\345\214\273\345\275\222\346\255\243-\350\213\215\350\214\253.md"
index 2c207175f8..0b4fad29c6 100644
--- "a/source/_posts/\345\210\206\344\272\253\357\274\232\344\270\255\345\214\273\345\275\222\346\255\243-\350\213\215\350\214\253.md"
+++ "b/source/_posts/\345\210\206\344\272\253\357\274\232\344\270\255\345\214\273\345\275\222\346\255\243-\350\213\215\350\214\253.md"
@@ -1,6 +1,6 @@
---
title: 分享:中医归正 --- 苍茫
-abbrlink:
+abbrlink: a67bf115
tags:
- 保健
- 中医归正
diff --git a/themes/next/.githooks/install.js b/themes/next/.githooks/install.js
deleted file mode 100644
index 644c33db3b..0000000000
--- a/themes/next/.githooks/install.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const { spawn } = require('child_process');
-const path = require('path');
-
-const subprocess = spawn('git', ['config', '--local', 'core.hooksPath', path.join(__dirname, '.githooks/')]);
-
-subprocess.on('error', () => {
- console.error('Failed to install git hook.');
-});
diff --git a/themes/next/.githooks/pre-commit b/themes/next/.githooks/pre-commit
deleted file mode 100644
index c56e0afb95..0000000000
--- a/themes/next/.githooks/pre-commit
+++ /dev/null
@@ -1 +0,0 @@
-npm run eslint && npm test
diff --git a/themes/next/README.md b/themes/next/README.md
index 6fd5140bb1..c30d5fac98 100644
--- a/themes/next/README.md
+++ b/themes/next/README.md
@@ -15,7 +15,7 @@
# NexT
-> «NexT» is a high quality elegant [Hexo](https://hexo.io) theme. It is crafted from scratch with love.
+> NexT is a high quality elegant [Hexo](https://hexo.io) theme. It is crafted from scratch with love.
[![NPM version](https://img.shields.io/npm/v/hexo-theme-next?color=red&logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
[![NPM Downloads](https://img.shields.io/npm/dm/hexo-theme-next?logo=npm&style=flat-square)](https://www.npmjs.com/package/hexo-theme-next)
@@ -31,7 +31,7 @@
💟 Muse | 🔯 Mist | ♓️ Pisces | ♊️ Gemini
- More «NexT» examples here.
+ More NexT examples here.
## Installation
@@ -110,10 +110,18 @@ git pull
**If you want to update from v5.x / v7.x to the latest version, read [this][docs-upgrade-url].**
+## Community
+
+Connect with us and be part of our growing community!
+
+* **Telegram Group (Chinese Language)**: [Click here to join!](https://t.me/theme_next_cn)
+* **Discord Server**: [Join our Discord!](https://discord.gg/qmkgkY3jaG)
+* **Gitter**: [Join our Gitter chats!][gitter-url]
+
## Feedback
* Visit the [Awesome NexT][awesome-next-url] list to share plugins and tutorials with other users.
-* Join our [GitHub discussions][discussions-url] / [Gitter][gitter-url] chats.
+* Join our [GitHub discussions][discussions-url].
* [Add or improve translation][i18n-url] in few seconds.
* Report a bug in [GitHub Issues][issues-bug-url].
* Request a new feature on [GitHub][issues-feat-url].
@@ -131,7 +139,7 @@ Also, we welcome Issue or PR to our [official-plugins][official-plugins-url].
## Thanks
-«NexT» send special thanks to these great services that sponsor our core infrastructure:
+NexT send special thanks to these great services that sponsor our core infrastructure:
diff --git a/themes/next/_vendors.yml b/themes/next/_vendors.yml
index 2e25a00891..cab0944c53 100644
--- a/themes/next/_vendors.yml
+++ b/themes/next/_vendors.yml
@@ -8,10 +8,10 @@ anime:
integrity: sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=
fontawesome:
name: '@fortawesome/fontawesome-free'
- version: 6.6.0
+ version: 6.7.2
file: css/all.min.css
alias: font-awesome
- integrity: sha256-5eIC48iZUHmSlSUz9XtjRyK2mzQkHScZY1WdMaoz74E=
+ integrity: sha256-dABdfBfUoC8vJUBOwGVdm8L9qlMWaHTIfXt+7GnZCIo=
prism:
name: prismjs
version: 1.29.0
@@ -108,14 +108,14 @@ gitalk_css:
integrity: sha256-AJnUHL7dBv6PGaeyPQJcgQPDjt/Hn/PvYZde1iqfp8U=
firebase_app:
name: firebase
- version: 10.14.1
+ version: 11.1.0
file: firebase-app-compat.js
- integrity: sha256-KsPwUaqMNX8FDBi2qNV4Z/We2FthlJrPIRQhOVgfXMQ=
+ integrity: sha256-k2eD8Bl04gp35v4S01cNbO+3UeLK6mVqpOyUJz4aXzY=
firebase_firestore:
name: firebase
- version: 10.14.1
+ version: 11.1.0
file: firebase-firestore-compat.js
- integrity: sha256-oPdfryMK6T4WGGJbidMkl/7TIOrnkCJ8BqrOT8En2a4=
+ integrity: sha256-r1EpenNle+MZs+KB73PFJnrmIF3k29t5XGrSqfZ9PPw=
algolia_search:
name: algoliasearch
version: 4.24.0
diff --git a/themes/next/package.json b/themes/next/package.json
index f80e697746..f3b707e4ba 100644
--- a/themes/next/package.json
+++ b/themes/next/package.json
@@ -1,6 +1,6 @@
{
"name": "hexo-theme-next",
- "version": "8.21.1",
+ "version": "8.22.0",
"description": "Elegant and powerful theme for Hexo.",
"main": "package.json",
"files": [
@@ -33,14 +33,14 @@
"homepage": "https://theme-next.js.org",
"devDependencies": {
"@next-theme/eslint-config": "0.0.4",
- "c8": "10.1.2",
+ "c8": "10.1.3",
"chai": "4.5.0",
- "eslint": "9.14.0",
+ "eslint": "9.17.0",
"hexo": "7.3.0",
"hexo-renderer-marked": "6.3.0",
"js-yaml": "4.1.0",
- "mocha": "10.8.2",
- "stylelint": "16.10.0",
+ "mocha": "11.0.1",
+ "stylelint": "16.12.0",
"stylelint-stylus": "1.0.0"
}
}
diff --git a/themes/next/scripts/helpers/font.js b/themes/next/scripts/helpers/font.js
index 5c46090efc..517e8e4256 100644
--- a/themes/next/scripts/helpers/font.js
+++ b/themes/next/scripts/helpers/font.js
@@ -6,7 +6,7 @@ module.exports = function() {
if (!config || !config.enable) return '';
- const fontStyles = ':300,300italic,400,400italic,700,700italic';
+ const fontStyles = ':ital,wght@0,300;0,400;0,700;1,300;1,400;1,700';
const fontHost = config.host || 'https://fonts.googleapis.com';
// Get a font list from config
@@ -18,8 +18,8 @@ module.exports = function() {
});
fontFamilies = fontFamilies.map(name => name.trim().replace(/\s/g, '+') + fontStyles);
- fontFamilies = [...new Set(fontFamilies)].join('%7C');
+ fontFamilies = [...new Set(fontFamilies)].map(name => 'family=' + name).join('&');
// Merge extra parameters to the final processed font string
- return fontFamilies ? `` : '';
+ return fontFamilies ? `` : '';
};
diff --git a/themes/next/source/css/_common/components/post/post-body.styl b/themes/next/source/css/_common/components/post/post-body.styl
index d8462295bf..ebc06af03c 100644
--- a/themes/next/source/css/_common/components/post/post-body.styl
+++ b/themes/next/source/css/_common/components/post/post-body.styl
@@ -46,7 +46,8 @@
}
// https://github.com/hexojs/hexo-renderer-marked/pull/264
- img + figcaption, .fancybox + figcaption {
+ // https://github.com/next-theme/hexo-next-exif
+ figure:not(.highlight) figcaption {
color: $grey-dark;
font-size: $font-size-small;
font-weight: bold;
diff --git a/themes/next/source/css/_common/outline/mobile.styl b/themes/next/source/css/_common/outline/mobile.styl
index 2643054176..5e4843fb65 100644
--- a/themes/next/source/css/_common/outline/mobile.styl
+++ b/themes/next/source/css/_common/outline/mobile.styl
@@ -1,10 +1,3 @@
-/*
-// < 767px
-+mobile() {
-
-}
-*/
-
if (hexo-config('mobile_layout_economy')) {
+mobile-small() {
// For Pisces & Gemini schemes only wider width (remove main blocks in Gemini).
@@ -53,7 +46,7 @@ if (hexo-config('mobile_layout_economy')) {
}
// Fix issue #641
- img + figcaption, .fancybox + figcaption {
+ figure:not(.highlight) figcaption {
margin: -5px auto 15px !important;
}
@@ -82,9 +75,3 @@ if (hexo-config('mobile_layout_economy')) {
}
}
}
-/*
-// < 413px
-+mobile-smallest() {
-
-}
-*/
diff --git a/themes/next/source/css/_common/outline/sidebar/index.styl b/themes/next/source/css/_common/outline/sidebar/index.styl
index 9043b3847e..3e2c8e0e63 100644
--- a/themes/next/source/css/_common/outline/sidebar/index.styl
+++ b/themes/next/source/css/_common/outline/sidebar/index.styl
@@ -70,19 +70,7 @@
}
.links-of-blogroll-item {
- if (hexo-config('links_settings.layout') == 'inline') {
- display: inline-block;
- }
- padding: 2px 10px;
-
- a {
- box-sizing: border-box;
- display: inline-block;
- max-width: 280px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
+ padding: 0 5px;
}
.popular-posts .popular-posts-item .popular-posts-link:hover {
@@ -115,27 +103,13 @@
flex-column();
}
-.cc-license {
- .cc-opacity {
- border-bottom: 0;
- opacity: .7;
-
- &:hover {
- opacity: .9;
- }
- }
-
- img {
- display: inline-block;
- }
-}
-
-@import 'sidebar-author';
-@import 'sidebar-author-links';
-@import 'sidebar-button';
-@import 'sidebar-blogroll';
-@import 'sidebar-nav';
@import 'sidebar-toggle';
+@import 'sidebar-nav';
@import 'sidebar-toc';
+@import 'sidebar-author';
@import 'site-state';
+@import 'sidebar-button';
+@import 'sidebar-author-links';
+@import 'sidebar-copyright';
+@import 'sidebar-blogroll';
@import 'related-posts';
diff --git a/themes/next/source/css/_common/outline/sidebar/sidebar-blogroll.styl b/themes/next/source/css/_common/outline/sidebar/sidebar-blogroll.styl
index a1a3eb8f03..b7c5837014 100644
--- a/themes/next/source/css/_common/outline/sidebar/sidebar-blogroll.styl
+++ b/themes/next/source/css/_common/outline/sidebar/sidebar-blogroll.styl
@@ -9,6 +9,20 @@
.links-of-blogroll-list {
list-style: none;
- margin: 0;
+ gap: 5px;
+ margin: 5px 0 0;
padding: 0;
+ flex-wrap();
+
+ if (hexo-config('links_settings.layout') == 'block') {
+ flex-direction: column;
+ }
+}
+
+.links-of-blogroll-item {
+ max-width: calc(100% - 20px);
+
+ a {
+ sidebar-inline-links-item();
+ }
}
diff --git a/themes/next/source/css/_common/outline/sidebar/sidebar-copyright.styl b/themes/next/source/css/_common/outline/sidebar/sidebar-copyright.styl
new file mode 100644
index 0000000000..4863a10cba
--- /dev/null
+++ b/themes/next/source/css/_common/outline/sidebar/sidebar-copyright.styl
@@ -0,0 +1,14 @@
+.cc-license {
+ .cc-opacity {
+ border-bottom: 0;
+ opacity: .7;
+
+ &:hover {
+ opacity: .9;
+ }
+ }
+
+ img {
+ display: inline-block;
+ }
+}
diff --git a/themes/next/source/css/_common/scaffolding/base.styl b/themes/next/source/css/_common/scaffolding/base.styl
index e4cc1b1515..abf9622084 100644
--- a/themes/next/source/css/_common/scaffolding/base.styl
+++ b/themes/next/source/css/_common/scaffolding/base.styl
@@ -27,7 +27,8 @@ body {
}
if (hexo-config('body_scrollbar.stable')) {
- overflow-y: scroll;
+ // https://caniuse.com/mdn-css_properties_scrollbar-gutter
+ scrollbar-gutter: stable;
}
}
diff --git a/themes/next/source/css/_common/scaffolding/highlight/index.styl b/themes/next/source/css/_common/scaffolding/highlight/index.styl
index 3115966b89..284456b9ce 100644
--- a/themes/next/source/css/_common/scaffolding/highlight/index.styl
+++ b/themes/next/source/css/_common/scaffolding/highlight/index.styl
@@ -120,7 +120,7 @@ figure.highlight {
}
// See https://github.com/hexojs/hexo-util/pull/229
-pre .caption, pre figcaption {
+pre .caption {
@extend $figcaption;
margin-bottom: 10px;
}
diff --git a/themes/next/source/css/_common/scaffolding/tags/link-grid.styl b/themes/next/source/css/_common/scaffolding/tags/link-grid.styl
index 1c736af9c6..6a3e2547bc 100644
--- a/themes/next/source/css/_common/scaffolding/tags/link-grid.styl
+++ b/themes/next/source/css/_common/scaffolding/tags/link-grid.styl
@@ -3,14 +3,10 @@
// https://caniuse.com/mdn-css_properties_gap_grid_context
grid-gap: 1.5rem;
gap: 1.5rem;
- grid-template-columns: 1fr 1fr;
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
margin-bottom: 20px;
padding: 1rem;
- +mobile() {
- grid-template-columns: 1fr;
- }
-
.link-grid-container {
border: solid $grey-lighter;
box-shadow: 1rem 1rem .5rem rgba(0, 0, 0, .5);
diff --git a/themes/next/source/css/_common/scaffolding/tags/tabs.styl b/themes/next/source/css/_common/scaffolding/tags/tabs.styl
index f395c2400f..bc7ea67212 100644
--- a/themes/next/source/css/_common/scaffolding/tags/tabs.styl
+++ b/themes/next/source/css/_common/scaffolding/tags/tabs.styl
@@ -11,7 +11,6 @@
flex-wrap: wrap;
margin: 0;
padding: 0;
- position: -webkit-sticky;
position: sticky;
top: 0;
// Fix issue #398
diff --git a/themes/next/source/css/_mixins.styl b/themes/next/source/css/_mixins.styl
index 0ca778b614..33dfaff2b5 100644
--- a/themes/next/source/css/_mixins.styl
+++ b/themes/next/source/css/_mixins.styl
@@ -71,24 +71,17 @@ word-wrap() {
}
disable-user-select() {
- -moz-user-select: none;
- -ms-user-select: none;
-webkit-user-select: none;
user-select: none;
}
sidebar-inline-links-item() {
- margin: 5px 0 0;
-
- a {
- box-sizing: border-box;
- display: inline-block;
- max-width: 100%;
- overflow: hidden;
- padding: 0 5px;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
+ box-sizing: border-box;
+ display: inline-block;
+ max-width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
flex-wrap() {
diff --git a/themes/next/source/css/_schemes/Gemini/index.styl b/themes/next/source/css/_schemes/Gemini/index.styl
index 7077ed7325..6b2342f6ad 100644
--- a/themes/next/source/css/_schemes/Gemini/index.styl
+++ b/themes/next/source/css/_schemes/Gemini/index.styl
@@ -70,7 +70,7 @@
}
// ==================================================
-// > 768px & < 991px
+// >= 768px & <= 991px
// ==================================================
+tablet() {
// Posts in blocks.
@@ -98,7 +98,7 @@
}
// ==================================================
-// < 767px
+// <= 767px
// ==================================================
+mobile() {
// Posts in blocks.
diff --git a/themes/next/source/css/_schemes/Pisces/_menu.styl b/themes/next/source/css/_schemes/Pisces/_menu.styl
index 4994003541..6da1050cad 100644
--- a/themes/next/source/css/_schemes/Pisces/_menu.styl
+++ b/themes/next/source/css/_schemes/Pisces/_menu.styl
@@ -10,23 +10,10 @@
a {
padding: 5px 20px;
+ // For .menu-item-active::after
position: relative;
transition-property: background-color;
menu-item-row();
-
- if (not hexo-config('menu_settings.badges')) {
- &.menu-item-active::after {
- background: $grey;
- border-radius: 50%;
- content: ' ';
- height: 6px;
- margin-top: -3px;
- position: absolute;
- right: 15px;
- top: 50%;
- width: 6px;
- }
- }
}
+tablet-mobile() {
@@ -35,3 +22,19 @@
}
}
}
+
+if (not hexo-config('menu_settings.badges')) {
+ // Only apply to the main menu
+ // Fix issue #850
+ .main-menu .menu-item-active::after {
+ background: $grey;
+ border-radius: 50%;
+ content: ' ';
+ height: 6px;
+ margin-top: -3px;
+ position: absolute;
+ right: 15px;
+ top: 50%;
+ width: 6px;
+ }
+}
diff --git a/themes/next/source/css/_schemes/Pisces/_sidebar.styl b/themes/next/source/css/_schemes/Pisces/_sidebar.styl
index 5299d97fdf..a3cff79602 100644
--- a/themes/next/source/css/_schemes/Pisces/_sidebar.styl
+++ b/themes/next/source/css/_schemes/Pisces/_sidebar.styl
@@ -1,13 +1,8 @@
+desktop() {
.sidebar {
// https://caniuse.com/css-sticky
- position: -webkit-sticky;
position: sticky;
top: $sidebar-offset;
-
- +tablet-mobile() {
- display: none;
- }
}
.sidebar-toggle {
@@ -55,7 +50,7 @@
}
.links-of-author-item {
- sidebar-inline-links-item();
+ margin: 5px 0 0;
if (not hexo-config('social_icons.icons_only')) {
width: 50%;
@@ -65,6 +60,8 @@
border-bottom: 0;
border-radius: 4px;
display: block;
+ padding: 0 5px;
+ sidebar-inline-links-item();
&:hover {
background: var(--body-bg-color);
@@ -72,12 +69,8 @@
}
}
- .links-of-blogroll-item {
- if (hexo-config('links_settings.layout') == 'inline') {
- display: inline-block;
- max-width: 100%;
- sidebar-inline-links-item();
- }
+ .links-of-blogroll-item a {
+ padding: 0 5px;
}
if (hexo-config('back2top.sidebar')) {
diff --git a/themes/next/source/js/motion.js b/themes/next/source/js/motion.js
index 02bcc9db4a..0a472e0534 100644
--- a/themes/next/source/js/motion.js
+++ b/themes/next/source/js/motion.js
@@ -17,7 +17,7 @@ NexT.motion.integrator = {
if (!CONFIG.motion.async) this.queue = [this.queue.flat()];
this.queue.forEach(sequence => {
const timeline = window.anime.timeline({
- duration: 200,
+ duration: CONFIG.motion?.duration ?? 200,
easing : 'linear'
});
sequence.forEach(item => {
diff --git a/themes/next/source/js/utils.js b/themes/next/source/js/utils.js
index 2bc2c84954..0e49f2e81c 100644
--- a/themes/next/source/js/utils.js
+++ b/themes/next/source/js/utils.js
@@ -449,7 +449,6 @@ NexT.utils = {
condition = false,
attributes: {
id = '',
- async = false,
defer = false,
crossOrigin = '',
dataset = {},
@@ -457,6 +456,7 @@ NexT.utils = {
} = {},
parentNode = null
} = options;
+ const async = options.async ?? false;
return new Promise((resolve, reject) => {
if (condition) {
resolve();
diff --git a/themes/next/test/helpers/font.js b/themes/next/test/helpers/font.js
index 7119e10954..fc1ee405c5 100644
--- a/themes/next/test/helpers/font.js
+++ b/themes/next/test/helpers/font.js
@@ -4,7 +4,7 @@ require('chai').should();
const Hexo = require('hexo');
const hexo = new Hexo();
-const fontStyles = ':300,300italic,400,400italic,700,700italic';
+const fontStyles = ':ital,wght@0,300;0,400;0,700;1,300;1,400;1,700';
const fontHost = 'https://fonts.googleapis.com';
describe('font', () => {
@@ -42,7 +42,7 @@ describe('font', () => {
family : 'Palatino',
external: false
};
- nextFont().should.eql(``);
+ nextFont().should.eql(``);
});
it('multiple', () => {
@@ -55,7 +55,7 @@ describe('font', () => {
family : 'Palatino',
external: true
};
- nextFont().should.eql(``);
+ nextFont().should.eql(``);
});
it('duplicate', () => {
@@ -68,7 +68,7 @@ describe('font', () => {
family : 'Palatino',
external: true
};
- nextFont().should.eql(``);
+ nextFont().should.eql(``);
});
it('fallback font', () => {
@@ -81,6 +81,6 @@ describe('font', () => {
family : 'Palatino',
external: true
};
- nextFont().should.eql(``);
+ nextFont().should.eql(``);
});
});
diff --git a/yarn.lock b/yarn.lock
index f4a8a87698..65e4b5ebc1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -535,9 +535,9 @@
integrity sha512-CNy5vSwN3fsUStPRLX7fUYojyuzoEMSXPl7zSLJ8TgtRfjv24LOnOWKT2zYwaHZCJGkdyRnTmstR0P+Ah503Gw==
"@grpc/grpc-js@~1.9.0":
- version "1.9.15"
- resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.9.15.tgz#433d7ac19b1754af690ea650ab72190bd700739b"
- integrity sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==
+ version "1.9.14"
+ resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.14.tgz"
+ integrity sha512-nOpuzZ2G3IuMFN+UPPpKrC6NsLmWsTqSsm66IRfnBt1D4pwTqE27lmbpcPM+l2Ua4gE7PfjRHI6uedAy7hoXUw==
dependencies:
"@grpc/proto-loader" "^0.7.8"
"@types/node" ">=12.12.47"
@@ -948,6 +948,18 @@ atob@^2.1.2:
resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+autoprefixer@^10.4.19:
+ version "10.4.19"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f"
+ integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==
+ dependencies:
+ browserslist "^4.23.0"
+ caniuse-lite "^1.0.30001599"
+ fraction.js "^4.3.7"
+ normalize-range "^0.1.2"
+ picocolors "^1.0.0"
+ postcss-value-parser "^4.2.0"
+
autosize@3.0.21:
version "3.0.21"
resolved "https://registry.npmjs.org/autosize/-/autosize-3.0.21.tgz"
@@ -1076,6 +1088,16 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
+browserslist@^4.23.0:
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab"
+ integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
+ dependencies:
+ caniuse-lite "^1.0.30001587"
+ electron-to-chromium "^1.4.668"
+ node-releases "^2.0.14"
+ update-browserslist-db "^1.0.13"
+
bytes@3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz"
@@ -1115,6 +1137,11 @@ camel-case@^4.0.0, camel-case@^4.1.2:
pascal-case "^3.1.2"
tslib "^2.0.3"
+caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599:
+ version "1.0.30001609"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz#fc34fad75c0c6d6d6303bdbceec2da8f203dabd6"
+ integrity sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==
+
chalk@^4.0.2:
version "4.1.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
@@ -1896,6 +1923,11 @@ ejs@^3.1.6:
dependencies:
jake "^10.8.5"
+electron-to-chromium@^1.4.668:
+ version "1.4.736"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz#ecb4348f4d5c70fb1e31c347e5bad6b751066416"
+ integrity sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==
+
elkjs@^0.9.0:
version "0.9.2"
resolved "https://registry.npmjs.org/elkjs/-/elkjs-0.9.2.tgz"
@@ -2266,6 +2298,11 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+fraction.js@^4.3.7:
+ version "4.3.7"
+ resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
+ integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
+
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz"
@@ -2613,6 +2650,16 @@ hexo-fs@^4.0.0, hexo-fs@^4.1.1:
graceful-fs "^4.2.10"
hexo-util "^2.7.0"
+hexo-fs@^4.1.3:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/hexo-fs/-/hexo-fs-4.1.3.tgz#c64c66e230dad4ec08ca21244327aa0aba69218a"
+ integrity sha512-Q92zQ5PlVDouvSWFLXQoFSTLIUIODikUJs2BfAXQglyOEjN1dOQn1Z5Nimk/7GHof17R5h/uObCQLnZAjzI2tg==
+ dependencies:
+ bluebird "^3.7.2"
+ chokidar "^3.5.3"
+ graceful-fs "^4.2.10"
+ hexo-util "^3.0.1"
+
hexo-generator-archive@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/hexo-generator-archive/-/hexo-generator-archive-2.0.0.tgz"
@@ -4037,6 +4084,11 @@ node-polyglot@2.2.2:
string.prototype.trim "^1.1.2"
warning "^3.0.0"
+node-releases@^2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
+ integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
+
non-layered-tidy-tree-layout@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz"
@@ -4061,6 +4113,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+ integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+
nth-check@^2.0.1:
version "2.1.1"
resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
@@ -4273,6 +4330,11 @@ possible-typed-array-names@^1.0.0:
resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz"
integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==
+postcss-value-parser@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
preact-compat@3.16.0:
version "3.16.0"
resolved "https://registry.npmjs.org/preact-compat/-/preact-compat-3.16.0.tgz"
@@ -5138,6 +5200,14 @@ unset-value@^1.0.0:
has-value "^0.3.1"
isobject "^3.0.0"
+update-browserslist-db@^1.0.13:
+ version "1.0.13"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
+ integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==
+ dependencies:
+ escalade "^3.1.1"
+ picocolors "^1.0.0"
+
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
@@ -5324,9 +5394,9 @@ wrappy@1:
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
ws@^8.11.0:
- version "8.17.1"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b"
- integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
+ version "8.16.0"
+ resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz"
+ integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
xml-name-validator@^4.0.0:
version "4.0.0"