Compare commits

...

67 Commits

Author SHA1 Message Date
Cell 25e358d920 🔖 Chore(release): 0.3.9 2024-07-24 16:31:13 +08:00
Cell 6cbb89875a 🐛 Fix: fix cookieconsent init error
Resolved #314
2024-07-24 16:11:14 +08:00
Cell bcd6987910 🐛 Fix(ignore): TypeError: Cannot read properties of null (reading 'cloneNode') 2024-07-24 15:39:57 +08:00
Cell dd33cabe16 🐛 Fix: take a dirty hack to fix the bug of APlayer and smoothScroll
Fixed #292
2024-07-24 15:31:06 +08:00
Cell 99dc099939 📝 Docs(ignore): rename function initHighlight to initCodeWrapper 2024-07-24 14:05:13 +08:00
Cell de18e91146 Feat: add param to hide single code block header (#462) 2024-07-24 12:28:39 +08:00
Cell 537ad1df3f Feat: add config whether to enable the code wrapper
Resolved #462
2024-07-24 10:59:24 +08:00
Cell 7c836776c0 ✏️ Docs: fix typo 2024-07-23 11:36:15 +08:00
Cell 9894d9900c 💄 Style: update timeline animation 2024-07-23 11:31:43 +08:00
Cell 9d32ba9d9e 📝 Docs: update hugo.toml 2024-07-23 09:59:13 +08:00
Cell affaea7ecb 🐛 Fix: password runecount calc error 2024-07-22 15:40:29 +08:00
Cell 03e9b119cc Feat(igonre): Timeline feature enhancement 2024-07-22 15:12:55 +08:00
Cell 3e2484e69b 🔧 Chore(ignore): change giscus default comment order 2024-07-22 10:52:20 +08:00
Cell 44b63ca817 💄 Style: add title for friends avatar 2024-07-22 00:56:33 +08:00
Cell f44d89a52a ♻️ Refactor: mermaid shortcode and codeblock render 2024-07-21 20:20:39 +08:00
Cell 2a53dbac37 Feat: add echarts support for code blocks 2024-07-21 19:02:11 +08:00
Cell 9925af0808 Chore(ignore): remove FUNDING.yml 2024-07-21 13:28:04 +08:00
Cell 07c40dbc3e 📝 Docs(ignore): update README 2024-07-21 13:08:31 +08:00
Cell ec1debab38 🐛 Fix: the content of the code block in the details shortcode cannot be copied 2024-07-21 12:42:34 +08:00
Cell ee4441c3ea 🎉 Feat: add extended shortcode - Timeline support 2024-07-21 11:31:13 +08:00
Cell 42f811de22 🐛 Fix(ignore): timeline background color invaild in dark mod 2024-07-21 03:27:25 +08:00
Cell f6911c4fd2 Feat: add open and center params for details shortcode 2024-07-21 00:59:05 +08:00
Cell 9bacfa92f4 🎉 Feat: add timeline support for code blocks 2024-07-21 00:58:01 +08:00
Cell b3b0e6a4e0 ✏️ Feat: update Markdown code block type 2024-07-18 15:45:51 +08:00
Cell df7c7b9e18 Chore(ignore): update ISSUE_TEMPLATE and README 2024-07-16 17:50:23 +08:00
Cell 419ade9c73 Feat: add data-open attribute for code block
See http://fixit.lruihao.cn/documentation/content-management/markdown-syntax/extended/#custom-attribute
2024-07-16 15:15:53 +08:00
Cell 632243e60c 🐛 Style: fix Gist code highlight error in dark mod 2024-07-14 21:10:31 +08:00
Cell dc279b4346 🐛 Fix: fix code block scrollbar color error 2024-07-12 14:59:27 +08:00
Cell 26051115cd 💬 Docs: update Hugo Fixit demo site 2024-07-12 10:13:11 +08:00
Cell f9a09e4610 Feat: add submenu param divided and change submenu border color 2024-07-11 22:06:45 +08:00
Cell 2b2bde7ba8 🐛 Fix: collection nav and list can not show in posts that have password 2024-07-11 09:45:32 +08:00
Cell 6d9c6f5b93 💡 Feat: use the original title after archiving the articles 2024-07-10 17:59:09 +08:00
Cell 45c71ef58e 🐛 Fix: .hiddenFormRss not taking effect 2024-07-10 12:40:15 +08:00
Cell e39d78965f ♻️ Refactor: refactor breadcrumb translations with .TranslationKey 2024-07-09 16:10:19 +08:00
Cell 3dcb3b1a98 📝 Docs: update hugo.toml 2024-07-09 16:08:52 +08:00
Cell 906f3463ba 📝 Docs: fix typo in translations 2024-07-09 16:08:17 +08:00
Cell adf2acd22c 💄 Style: update bilibili and douyin shortcode style 2024-07-07 18:27:06 +08:00
Cell c021a53d15 📝 Docs: update embed archetypes 2024-07-07 12:20:08 +08:00
Cell b067289648 🐛 Fix: fix footnote style error 2024-07-05 00:39:08 +08:00
Cell c18aac486b 🐛 Fix: fix admontion overflow error 2024-07-05 00:37:24 +08:00
Cell 4f56a40653 🐛 Fix: fix code block scrollbar color error 2024-07-05 00:36:45 +08:00
Cell 061a3e3e2b ♻️ Refactor: deprecate .Site.IsMultiLingual in favor of hugo.IsMultilingual
.Site.IsMultiLingual was deprecated in Hugo v0.124.0 and will be removed in a future release. Use hugo.IsMultilingual
2024-07-04 23:40:08 +08:00
Cell 44d0c7611d ♻️ Refactor: deprecate .Sites.First in favor of .Sites.Default
.Sites.First was deprecated in Hugo v0.127.0 and will be removed in a future release. Use .Sites.Default instead.
2024-07-04 23:37:29 +08:00
Cell cf91f230e8 📝 Docs: update default hugo.toml 2024-07-04 23:07:31 +08:00
Cell 052d128922 🐛 Fix: fix code title overflow in code header 2024-06-30 13:33:21 +08:00
Cell 91b583817a 🐛 Fix: fix custom-assets block postion 2024-06-29 18:44:25 +08:00
Cell 9d1ab1a578 🔖 Chore(release): 0.3.8 2024-06-25 12:23:54 +08:00
Cell ca73ca2066 💄 Style: scrollbar styles compatible with modern and legacy browsers 2024-06-25 12:23:21 +08:00
Cell 678e2c0053 Feat: add spotify shortcode support (resolve #450) 2024-06-08 12:27:04 +08:00
Cell 7e2e1006f1 💄 Style: show link icon when target heading element 2024-06-06 23:12:26 +08:00
Cell 256f491244 📝 Docs: update README 2024-06-06 20:50:38 +08:00
Cell 6eaae74708 🔒 Chore: upgrade katex to fix 3 Dependabot alert in katex.min.js 2024-06-06 11:06:04 +08:00
Cell 5c4de3ae21 🔒 Chore: upgrade crypto-js to fix 1 Dependabot alert in crypto-js 2024-06-06 11:00:21 +08:00
Cell 8db70c5829 📝 Docs: update hugo.toml 2024-06-06 10:11:06 +08:00
Cell b4940f46ea Feat: avoid using :has to be compatible with older browsers 2024-06-06 10:03:18 +08:00
Cell cbde3f0898 🚸 Feat: replace localStorage with sessionStorage for FixIt auto bookmark 2024-06-04 15:23:29 +08:00
Cell 4c9e20b377 💄 Style: add border radius for icon of card link 2024-06-04 11:15:26 +08:00
Cell 1a454de9d2 💄 Style: use default style for typeit 2024-06-04 11:13:23 +08:00
Abdul Halim Daud b998371564 Feat: add turnstileKey to waline 2024-05-27 17:56:13 +08:00
Abdul Halim Daud 9679c3442a 🐛 Fix: waline source map error 2024-05-27 17:56:13 +08:00
Cell d908af0a27 📝 Docs: update README 2024-05-23 12:40:20 +08:00
Cell b1f5515beb 📝 Docs(ignore): update README 2024-05-23 12:23:35 +08:00
Cell 069355cc70 📝 Docs: repalce of contributos workflow with GitHub contributors link 2024-05-23 12:18:48 +08:00
Tim Yang 6cc4d44ef4 💄 Style: upgrade the name and icon of "twitter" to "X" in share and social part (#443) 2024-05-23 11:43:09 +08:00
Cell 3c4284eb21 💄 Style: update douyin shortcode style in mobile 2024-05-22 12:20:34 +08:00
Cell a985b0e789 🔥 Feat: remove params.customFilePath 2024-05-22 11:45:14 +08:00
Cell 70afe3e883 💄 Style: update douyin shortcode style in mobile 2024-05-22 11:42:34 +08:00
84 changed files with 745 additions and 793 deletions
-3
View File
@@ -1,3 +0,0 @@
custom: [
"https://paypal.me/Lruihao"
]
+2 -6
View File
@@ -1,13 +1,9 @@
blank_issues_enabled: false
blank_issues_enabled: true
contact_links:
- name: Questions 问题讨论
url: https://github.com/hugo-fixit/FixIt/discussions/new
about: Please ask questions in Discussion. 请在讨论中提问。
- name: 官方 QQ 群
url: https://qm.qq.com/cgi-bin/qm/qr?k=awbwdTtSQ_-H5QGzeJxdWgv6JMbNehNM&jump_from=webapi
about: '加入 FixIt 主题交流群: 814031017'
- name: Theme Documentation 主题文档
url: https://fixit.lruihao.cn/categories/documentation/
url: https://fixit.lruihao.cn/documentation/
about: Please read the documentation carefully. 请先仔细阅读主题文档。
-27
View File
@@ -1,27 +0,0 @@
name: Generate Contribute List
on:
push:
branches:
- master
workflow_dispatch:
jobs:
contrib-readme-job:
runs-on: ubuntu-latest
name: A job to automate contribute list in contributors.md file
steps:
- name: First Contribution Check
id: first-check
uses: sukki37/first-contribution-check-action@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }}
- name: Contribute List
uses: akhilmhdh/contributors-readme-action@master
if: ${{ steps.first-check.outputs.isNewContributor == 'true' }}
with:
readme_path: "contributors.md"
image_size: 100
commit_message: ":busts_in_silhouette: Chore(contributor): contrib-readme-action has updated contributors.md"
committer_username: "github-actions[bot]"
committer_email: "github-actions[bot]@users.noreply.github.com"
env:
GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }}
+32 -20
View File
@@ -1,7 +1,7 @@
# FixIt Theme | Hugo
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/hugo-fixit/FixIt?style=flat)](https://github.com/hugo-fixit/FixIt/releases)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.123.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.127.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](/LICENSE)
👉 English README | [简体中文说明](README.zh-cn.md)
@@ -14,19 +14,19 @@ It is based on the original [LoveIt Theme](https://github.com/dillonzq/LoveIt),
## Getting started
- [Installation](https://fixit.lruihao.cn/documentation/installation/)
- [Getting Started](https://fixit.lruihao.cn/documentation/getting-started/)
- [Content Management](https://fixit.lruihao.cn/documentation/content-management/)
- [Advanced Usage](https://fixit.lruihao.cn/documentation/advanced/)
1. [Installation](https://fixit.lruihao.cn/documentation/installation/)
2. [Getting Started](https://fixit.lruihao.cn/documentation/getting-started/)
3. [Content Management](https://fixit.lruihao.cn/documentation/content-management/)
4. [Advanced Usage](https://fixit.lruihao.cn/documentation/advanced/)
Alternatively, you can run the [documentation site](https://fixit.lruihao.cn/) locally. For more details, see [hugo-fixit/docs](https://github.com/hugo-fixit/docs).
## Template repository
- [hugo-fixit/hugo-fixit-start](https://github.com/hugo-fixit/hugo-fixit-start)
- [hugo-fixit/hugo-fixit-start1](https://github.com/hugo-fixit/hugo-fixit-start1)
- [hugo-fixit/docs](https://github.com/hugo-fixit/docs)
- [Lruihao/hugo-blog](https://github.com/Lruihao/hugo-blog)
- [hugo-fixit/hugo-fixit-start](https://github.com/hugo-fixit/hugo-fixit-start/generate)
- [hugo-fixit/hugo-fixit-start1](https://github.com/hugo-fixit/hugo-fixit-start1/generate)
- [hugo-fixit/docs](https://github.com/hugo-fixit/docs/generate)
- [Lruihao/hugo-blog](https://github.com/Lruihao/hugo-blog/generate)
## Who used FixIt
@@ -86,11 +86,12 @@ To see this theme in action, here are some [live demo sites](https://fixit.lruih
- Extended Markdown syntax for **ruby annotation**
- Extended Markdown syntax for **fraction**
- **Mathematical formula** supported by [KaTeX](https://katex.org/)
- **Diagrams** shortcode supported by [mermaid](https://github.com/knsv/mermaid)
- **Interactive data visualization** shortcode supported by [ECharts](https://echarts.apache.org/)
- **Diagrams** code fences extended and shortcode supported by [mermaid](https://github.com/knsv/mermaid)
- **Interactive data visualization** shortcode and code fences extended supported by [ECharts](https://echarts.apache.org/)
- **Timeline** code fences extended and shortcode supported
- **Mapbox** shortcode supported by [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
- **Music player** shortcode supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS)
- **Bilibili player** shortcode
- **Bilibili player** and **Douyin player** shortcode
- Kinds of **admonitions** shortcode
- **Custom style** shortcode
- **Custom script** shortcode
@@ -123,30 +124,41 @@ FixIt supports the following languages:
- Russian
- Romanian
- Vietnamese
- Hindi
- [Contribute with a new language](https://github.com/hugo-fixit/FixIt/pulls)
[Languages Compatibility](https://fixit.lruihao.cn/documentation/basics/#language-compatibility)
## [Roadmap](https://github.com/hugo-fixit/FixIt/projects/1)
## Community
## [Changelog](/CHANGELOG.md)
All feedback is welcome! Head over to the [discussions][discussions], [Pull requests][pulls] and [issues][issues] tracker.
## Questions, ideas, bugs, pull requests
| Community | Description |
| :------------------------- | :------------------------------- |
| [Discussions][discussions] | Official GitHub discussion forum |
| [FixIt QQ group][qq-group] | Official QQ group: `814031017` |
| [Hugo FixIt Planet][zsxq] | Official Knowledge Planet |
All feedback is welcome! Head over to the [issues](https://github.com/hugo-fixit/FixIt/issues) or [discussions](https://github.com/hugo-fixit/FixIt/discussions) tracker.
[discussions]: https://github.com/hugo-fixit/FixIt/discussions
[pulls]: https://github.com/hugo-fixit/FixIt/pulls
[issues]: https://github.com/hugo-fixit/FixIt/issues
[qq-group]: https://qm.qq.com/cgi-bin/qm/qr?k=awbwdTtSQ_-H5QGzeJxdWgv6JMbNehNM&jump_from=webapi
[zsxq]: https://t.zsxq.com/oZYCt
## Contributing
- [Roadmap of FixIt](https://github.com/orgs/hugo-fixit/projects/2)
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for getting started with the contribution.
Make sure that you follow [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) while contributing and engaging in the discussions.
**When contributing, please first discuss the change you wish to make via an issue on this repository before making the actual change**.
## [Contributors](contributors.md)
## Acknowledgements
Thanks to all the [contributors](https://github.com/hugo-fixit/FixIt/graphs/contributors) for their support!
<details>
<summary>Thanks to the authors of following resources included in the theme:</summary>
@@ -209,9 +221,9 @@ Follow [Lruihao](https://github.com/Lruihao "Follow me on GitHub")
If you enjoy the theme, please consider buying me a coffee ☕️. Thanks!
- [PayPal](https://paypal.me/Lruihao)
- [Alipay](images/alipay.jpg)
- [Wechat](images/wechatpay.jpg)
- [Alipay](images/alipay.jpg)
- [PayPal](https://paypal.me/Lruihao)
Don't forget to leave a ⭐️ if you like this theme, thanks!
+32 -20
View File
@@ -1,7 +1,7 @@
# FixIt 主题 | Hugo
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/hugo-fixit/FixIt?style=flat)](https://github.com/hugo-fixit/FixIt/releases)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.123.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.127.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](/LICENSE)
👉 [English README](README.md) | 简体中文说明
@@ -14,19 +14,19 @@
## 主题文档
- [安装篇](https://fixit.lruihao.cn/zh-cn/documentation/installation/)
- [入门篇](https://fixit.lruihao.cn/zh-cn/documentation/getting-started/)
- [内容管理](https://fixit.lruihao.cn/zh-cn/documentation/content-management/)
- [进阶篇](https://fixit.lruihao.cn/zh-cn/documentation/advanced/)
1. [安装篇](https://fixit.lruihao.cn/zh-cn/documentation/installation/)
2. [入门篇](https://fixit.lruihao.cn/zh-cn/documentation/getting-started/)
3. [内容管理](https://fixit.lruihao.cn/zh-cn/documentation/content-management/)
4. [进阶篇](https://fixit.lruihao.cn/zh-cn/documentation/advanced/)
或者在本地运行 [文档站点](https://fixit.lruihao.cn/zh-cn/),更多细节详见 [hugo-fixit/docs](https://github.com/hugo-fixit/docs)。
## 模板仓库
- [hugo-fixit/hugo-fixit-start](https://github.com/hugo-fixit/hugo-fixit-start)
- [hugo-fixit/hugo-fixit-start1](https://github.com/hugo-fixit/hugo-fixit-start1)
- [hugo-fixit/docs](https://github.com/hugo-fixit/docs)
- [Lruihao/hugo-blog](https://github.com/Lruihao/hugo-blog)
- [hugo-fixit/hugo-fixit-start](https://github.com/hugo-fixit/hugo-fixit-start/generate)
- [hugo-fixit/hugo-fixit-start1](https://github.com/hugo-fixit/hugo-fixit-start1/generate)
- [hugo-fixit/docs](https://github.com/hugo-fixit/docs/generate)
- [Lruihao/hugo-blog](https://github.com/Lruihao/hugo-blog/generate)
## 谁在用 FixIt
@@ -86,11 +86,12 @@
- 支持**上标注释**的扩展 Markdown 语法
- 支持**分数**的扩展 Markdown 语法
- 支持基于 [KaTeX](https://katex.org/) 的**数学公式**
- 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** shortcode
- 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** shortcode
- 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** 代码块扩展语法和 shortcode
- 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** 代码块扩展语法和 shortcode
- 支持 **Timeline** 的代码块扩展语法和 shortcode
- 支持基于 [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) 的 **Mapbox** shortcode
- 支持基于 [APlayer](https://github.com/MoePlayer/APlayer) 和 [MetingJS](https://github.com/metowolf/MetingJS) 的**音乐播放器** shortcode
- 支持 **Bilibili 视频** shortcode
- 支持 **Bilibili 视频****抖音视频** shortcode
- 支持多种**注释**的 shortcode
- 支持**自定义样式**的 shortcode
- 支持**自定义脚本**的 shortcode
@@ -123,34 +124,45 @@ FixIt 支持下列语言:
- 俄语
- 罗马尼亚语
- 越南语
- 印地语
- [贡献一种新的语言](https://github.com/hugo-fixit/FixIt/pulls)
[语言兼容性](https://fixit.lruihao.cn/zh-cn/theme-documentation-basics/#language-compatibility)
## [路线图](https://github.com/hugo-fixit/FixIt/projects/1)
## 社区支持
## [更新日志](/CHANGELOG.md)
所有的反馈都是欢迎的!详见 [Discussions][discussions]、[Pull requests][pulls] 和 [Issues][issues]。
## 问题、想法、bugs 和 PRs
| 社区 | 说明 |
| :--------------------------- | :---------------------- |
| [Discussions][discussions] | 官方 GitHub 讨论区 |
| [FixIt 主题交流群][qq-group] | 官方 QQ 群:`814031017` |
| [Hugo FixIt 星球][zsxq] | 官方知识星球 |
所有的反馈都是欢迎的!详见 [议题](https://github.com/hugo-fixit/FixIt/issues) 或者 [讨论](https://github.com/hugo-fixit/FixIt/discussions) 或者加入 QQ 群:`814031017`
[discussions]: https://github.com/hugo-fixit/FixIt/discussions
[pulls]: https://github.com/hugo-fixit/FixIt/pulls
[issues]: https://github.com/hugo-fixit/FixIt/issues
[qq-group]: https://qm.qq.com/cgi-bin/qm/qr?k=awbwdTtSQ_-H5QGzeJxdWgv6JMbNehNM&jump_from=webapi
[zsxq]: https://t.zsxq.com/oZYCt
## 参与贡献
- [Hugo FixIt 路线图](https://github.com/orgs/hugo-fixit/projects/2)
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 以了解贡献该项目的基本信息。
确保在贡献和参与讨论时遵守 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。
**贡献时,请先通过此存储库上的问题讨论你希望进行的更改,然后再进行实际更改**
## [所有贡献者](contributors.md)
## 镜像
- Gitee 镜像仓库:<https://gitee.com/lruihao/FixIt>
## 致谢
感谢 [所有贡献者](https://github.com/hugo-fixit/FixIt/graphs/contributors) 的支持!
<details>
<summary>FixIt 主题中用到了以下项目,感谢它们的作者:</summary>
@@ -213,9 +225,9 @@ Follow [Lruihao](https://github.com/Lruihao "在 GitHub 上关注我")
如果你喜爱这个主题,请考虑给我买杯咖啡 ☕️,谢谢!
- [PayPal](https://paypal.me/Lruihao)
- [支付宝](images/alipay.jpg)
- [微信支付](images/wechatpay.jpg)
- [支付宝](images/alipay.jpg)
- [PayPal](https://paypal.me/Lruihao)
如果你喜欢这个主题,别忘了留下一颗 ⭐️ 哦,谢谢!
+16 -7
View File
@@ -11,7 +11,7 @@ keywords:
comment: false
---
<!-- When you set data `friends.yml` in `yourProject/data/` directory, it will be automatically loaded here. -->
<!-- The `friends.yml` file placed in the `yourProject/data/` directory will be loaded automatically here. -->
---
@@ -19,18 +19,27 @@ comment: false
## Base info
```yaml
- nickname: Lruihao
avatar: https://lruihao.cn/images/avatar.jpg
url: https://lruihao.cn
description: Lruihao's Note
```
- avatar: https://lruihao.cn/images/avatar.jpg
- url: https://lruihao.cn
- description: Lruihao's Note
## Friendly Reminder
Comment like this:
````markdown
```yaml
- nickname: <your nickname>
avatar: <your avatar>
url: <your site link>
description: <description of your site>
```
````
{{< admonition info "Notice" true >}}
1. If you want to exchange link, please leave a comment in the above format. (personal non-commercial blogs / websites only)
1. If you want to exchange link, please leave a comment as the above format. (personal non-commercial blogs / websites only)
2. :(fa-solid fa-exclamation-triangle): Website failure, stop maintenance and improper content may be unlinked!
3. Those websites that do not respect other people's labor achievements, reprint without source, or malicious acts, please do not come to exchange.
+3 -1
View File
@@ -40,4 +40,6 @@ repost:
# See details front matter: https://fixit.lruihao.cn/documentation/content-management/introduction/#front-matter
---
<!--more-->
<!--more-->
<!-- Place resource files in the current article directory and reference them using relative paths, like this: `![alt](images/screenshot.jpg)`. -->
+1 -33
View File
@@ -17,21 +17,6 @@ html {
}
}
/* scrollbar, only support webkit */
::-webkit-scrollbar {
width: 0.5rem;
height: 0.5rem;
}
::-webkit-scrollbar-thumb {
background-color: $scrollbar-color;
@include border-radius($global-border-radius);
&:hover {
background-color: $scrollbar-hover-color;
}
}
::selection {
background-color: $selection-color;
@@ -43,26 +28,8 @@ html {
body {
background-color: $global-background-color;
color: $global-font-color;
scrollbar-color: auto;
@include overflow-wrap(break-word);
&::-webkit-scrollbar {
width: 0.75rem;
height: 0.75rem;
background-color: transparent;
}
&::-webkit-scrollbar-thumb {
background-color: transparent;
background-clip: content-box;
border: 2px solid transparent;
@include border-radius(0.5rem);
}
&[data-scroll]::-webkit-scrollbar-thumb {
background-color: $scrollbar-color;
}
&[data-theme='dark'] {
color: $global-font-color-dark;
background-color: $global-background-color-dark;
@@ -89,6 +56,7 @@ abbr[title] {
@include link(true, true);
@import '../_partials/scrollbar';
@import '../_partials/mask';
@import '../_partials/img';
@import '../_partials/icon';
+16 -8
View File
@@ -58,6 +58,17 @@ header {
margin: 0;
padding: 0;
.menu-item-divider {
list-style: none;
margin: 0.25rem 0.5rem;
height: 1px;
background-color: $menu-border-color;
[data-theme='dark'] & {
background-color: $menu-border-color-dark;
}
}
.menu-item {
list-style: none;
@@ -262,20 +273,20 @@ header {
display: none;
top: calc(#{$header-height} - 0.75rem);
border-radius: $global-border-radius;
border: 1px solid $global-border-color;
border: 1px solid $menu-border-color;
background-color: $header-background-color;
@include transition(box-shadow 0.3s ease);
@include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.1));
[data-theme='dark'] & {
background-color: $header-background-color-dark;
border-color: $global-border-color-dark;
border-color: $menu-border-color-dark;
@include box-shadow(0 0 1.5rem 0 rgba(255, 255, 255, 0.1));
}
.menu-item {
height: $header-height*0.5;
line-height: $header-height*0.5;
height: $submenu-height;
line-height: $submenu-height;
max-width: 15rem;
white-space: nowrap;
text-overflow: ellipsis;
@@ -366,14 +377,11 @@ header {
overflow-y: overlay;
max-height: 70vh;
@include box-shadow(0 0.125rem 0.25rem rgba(0, 0, 0, 0.1));
@include scrollbar-width(none, 0);
[data-theme='dark'] & {
@include box-shadow(0 0.125rem 0.25rem rgba(255, 255, 255, 0.1));
}
&::-webkit-scrollbar {
width: 0;
}
.search-wrapper {
display: flex;
+7
View File
@@ -15,6 +15,13 @@
// hr style
--#{$prefix}hr-background-color: #{darken($global-border-color, 5%)};
--#{$prefix}hr-before-color: #{lighten($single-link-hover-color, 4%)};
// Scrollbar related variables
--#{$prefix}scrollbar-thumb-color: #{$scrollbar-color};
--#{$prefix}scrollbar-thumb-hover-color: #{$scrollbar-hover-color};
--#{$prefix}scrollbar-track-color: transparent;
--#{$prefix}scrollbar-width: thin;
--#{$prefix}scrollbar-width-legacy: 12px;
}
// Dark theme
+1
View File
@@ -2,4 +2,5 @@
@import '_link';
@import '_blur';
@import '_details';
@import '_scrollbar-width';
@import '_z-index';
+4
View File
@@ -0,0 +1,4 @@
@mixin scrollbar-width($width: thin, $widthLegacy: 12px) {
--#{$prefix}scrollbar-width: #{$width};
--#{$prefix}scrollbar-width-legacy: #{$widthLegacy};
}
+6 -8
View File
@@ -170,7 +170,8 @@
font-size: inherit;
}
&:hover {
&:hover,
&:target {
> .heading-mark {
opacity: 1;
}
@@ -257,13 +258,10 @@
.table-wrapper {
overflow-x: auto;
--#{$prefix}scrollbar-thumb-color: #{$table-background-color};
&::-webkit-scrollbar {
background-color: $table-background-color;
[data-theme='dark'] & {
background-color: $table-background-color-dark;
}
[data-theme='dark'] & {
--#{$prefix}scrollbar-thumb-color: #{$table-background-color-dark};
}
> table {
@@ -399,7 +397,7 @@
@include link(false, true);
}
sup[id^='fnref:']:has(.footnote-ref) {
sup[id^='fnref']:has(.footnote-ref) {
padding: 2px 4px;
background-color: rgba(238, 238, 238, 0.7);
color: #555555;
+3 -3
View File
@@ -180,8 +180,8 @@ $code-type-map: (
"llvm": "LLVM",
"lua": "Lua",
"mako": "Mako",
"md": "markdown",
"mkd": "markdown",
"md": "Markdown",
"mkd": "Markdown",
"mason": "Mason",
"mathematica": "Mathematica",
"mma": "Mathematica",
@@ -368,6 +368,6 @@ $code-type-map: (
"zed": "Zed",
"zig": "Zig",
// Custom code type
"markdown": "markdown",
"markdown": "Markdown",
"yml": "YAML"
) !default;
+36
View File
@@ -0,0 +1,36 @@
/* Modern browsers with `scrollbar-*` support (high priority) */
@supports (scrollbar-width: auto) {
* {
scrollbar-color: var(--#{$prefix}scrollbar-thumb-color) var(--#{$prefix}scrollbar-track-color);;
scrollbar-width: var(--#{$prefix}scrollbar-width);
}
}
/* Legacy browsers with `::-webkit-scrollbar-*` support */
::-webkit-scrollbar {
height: var(--#{$prefix}scrollbar-width-legacy);
width: var(--#{$prefix}scrollbar-width-legacy);
overflow: visible;
}
::-webkit-scrollbar-button {
height: 0;
width: 0;
}
::-webkit-scrollbar-corner {
background-color: var(--#{$prefix}scrollbar-track-color);
}
::-webkit-scrollbar-thumb {
background-color: var(--#{$prefix}scrollbar-thumb-color);
&:hover {
background-color: var(--#{$prefix}scrollbar-thumb-hover-color);
}
}
::-webkit-scrollbar-track {
background-color: var(--#{$prefix}scrollbar-track-color);
}
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-track {
background-clip: padding-box;
border: 3px solid transparent;
border-radius: 100px;
}
+24 -11
View File
@@ -58,6 +58,7 @@ pre:not(.mermaid[data-processed='true']) {
font-family: $code-font-family;
.table-wrapper {
--#{$prefix}scrollbar-thumb-color: initial;
> table,
> table thead,
> table tr,
@@ -78,6 +79,7 @@ pre:not(.mermaid[data-processed='true']) {
position: relative;
.code-header {
--#{$prefix}bg-code-header: #{darken($code-background-color, 3%)};
display: flex;
justify-content: space-between;
align-items: center;
@@ -87,13 +89,20 @@ pre:not(.mermaid[data-processed='true']) {
font-weight: bold;
line-height: 1.4em;
color: $code-info-color;
background-color: darken($code-background-color, 3%);
background-color: var(--#{$prefix}bg-code-header);
@include border-radius($global-border-radius);
@include transition(border-radius 0.2s ease);
// delayed loading table-wrapper
& + .table-wrapper {
max-height: 0;
@include border-radius(0 0 $global-border-radius $global-border-radius);
@include details-transition-open;
}
[data-theme='dark'] & {
color: $code-info-color-dark;
background-color: darken($code-background-color-dark, 6%);
--#{$prefix}bg-code-header: #{darken($code-background-color-dark, 3%)};
}
&:hover {
@@ -119,6 +128,13 @@ pre:not(.mermaid[data-processed='true']) {
position: absolute;
left: 50%;
transform: translateX(-50%);
background-color: var(--#{$prefix}bg-code-header);
padding-inline: 1em;
max-width: 80%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@include z-index(0, 1);
}
}
@@ -155,10 +171,8 @@ pre:not(.mermaid[data-processed='true']) {
// delayed loading table-wrapper
.table-wrapper {
max-height: 0;
overflow: hidden;
@include border-radius(0 0 $global-border-radius $global-border-radius);
@include details-transition-open;
@include border-radius($global-border-radius);
}
table {
@@ -217,11 +231,11 @@ pre:not(.mermaid[data-processed='true']) {
&.open {
.code-header {
background-color: darken($code-background-color, 6%);
--#{$prefix}bg-code-header: #{darken($code-background-color, 6%)};
@include border-radius($global-border-radius $global-border-radius 0 0);
[data-theme='dark'] & {
background-color: darken($code-background-color-dark, 3%);
--#{$prefix}bg-code-header: #{darken($code-background-color-dark, 6%)};
}
}
@@ -348,12 +362,11 @@ pre:not(.mermaid[data-processed='true']) {
}
.table-wrapper {
.highlight,
&::-webkit-scrollbar {
background-color: #f6f8fa;
.highlight {
background-color: $code-background-color;
[data-theme='dark'] & {
background-color: #2d333b;
background-color: $code-background-color-dark;
}
}
}
@@ -161,10 +161,7 @@
list-style: none;
overflow-y: scroll;
max-height: 60vh;
&::-webkit-scrollbar {
width: 0;
}
@include scrollbar-width(none, 0);
.collection-item > a::before,
.collection-item > span::before {
@@ -1,73 +1,79 @@
/**
* Theme: GitHub Dark Dimmed
* Description: Dark Dimmed theme as seen on github.com
* Author: github.com
* Maintainer: https://github.com/hugo-fixit/FixIt
* Updated: 2022-03-01
* GitHub Dark Dimmed
* Copyright (c) 2012 - current GitHub, Inc.
* Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE)
* Maintained by @Lruihao for FixIt theme
* Created on 2022-03-01
* Updated on 2024-07-14
*/
& {
--color-fg-default: #adbac7;
--color-prettylights-syntax-comment: #768390;
--color-prettylights-syntax-constant: #6cb6ff;
--color-prettylights-syntax-entity: #dcbdfb;
--color-prettylights-syntax-storage-modifier-import: #adbac7;
--color-prettylights-syntax-entity-tag: #8ddb8c;
--color-prettylights-syntax-keyword: #f47067;
--color-prettylights-syntax-string: #96d0ff;
--color-prettylights-syntax-variable: #f69d50;
--color-prettylights-syntax-brackethighlighter-unmatched: #e5534b;
--color-prettylights-syntax-invalid-illegal-text: #cdd9e5;
--color-prettylights-syntax-invalid-illegal-bg: #922323;
--color-prettylights-syntax-carriage-return-text: #cdd9e5;
--color-prettylights-syntax-carriage-return-bg: #ad2e2c;
--color-prettylights-syntax-string-regexp: #8ddb8c;
--color-prettylights-syntax-markup-list: #eac55f;
--color-prettylights-syntax-markup-heading: #316dca;
--color-prettylights-syntax-markup-italic: #adbac7;
--color-prettylights-syntax-markup-bold: #adbac7;
--color-prettylights-syntax-markup-deleted-text: #ffd8d3;
--color-prettylights-syntax-markup-deleted-bg: #78191b;
--color-prettylights-syntax-markup-inserted-text: #b4f1b4;
--color-prettylights-syntax-markup-inserted-bg: #1b4721;
--color-prettylights-syntax-markup-changed-text: #ffddb0;
--color-prettylights-syntax-markup-changed-bg: #682d0f;
--color-prettylights-syntax-markup-ignored-text: #adbac7;
--color-prettylights-syntax-markup-ignored-bg: #255ab2;
--color-prettylights-syntax-meta-diff-range: #dcbdfb;
--color-prettylights-syntax-brackethighlighter-angle: #768390;
--color-prettylights-syntax-sublimelinter-gutter-mark: #545d68;
--color-prettylights-syntax-constant-other-reference-link: #96d0ff;
// Blob colors
--#{$prefix}color-blob-num: #778491;
--#{$prefix}color-blob-code-inner: #c5d1de;
// Syntax colors
--#{$prefix}color-prettylights-syntax-comment: #768390;
--#{$prefix}color-prettylights-syntax-constant: #6cb6ff;
--#{$prefix}color-prettylights-syntax-constant-other-reference-link: #96d0ff;
--#{$prefix}color-prettylights-syntax-entity: #dcbdfb;
--#{$prefix}color-prettylights-syntax-storage-modifier-import: #adbac7;
--#{$prefix}color-prettylights-syntax-entity-tag: #8ddb8c;
--#{$prefix}color-prettylights-syntax-keyword: #f47067;
--#{$prefix}color-prettylights-syntax-string: #96d0ff;
--#{$prefix}color-prettylights-syntax-variable: #f69d50;
--#{$prefix}color-prettylights-syntax-brackethighlighter-unmatched: #e5534b;
--#{$prefix}color-prettylights-syntax-brackethighlighter-angle: #768390;
--#{$prefix}color-prettylights-syntax-invalid-illegal-text: #cdd9e5;
--#{$prefix}color-prettylights-syntax-invalid-illegal-bg: #922323;
--#{$prefix}color-prettylights-syntax-carriage-return-text: #cdd9e5;
--#{$prefix}color-prettylights-syntax-carriage-return-bg: #ad2e2c;
--#{$prefix}color-prettylights-syntax-string-regexp: #8ddb8c;
--#{$prefix}color-prettylights-syntax-markup-list: #eac55f;
--#{$prefix}color-prettylights-syntax-markup-heading: #316dca;
--#{$prefix}color-prettylights-syntax-markup-italic: #adbac7;
--#{$prefix}color-prettylights-syntax-markup-bold: #adbac7;
--#{$prefix}color-prettylights-syntax-markup-deleted-text: #ffd8d3;
--#{$prefix}color-prettylights-syntax-markup-deleted-bg: #78191b;
--#{$prefix}color-prettylights-syntax-markup-inserted-text: #b4f1b4;
--#{$prefix}color-prettylights-syntax-markup-inserted-bg: #1b4721;
--#{$prefix}color-prettylights-syntax-markup-changed-text: #ffddb0;
--#{$prefix}color-prettylights-syntax-markup-changed-bg: #682d0f;
--#{$prefix}color-prettylights-syntax-markup-ignored-text: #adbac7;
--#{$prefix}color-prettylights-syntax-markup-ignored-bg: #255ab2;
--#{$prefix}color-prettylights-syntax-meta-diff-range: #dcbdfb;
--#{$prefix}color-prettylights-syntax-sublimelinter-gutter-mark: #545d68;
.blob-num,
.blob-num {
color: var(--#{$prefix}color-blob-num);
}
.blob-code-inner {
color: val(--color-fg-default);
color: var(--#{$prefix}color-blob-code-inner);
}
.pl-c /* comment, punctuation.definition.comment, string.comment */ {
color: var(--color-prettylights-syntax-comment);
color: var(--#{$prefix}color-prettylights-syntax-comment);
}
.pl-c1 /* constant, entity.name.constant, variable.other.constant, variable.language, support, meta.property-name, support.constant, support.variable, meta.module-reference, markup.raw, meta.diff.header, meta.output */,
.pl-s .pl-v /* string variable */ {
color: var(--color-prettylights-syntax-constant);
color: var(--#{$prefix}color-prettylights-syntax-constant);
}
.pl-e /* entity */,
.pl-en /* entity.name */ {
color: var(--color-prettylights-syntax-entity);
color: var(--#{$prefix}color-prettylights-syntax-entity);
}
.pl-smi /* variable.parameter.function, storage.modifier.package, storage.modifier.import, storage.type.java, variable.other */,
.pl-s .pl-s1 /* string source */ {
color: var(--color-prettylights-syntax-storage-modifier-import);
color: var(--#{$prefix}color-prettylights-syntax-storage-modifier-import);
}
.pl-ent /* entity.name.tag, markup.quote */ {
color: var(--color-prettylights-syntax-entity-tag);
color: var(--#{$prefix}color-prettylights-syntax-entity-tag);
}
.pl-k /* keyword, storage, storage.type */ {
color: var(--color-prettylights-syntax-keyword);
color: var(--#{$prefix}color-prettylights-syntax-keyword);
}
.pl-s /* string */,
@@ -77,26 +83,26 @@
.pl-sr .pl-cce /* string.regexp constant.character.escape */,
.pl-sr .pl-sre /* string.regexp source.ruby.embedded */,
.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */ {
color: var(--color-prettylights-syntax-string);
color: var(--#{$prefix}color-prettylights-syntax-string);
}
.pl-v /* variable */,
.pl-smw /* sublimelinter.mark.warning */ {
color: var(--color-prettylights-syntax-variable);
color: var(--#{$prefix}color-prettylights-syntax-variable);
}
.pl-bu /* invalid.broken, invalid.deprecated, invalid.unimplemented, message.error, brackethighlighter.unmatched, sublimelinter.mark.error */ {
color: var(--color-prettylights-syntax-brackethighlighter-unmatched);
color: var(--#{$prefix}color-prettylights-syntax-brackethighlighter-unmatched);
}
.pl-ii /* invalid.illegal */ {
color: var(--color-prettylights-syntax-invalid-illegal-text);
background-color: var(--color-prettylights-syntax-invalid-illegal-bg);
color: var(--#{$prefix}color-prettylights-syntax-invalid-illegal-text);
background-color: var(--#{$prefix}color-prettylights-syntax-invalid-illegal-bg);
}
.pl-c2 /* carriage-return */ {
color: var(--color-prettylights-syntax-carriage-return-text);
background-color: var(--color-prettylights-syntax-carriage-return-bg);
color: var(--#{$prefix}color-prettylights-syntax-carriage-return-text);
background-color: var(--#{$prefix}color-prettylights-syntax-carriage-return-bg);
}
.pl-c2::before /* carriage-return */ {
@@ -105,65 +111,65 @@
.pl-sr .pl-cce /* string.regexp constant.character.escape */ {
font-weight: bold;
color: var(--color-prettylights-syntax-string-regexp);
color: var(--#{$prefix}color-prettylights-syntax-string-regexp);
}
.pl-ml /* markup.list */ {
color: var(--color-prettylights-syntax-markup-list);
color: var(--#{$prefix}color-prettylights-syntax-markup-list);
}
.pl-mh /* markup.heading */,
.pl-mh .pl-en /* markup.heading entity.name */,
.pl-ms /* meta.separator */ {
font-weight: bold;
color: var(--color-prettylights-syntax-markup-heading);
color: var(--#{$prefix}color-prettylights-syntax-markup-heading);
}
.pl-mi /* markup.italic */ {
font-style: italic;
color: var(--color-prettylights-syntax-markup-italic);
color: var(--#{$prefix}color-prettylights-syntax-markup-italic);
}
.pl-mb /* markup.bold */ {
font-weight: bold;
color: var(--color-prettylights-syntax-markup-bold);
color: var(--#{$prefix}color-prettylights-syntax-markup-bold);
}
.pl-md /* markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted */ {
color: var(--color-prettylights-syntax-markup-deleted-text);
background-color: var(--color-prettylights-syntax-markup-deleted-bg);
color: var(--#{$prefix}color-prettylights-syntax-markup-deleted-text);
background-color: var(--#{$prefix}color-prettylights-syntax-markup-deleted-bg);
}
.pl-mi1 /* markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted */ {
color: var(--color-prettylights-syntax-markup-inserted-text);
background-color: var(--color-prettylights-syntax-markup-inserted-bg);
color: var(--#{$prefix}color-prettylights-syntax-markup-inserted-text);
background-color: var(--#{$prefix}color-prettylights-syntax-markup-inserted-bg);
}
.pl-mc /* markup.changed, punctuation.definition.changed */ {
color: var(--color-prettylights-syntax-markup-changed-text);
background-color: var(--color-prettylights-syntax-markup-changed-bg);
color: var(--#{$prefix}color-prettylights-syntax-markup-changed-text);
background-color: var(--#{$prefix}color-prettylights-syntax-markup-changed-bg);
}
.pl-mi2 /* markup.ignored, markup.untracked */ {
color: var(--color-prettylights-syntax-markup-ignored-text);
background-color: var(--color-prettylights-syntax-markup-ignored-bg);
color: var(--#{$prefix}color-prettylights-syntax-markup-ignored-text);
background-color: var(--#{$prefix}color-prettylights-syntax-markup-ignored-bg);
}
.pl-mdr /* meta.diff.range */ {
font-weight: bold;
color: var(--color-prettylights-syntax-meta-diff-range);
color: var(--#{$prefix}color-prettylights-syntax-meta-diff-range);
}
.pl-ba /* brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote */ {
color: var(--color-prettylights-syntax-brackethighlighter-angle);
color: var(--#{$prefix}color-prettylights-syntax-brackethighlighter-angle);
}
.pl-sg /* sublimelinter.gutter-mark */ {
color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);
color: var(--#{$prefix}color-prettylights-syntax-sublimelinter-gutter-mark);
}
.pl-corl /* constant.other.reference.link, string.other.link */ {
text-decoration: underline;
color: var(--color-prettylights-syntax-constant-other-reference-link);
color: var(--#{$prefix}color-prettylights-syntax-constant-other-reference-link);
}
}
+1 -4
View File
@@ -111,10 +111,7 @@
.toc-content {
overflow-y: scroll;
max-height: calc(100vh - #{2*$header-height});
&::-webkit-scrollbar {
width: 0;
}
@include scrollbar-width(none, 0);
&.always-active ul,
&.always-active ol {
@@ -9,14 +9,5 @@
}
--ti-cursor-font-family: #{$global-font-family};
--ti-cursor-font-size: #{$global-font-size};
--ti-cursor-font-style: normal;
--ti-cursor-font-weight: #{$global-font-weight};
--ti-cursor-line-height: #{$global-line-height};
--ti-cursor-color: #{$global-font-color};
--ti-cursor-transform: translateX(0);
[data-theme='dark'] & {
--ti-cursor-color: #{$global-font-color-dark};
}
}
+1 -1
View File
@@ -3,7 +3,7 @@
margin: 1rem 0;
padding: 0 0.75rem;
border-left: .25rem solid;
overflow: auto;
overflow: hidden;
@include border-radius($global-border-radius);
.admonition-title {
+3 -3
View File
@@ -1,9 +1,9 @@
.bilibili {
position: relative;
width: 100%;
height: 0;
padding-bottom: 75%;
margin: 3% auto;
height: auto;
aspect-ratio: 16 / 9;
margin: 1rem auto;
text-align: center;
iframe {
+1
View File
@@ -97,6 +97,7 @@
flex-shrink: 0;
margin-left: 0.25rem;
object-fit: cover;
border-radius: 50%;
}
[data-theme='dark'] & {
+9 -1
View File
@@ -3,7 +3,7 @@
width: 100%;
height: 0;
padding-bottom: 60.725%;
margin: 3% auto;
margin: 1rem auto;
text-align: center;
iframe {
@@ -14,3 +14,11 @@
top: 0;
}
}
@media only screen and (max-width: 680px) {
.douyin {
width: 92%;
margin-inline: 4%;
padding-bottom: 190%;
}
}
+1
View File
@@ -7,3 +7,4 @@
@import '_instagram';
@import '_mapbox';
@import '_mermaid';
@import '_timeline';
+104
View File
@@ -0,0 +1,104 @@
.#{$prefix}timeline {
list-style: none;
box-sizing: border-box;
overflow: auto;
margin: 1rem auto;
--timeline-color: #{darken($global-border-color, 5%)};
--timeline-circle-color: #FF735A;
--timeline-circle-size: 10px;
--timeline-width: 2px;
&[data-animation] {
.#{$prefix}timeline-item::before {
border-color: var(--timeline-color);
animation-name: change-border-color;
animation-duration: 0.9s;
animation-direction: alternate;
animation-iteration-count: infinite;
animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
animation-delay: calc(var(--timeline-index) * 0.3s);
@keyframes change-border-color {
to {
border-color: var(--timeline-circle-color);
}
}
}
}
.#{$prefix}timeline-item {
position: relative;
padding: 0.5rem 1.75rem;
@each $color, $value in $theme-colors {
&[data-type='#{$color}'] {
--timeline-circle-color: var(--#{$prefix}#{$color});
}
}
.#{$prefix}timeline-item__timestamp {
font-size: 0.8125rem;
line-height: 1;
color: var(--#{$prefix}secondary);
&.is-top {
margin-bottom: 0.25rem;
padding-top: 0.34375rem;
}
&.is-bottom {
margin-top: 0.25rem;
}
}
.#{$prefix}timeline-item__content {
font-size: 0.875rem;
}
&[data-node='dot']::before {
background-color: var(--timeline-circle-color) !important;
}
&[data-size='small']::before {
transform: scale(0.8) translateY(-50%);
}
&[data-size='large']::before {
transform: scale(1.2) translateY(-50%);
}
&::before {
content: '';
position: absolute;
top: 1.25rem;
transform: translateY(-50%);
left: 0;
width: var(--timeline-circle-size);
height: var(--timeline-circle-size);
font-size: var(--timeline-circle-size);
line-height: var(--timeline-circle-size);
text-align: center;
border-radius: 50%;
border-width: var(--timeline-width);
border-style: solid;
border-color: var(--timeline-circle-color);
background-color: $global-background-color;
color: transparent;
z-index: 1;
[data-theme='dark'] & {
background-color: $global-background-color-dark;
}
}
&::after {
content: '';
position: absolute;
top: 0;
left: calc(var(--timeline-circle-size) / 2 + var(--timeline-width) / 2);
width: var(--timeline-width);
height: 100%;
background-color: var(--timeline-color);
}
[data-theme='dark'] & {
--timeline-color: #{darken($global-border-color, 50%)};
}
}
}
+9 -2
View File
@@ -45,10 +45,10 @@ $global-border-color-dark: #363636 !default;
// ========== Scrollbar ========== //
// Color of the scrollbar
$scrollbar-color: #87878d !default;
$scrollbar-color: #a6a6a6 !default;
// Color of the hover scrollbar
$scrollbar-hover-color: #b1b1ba !default;
$scrollbar-hover-color: #7d7d7d !default;
// ========== Scrollbar ========== //
// ========== Selection ========== //
@@ -73,6 +73,13 @@ $header-title-font-size: 1.5rem !default;
$menu-active-color: #161209 !default;
$menu-active-color-dark: #fff !default;
// Border color of the menu item
$menu-border-color: darken($global-border-color, 5%) !default;
$menu-border-color-dark: lighten($global-border-color-dark, 5%) !default;
// Height of the submenu item of desktop header
$submenu-height: $header-height * 0.5 !default;
// Color of the search background
$search-background-color: #e9e9e9 !default;
$search-background-color-dark: #363636 !default;
+11 -11
View File
@@ -24,11 +24,11 @@ libFiles:
# cookieconsent@3.1.1 https://github.com/osano/cookieconsent
cookieconsentCSS: cookieconsent@3.1.1/build/cookieconsent.min.css
cookieconsentJS: cookieconsent@3.1.1/build/cookieconsent.min.js
# crypto-js@4.1.1 https://github.com/brix/crypto-js
cryptoCoreJS: crypto-js@4.1.1/core.js
cryptoEncBase64JS: crypto-js@4.1.1/enc-base64.js
cryptoMd5JS: crypto-js@4.1.1/md5.js
cryptoSha256JS: crypto-js@4.1.1/sha256.js
# crypto-js@4.2.0 https://github.com/brix/crypto-js
cryptoCoreJS: crypto-js@4.2.0/core.js
cryptoEncBase64JS: crypto-js@4.2.0/enc-base64.js
cryptoMd5JS: crypto-js@4.2.0/md5.js
cryptoSha256JS: crypto-js@4.2.0/sha256.js
# echarts@5.3.3 https://github.com/apache/echarts
echartsJS: echarts@5.3.3/dist/echarts.min.js
# eruda@3.0.1 https://github.com/liriliri/eruda
@@ -42,12 +42,12 @@ libFiles:
gitalkJS: gitalk@1.7.2/dist/gitalk.min.js
# instant.page@5.2.0 https://github.com/instantpage/instant.page
instantPage: instant.page@5.2.0/instantpage.min.js
# katex@0.16.9 https://github.com/KaTeX/KaTeX
katexAutoRenderJS: katex@0.16.9/dist/contrib/auto-render.min.js
katexCopyTexJS: katex@0.16.9/dist/contrib/copy-tex.min.js
katexCSS: katex@0.16.9/dist/katex.min.css
katexJS: katex@0.16.9/dist/katex.min.js
katexMhchemJS: katex@0.16.9/dist/contrib/mhchem.min.js
# katex@0.16.10 https://github.com/KaTeX/KaTeX
katexAutoRenderJS: katex@0.16.10/dist/contrib/auto-render.min.js
katexCopyTexJS: katex@0.16.10/dist/contrib/copy-tex.min.js
katexCSS: katex@0.16.10/dist/katex.min.css
katexJS: katex@0.16.10/dist/katex.min.js
katexMhchemJS: katex@0.16.10/dist/contrib/mhchem.min.js
# lightgallery@2.7.2 https://github.com/sachinchoolur/lightgallery
lightgalleryCSS: lightgallery@2.7.2/css/lightgallery-bundle.min.css
lightgalleryJS: lightgallery@2.7.2/lightgallery.min.js
+11 -11
View File
@@ -24,11 +24,11 @@ libFiles:
# cookieconsent@3.1.1 https://github.com/osano/cookieconsent
cookieconsentCSS: cookieconsent@3.1.1/build/cookieconsent.min.css
cookieconsentJS: cookieconsent@3.1.1/build/cookieconsent.min.js
# crypto-js@4.1.1 https://github.com/brix/crypto-js
cryptoCoreJS: crypto-js@4.1.1/core.js
cryptoEncBase64JS: crypto-js@4.1.1/enc-base64.js
cryptoMd5JS: crypto-js@4.1.1/md5.js
cryptoSha256JS: crypto-js@4.1.1/sha256.js
# crypto-js@4.2.0 https://github.com/brix/crypto-js
cryptoCoreJS: crypto-js@4.2.0/core.js
cryptoEncBase64JS: crypto-js@4.2.0/enc-base64.js
cryptoMd5JS: crypto-js@4.2.0/md5.js
cryptoSha256JS: crypto-js@4.2.0/sha256.js
# echarts@5.3.3 https://github.com/apache/echarts
echartsJS: echarts@5.3.3/dist/echarts.min.js
# eruda@3.0.1 https://github.com/liriliri/eruda
@@ -42,12 +42,12 @@ libFiles:
gitalkJS: gitalk@1.7.2/dist/gitalk.min.js
# instant.page@5.2.0 https://github.com/instantpage/instant.page
instantPage: instant.page@5.2.0/instantpage.js
# katex@0.16.9 https://github.com/KaTeX/KaTeX
katexAutoRenderJS: katex@0.16.9/dist/contrib/auto-render.min.js
katexCopyTexJS: katex@0.16.9/dist/contrib/copy-tex.min.js
katexCSS: katex@0.16.9/dist/katex.min.css
katexJS: katex@0.16.9/dist/katex.min.js
katexMhchemJS: katex@0.16.9/dist/contrib/mhchem.min.js
# katex@0.16.10 https://github.com/KaTeX/KaTeX
katexAutoRenderJS: katex@0.16.10/dist/contrib/auto-render.min.js
katexCopyTexJS: katex@0.16.10/dist/contrib/copy-tex.min.js
katexCSS: katex@0.16.10/dist/katex.min.css
katexJS: katex@0.16.10/dist/katex.min.js
katexMhchemJS: katex@0.16.10/dist/contrib/mhchem.min.js
# lightgallery@2.7.2 https://github.com/sachinchoolur/lightgallery
lightgalleryCSS: lightgallery@2.7.2/css/lightgallery-bundle.min.css
lightgalleryJS: lightgallery@2.7.2/lightgallery.min.js
+3 -3
View File
@@ -14,13 +14,13 @@ linkedin:
Icon:
Class: fa-brands fa-linkedin fa-fw
# 003: Twitter
# 003: Twitter (X)
twitter:
Weight: 3
Prefix: https://twitter.com/
Title: Twitter
Title: X
Icon:
Class: fa-brands fa-twitter fa-fw
Class: fa-brands fa-x-twitter fa-fw
# 004: Instagram
instagram:
+64 -24
View File
@@ -362,7 +362,15 @@ class FixIt {
}
}
initHighlight() {
/**
* init code wrapper
*/
initCodeWrapper() {
if (!this.config.code) {
this.initCopyCode();
return
}
// if markup.highlight.lineNumbersInTable set to false
this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), ($preChroma) => {
const $chroma = document.createElement('div');
$chroma.className = $preChroma.className;
@@ -377,7 +385,13 @@ class FixIt {
$preChroma.parentElement.replaceChild($chroma, $preChroma);
$td.appendChild($preChroma);
});
this.util.forEach(document.querySelectorAll('.highlight > .chroma:not(:has(.code-header))'), ($chroma) => {
// render code header
this.util.forEach(document.querySelectorAll('.highlight > .chroma:not([data-init])'), ($chroma) => {
$chroma.dataset.init = 'true';
if ($chroma.parentElement.classList.contains('no-header')) {
this.initCopyCode($chroma);
return;
}
const $codeElements = $chroma.querySelectorAll('pre.chroma > code');
if ($codeElements.length) {
const $code = $codeElements[$codeElements.length - 1];
@@ -437,8 +451,15 @@ class FixIt {
$copy.insertAdjacentHTML('afterbegin', '<i class="fa-regular fa-copy fa-fw" aria-hidden="true"></i>');
$copy.classList.add('copy');
// remove the leading and trailing whitespace of the code string
const code = $code.innerText.trim();
if (this.config.code.maxShownLines < 0 || code.split('\n').length < this.config.code.maxShownLines + 2) {
let code = $code.innerText.trim();
// in the details element, the code string cannot be gotten directly.
if ($chroma.closest('details') !== null) {
const _tempEl = document.createElement('div');
_tempEl.appendChild($code.cloneNode(true));
code = _tempEl.innerText.trim();
}
const forceOpen = $chroma.parentElement.dataset.open ? JSON.parse($chroma.parentElement.dataset.open) : void 0;
if (forceOpen ?? (this.config.code.maxShownLines < 0 || code.split('\n').length < this.config.code.maxShownLines + 2)) {
$chroma.classList.add('open');
}
$copy.title = this.config.code.copyTitle;
@@ -465,20 +486,23 @@ class FixIt {
});
}
/**
* init simple copy code when there is no code header
* https://github.com/github/clipboard-copy-element
* @param {ELement} singleCode single code block
*/
initCopyCode(singleCode) {
// TODO
}
/**
* init table of contents
*/
initToc() {
let $tocCore = document.getElementById('TableOfContents');
const $tocCore = document.getElementById('TableOfContents');
if ($tocCore === null) {
return;
}
// It's a dirty hack to fix the bug of APlayer, see https://github.com/hugo-fixit/FixIt/issues/292
if (typeof APlayer === 'function') {
const $newTocCore = $tocCore.cloneNode(true);
$tocCore.parentElement.replaceChild($newTocCore, $tocCore);
$tocCore = $newTocCore;
}
if (document.getElementById('toc-static').dataset.kept === 'true' || this.util.isTocStatic()) {
const $tocContentStatic = document.getElementById('toc-content-static');
if ($tocCore.parentElement !== $tocContentStatic) {
@@ -549,6 +573,27 @@ class FixIt {
}, false);
}
/**
* It's a dirty hack to fix the bug of APlayer and smoothScroll.
* see https://github.com/hugo-fixit/FixIt/issues/292
*/
fixTocScroll() {
if (typeof APlayer === 'function') {
// remove APlayer click event listener of the toc link
let $tocCore = document.getElementById('TableOfContents');
if ($tocCore) {
const $newTocCore = $tocCore.cloneNode(true);
$tocCore.parentElement.replaceChild($newTocCore, $tocCore);
$tocCore = $newTocCore;
}
// remove APlayer click event listener of the heading mark
this.util.forEach(document.querySelectorAll('.heading-mark'), ($headingMark) => {
const $newHeadingMark = $headingMark.cloneNode(true);
$headingMark.parentElement.replaceChild($newHeadingMark, $headingMark);
});
}
}
initMath(target = document.body) {
if (this.config.math) {
renderMathInElement(target, this.config.math);
@@ -869,7 +914,7 @@ class FixIt {
}
initCookieconsent() {
this.config.cookieconsent && cookieconsent.initialise(this.config.cookieconsent);
this.config.cookieconsent && window.cookieconsent?.initialise(this.config.cookieconsent);
}
getSiteTime = () => {
@@ -960,7 +1005,7 @@ class FixIt {
this.initTwemoji();
this.initDetails();
this.initLightGallery();
this.initHighlight();
this.initCodeWrapper();
this.initTable();
this.initMath();
this.initMermaid();
@@ -970,6 +1015,7 @@ class FixIt {
this.initToc();
this.initTocListener();
this.initPangu();
this.fixTocScroll();
this.util.forEach(document.querySelectorAll('.encrypted-hidden'), ($element) => {
$element.classList.replace('encrypted-hidden', 'decrypted-shown');
});
@@ -978,7 +1024,7 @@ class FixIt {
this.initTwemoji($content);
this.initDetails($content);
this.initLightGallery();
this.initHighlight();
this.initCodeWrapper();
this.initTable($content);
this.initMath($content);
this.initMermaid();
@@ -1039,9 +1085,9 @@ class FixIt {
return;
}
window.addEventListener('beforeunload', () => {
window.localStorage?.setItem(`fixit-bookmark/#${location.pathname}`, this.util.getScrollTop());
window.sessionStorage?.setItem(`fixit-bookmark/#${location.pathname}`, this.util.getScrollTop());
});
const scrollTop = Number(window.localStorage?.getItem(`fixit-bookmark/#${location.pathname}`));
const scrollTop = Number(window.sessionStorage?.getItem(`fixit-bookmark/#${location.pathname}`));
// If the page opens with a specific hash, just jump out
if (scrollTop && location.hash === '') {
window.scrollTo({
@@ -1087,7 +1133,6 @@ class FixIt {
const $fixedButtons = document.querySelector('.fixed-buttons');
const $backToTop = document.querySelector('.back-to-top');
const $readingProgressBar = document.querySelector('.reading-progress-bar');
let scrollTimer = void 0;
if (document.body.dataset.headerDesktop === 'auto') {
$headers.push(document.getElementById('header-desktop'));
}
@@ -1106,12 +1151,6 @@ class FixIt {
const $mask = document.getElementById('mask');
this.newScrollTop = this.util.getScrollTop();
const scroll = this.newScrollTop - this.oldScrollTop;
// body scrollbar style
document.body.toggleAttribute('data-scroll', true);
scrollTimer && window.clearTimeout(scrollTimer);
scrollTimer = window.setTimeout(() => {
document.body.toggleAttribute('data-scroll');
}, 500);
// header animation
this.util.forEach($headers, ($header) => {
if (scroll > ACCURACY) {
@@ -1206,7 +1245,7 @@ class FixIt {
this.initTwemoji();
this.initDetails();
this.initLightGallery();
this.initHighlight();
this.initCodeWrapper();
this.initTable();
this.initMath();
this.initMermaid();
@@ -1234,6 +1273,7 @@ class FixIt {
if (!this.config.encryption?.all) {
this.initToc();
this.initTocListener();
this.fixTocScroll();
}
this.onScroll();
this.onResize();
+2 -2
View File
@@ -5,7 +5,7 @@ artalk@latest https://github.com/ArtalkJS/Artalk
autocomplete-js@0.38.1 https://github.com/algolia/autocomplete
cell-watermark@1.0.3 https://github.com/Lruihao/watermark
cookieconsent@3.1.1 https://github.com/osano/cookieconsent
crypto-js@4.1.1 https://github.com/brix/crypto-js
crypto-js@4.2.0 https://github.com/brix/crypto-js
echarts@5.3.3 https://github.com/apache/echarts
TODO update emoji-data to 15.x
emoji-data@14.0.0 https://github.com/iamcal/emoji-data
@@ -14,7 +14,7 @@ fontawesome-free@6.4.2 https://github.com/FortAwesome/Font-Awesome
fusejs@6.6.2 https://github.com/krisk/fuse
gitalk@1.7.2 https://github.com/gitalk/gitalk
instant.page@5.2.0 https://github.com/instantpage/instant.page
katex@0.16.9 https://github.com/KaTeX/KaTeX
katex@0.16.10 https://github.com/KaTeX/KaTeX
lightgallery@2.7.2 https://github.com/sachinchoolur/lightgallery
mapbox-gl@2.10.0 https://github.com/mapbox/mapbox-gl-js
meting@2.0.1 https://github.com/metowolf/MetingJS
-8
View File
@@ -48,14 +48,6 @@
.aplayer-list {
background-color: #212121;
&::-webkit-scrollbar-thumb {
background-color: #999;
}
&::-webkit-scrollbar-thumb:hover {
background-color: #bbb;
}
li {
color: #fff;
border-top-color: #666;
+1 -1
View File
@@ -75,7 +75,7 @@
var M_offset_14 = M[offset + 14];
var M_offset_15 = M[offset + 15];
// Working varialbes
// Working variables
var a = H[0];
var b = H[1];
var c = H[2];
+1 -1
View File
@@ -1 +1 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var i={};return function(){n.d(i,{default:function(){return s}});var e=n(771),t=n.n(e),r=function(e,t,r){for(var n=r,i=0,a=e.length;n<t.length;){var o=t[n];if(i<=0&&t.slice(n,n+a)===e)return n;"\\"===o?n++:"{"===o?i++:"}"===o&&i--,n++}return-1},a=/^\\begin{/,o=function(e,t){for(var n,i=[],o=new RegExp("("+t.map((function(e){return e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")})).join("|")+")");-1!==(n=e.search(o));){n>0&&(i.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));var l=t.findIndex((function(t){return e.startsWith(t.left)}));if(-1===(n=r(t[l].right,e,t[l].left.length)))break;var d=e.slice(0,n+t[l].right.length),s=a.test(d)?d:e.slice(t[l].left.length,n);i.push({type:"math",data:s,rawData:d,display:t[l].display}),e=e.slice(n+t[l].right.length)}return""!==e&&i.push({type:"text",data:e}),i},l=function(e,r){var n=o(e,r.delimiters);if(1===n.length&&"text"===n[0].type)return null;for(var i=document.createDocumentFragment(),a=0;a<n.length;a++)if("text"===n[a].type)i.appendChild(document.createTextNode(n[a].data));else{var l=document.createElement("span"),d=n[a].data;r.displayMode=n[a].display;try{r.preProcess&&(d=r.preProcess(d)),t().render(d,l,r)}catch(e){if(!(e instanceof t().ParseError))throw e;r.errorCallback("KaTeX auto-render: Failed to parse `"+n[a].data+"` with ",e),i.appendChild(document.createTextNode(n[a].rawData));continue}i.appendChild(l)}return i},d=function e(t,r){for(var n=0;n<t.childNodes.length;n++){var i=t.childNodes[n];if(3===i.nodeType){for(var a=i.textContent,o=i.nextSibling,d=0;o&&o.nodeType===Node.TEXT_NODE;)a+=o.textContent,o=o.nextSibling,d++;var s=l(a,r);if(s){for(var f=0;f<d;f++)i.nextSibling.remove();n+=s.childNodes.length-1,t.replaceChild(s,i)}else n+=d}else 1===i.nodeType&&function(){var t=" "+i.className+" ";-1===r.ignoredTags.indexOf(i.nodeName.toLowerCase())&&r.ignoredClasses.every((function(e){return-1===t.indexOf(" "+e+" ")}))&&e(i,r)}()}},s=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},d(e,r)}}(),i=i.default}()}));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};return function(){r.d(o,{default:function(){return d}});var e=r(771),t=r.n(e);const n=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},i=/^\\begin{/;var a=function(e,t){let r;const o=[],a=new RegExp("("+t.map((e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;r=e.search(a),-1!==r;){r>0&&(o.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));const a=t.findIndex((t=>e.startsWith(t.left)));if(r=n(t[a].right,e,t[a].left.length),-1===r)break;const l=e.slice(0,r+t[a].right.length),s=i.test(l)?l:e.slice(t[a].left.length,r);o.push({type:"math",data:s,rawData:l,display:t[a].display}),e=e.slice(r+t[a].right.length)}return""!==e&&o.push({type:"text",data:e}),o};const l=function(e,n){const r=a(e,n.delimiters);if(1===r.length&&"text"===r[0].type)return null;const o=document.createDocumentFragment();for(let e=0;e<r.length;e++)if("text"===r[e].type)o.appendChild(document.createTextNode(r[e].data));else{const i=document.createElement("span");let a=r[e].data;n.displayMode=r[e].display;try{n.preProcess&&(a=n.preProcess(a)),t().render(a,i,n)}catch(i){if(!(i instanceof t().ParseError))throw i;n.errorCallback("KaTeX auto-render: Failed to parse `"+r[e].data+"` with ",i),o.appendChild(document.createTextNode(r[e].rawData));continue}o.appendChild(i)}return o},s=function(e,t){for(let n=0;n<e.childNodes.length;n++){const r=e.childNodes[n];if(3===r.nodeType){let o=r.textContent,i=r.nextSibling,a=0;for(;i&&i.nodeType===Node.TEXT_NODE;)o+=i.textContent,i=i.nextSibling,a++;const s=l(o,t);if(s){for(let e=0;e<a;e++)r.nextSibling.remove();n+=s.childNodes.length-1,e.replaceChild(s,r)}else n+=a}else if(1===r.nodeType){const e=" "+r.className+" ";-1===t.ignoredTags.indexOf(r.nodeName.toLowerCase())&&t.ignoredClasses.every((t=>-1===e.indexOf(" "+t+" ")))&&s(r,t)}}};var d=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},s(e,n)}}(),o=o.default}()}));
+1 -1
View File
@@ -1 +1 @@
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={},t={inline:["$","$"],display:["$$","$$"]};var n=function(e,n){void 0===n&&(n=t);for(var r=e.querySelectorAll(".katex-mathml + .katex-html"),a=0;a<r.length;a++){var o=r[a];o.remove?o.remove():o.parentNode&&o.parentNode.removeChild(o)}for(var i=e.querySelectorAll(".katex-mathml"),l=0;l<i.length;l++){var f=i[l],c=f.querySelector("annotation");c&&(f.replaceWith?f.replaceWith(c):f.parentNode&&f.parentNode.replaceChild(c,f),c.innerHTML=n.inline[0]+c.innerHTML+n.inline[1])}for(var d=e.querySelectorAll(".katex-display annotation"),s=0;s<d.length;s++){var p=d[s];p.innerHTML=n.display[0]+p.innerHTML.substr(n.inline[0].length,p.innerHTML.length-n.inline[0].length-n.inline[1].length)+n.display[1]}return e};function r(e){var t=e instanceof Element?e:e.parentElement;return t&&t.closest(".katex")}return document.addEventListener("copy",(function(e){var t=window.getSelection();if(!t.isCollapsed&&e.clipboardData){var a=e.clipboardData,o=t.getRangeAt(0),i=r(o.startContainer);i&&o.setStartBefore(i);var l=r(o.endContainer);l&&o.setEndAfter(l);var f=o.cloneContents();if(f.querySelector(".katex-mathml")){var c=Array.prototype.map.call(f.childNodes,(function(e){return e instanceof Text?e.textContent:e.outerHTML})).join("");a.setData("text/html",c),a.setData("text/plain",n(f).textContent),e.preventDefault()}}})),e=e.default}()}));
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={};const t={inline:["$","$"],display:["$$","$$"]};var n=function(e,n){void 0===n&&(n=t);const o=e.querySelectorAll(".katex-mathml + .katex-html");for(let e=0;e<o.length;e++){const t=o[e];t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}const r=e.querySelectorAll(".katex-mathml");for(let e=0;e<r.length;e++){const t=r[e],o=t.querySelector("annotation");o&&(t.replaceWith?t.replaceWith(o):t.parentNode&&t.parentNode.replaceChild(o,t),o.innerHTML=n.inline[0]+o.innerHTML+n.inline[1])}const l=e.querySelectorAll(".katex-display annotation");for(let e=0;e<l.length;e++){const t=l[e];t.innerHTML=n.display[0]+t.innerHTML.substr(n.inline[0].length,t.innerHTML.length-n.inline[0].length-n.inline[1].length)+n.display[1]}return e};function o(e){const t=e instanceof Element?e:e.parentElement;return t&&t.closest(".katex")}return document.addEventListener("copy",(function(e){const t=window.getSelection();if(t.isCollapsed||!e.clipboardData)return;const r=e.clipboardData,l=t.getRangeAt(0),i=o(l.startContainer);i&&l.setStartBefore(i);const a=o(l.endContainer);a&&l.setEndAfter(a);const s=l.cloneContents();if(!s.querySelector(".katex-mathml"))return;const c=Array.prototype.map.call(s.childNodes,(e=>e instanceof Text?e.textContent:e.outerHTML)).join("");r.setData("text/html",c),r.setData("text/plain",n(s).textContent),e.preventDefault()})),e=e.default}()}));
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
-1
View File
File diff suppressed because one or more lines are too long
-330
View File
@@ -1,330 +0,0 @@
# Contributors-Readme
## [Contributors](https://github.com/hugo-fixit/FixIt/graphs/contributors)
<!-- readme: contributors,d-baer -start -->
<table>
<tr>
<td align="center">
<a href="https://github.com/Lruihao">
<img src="https://avatars.githubusercontent.com/u/33419593?v=4" width="100;" alt="Lruihao"/>
<br />
<sub><b>Cell</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/dillonzq">
<img src="https://avatars.githubusercontent.com/u/30786232?v=4" width="100;" alt="dillonzq"/>
<br />
<sub><b>Dillon</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Fastbyte01">
<img src="https://avatars.githubusercontent.com/u/16869546?v=4" width="100;" alt="Fastbyte01"/>
<br />
<sub><b>Giuseppe Pignataro</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Programazing">
<img src="https://avatars.githubusercontent.com/u/11393826?v=4" width="100;" alt="Programazing"/>
<br />
<sub><b>Christopher C. Johnson</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/astropenguin">
<img src="https://avatars.githubusercontent.com/u/13254278?v=4" width="100;" alt="astropenguin"/>
<br />
<sub><b>Akio Taniguchi</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/DaveA-W">
<img src="https://avatars.githubusercontent.com/u/6415842?v=4" width="100;" alt="DaveA-W"/>
<br />
<sub><b>Dave A-W</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/yureiita">
<img src="https://avatars.githubusercontent.com/u/26035759?v=4" width="100;" alt="yureiita"/>
<br />
<sub><b>Abdul Halim Daud</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/psi59">
<img src="https://avatars.githubusercontent.com/u/15508203?v=4" width="100;" alt="psi59"/>
<br />
<sub><b>Sangil Park</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Fedomn">
<img src="https://avatars.githubusercontent.com/u/6177727?v=4" width="100;" alt="Fedomn"/>
<br />
<sub><b>Frank Ma</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Mejituu">
<img src="https://avatars.githubusercontent.com/u/36153418?v=4" width="100;" alt="Mejituu"/>
<br />
<sub><b>Mejituu</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ctj12461">
<img src="https://avatars.githubusercontent.com/u/42143810?v=4" width="100;" alt="ctj12461"/>
<br />
<sub><b>Justin Chen</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/edte">
<img src="https://avatars.githubusercontent.com/u/50194671?v=4" width="100;" alt="edte"/>
<br />
<sub><b>Edte</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/solarpowerinncr">
<img src="https://avatars.githubusercontent.com/u/37186560?v=4" width="100;" alt="solarpowerinncr"/>
<br />
<sub><b>Solarpowerinncr</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/xueweiwujxw">
<img src="https://avatars.githubusercontent.com/u/45992640?v=4" width="100;" alt="xueweiwujxw"/>
<br />
<sub><b>Xuewei Wu</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/youngxhui">
<img src="https://avatars.githubusercontent.com/u/16971804?v=4" width="100;" alt="youngxhui"/>
<br />
<sub><b>Youngxhui</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Kapusch">
<img src="https://avatars.githubusercontent.com/u/9576733?v=4" width="100;" alt="Kapusch"/>
<br />
<sub><b>Jean-Emmanuel BAILLAT</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/0x020B">
<img src="https://avatars.githubusercontent.com/u/106423923?v=4" width="100;" alt="0x020B"/>
<br />
<sub><b>N0tr00t</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/dogukanerel">
<img src="https://avatars.githubusercontent.com/u/19349444?v=4" width="100;" alt="dogukanerel"/>
<br />
<sub><b>Doğukan Erel</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/devandreacarratta">
<img src="https://avatars.githubusercontent.com/u/46504271?v=4" width="100;" alt="devandreacarratta"/>
<br />
<sub><b>Andrea Carratta</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/cmpsoares91">
<img src="https://avatars.githubusercontent.com/u/4914211?v=4" width="100;" alt="cmpsoares91"/>
<br />
<sub><b>Carlos Manuel Soares</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/AutomationD">
<img src="https://avatars.githubusercontent.com/u/1790594?v=4" width="100;" alt="AutomationD"/>
<br />
<sub><b>Dmitry Kireev</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/thejayhaykid">
<img src="https://avatars.githubusercontent.com/u/9452325?v=4" width="100;" alt="thejayhaykid"/>
<br />
<sub><b>Jake Hayes</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/markdluethje">
<img src="https://avatars.githubusercontent.com/u/31922494?v=4" width="100;" alt="markdluethje"/>
<br />
<sub><b>Mark-Daniel Lüthje</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/mathieu-gilloots">
<img src="https://avatars.githubusercontent.com/u/1282351?v=4" width="100;" alt="mathieu-gilloots"/>
<br />
<sub><b>Mathieu GILLOOTS</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/NicoDreamzZ">
<img src="https://avatars.githubusercontent.com/u/12086166?v=4" width="100;" alt="NicoDreamzZ"/>
<br />
<sub><b>Nico Rügheimer</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ramrodo">
<img src="https://avatars.githubusercontent.com/u/2797052?v=4" width="100;" alt="ramrodo"/>
<br />
<sub><b>Rodolfo Martínez Vega</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/SilkeHenderickx">
<img src="https://avatars.githubusercontent.com/u/28140438?v=4" width="100;" alt="SilkeHenderickx"/>
<br />
<sub><b>Silke Henderickx</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/stefanoginobili">
<img src="https://avatars.githubusercontent.com/u/67482642?v=4" width="100;" alt="stefanoginobili"/>
<br />
<sub><b>Stefano Ginobili</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/tlereste">
<img src="https://avatars.githubusercontent.com/u/12964583?v=4" width="100;" alt="tlereste"/>
<br />
<sub><b>Thibault Le Reste</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/vanildosouto">
<img src="https://avatars.githubusercontent.com/u/1603028?v=4" width="100;" alt="vanildosouto"/>
<br />
<sub><b>Vanildo Souto Mangueira</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/victor-pogor">
<img src="https://avatars.githubusercontent.com/u/24962085?v=4" width="100;" alt="victor-pogor"/>
<br />
<sub><b>Victor Pogor</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/wtchangdm">
<img src="https://avatars.githubusercontent.com/u/1546333?v=4" width="100;" alt="wtchangdm"/>
<br />
<sub><b>W.T. Chang</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/anup92k">
<img src="https://avatars.githubusercontent.com/u/51033013?v=4" width="100;" alt="anup92k"/>
<br />
<sub><b>Anup</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/codedge">
<img src="https://avatars.githubusercontent.com/u/4409904?v=4" width="100;" alt="codedge"/>
<br />
<sub><b>Holger Lösken</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/hiifong">
<img src="https://avatars.githubusercontent.com/u/89133723?v=4" width="100;" alt="hiifong"/>
<br />
<sub><b>Hiifong</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/nikusaikou">
<img src="https://avatars.githubusercontent.com/u/32993922?v=4" width="100;" alt="nikusaikou"/>
<br />
<sub><b>Niku</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/onisuly">
<img src="https://avatars.githubusercontent.com/u/8399827?v=4" width="100;" alt="onisuly"/>
<br />
<sub><b>Onisuly</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/quyleanh">
<img src="https://avatars.githubusercontent.com/u/9365035?v=4" width="100;" alt="quyleanh"/>
<br />
<sub><b>Quy Le Anh</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/sarathsp06">
<img src="https://avatars.githubusercontent.com/u/964542?v=4" width="100;" alt="sarathsp06"/>
<br />
<sub><b>Sarath Sadasivan Pillai</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/tomaja-linuxo">
<img src="https://avatars.githubusercontent.com/u/37209662?v=4" width="100;" alt="tomaja-linuxo"/>
<br />
<sub><b>Tomaja</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ziobron">
<img src="https://avatars.githubusercontent.com/u/4595135?v=4" width="100;" alt="ziobron"/>
<br />
<sub><b>Łukasz Ziobroń</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/d-baer">
<img src="https://avatars.githubusercontent.com/u/22482986?v=4" width="100;" alt="d-baer"/>
<br />
<sub><b>D-baer</b></sub>
</a>
</td></tr>
</table>
<!-- readme: contributors,d-baer -end -->
## Bots
<!-- readme: bots -start -->
<table>
<tr>
<td align="center">
<a href="https://github.com/dependabot[bot]">
<img src="https://avatars.githubusercontent.com/in/29110?v=4" width="100;" alt="dependabot[bot]"/>
<br />
<sub><b>dependabot[bot]</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/github-actions[bot]">
<img src="https://avatars.githubusercontent.com/in/15368?v=4" width="100;" alt="github-actions[bot]"/>
<br />
<sub><b>github-actions[bot]</b></sub>
</a>
</td></tr>
</table>
<!-- readme: bots -end -->
+6
View File
@@ -2,6 +2,12 @@
title: My First Post
date: 2023-02-20T20:14:22+08:00
draft: false
categories:
- blog
collections:
- blog
tags:
- blog
---
A blog (a truncation of "weblog") is an informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order so that the most recent post appears first, at the top of the web page. Until 2009, blogs were usually the work of a single individual,[citation needed] occasionally of a small group, and often covered a single subject or topic. In the 2010s, "multi-author blogs" (MABs) emerged, featuring the writing of multiple authors and sometimes professionally edited. MABs from newspapers, other media outlets, universities, think tanks, advocacy groups, and similar institutions account for an increasing quantity of blog traffic. The rise of Twitter and other "microblogging" systems helps integrate MABs and single-author blogs into the news media. Blog can also be used as a verb, meaning to maintain or add content to a blog.
+17 -35
View File
@@ -1,48 +1,30 @@
# -------------------------------------------------------------------------------------
# =====================================================================================
# The following is a necessary configuration for the FixIt theme.
# =====================================================================================
# -------------------------------------------------------------------------------------
# Hugo Configuration
# See: https://gohugo.io/getting-started/configuration/
# -------------------------------------------------------------------------------------
title = "My Hugo FixIt Site"
title = "Hugo FixIt Demo"
baseURL = "http://example.org/"
# Change the default theme to be use when building the site with Hugo
# theme = "FixIt"
[markup]
# Syntax Highlighting (https://gohugo.io/content-management/syntax-highlighting)
[markup.highlight]
########## necessary configurations ##########
# https://github.com/hugo-fixit/FixIt/issues/43
codeFences = true
lineNos = true
lineNumbersInTable = true
noClasses = false
########## necessary configurations ##########
guessSyntax = true
# Goldmark is from Hugo 0.60 the default library used for Markdown
[markup.goldmark]
[markup.goldmark.extensions]
definitionList = true
footnote = true
linkify = true
strikethrough = true
table = true
taskList = true
typographer = true
[markup.goldmark.renderer]
# whether to use HTML tags directly in the document
unsafe = true
# Table Of Contents settings
[markup.tableOfContents]
ordered = false
startLevel = 2
endLevel = 6
_merge = "shallow"
[outputs]
home = ["HTML", "RSS", "JSON", "archives"]
page = ["HTML", "MarkDown"]
section = ["HTML", "RSS"]
taxonomy = ["HTML"]
term = ["HTML", "RSS"]
_merge = "shallow"
# -------------------------------------------------------------------------------------
# Taxonomies Configuration
# See: https://gohugo.io/content-management/taxonomies/#configure-taxonomies
# -------------------------------------------------------------------------------------
[taxonomies]
_merge = "shallow"
# -------------------------------------------------------------------------------------
# Theme Core Configuration
+1 -1
View File
@@ -10,5 +10,5 @@
"https://docs-[A-z0-9]{9}-cell-x\\.vercel\\.app",
"http://localhost:[0-9]+"
],
"defaultCommentOrder": "oldest"
"defaultCommentOrder": "newest"
}
+37 -20
View File
@@ -63,6 +63,8 @@ enableEmoji = true
icon = "fa-solid fa-archive"
# FixIt 0.2.16 | NEW set menu item type, optional values: ["mobile", "desktop"]
type = ""
# FixIt 0.3.9 | NEW whether to show the submenu item divider line
divided = false
[[menu.main]]
identifier = "categories"
parent = ""
@@ -133,7 +135,7 @@ enableEmoji = true
[module]
[module.hugoVersion]
extended = true
min = "0.123.0"
min = "0.127.0"
# -------------------------------------------------------------------------------------
# Markup related configuration in Hugo
@@ -152,18 +154,41 @@ enableEmoji = true
########## necessary configurations ##########
guessSyntax = true
# Goldmark is from Hugo 0.60 the default library used for Markdown
# https://gohugo.io/getting-started/configuration-markup/#goldmark
[markup.goldmark]
duplicateResourceFiles = false
[markup.goldmark.extensions]
definitionList = true
footnote = true
linkify = true
strikethrough = true
linkifyProtocol = 'https'
strikethrough = false
table = true
taskList = true
typographer = true
# https://gohugo.io/getting-started/configuration-markup/#extras
[markup.goldmark.extensions.extras]
[markup.goldmark.extensions.extras.delete]
enable = true
[markup.goldmark.extensions.extras.insert]
enable = true
[markup.goldmark.extensions.extras.mark]
enable = true
[markup.goldmark.extensions.extras.subscript]
enable = true
[markup.goldmark.extensions.extras.superscript]
enable = true
# TODO passthrough refactor https://gohugo.io/getting-started/configuration-markup/#parserattributeblock
# TODO hugo 0.122.0 https://gohugo.io/content-management/mathematics/
[markup.goldmark.parser]
[markup.goldmark.parser.attribute]
block = true
title = true
[markup.goldmark.renderer]
hardWraps = false
# whether to use HTML tags directly in the document
unsafe = true
xhtml = false
# Table Of Contents settings
[markup.tableOfContents]
ordered = false
@@ -422,10 +447,6 @@ enableEmoji = true
# Footer config
[params.footer]
enable = true
# TODO remove in the future
# FixIt 0.2.17 | CHANGED Custom content (HTML format is supported)
# For advanced use, see parameter `params.customFilePath.footer`
custom = ""
# whether to show copyright info
copyright = true
# whether to show the author
@@ -776,14 +797,6 @@ enableEmoji = true
# ["barber-shop", "big-counter", "bounce", "center-atom", "center-circle", "center-radar", "center-simple",
# "corner-indicator", "fill-left", "flash", "flat-top", "loading-bar", "mac-osx", "material", "minimal"]
theme = "minimal"
# TODO remove in the future
# FixIt 0.2.17 | NEW Define custom file paths
# Create your custom files in site directory `layouts/partials/custom` and uncomment needed files below
[params.customFilePath]
# aside = "custom/aside.html"
# profile = "custom/profile.html"
# footer = "custom/footer.html"
# FixIt 0.2.15 | NEW Developer options
# Select the scope named `public_repo` to generate personal access token,
@@ -812,8 +825,9 @@ enableEmoji = true
hiddenFromRelated = false
# whether to enable twemoji
twemoji = false
# whether to enable lightgallery
# FixIt 0.2.18 | CHANGED if set to "force", images in the content will be forced to shown as the gallery.
# FixIt 0.2.18 | CHANGED whether to enable lightgallery
# set to true, images in the content will be shown as the gallery if the image has a title, e.g. ![alt](src "title")
# set to "force", images in the content will be forced to shown as the gallery regardless of the image has a title or not, e.g. ![alt](src)
lightgallery = false
# whether to enable the ruby extended syntax
ruby = true
@@ -904,11 +918,13 @@ enableEmoji = true
copyTex = true
# KaTeX extension mhchem
mhchem = true
# Code config
# Code wrapper config
[params.page.code]
# whether to show the copy button of the code block
# FixIt 0.3.9 | NEW whether to enable the code wrapper
enable = true
# whether to show the copy button of the code wrapper
copy = true
# FixIt 0.2.13 | NEW whether to show the edit button of the code block
# FixIt 0.2.13 | NEW whether to show the edit button of the code wrapper
edit = true
# the maximum number of lines of displayed code by default
maxShownLines = 10
@@ -1059,6 +1075,7 @@ enableEmoji = true
texRenderer = false # FixIt 0.2.16 | NEW
search = false # FixIt 0.2.16 | NEW
recaptchaV3Key = "" # FixIt 0.2.16 | NEW
turnstileKey = "" # FixIt 0.3.8 | NEW
reaction = false # FixIt 0.2.18 | NEW
# Facebook comment config (https://developers.facebook.com/docs/plugins/comments)
[params.page.comment.facebook]
@@ -1109,7 +1126,7 @@ enableEmoji = true
category = ""
categoryId = ""
mapping = ""
origin = "https://giscus.app" # Or set it to your self-hosted domain
origin = "https://giscus.app" # FixIt NEW | 0.3.7 Or set it to your self-hosted domain
strict = "0" # FixIt NEW | 0.2.18
term = ""
reactionsEnabled = "1"
+1 -1
View File
@@ -14,7 +14,7 @@ quicklyUpgrade = "Quickly upgrade use command: "
[baseof]
backToTop = "Back to Top"
viewComments = "View Comments"
noscript = "यह वेबसाइट जावास्क्रिप्ट सक्षम होने पर सबसे अच्छा काम करती है।"
noscript = "This website works best with JavaScript enabled."
# === baseof ===
# === Taxonomy ===
-1
View File
@@ -15,7 +15,6 @@ quicklyUpgrade = "शीघ्रता से अपग्रेड यह क
[baseof]
backToTop = "वापस शीर्ष पर"
viewComments = "टिप्पणियाँ देखें"
# This website works best with JavaScript enabled.
noscript = "यह वेबसाइट जेएस को चालू करके बेहतर काम करती है।"
# === baseof ===
@@ -0,0 +1,2 @@
{{- dict "Options" .Attributes "Inner" .Inner | partial "plugin/echarts.html" -}}
{{- .Page.Store.Set "hasEcharts" true -}}
@@ -1,5 +1,2 @@
<pre class="mermaid">
{{- .Inner | safeHTML }}
</pre>
<template>{{- .Inner | safeHTML }}</template>
{{- dict "Options" .Attributes "Inner" .Inner | partial "plugin/mermaid.html" -}}
{{- .Page.Store.Set "hasMermaid" true -}}
@@ -0,0 +1 @@
{{- dict "Options" .Attributes "Inner" .Inner | partial "plugin/timeline.html" -}}
+1 -1
View File
@@ -17,7 +17,7 @@
{{- /* Content */ -}}
{{- $content := dict "Content" .Content "Ruby" $params.ruby "Fraction" $params.fraction "Fontawesome" $params.fontawesome | partial "function/content.html" | safeHTML -}}
{{- if $params.password -}}
{{- $saltLen := strings.RuneCount (trim $params.password "") -}}
{{- $saltLen := strings.RuneCount (trim $params.password " ") -}}
{{- $saltLen = cond (eq (mod $saltLen 2) 0) (add $saltLen 1) $saltLen -}}
{{- $base64EncodeContent := $content | base64Encode -}}
{{- $content = printf "%v%v%v"
+2 -1
View File
@@ -51,7 +51,8 @@
{{- if eq $repost.enable true -}}
{{- dict "Class" "fa-solid fa-share fa-fw text-success me-1" | partial "plugin/icon.html" -}}
{{- end -}}
{{- title .LinkTitle -}}
{{- /* Use the original title after archiving the articles */ -}}
{{- title .Title -}}
</a>
<span class="archive-item-date" title='{{ "2006-01-02 15:04:05" | .Date.Format }}'>
{{- .Date | dateFormat ($.Site.Params.archives.dateFormat | default "01-02") -}}
+2 -1
View File
@@ -37,7 +37,8 @@
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{ end }}
{{- range .Scratch.Get "mainSectionPages" | first (.Site.Params.home.rss | default 10) -}}
{{- $params := partial "function/params.html" -}}
{{- /* TODO 0.4.0 待重构为去掉 `.page` 改用 hugo 推荐的 .Param 方法获取页面参数 */ -}}
{{- $params := .Params | merge site.Params.page -}}
{{- if $params.password | or $params.hiddenFromRss }}{{ continue }}{{ end -}}
{{- dict "Page" . "Site" .Site | partial "rss/item.html" -}}
{{- end -}}
+1 -1
View File
@@ -19,7 +19,7 @@
{{ range $index, $friend := .Site.Data.friends }}
<a class="friend-link" title="{{ $friend.description }}" href="{{ $friend.url | safeURL }}" rel="external noopener noreferrer" target="_blank">
{{ if $friend.avatar }}
{{- dict "Src" $friend.avatar "Alt" $friend.nickname "Class" "friend-avatar" | partial "plugin/image.html" -}}
{{- dict "Src" $friend.avatar "Alt" $friend.nickname "Title" $friend.description "Class" "friend-avatar" | partial "plugin/image.html" -}}
{{ else }}
<svg class="friend-avatar" aria-hidden="true">
<use xlink:href="#icon-{{ add 1 $index }}"></use>
+13 -14
View File
@@ -51,17 +51,16 @@
{{- $config = dict "lightgallery" true | merge $config -}}
{{- end -}}
{{- /* Code wrapper */ -}}
{{- $code := $params.code | default dict -}}
{{- $config = cond (ne $code.maxShownLines nil) $code.maxShownLines 10 | dict "maxShownLines" | dict "code" | merge $config -}}
{{- /* edit code */ -}}
{{- if ne $code.edit false -}}
{{- $config = dict "editable" true "editLockTitle" (T "assets.editLockTitle") "editUnLockTitle" (T "assets.editUnLockTitle") | dict "code" | merge $config -}}
{{- end -}}
{{- /* copy code */ -}}
{{- if ne $code.copy false -}}
{{- $config = T "assets.copyToClipboard" | dict "copyTitle" | dict "code" | merge $config -}}
{{- if $code.enable -}}
{{- $config = $code.maxShownLines | dict "maxShownLines" | dict "code" | merge $config -}}
{{- if ne $code.edit false -}}
{{- $config = dict "editable" true "editLockTitle" (T "assets.editLockTitle") "editUnLockTitle" (T "assets.editUnLockTitle") | dict "code" | merge $config -}}
{{- end -}}
{{- if ne $code.copy false -}}
{{- $config = T "assets.copyToClipboard" | dict "copyTitle" | dict "code" | merge $config -}}
{{- end -}}
{{- end -}}
{{- /* Sharer.js */ -}}
@@ -124,7 +123,7 @@
{{- end -}}
{{- /* ECharts */ -}}
{{- if .HasShortcode "echarts" -}}
{{- if .Store.Get "hasEcharts" -}}
{{- $source := $cdn.echartsJS | default "lib/echarts/echarts.min.js" -}}
{{- dict "Source" $source "Fingerprint" $fingerprint "Defer" true | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
{{- $lightTheme := resources.Get "lib/echarts/theme/light.yml" | transform.Unmarshal -}}
@@ -284,6 +283,9 @@
{{- end -}}
{{- dict "Source" (resources.Get "js/theme.js") "Build" $options "Fingerprint" $fingerprint "Defer" true | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
{{- /* Custom Assets */ -}}
{{- block "custom-assets" . }}{{ end -}}
{{- /* Custom script */ -}}
{{- with ((resources.Get "js/custom.js") | default (resources.Get "js/_custom.js")) -}}
{{- $options := dict "targetPath" "js/custom.min.js" "minify" hugo.IsProduction -}}
@@ -306,6 +308,3 @@
{{- end -}}
{{- partial "plugin/analytics.html" . -}}
{{- /* Custom Assets */ -}}
{{- block "custom-assets" . }}{{ end -}}
+23 -3
View File
@@ -2,11 +2,31 @@
<nav aria-label="breadcrumb" class="breadcrumb-container{{ if .Site.Params.breadcrumb.sticky }} sticky{{ end }}">
<ol class="breadcrumb">
{{- range .Ancestors.Reverse -}}
{{- if or .Site.Params.breadcrumb.showHome (not .IsHome) -}}
<li class="breadcrumb-item"><a href="{{ .RelPermalink }}" title="{{ with .Description }}{{ . }}{{ else }}{{ if .IsPage | and .Summary }}{{ .Summary }}{{ else }}{{ title .LinkTitle }}{{ end }}{{ end }}">{{ cond (and .Site.Params.breadcrumb.showHome .IsHome) (T "single.home") ((lower .LinkTitle | T) | default (title .LinkTitle)) }}</a></li>
{{- if .IsHome | and (not .Site.Params.breadcrumb.showHome) -}}
{{- continue -}}
{{- end -}}
{{- $title := "" -}}
{{- with .Description -}}
{{- $title = . -}}
{{- else -}}
{{- $title = title .LinkTitle -}}
{{- if .IsPage | and .Summary -}}
{{- $title = .Summary -}}
{{- end -}}
{{- end -}}
{{- $innerText := "" -}}
{{- if .IsHome -}}
{{- $innerText = T "single.home" -}}
{{- else -}}
{{- $innerText = ((T (add .TranslationKey ".breadcrumbTitle")) | default (lower .LinkTitle | T) | default .LinkTitle) | title -}}
{{- end -}}
<li class="breadcrumb-item"><a href="{{ .RelPermalink }}" title="{{ $title }}">{{ $innerText }}</a></li>
{{- end -}}
<li class="breadcrumb-item active" aria-current="page">{{ title .LinkTitle }}</li>
<li class="breadcrumb-item active" aria-current="page">{{ (T (add .TranslationKey ".breadcrumbTitle")) | default (lower .LinkTitle | T) | default .LinkTitle | title }}</li>
</ol>
</nav>
{{- end -}}
-1
View File
@@ -1 +0,0 @@
{{- /* Custom aside html */ -}}
-6
View File
@@ -1,6 +0,0 @@
{{- /* Custom footer html */ -}}
{{- with .Site.Params.footer.custom -}}
<div class="footer-line custom">
{{- safeHTML . -}}
</div>
{{- end -}}
-1
View File
@@ -1 +0,0 @@
{{- /* Custom profile html at home page */ -}}
-3
View File
@@ -3,9 +3,6 @@
{{- if ne $footerConfig.enable false -}}
<footer class="footer">
<div class="footer-container">
{{- /* TODO remove Custom Content */ -}}
{{- partial (.Scratch.Get "customFilePath").footer . -}}
{{- /* Custom Footer */ -}}
{{- block "custom-footer" . }}{{ end -}}
+28 -22
View File
@@ -58,25 +58,28 @@
{{- if .HasChildren -}}
{{ dict "Class" "dropdown-icon fa-solid fa-chevron-down" | partial "plugin/icon.html" }}
<ul class="sub-menu">
{{ range .Children }}
{{- $url := .URL | relLangURL -}}
{{- with .Page -}}
{{- range $k, $v := .Children -}}
{{- $url := $v.URL | relLangURL -}}
{{- with $v.Page -}}
{{- $url = .RelPermalink -}}
{{- end -}}
{{- if (ne .Params.Draft true) | or $buildDrafts | and (ne .Params.Type "mobile") -}}
{{- if (ne $v.Params.Draft true) | or $buildDrafts | and (ne $v.Params.Type "mobile") -}}
{{- if $k | and $v.Params.Divided -}}
<li class="menu-item-divider" aria-hidden="true"></li>
{{- end -}}
<li
class="menu-item{{ if $.IsMenuCurrent `main` . | or ($.HasMenuCurrent `main` .) | or (eq $.RelPermalink $url) }} active{{ end }}{{ with .Params.Class }} {{ . }}{{ end }}"
class="menu-item{{ if $.IsMenuCurrent `main` $v | or ($.HasMenuCurrent `main` $v) | or (eq $.RelPermalink $url) }} active{{ end }}{{ with $v.Params.Class }} {{ . }}{{ end }}"
>
<a
class="menu-link"
href="{{ $url }}"
{{ with .Title }}title="{{ . }}"{{ end }}
{{ with $v.Title }}title="{{ . }}"{{ end }}
{{ if (urls.Parse $url).Host }}rel="noopener noreferrer" target="_blank"{{ end }}
>
{{- with .Pre -}}{{- . | safeHTML }} {{ end }}
{{- with .Params.Icon -}}{{ dict "Class" (printf "%v fa-fw fa-sm" .) | partial "plugin/icon.html" }} {{ end }}
{{- .Name }}
{{- with .Post }} {{ . | safeHTML -}}{{- end -}}
{{- with $v.Pre -}}{{- . | safeHTML }} {{ end }}
{{- with $v.Params.Icon -}}{{ dict "Class" (printf "%v fa-fw fa-sm" .) | partial "plugin/icon.html" }} {{ end }}
{{- $v.Name }}
{{- with $v.Post }} {{ . | safeHTML -}}{{- end -}}
</a>
</li>
{{- end -}}
@@ -106,7 +109,7 @@
<li class="menu-item theme-switch" title="{{ T "header.switchTheme" }}">
{{ dict "Class" "fa-solid fa-adjust fa-fw" | partial "plugin/icon.html" }}
</li>
{{- if .Site.IsMultiLingual -}}
{{- if hugo.IsMultilingual -}}
<li class="menu-item language-switch">
<span role="button" aria-label="{{ T "header.selectLanguage" }}" title="{{ T "header.selectLanguage" }}">
{{- dict "Class" "fa-solid fa-language fa-fw" | partial "plugin/icon.html" -}}
@@ -234,25 +237,28 @@
{{ dict "Class" "dropdown-icon fa-solid fa-chevron-right" | partial "plugin/icon.html" }}
</span>
<ul class="sub-menu">
{{ range .Children }}
{{- $url := .URL | relLangURL -}}
{{- with .Page -}}
{{- range $k, $v := .Children -}}
{{- $url := $v.URL | relLangURL -}}
{{- with $v.Page -}}
{{- $url = .RelPermalink -}}
{{- end -}}
{{- if (ne .Params.Draft true) | or $buildDrafts | and (ne .Params.Type "desktop") -}}
{{- if (ne $v.Params.Draft true) | or $buildDrafts | and (ne $v.Params.Type "desktop") -}}
{{- if $k | and $v.Params.Divided -}}
<li class="menu-item menu-item-divider" aria-hidden="true"></li>
{{- end -}}
<li
class="menu-item{{ if $.IsMenuCurrent `main` . | or ($.HasMenuCurrent `main` .) | or (eq $.RelPermalink $url) }} active{{ end }}{{ with .Params.Class }} {{ . }}{{ end }}"
class="menu-item{{ if $.IsMenuCurrent `main` $v | or ($.HasMenuCurrent `main` $v) | or (eq $.RelPermalink $url) }} active{{ end }}{{ with $v.Params.Class }} {{ . }}{{ end }}"
>
<a
class="menu-link"
href="{{ $url }}"
{{ with .Title }}title="{{ . }}"{{ end }}
{{ with $v.Title }}title="{{ . }}"{{ end }}
{{ if (urls.Parse $url).Host }}rel="noopener noreferrer" target="_blank"{{ end }}
>
{{- with .Pre -}}{{- . | safeHTML }} {{ end }}
{{- with .Params.Icon -}}{{ dict "Class" (printf "%v fa-fw fa-sm" .) | partial "plugin/icon.html" }} {{ end }}
{{- .Name }}
{{- with .Post }} {{ . | safeHTML -}}{{- end -}}
{{- with $v.Pre -}}{{- . | safeHTML }} {{ end }}
{{- with $v.Params.Icon -}}{{ dict "Class" (printf "%v fa-fw fa-sm" .) | partial "plugin/icon.html" }} {{ end }}
{{- $v.Name }}
{{- with $v.Post }} {{ . | safeHTML -}}{{- end -}}
</a>
</li>
{{- end -}}
@@ -276,7 +282,7 @@
{{- end -}}
<li class="menu-item menu-system">
<span class="menu-system-item theme-switch" title="{{ T "header.switchTheme" }}">{{ dict "Class" "fa-solid fa-adjust fa-fw" | partial "plugin/icon.html" }}</span>
{{- if .Site.IsMultiLingual -}}
{{- if hugo.IsMultilingual -}}
<span class="menu-system-item language-switch">
<span role="button" aria-label="{{ T "header.selectLanguage" }}" title="{{ T "header.selectLanguage" }}">
{{- .Language.LanguageName -}}
-3
View File
@@ -108,9 +108,6 @@
</h3>
{{- end -}}
{{- /* TODO remove Custom Content */ -}}
{{- partial (.Scratch.Get "customFilePath").profile . -}}
{{- /* Custom Profile */ -}}
{{- block "custom-profile" . }}{{ end -}}
</div>
+1 -1
View File
@@ -26,7 +26,7 @@
{{- if ne .Site.Params.dev.enable true -}}
{{- .Scratch.Set "devOpts" dict -}}
{{- end -}}
{{- if eq .Site .Sites.First -}}
{{- if eq .Site .Sites.Default -}}
{{- warnf "FixIt %v\n%v\n\n" (.Scratch.Get "version") (T "init.devEnvWarn") -}}
{{- end -}}
{{- end -}}
+1 -1
View File
@@ -10,7 +10,7 @@
{{- end -}}
{{- /* FixIt theme version detection */ -}}
{{- if eq .Site .Sites.First -}}
{{- if eq .Site .Sites.Default -}}
{{- if not .Site.Params.version -}}
{{- errorf "FixIt %v\n%v\n\n" $version (T "init.configurationError") -}}
{{- else if gt "0.2.0" (strings.TrimPrefix "v" .Site.Params.version) -}}
-7
View File
@@ -1,10 +1,3 @@
{{- /* Set customFilePath default value */ -}}
{{- $customFilePath := .Site.Params.customFilePath -}}
{{- $customFilePath = dict "aside" ($customFilePath.aside | default "custom/aside.html") | merge $customFilePath -}}
{{- $customFilePath = dict "profile" ($customFilePath.profile | default "custom/profile.html") | merge $customFilePath -}}
{{- $customFilePath = dict "footer" ($customFilePath.footer | default "custom/footer.html") | merge $customFilePath -}}
{{- .Scratch.Set "customFilePath" $customFilePath -}}
{{- /* Set site home relative permalink */ -}}
{{- $homeRelPermalink := .Site.Home.RelPermalink -}}
{{- $homeRelPermalink = strings.TrimSuffix "archives/" $homeRelPermalink -}}
+1 -1
View File
@@ -1,4 +1,4 @@
{{- .Scratch.Set "version" "v0.3.7" -}}
{{- .Scratch.Set "version" "v0.3.9" -}}
{{- .Scratch.Set "this" dict -}}
{{- partial "init/detection-env.html" . -}}
+7
View File
@@ -0,0 +1,7 @@
{{- /* Echarts support for code fences extended and shortcodes. */ -}}
{{- $width := .Options.width | default "100%" -}}
{{- $height := .Options.height | default "30rem" -}}
{{- $attrs := printf `style="width: %v; height: %v;"` $width $height -}}
<div class="echarts" {{ $attrs | safeHTMLAttr }}></div>
<template>{{ .Inner | transform.Unmarshal | jsonify }}</template>
{{- /* EOF */ -}}
+4
View File
@@ -0,0 +1,4 @@
{{- /* Mermaid support for code fences extended and shortcodes. */ -}}
<pre class="mermaid">{{ .Inner | safeHTML }}</pre>
<template>{{ .Inner | safeHTML }}</template>
{{- /* EOF */ -}}
+2 -2
View File
@@ -4,8 +4,8 @@
{{- $title := title .Title -}}
{{- /* 001: Twitter */ -}}
{{- if $share.Twitter -}}
<a href="javascript:void(0);" title="{{ T `shareOn` }} Twitter" data-sharer="twitter" data-url="{{ .Permalink }}" data-title="{{ $title }}"{{ with .Site.Params.Social.Twitter }} data-via="{{ . }}"{{ end }}{{ with .Params.tags }} data-hashtags="{{ delimit . `,` }}"{{ end }}>
{{- dict "Class" "fa-brands fa-twitter fa-fw" | partial "plugin/icon.html" -}}
<a href="javascript:void(0);" title="{{ T `shareOn` }} X" data-sharer="twitter" data-url="{{ .Permalink }}" data-title="{{ $title }}"{{ with .Site.Params.Social.Twitter }} data-via="{{ . }}"{{ end }}{{ with .Params.tags }} data-hashtags="{{ delimit . `,` }}"{{ end }}>
{{- dict "Class" "fa-brands fa-x-twitter fa-fw" | partial "plugin/icon.html" -}}
</a>
{{ end -}}
+61
View File
@@ -0,0 +1,61 @@
{{- /* Timeline support for code fences extended and shortcodes. */ -}}
{{- $reverse := .Options.reverse | default false -}}
{{- $placement := .Options.placement | default "bottom" -}}
{{- $animation := .Options.animation | default false -}}
{{- $size := .Options.size | default "medium" -}}
{{- $node := .Options.node | default "circle" -}}
{{- /* Get Timeline events */ -}}
{{- $events := slice -}}
{{- with .Inner -}}
{{- $events = (. | transform.Unmarshal).events -}}
{{- end -}}
{{- with .Events -}}
{{- $events = . -}}
{{- end -}}
{{- $events = sort $events "timestamp" (cond $reverse "desc" "asc") -}}
{{- /* Set Timeline style */ -}}
{{- $style := "" -}}
{{- with .Options.width -}}
{{- $style = printf "width: %v;" . -}}
{{- end -}}
{{- with .Options.height -}}
{{- $style = add $style (printf "height: %v;" .) -}}
{{- end -}}
{{- with $style -}}
{{- $style = printf `style="%v"` . -}}
{{- end -}}
<ul
class="fi-timeline{{ with .Options.class }} {{ . }}{{ end }}"
{{ $style | safeHTMLAttr }}
{{- with $animation }} data-animation{{- end -}}
>
{{- range $index, $item := $events -}}
{{- $itemStyle := printf "--timeline-index: %v;" (add $index 1) -}}
{{- with $item.color -}}
{{- $itemStyle = add $itemStyle (printf "--timeline-circle-color: %v;" .) -}}
{{- end -}}
{{- $itemStyle = printf `style="%v"` $itemStyle -}}
<li
class="fi-timeline-item"
data-size="{{ $item.size | default $size }}"
data-node="{{ $item.node | default $node }}"
{{ $itemStyle | safeHTMLAttr }}
{{- with $item.type }} data-type="{{ . }}"{{- end -}}
>
{{- if $item.hideTimestamp -}}
<div class="fi-timeline-item__content">{{ $item.content | page.RenderString }}</div>
{{- else if eq ($item.placement | default $placement) "top" -}}
<div class="fi-timeline-item__timestamp is-top">{{ $item.timestamp }}</div>
<div class="fi-timeline-item__content">{{ $item.content | page.RenderString }}</div>
{{- else -}}
<div class="fi-timeline-item__content">{{ $item.content | page.RenderString }}</div>
<div class="fi-timeline-item__timestamp is-bottom">{{ $item.timestamp }}</div>
{{- end -}}
</li>
{{- end -}}
</ul>
{{- /* EOF */ -}}
+2 -2
View File
@@ -1,14 +1,14 @@
{{- /* Collection List */ -}}
{{- $params := partial "function/params.html" -}}
{{- if .Params.collections | and $params.collectionList | and (not $params.password) -}}
{{- if .Params.collections | and $params.collectionList -}}
{{- $collectionTerms := .GetTerms "collections" -}}
{{- range $collectionTerms -}}
{{- $pages := (where .Pages "Params.Weight" "!=" nil) | append (where .Pages "Params.Weight" "eq" nil).ByDate -}}
{{- $open := eq (index $collectionTerms 0) . -}}
{{- $currentKey := 0 -}}
<div class="details collection-details{{ if $open }} open{{ end }}">
<div class="details collection-details{{ with $params.password }} encrypted-hidden{{ end }}{{ if $open }} open{{ end }}">
<div class="details-summary collection-summary">
{{ dict "Class" "fa-solid fa-layer-group fa-fw" | partial "plugin/icon.html" }}
<span class="collection-name" data-collections="{{ T "collections" }}">{{ .LinkTitle }}</span>
+3 -2
View File
@@ -1,7 +1,7 @@
{{- /* Collection Navigation */ -}}
{{- $params := partial "function/params.html" -}}
{{- if .Params.collections | and $params.collectionNavigation | and (not $params.password) -}}
{{- if .Params.collections | and $params.collectionNavigation -}}
{{- $collectionTerms := .GetTerms "collections" -}}
{{- range $collectionTerms -}}
{{- $termLink := printf `<a href="%v">%v <span>%v・%v</span></span></a>`
@@ -10,11 +10,12 @@
(T "collection")
.LinkTitle
-}}
<div class="collection-card">
<div class="collection-card{{ with $params.password }} encrypted-hidden{{ end }}">
<div class="collection-title text-secondary">
{{- dict "Collections" $termLink | T "single.includedIn.collections" | strings.FirstUpper | safeHTML }} {{ .Pages.Len -}}
</div>
<div class="collection-nav">
{{/* TODO JS 实现 reverse 翻转顺序 */}}
{{- $pages := (where .Pages "Params.Weight" "!=" nil) | append (where .Pages "Params.Weight" "eq" nil).ByDate -}}
{{- with $pages.Next $ -}}
<a href="{{ .RelPermalink }}" class="collection-nav-item" rel="prev" title="{{ title .LinkTitle }}">
+3
View File
@@ -194,6 +194,9 @@
{{- with $waline.recaptchaV3Key -}}
{{- $commentConfig = dict "recaptchaV3Key" . | dict "waline" | merge $commentConfig -}}
{{- end -}}
{{- with $waline.turnstileKey -}}
{{- $commentConfig = dict "turnstileKey" . | dict "waline" | merge $commentConfig -}}
{{- end -}}
{{- with $waline.reaction -}}
{{- $commentConfig = dict "reaction" . | dict "waline" | merge $commentConfig -}}
{{- end -}}
+1
View File
@@ -24,6 +24,7 @@
{{- dict "Date" . | T "single.updatedOnDate" -}}&nbsp;
{{- if $gitRepo -}}
{{- with $.GitInfo -}}
{{/* TODO add Git .Body */}}
<a class="git-hash" href="{{ printf `%v/commit/%v` $gitRepo .Hash }}" rel="external nofollow noopener noreferrer" target="_blank" title="commit by {{ .AuthorName }}({{ .AuthorEmail }}) {{ .Hash }}: {{ .Subject }}">
{{- dict "Class" "fa-solid fa-hashtag fa-fw" | partial "plugin/icon.html" -}}
{{- .AbbreviatedHash -}}
+1 -4
View File
@@ -13,9 +13,6 @@
{{- /* Collection List */ -}}
{{- partial "single/collection-list.html" . -}}
{{- /* TODO remove Custom part for aside */ -}}
{{- partial (.Scratch.Get "customFilePath").aside . -}}
{{- /* Custom Aside */ -}}
{{- block "custom-aside" . }}{{ end -}}
</aside>
@@ -167,7 +164,7 @@
{{- /* Content */ -}}
{{- $content := dict "Content" .Content "Ruby" $params.ruby "Fraction" $params.fraction "Fontawesome" $params.fontawesome | partial "function/content.html" | safeHTML -}}
{{- if $params.password -}}
{{- $saltLen := strings.RuneCount (trim $params.password "") -}}
{{- $saltLen := strings.RuneCount (trim $params.password " ") -}}
{{- $saltLen = cond (eq (mod $saltLen 2) 0) (add $saltLen 1) $saltLen -}}
{{- $base64EncodeContent := $content | base64Encode -}}
{{- $content = printf "%v%v%v"
+10 -3
View File
@@ -1,5 +1,12 @@
<details>
<summary>{{ .Get "summary" | default (.Get 0) | .Page.RenderString }}</summary>
{{- $summary := .Get "summary" | default (.Get 0) -}}
{{- $open := .Get "open" | default (.Get 1) | default false -}}
{{- $center := .Get "center" | default (.Get 2) | default false -}}
<details
{{- with $open }} open{{ end -}}
>
<summary
{{- if $center }} class="text-center"{{ end -}}
>{{ $summary | .Page.RenderString }}</summary>
{{ .Inner | .Page.RenderString }}
</details>
{{- /* EOF */ -}}
{{- /* EOF */ -}}
+4 -7
View File
@@ -1,7 +1,4 @@
{{- $content := .Inner | transform.Unmarshal | jsonify -}}
{{- $width := cond .IsNamedParams (.Get "width") (.Get 0) | default "100%" -}}
{{- $height := cond .IsNamedParams (.Get "height") (.Get 1) | default "30rem" -}}
{{- $attrs := printf `style="width: %v; height: %v;"` $width $height -}}
<div class="echarts" {{ $attrs | safeHTMLAttr }}></div>
<template>{{ $content }}</template>
{{- /* EOF */ -}}
{{- $options := .Get "width" | default (.Get 0) | dict "width" -}}
{{- $options = .Get "height" | default (.Get 1) | dict "height" | merge $options -}}
{{- dict "Options" $options "Inner" .Inner | partial "plugin/echarts.html" -}}
{{- .Page.Store.Set "hasEcharts" true -}}
+2 -4
View File
@@ -1,5 +1,3 @@
<pre class="mermaid">
{{- .Inner | safeHTML }}
</pre>
<template>{{- .Inner | safeHTML }}</template>
{{- $options := dict -}}
{{- dict "Options" $options "Inner" .Inner | partial "plugin/mermaid.html" -}}
{{- .Page.Store.Set "hasMermaid" true -}}
+6
View File
@@ -0,0 +1,6 @@
{{- $type := cond .IsNamedParams (.Get "type") (.Get 0) -}}
{{- $id := cond .IsNamedParams (.Get "id") (.Get 1) -}}
{{- $width := cond .IsNamedParams (.Get "width") (.Get 2) -}}
{{- $height := cond .IsNamedParams (.Get "height") (.Get 3) -}}
<iframe src="https://open.spotify.com/embed/{{ $type }}/{{ $id }}" width="{{ default "100%" $width }}" height="{{ default "380" $height }}" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
{{- /* EOF */ -}}
+11
View File
@@ -0,0 +1,11 @@
{{- $options := .Get "reverse" | default (.Get 0) | dict "reverse" -}}
{{- $options = .Get "placement" | default (.Get 1) | dict "placement" | merge $options -}}
{{- $options = .Get "animation" | default (.Get 2) | dict "animation" | merge $options -}}
{{- $options = .Get "size" | default (.Get 3) | dict "size" | merge $options -}}
{{- $options = .Get "node" | default (.Get 4) | dict "node" | merge $options -}}
{{- if .IsNamedParams -}}
{{- $options = .Get "width" | dict "width" | merge $options -}}
{{- $options = .Get "height" | dict "height" | merge $options -}}
{{- $options = .Get "class" | dict "class" | merge $options -}}
{{- end -}}
{{- dict "Options" $options "Inner" .Inner | partial "plugin/timeline.html" -}}
+1 -1
View File
@@ -3,7 +3,7 @@
{{- $type := .Get 1 | default "new" | lower -}}
{{- $label := T (printf "version.%v" $type) -}}
{{- $color := cond (eq $type "changed") "ff9101" "00b1ff" | cond (eq $type "deleted") "ff5252" -}}
{{- $pathTemplate := cond .Site.IsMultiLingual (printf "images/version/%%v-%%v.%v.svg" .Page.Language.Lang) "images/version/%v-%v.svg" -}}
{{- $pathTemplate := cond hugo.IsMultilingual (printf "images/version/%%v-%%v.%v.svg" .Page.Language.Lang) "images/version/%v-%v.svg" -}}
{{- $path := printf $pathTemplate $version $type -}}
{{- $resource := resources.Get "images/version.template.svg" -}}
{{- $resource = $resource | resources.ExecuteAsTemplate $path (dict "version" $version "label" $label "color" $color "isCJK" .Page.Params.IsCJKLanguage) | minify -}}
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "fixit-src",
"version": "0.3.7",
"version": "0.3.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "fixit-src",
"version": "0.3.7",
"version": "0.3.9",
"license": "MIT",
"devDependencies": {
"auto-changelog": "^2.4.0"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "fixit-src",
"version": "0.3.7",
"version": "0.3.9",
"private": true,
"description": "FixIt theme source files",
"keywords": [
+1 -1
View File
@@ -7,7 +7,7 @@ licenselink = "https://github.com/hugo-fixit/FixIt/blob/master/LICENSE"
description = "A Clean, Elegant but Advanced Hugo Theme for Hugo."
homepage = "https://github.com/hugo-fixit/FixIt"
demosite = "https://fixit.lruihao.cn"
min_version = "0.123.0"
min_version = "0.127.0"
tags = [
"blog",