Compare commits

...

471 Commits

Author SHA1 Message Date
Cell c9af0b9018 🔖 Chore(release): 0.3.2 2024-02-23 10:48:02 +08:00
Cell b2b47095eb 🐛 Fix: to create a scratch pad that is not reset on server rebuilds, use the Store method instead of Scratch method (fixes #417) 2024-02-23 10:33:08 +08:00
Cell 002ebda06f 🐛 Fix: remove symbolic links of themes
fixed #419
2024-02-22 11:24:04 +08:00
Cell 551938f0b4 Revert "🐛 Fix: to create a scratch pad that is not reset on server rebuilds, use the Store method instead of Scratch method (fixes #417)"
This reverts commit 9d6ee9feef.
2024-02-21 14:32:05 +08:00
Cell 9d6ee9feef 🐛 Fix: to create a scratch pad that is not reset on server rebuilds, use the Store method instead of Scratch method (fixes #417) 2024-02-21 14:20:25 +08:00
Cell 1bd56105b7 🐛 Fix: remove sizes="auto" prop what was used for lazysizes.js in old FixIt version (resolve #411)
refer to https://github.com/whatwg/html/issues/9448
2024-01-28 23:18:23 +08:00
Cell b7dba0713e 🐛 Fix: fix regular page in post navigation 2024-01-16 16:04:57 +08:00
Cell dd4f422dba 📝 Docs: update contributing file 2024-01-16 15:54:09 +08:00
Cell aaebdfb02c 🙈 Chore: add .gitattributes 2024-01-16 10:22:56 +08:00
Cell 9eb18b9e75 🔖 Chore(release): 0.3.1 2024-01-11 14:40:18 +08:00
Cell 594c89eb1e 🔧 Chore: remove atomic-algolia (#404) 2024-01-11 11:13:35 +08:00
Cell 976d1ea82a 📝 Chore: remove the docs Git submodule and add the demo directory (resolve #404) 2024-01-10 15:40:42 +08:00
Cell b16a06893c 🐛 Fix: comment the theme field in the default theme configuration
Fix the bug that the theme cannot be loaded through hugo modules
2024-01-10 14:05:58 +08:00
Cell 32711ff29c 🐛 Fix: heading style in terms and list page 2024-01-03 11:39:26 +08:00
Cell 38eb829194 Revert: "Chore: replace git submodule with hugo module to load theme components" 2024-01-02 10:29:09 +08:00
Cell 4c9b5b6773 🔧 Chore: update default menus 2024-01-01 19:40:06 +08:00
Cell 8b2dd976e6 🔖 Chore(release): 0.3.0 2024-01-01 14:54:19 +08:00
dependabot[bot] 8789f6eaff chore(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 14:43:25 +08:00
Cell 34021a58a3 Feat: add options to make output readme.md and change options for baidu_urls.txt 2024-01-01 14:16:23 +08:00
Cell 804d1e484d 🚚 Feat: migrate offline page to build-in page
remove offline type and layput
2023-12-31 23:32:44 +08:00
Cell e482fbe36a Chore: optimize .Resources variable acquisition in function resources.html 2023-12-31 00:46:51 +08:00
Cell de5fd0c3f7 🚚 Feat: migarte params.cacheRemoteImages to params.page.cacheRemoteImages (#362) 2023-12-30 23:26:08 +08:00
Cell 07756a8c34 Perf: placed remote image in public/images instead of public/ 2023-12-30 21:56:22 +08:00
Cell ef84231860 🔧 Chore: change QQ group social icon 2023-12-30 21:50:15 +08:00
Cell 0c87728979 🐛 Fix: hidden collection navigation, list and related content from encrypted content 2023-12-30 01:03:00 +08:00
Cell 90032a4471 🐛 Fix: fix collection aside style 2023-12-29 23:06:09 +08:00
Cell 2ebc77797c 🚚 Chore: migrate svg to assets/images folder 2023-12-29 21:40:24 +08:00
Cell 714a656ca8 ♻️ Refactor: refactor site footer and params.footer.powered config 2023-12-29 21:26:10 +08:00
Cell 175a307673 Fix: some minor omissions 2023-12-29 19:28:25 +08:00
Cell 8e3d880557 🌐 Feat: add translations for "archives" keyword (#396) 2023-12-29 16:04:25 +08:00
Cell 9f24e82770 Feat: add archives page template (#397)
*  Feat: add archives page template

* 🎨 Style: add some icon for theme built-in templates

* 🔧 Chore: set site home relative permalink globally

* 🔧 Chore: add archives outputs config
2023-12-29 15:57:01 +08:00
Cell 7e8e2e9431 Feat: add param params.indexWithSubtitle 2023-12-28 16:47:52 +08:00
Cell fbe58346e5 Feat: add params.withSiteTitle and params.titleDelimiter to resolve #395 2023-12-28 15:59:01 +08:00
Cell 7aface4334 🔧 Chore: update default theme config 2023-12-28 14:37:40 +08:00
Cell b9539e9d69 📝 Style: modify web page title separator symbol 2023-12-27 17:42:40 +08:00
Cell 927e6f9946 💄 Style: use em replace with rem for collection list and TOC 2023-12-27 17:00:08 +08:00
Cell da54fef151 Feat: add pin icon in home post list and add repost icon in section .etc. 2023-12-27 16:30:36 +08:00
Cell 0c3148b3ee Perf: optimize posts order in collection list (#359) 2023-12-27 15:10:36 +08:00
Cell 7c7b81f589 💄 Style: modify collection list style 2023-12-27 11:18:48 +08:00
Cell d777b2cfaf Revert: restore page number of collection list simple nav 2023-12-27 10:30:40 +08:00
Cell 928fba19a8 🐛 Fix: set breadcrumb height to 0px if breadcrumb is disabled 2023-12-26 15:14:41 +08:00
Cell 68f4d5fb80 Feat: add params.navigationReverse to reverse the order of the navigation menu 2023-12-26 14:47:07 +08:00
Cell df3aaa7ea3 Perf: modify the sorting method in the collection list like the home page 2023-12-26 14:06:38 +08:00
Cell 4753da9236 Feat: add serial number to the table of contents of the article 2023-12-26 11:28:36 +08:00
Cell e4bc95172c ♻️ Refactor: use Hugo render hooks for heading link rendering 2023-12-25 17:38:04 +08:00
Cell f5a79bac03 📝 Fix: fix typo 2023-12-23 18:14:44 +08:00
Cell 8beeb2dfa5 🔧 Chore: update FixIt embedded archetypes 2023-12-23 16:50:03 +08:00
Cell 9894cf6263 💄 Style: optimize menu icon style 2023-12-22 10:54:33 +08:00
Cell bece9f6fa2 Perf: only show update date when update date not equal publish date 2023-12-22 10:36:39 +08:00
Cell 9f7bce87a7 ♻️ Refactor: migrate params.gitRepo and params.page.edit to params.gitInfo
and add page params: `linkToSource`, `linkToEdit` and `linkToReport`
2023-12-21 16:24:17 +08:00
Cell 6c6a326607 Revert: restore image data-alt to alt 2023-12-20 15:13:45 +08:00
Cell 4342d40158 Feat: add hiddenFromRelated page param and reduce the scope of releated content to posts (#227) 2023-12-20 14:44:05 +08:00
Cell e4367587f1 📝 Docs: update docs and config for related content feature 2023-12-20 10:48:48 +08:00
Cell 2cc276e5f5 🎉 Feat: add related content support 2023-12-20 10:48:22 +08:00
Cell caeb3d443e 💄 Style: update some stylesheet 2023-12-19 17:39:50 +08:00
Cell 4b2ff9e773 🔥 Feat: internalize watermark option appendTo 2023-12-13 17:16:52 +08:00
Cell 95612e33f5 💄 Style: add sticky style for collection aside (#359) 2023-12-13 14:57:07 +08:00
Cell 443abcf784 💄 Style: update collection active item color (#359) 2023-12-13 14:18:43 +08:00
Cell 7b7fba261b 🔍 Feat: enhance search engine accessibility 2023-12-11 17:34:17 +08:00
Cell d02a9977a2 Perf: use .GetTerms optimization for getting terms on a page 2023-12-11 14:19:13 +08:00
Cell 4bfe3962a9 🐛 Fix: unable to get pages from a collection cause of Chinese url (contains spaces) decode error (#359)
By the way fixed collection nav css
2023-12-11 11:42:07 +08:00
Cell 9718a1c5c7 Perf: optimize breadcrumb navigation translation 2023-12-10 12:47:50 +08:00
Cell a846d74e43 📝 Docs: update documentations 2023-12-10 12:34:52 +08:00
Cell c606e8c96e Perf: use .LinkTitle instead of .Title 2023-12-08 19:50:03 +08:00
Cell 307851fc25 Feat: add collection list at the sidebar 2023-12-08 19:48:58 +08:00
Cell 94a1796e63 🐛 Fix: cdn script loading failure 2023-12-08 00:55:17 +08:00
Cell c783ced12f Feat: add collection navigation support at the end of the article 2023-12-08 00:13:45 +08:00
Cell 5d16e1ac0f Feat: add collection info at post meta 2023-12-06 21:00:27 +08:00
Cell c7a03ea847 🎉 Feat: add taxonomy collections 2023-12-06 11:26:08 +08:00
Cell 8ccf57862c 📝 Docs: fix typo 2023-12-06 10:07:00 +08:00
Cell 86f4630f0b Perf: optimize categories and tags template lookup order 2023-12-05 19:06:39 +08:00
Cell 8416b6f757 🔥 Docs: remove CHANGELOG.md
replace of https://github.com/hugo-fixit/FixIt/releases
2023-12-05 14:14:26 +08:00
Cell 30dbc469bd 🚚 Feat: the type: offline in front matter is deprecated. use layout: offline instead 2023-12-05 11:19:13 +08:00
Cell 1cfabbe8bc 🚚 Feat: the type: friends in front matter is deprecated. use layout: friends instead 2023-12-05 11:18:36 +08:00
Cell d4d2a95f98 Merge branch 'v0' into v1
* v0:
  🔧 Chore: update default hugo.toml
  🚨 Fix: the author key in site configuration is deprecated. Use params.author instead
  📝 Docs: add post "Tips about algolia"
  ⬆️ Chore: bump babel and core-js
2023-12-05 10:12:18 +08:00
Cell b5208b3f4b 🔧 Chore: update default hugo.toml 2023-12-01 17:20:12 +08:00
Cell fb16d9e1a2 🚨 Fix: the author key in site configuration is deprecated. Use params.author instead 2023-12-01 15:30:54 +08:00
Cell dc288de30f 📝 Docs: add post "Tips about algolia" 2023-12-01 14:48:26 +08:00
Cell e953d16f1c ⬆️ Chore: bump babel and core-js
close #383
close #384
close #385
close #386
2023-12-01 10:04:56 +08:00
Cell a8e815aaa0 📄 Docs: add Security Policy 2023-12-01 00:56:39 +08:00
Cell 7991f97e7a 📝 Docs: update docs 2023-12-01 00:28:18 +08:00
Cell 65875dec78 Merge branch 'v0.2.18-lts' into 1.0.0
* v0.2.18-lts: (22 commits)
  🔖 Chore(release): 0.2.18-lts.5
  📝 Docs: update chang log and docs
  🔧 Chore: change the theme minimum supported Hugo versions above **0.110.0**
  🔧 Chore: update default config in `hugo.toml`
  🐛 Fix: active index of toc may result in error
   Feat: add hiddenFromRss param and front matter
   Perf: preload some stylesheet
  🔧 Chore: add Vercel config (#277)
  🐛 Fix: fix logic error of  lightgallery images rendering
  📝 Docs: update the outputs configuration to avoid the following warnings in versions above Hugo 0.112.0 (resolve #354)
  📝 Docs: update content license
  🐛 Style: fix the emoji style of valine comment (resolve #376)
   Perf: optimize featured image rendering
  🔧 Chore: add decoding and referrerpolicy options for img plugin
  🚸 Feat: change bilibili shortcode `muted` default value
  🔖 Chore(release): 0.2.18-lts.4
  📝 Docs: update change log for v0
   Feat: add more options support for bilibili shortcode, e.g. `autoplay`, `muted` etc. (resolve #375)
  🐛 Fix: disable encrypted articles from rendering to rss (fixed #374)
  🐛 Fix: fix featured image path error in rss and show img tags in rss
  ...
2023-11-29 15:55:17 +08:00
Cell 8aa3cf96a9 🔖 Chore(release): 0.2.18-lts.5 2023-11-26 14:41:24 +08:00
Cell ac39b35cd5 📝 Docs: update chang log and docs 2023-11-26 14:38:15 +08:00
Cell dba2e38ac8 🔧 Chore: change the theme minimum supported Hugo versions above **0.110.0** 2023-11-26 13:26:14 +08:00
Cell 9e3a440909 🔧 Chore: update default config in hugo.toml 2023-11-26 13:20:48 +08:00
Cell 8cfd7d30a4 🐛 Fix: active index of toc may result in error
fix #305
2023-11-26 11:21:29 +08:00
Cell 6f16b3ffe1 Feat: add hiddenFromRss param and front matter 2023-11-22 15:09:45 +08:00
Cell a1833aaf41 Perf: preload some stylesheet 2023-11-20 18:00:04 +08:00
Cell 2d0887173e 🔧 Chore: add Vercel config (#277) 2023-11-17 16:31:12 +08:00
Cell 17070d6fba 🐛 Fix: fix logic error of lightgallery images rendering 2023-11-16 16:32:17 +08:00
Cell e3c69a6b13 📝 Docs: update the outputs configuration to avoid the following warnings in versions above Hugo 0.112.0 (resolve #354)
`DEPRECATED: Kind "taxonomyterm" used in outputs configuration is deprecated, use "taxonomy" instead.`
2023-11-12 12:53:45 +08:00
Cell 5e9f24e3d3 📝 Docs: update content license 2023-11-11 12:16:50 +08:00
Cell 1761aa17b9 🐛 Style: fix the emoji style of valine comment (resolve #376) 2023-11-07 14:40:13 +08:00
Cell fdc501904c Perf: optimize featured image rendering 2023-11-07 11:24:22 +08:00
Cell 9ec83753d3 🔧 Chore: add decoding and referrerpolicy options for img plugin 2023-11-07 11:19:10 +08:00
Cell 1121c9df57 🚸 Feat: change bilibili shortcode muted default value 2023-11-07 10:06:38 +08:00
Cell 95c8113d62 🔖 Chore(release): 0.2.18-lts.4 2023-11-06 17:58:41 +08:00
Cell 6fe37cef59 📝 Docs: update change log for v0 2023-11-06 17:58:19 +08:00
Cell 4e29d5e5ca Feat: add more options support for bilibili shortcode, e.g. autoplay, muted etc. (resolve #375) 2023-11-06 17:56:44 +08:00
Cell 02dda642ea 🐛 Fix: disable encrypted articles from rendering to rss (fixed #374) 2023-11-06 15:42:35 +08:00
Cell c2bb7e0f80 🐛 Fix: fix featured image path error in rss and show img tags in rss
Some RSS parsers may incorrectly parse relative image addresses

Close #373
2023-11-06 12:34:21 +08:00
Cell 4fb9711fa6 🐛 Fix: add a option "Responsive" for plugin image fixed #369 2023-11-04 23:59:00 +08:00
Cell 6682d38af2 Perf: optimize lightgallery images rendering 2023-11-03 21:29:59 +08:00
Cell eaa1fea5dc Merge branch 'master' into 1.0.0 2023-11-03 17:10:34 +08:00
Cell 81f6d68f0a 🔖 Chore(release): 0.2.18-lts.3 2023-11-03 15:39:55 +08:00
Cell a9678bf73c 🐛 Fix: small and large src errors of images 2023-11-03 15:39:43 +08:00
Cell c4a1b10e6a 📝 Docs: update change log 2023-11-03 15:05:39 +08:00
dependabot[bot] fa952dfac7 chore(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 14:57:43 +08:00
Cell 089fce6a1c ⬆️ Chore(deps-dev): bump core-js from 3.33.1 to 3.33.2
Closes #367
2023-11-03 14:55:16 +08:00
Cell bdad5f7758 📝 Docs: update README and docs 2023-11-03 14:47:05 +08:00
Cell d484414e20 🐛 Fix: fix toc active error when breadcrumb is enabled and set sticky to true (Fixed #368) 2023-11-03 12:36:56 +08:00
Cell d22d261e69 Perf: optimize plugin image 2023-11-02 18:15:14 +08:00
Cell 0de8e5053f Perf: optimize function get-remote-image 2023-11-02 17:37:24 +08:00
Cell ecb0d964ad Perf: optimize function suffix-validation 2023-11-02 17:35:59 +08:00
Cell c4606930ff 🐛 Fix: anchor jump exception caused by lazy loading of responsive images (#348) 2023-11-01 17:48:48 +08:00
Cell a631096b29 Feat: add options to cache remote image locally (#362 Fixes #348) 2023-10-26 16:51:40 +08:00
Cell b9fe4cc207 🐛 Fix: fix path errors in image src and 1.5x srcset (#346) 2023-10-24 17:14:07 +08:00
Cell aae1380688 🔖 Chore(release): 0.2.18-lts.2 2023-10-24 12:29:13 +08:00
Cell 223a42e3b7 📝 Docs: update CHANGELOG.md 2023-10-24 12:15:32 +08:00
Cell c4519a9194 📝 Docs: update VERSION file 2023-10-24 12:15:32 +08:00
Cell 98bf58d9bc ⬆️ Chore(libs): update simple-icons from 7.12.0 to 9.19.0 2023-10-24 12:15:32 +08:00
Cell 4d223bdc29 ⬆️ Chore(libs): update Waline from 2.14.7 to 2.15.8 2023-10-24 12:15:32 +08:00
Cell b3b9e358fd ⬆️ Chore(libs): update eruda from 2.5.0 to 3.0.1 2023-10-24 12:15:32 +08:00
Cell 9f1773b6c7 ⬆️ Chore(libs): update vConsole from 3.14.6 to 3.15.1 2023-10-24 12:15:32 +08:00
Cell 1f412dc12d ⬆️ Chore(libs): update Twikoo from 1.6.8 to 1.6.22 2023-10-24 12:15:32 +08:00
Cell e11caf7a59 🔥 Feat: removed Renren, Digg and StumbleUpon in sharer.js 0.5.0 2023-10-24 12:15:32 +08:00
Cell 496b60cff1 ⬆️ Chore(libs): update lightgallery from 2.6.1 to 2.7.2 2023-10-24 12:15:32 +08:00
Cell b4741cc1a3 ⬆️ Chore(libs): update katex from 0.16.2 to 0.16.9 2023-10-24 12:15:32 +08:00
Cell b58fddda9c ⬆️ Chore(libs): update instant.page from 5.1.1 to 5.2.0 2023-10-24 12:15:32 +08:00
Cell 5c043e2c0f ⬆️ Chore(libs): update fontawesome-free from 6.2.0 to 6.4.2 2023-10-24 12:15:32 +08:00
Cell 98c5a1ad54 ⬆️ Chore(libs): update Artalk from 2.5.2 to 2.6.4
Artalk v2.5.5 has deprecated the gravatar.default configuration item, please use gravatar.params instead. (ArtalkJS/Artalk#508)

TODO: support pagination and heightLimit config for Artalk in next FixIt version
2023-10-24 12:15:32 +08:00
Cell 23626dd604 ⬆️ Chore(libs): update algoliasearch from 4.14.2 to 4.20.0 2023-10-24 12:15:32 +08:00
Cell deed146884 ⬆️ Chore(deps-dev): update and pin all development dependency versions
Close #339 #340 #341 #342
2023-10-24 12:15:32 +08:00
Cell 9b47648aa5 Feat: change post nav rule at post footer
replace .PrevInSection/.NextInSection with .Prev/.Next
2023-10-12 20:15:19 +08:00
Cell a25331bca3 🐛 Fix: total word count error in section
(cherry picked from commit 8bb2a35dcc)
2023-10-10 15:09:53 +08:00
Cell 8bb2a35dcc 🐛 Fix: total word count error in section 2023-10-10 15:08:32 +08:00
Cell 608693c962 💄 Style: update footnote and footnote-ref style 2023-10-09 18:07:46 +08:00
Cell 5df739e5dc 💄 Style: update define list style 2023-10-09 18:05:49 +08:00
Cell 8611f00cf4 💄 Style: update footnote and footnote-ref style 2023-10-09 18:00:26 +08:00
Cell 7fa16bbf66 💄 Style: update define list style 2023-10-09 12:27:07 +08:00
Cell 88ec3aad5b 📝 Docs: update docs and version 2023-09-16 21:30:20 +08:00
github-actions[bot] aff8b7f2c9 👥 Chore(contributor): contrib-readme-action has updated contributors.md 2023-09-03 12:50:44 +08:00
Stefano Ginobili 2956b9927c 🐛 Fix: use dateFormat function to render localized dates
Co-authored-by: Stefano Ginobili <stefano.ginobili@gmail.com>
Co-authored-by: Cell <1024@lruihao.cn>
(cherry picked from commit 78416fa920)
2023-09-03 12:50:43 +08:00
Stefano Ginobili 78416fa920 🐛 Fix: use dateFormat function to render localized dates
Co-authored-by: Stefano Ginobili <stefano.ginobili@gmail.com>
Co-authored-by: Cell <1024@lruihao.cn>
2023-09-03 12:44:50 +08:00
Cell 3443e0745b 📝 Docs: update docs 2023-07-30 16:18:45 +08:00
Cell 1b359b7f14 Feat: add code block attributes support (#330)
(cherry picked from commit 6df8f283f2)
2023-06-19 11:32:10 +08:00
Cell 6df8f283f2 Feat: add code block attributes support (#330) 2023-06-11 18:43:08 +08:00
Cell 38043616ef 🔥 Feat: remove lunr search engine 2023-04-28 15:17:11 +08:00
Cell d7a25beafa Chore: remove @babel/* and core-js 2023-04-10 10:15:56 +08:00
Cell d64a6210f2 ♻️ Refactor: process theme.js with ESBuild
https://gohugo.io/hugo-pipes/js/
2023-03-31 22:44:40 +08:00
Cell ff95cfaed7 🔖 Chore(release): 0.2.18 2023-03-31 22:36:18 +08:00
Cell 80ae5003f7 🔧 Chore: add auto update version script 2023-03-31 22:35:54 +08:00
Cell 566c2238a2 🔧 Chore(deps-dev): devDependencies
@babel/cli          ^7.20.7  →  ^7.21.0         closes #295
@babel/core        ^7.20.12  →  ^7.21.4     closes #296
@babel/preset-env   ^7.20.2  →  ^7.21.4
core-js             ^3.27.2  →  ^3.29.1            closes #297
2023-03-31 21:56:13 +08:00
Cell db6335cee3 ⬆️ Chore(libs): update Artalk from 2.3.4 to 2.5.2 2023-03-31 21:43:04 +08:00
Cell 1cc75302f1 🎨 Style: unify code style 2023-03-29 13:51:40 +08:00
Cell 901f47bac9 Perf: switch mermaid theme before print 2023-03-29 13:50:16 +08:00
Cell d4e1a2392f 🎨 Style: add mermaid enhance style 2023-03-26 23:50:22 +08:00
Cell 60e9d6f0b9 📝 Docs: fix typo and update author config docs 2023-03-26 19:58:52 +08:00
Cell f2b0bd5aca 🎨 Style: optimize box-shadow style in dark mode 2023-03-26 00:04:32 +08:00
Cell 0ac4c06d66 ♻️ Refactor(reward): add parameter mode for post reward and refactor shortcode reward 2023-03-26 00:03:35 +08:00
Cell 869b4f5798 🐛 Fix: add author data patch (#288) 2023-03-25 20:21:29 +08:00
Cell 68849f644f 🎨 Style: systematically control z-index value 2023-03-25 11:24:53 +08:00
Cell 0f5e60274a 🎉 Feat: add breadcrumb navigation (#309)
⬆️ Required Hugo versions above 0.109.0
2023-03-24 17:02:38 +08:00
Cell 913b79b30a ⬆️ Chore(libs): update mermaid from 9.1.7 to 9.4.3 2023-03-22 17:50:02 +08:00
Cell 6e3f3200e2 🎉 Feat: add natively support mermaid with code fences (#230)
Closes #116
Closes #230
2023-03-22 14:54:50 +08:00
Cell 11422bfcd2 Perf: optimize giscus initialization 2023-03-20 12:38:36 +08:00
Cell bc6d8f47c2 Feat: add paramater strict for giscus comment 2023-03-20 10:47:10 +08:00
Cell 40cb2e412a 🔧 Chore: update repo checkout config in GitHub worlkflows 2023-03-19 16:20:18 +08:00
Cell 0ace5e2aad 🔧 Chore: update documentation submodule 2023-03-19 16:07:21 +08:00
Cell eef8efde25 🔧 Chore: update sponsor config 2023-03-18 11:54:57 +08:00
Cell 2fdb240b2c 🎨 Style: adjust some styles of mobile header 2023-03-17 15:03:38 +08:00
Cell cd12da45b4 🐛 Fix: HackTheBox social link not in the right format (#308)
Closes #308
2023-03-17 10:35:43 +08:00
Cell cbcb9c53cb ♻️ Refactor: language switch in desktop header (#306) 2023-03-13 14:21:31 +08:00
Cell 06250ca531 🐛 Fix: crypto-js/sha256.js cdn path error 2023-03-12 12:54:08 +08:00
Cell cb7ea11a81 🐛 Fix: crypto-js/md5.min.js cdn path error 2023-03-12 12:48:41 +08:00
Cell 46e107b507 🐛 Fix: version v0.2.17 is not compatible with previous versions 2023-03-12 12:25:01 +08:00
Cell d90b51c02d 🎨 Perf: optimize the scroll bar style of body and toc-auto elements 2023-03-11 14:46:01 +08:00
Cell 6abad2937e Feat: add post update date to post meta (#285)
Closes #285
2023-03-11 12:20:18 +08:00
Cell a7bb6cf835 🎨 Style: adjust the mobile header style and fix the bug that scrolling is invalid when there are too many menus on mobile (#289)
Closes #289
2023-03-11 11:39:21 +08:00
Cell d441e8487e 🐛 Fix: resolve style conflicts between valine and animate.css (#304) 2023-03-10 17:49:45 +08:00
Cell 7376238567 🎨 Style: optimize transform compatibility 2023-03-10 17:46:40 +08:00
Cell 433c631110 Feat: add loop paramter for typeit and update typeit from 8.7.0 to 8.7.1 2023-03-09 13:08:18 +08:00
Cell 9ca9a6e284 📝 Docs: update "Getting Started" and "Advanced Usage" documentation 2023-03-04 15:24:57 +08:00
Cell 914f02643e 🐛 Fix: get author name error in seo.html (#288) 2023-03-03 16:23:15 +08:00
Cell 0b5e40e2bf 🐛 Fix: APlayer invades the click event of the anchor links, resulting in invalid Chinese anchor links scrolling (#292) 2023-03-03 15:06:30 +08:00
Cell 4e20b85420 Perf: use dataset instead of getAttribute to get/set custom attributes 2023-03-03 14:23:26 +08:00
Cell 19396e7e5f 🐛 Fix: toc fails when the toc aside is on the left 2023-03-03 12:43:16 +08:00
Cell 089e96f6fa ✏️ Docs: update docs links 2023-03-03 11:42:47 +08:00
Cell 88ee7146d5 📝 Docs: update theme docs 2023-02-27 13:46:00 +08:00
Cell e685b2d33e 🐛 Fix: js.build is executed after fingerprint, resulting in the destruction of js integrity 2023-02-27 10:51:50 +08:00
Cell c4cedfe6c1 🐛 Fix: cdn lib link error in unpkg.yml 2023-02-27 10:18:29 +08:00
Cell 2a25978ee6 📝 Docs: update friend links data 2023-02-26 12:19:52 +08:00
Cell afc79a1809 📝 Docs: update documentation links in README 2023-02-26 11:36:56 +08:00
Cell 9ed873a0dd 🔧 Chore: add giscus origin config 2023-02-26 11:23:44 +08:00
Cell 9b8c94761e ♻️ Refactor: theme documentation
Closes #290
2023-02-26 01:27:31 +08:00
Cell 04b9cceed9 🔧 Chore: change default value for theme config.toml 2023-02-22 10:37:33 +08:00
Cell 8dceb3ea6e 📝 Docs: update theme documentation link 2023-02-19 16:50:55 +08:00
Cell a98fa072fd 🐛 Style: fix version image height and twemoji display 2023-02-18 00:57:41 +08:00
Cell 541bad62ae 🐛 Fix: KaTeX data patch error 2023-02-17 21:45:31 +08:00
Cell 1f40755ce1 🎨 Style: format archetypes 2023-02-17 21:35:20 +08:00
Cell 25eebf642f 🐛 Fix: missing parameter requiredFields for Valine 2023-02-16 17:47:23 +08:00
Cell 7ff750ab0a ♻️ Refactor: author's avatar of post or profile (#288)
1. `params.profile.gravatarEmail` only takes effect when `params.gravatar.enable=true`
2. Adjust frontmatter: `author` data type from string to **map**
3. Remove frontmatter: `gravatarForce`, `authorLink`, `authorEmail`
4. Add frontmatter: `authorAvatar`
5. Add `params.gravatar.enable`
2023-02-16 17:07:01 +08:00
Cell 22149b2082 📝 Docs: update author's link 2023-02-13 10:33:09 +08:00
Cell 703349de9d Perf: optimze image lazy loading 2023-02-12 01:14:38 +08:00
Cell af282b0935 Perf: optimize image plugin 2023-02-11 18:24:06 +08:00
Cell 81bc55c46f 🐛 Fix: image plugin 2023-02-10 19:57:20 +08:00
Cell 934c57cdff ♻️ Refactor: image lazy loading
Fixes #283
2023-02-10 17:40:01 +08:00
Cell 3195fc5d62 🎨 Style: fix #comments css style conflict (#269)
Closes #269
2023-02-10 10:42:17 +08:00
Cell 56bc897f36 🔧 Chore: remove redundant parameter in npm script 2023-02-10 10:32:00 +08:00
github-actions[bot] b9b2c40103 👥 Chore(contributor): contrib-readme-action has updated contributors.md 2023-02-09 13:57:41 +08:00
Mathieu GILLOOTS d45a13e939 fix: discordinvite typo
Closes #282
2023-02-09 13:57:19 +08:00
Cell 264bb76b53 📝 Docs: update the way using Hugo Module to load the theme 2023-02-09 11:38:14 +08:00
Cell 3687dd17fb 📝 Docs: update README 2023-02-09 10:36:05 +08:00
Cell 9d527f0e2e 📝 Style: update config note 2023-02-09 09:57:10 +08:00
Cell 14fc25888c ✏️ Docs: fix typo 2023-02-08 12:20:38 +08:00
Cell a951ccfea8 📝 Docs: update docs submodule 2023-02-07 11:36:26 +08:00
Cell 78c53f0aca Feat: add force option value to params.page.lightgallery 2023-02-06 13:00:40 +08:00
Cell ddc33ec1da 🔧 Chore: change the theme minimum supported Hugo versions above **0.89.0** 2023-02-04 14:50:45 +08:00
Cell 595bdd908b Chore: update npm script server and change FixIt RC version 2023-02-03 16:45:38 +08:00
Cell de4ff5d8d7 📝 Docs: update changelog and theme documentation 2023-02-01 15:01:47 +08:00
Mejituu 866203a4ce Feat: add some new features and bug fixes (#279)
*  Feat: add instant page

* 🐛 Fix: donate images without lazy loading

* 🔧 Chore: update waline plugin version
2023-02-01 15:00:36 +08:00
Cell 15841f0b90 🔖 Chore(release): 0.2.17 2023-01-29 19:38:52 +08:00
github-actions[bot] 78de1a3df6 👥 Chore(contributor): contrib-readme-action has updated contributors.md 2023-01-29 19:08:05 +08:00
Mejituu 9dcd26b9b1 🐛 Fix: sitemap.xml link in robots.txt doesn't point to main sitemap (#276) 2023-01-29 19:07:47 +08:00
dependabot[bot] 3ae9eb7b98 chore(deps-dev): bump @babel/core from 7.19.6 to 7.20.12
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.19.6 to 7.20.12.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.12/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-29 13:30:42 +08:00
dependabot[bot] fb69b972c8 chore(deps): bump json5 from 2.2.1 to 2.2.3
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-29 13:29:31 +08:00
dependabot[bot] de34bfa144 chore(deps-dev): bump @babel/cli from 7.19.3 to 7.20.7
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.19.3 to 7.20.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.7/packages/babel-cli)

---
updated-dependencies:
- dependency-name: "@babel/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-29 13:28:08 +08:00
dependabot[bot] 7e03845cad chore(deps-dev): bump @babel/preset-env from 7.19.4 to 7.20.2
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.4 to 7.20.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.2/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-29 13:25:40 +08:00
dependabot[bot] be56be1cd6 chore(deps-dev): bump core-js from 3.26.0 to 3.27.2
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.26.0 to 3.27.2.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.27.2/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-29 12:45:07 +08:00
dependabot[bot] 7fa59dba79 chore(deps): bump actions/checkout from 2 to 3 (#273)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-29 12:26:15 +08:00
dependabot[bot] d61f060f9a chore(deps): bump wow-actions/auto-assign from 1 to 3 (#272)
Bumps [wow-actions/auto-assign](https://github.com/wow-actions/auto-assign) from 1 to 3.
- [Release notes](https://github.com/wow-actions/auto-assign/releases)
- [Changelog](https://github.com/wow-actions/auto-assign/blob/master/CHANGELOG.md)
- [Commits](https://github.com/wow-actions/auto-assign/compare/v1...v3)

---
updated-dependencies:
- dependency-name: wow-actions/auto-assign
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-29 12:25:54 +08:00
Cell f99344d024 📝 Docs: update docs submodule 2023-01-29 12:21:26 +08:00
Cell 973a2962c0 🔧 Chore: enable dependabot to update "github-actions" and "gitsubmodule" package ecosystem 2023-01-29 11:46:18 +08:00
Cell 9bfce6cbe6 📝 Docs: update README and docs submodule
Closes hugo-fixit/docs#4
2023-01-21 17:18:27 +08:00
n0tr00t c3b30118c9 📝 Docs: add TikTok social link (#264) (#267) 2023-01-10 19:49:57 +08:00
n0tr00teuorg fe1b070137 📝 Docs: add douyin social link (#264) 2023-01-10 18:51:09 +08:00
Cell bb00e33e2e 🔧 Chore: update config.toml and docs submodule 2023-01-08 13:11:29 +08:00
Cell f0d54fe6d5 Perf: remove redundant judgement 2023-01-07 13:05:53 +08:00
Cell b974fa56df ⬆️ Chore(libs): update Twikoo from 1.4.10 to 1.6.8 and add Katex support for it (#215 #243)
Closes #215
Closes #243
2023-01-07 12:56:18 +08:00
Cell bd785eb608 🐛 Fix(i18n): fix admonition translation error 2023-01-04 16:21:00 +08:00
Cell dc9956c807 🐛 Fix(pace): patch pace theme flat-top z-index error 2023-01-04 13:04:32 +08:00
Cell f57088b47a 🔥 Docs: remove non-FixIt sites 2023-01-03 17:19:43 +08:00
Cell 7042673dfe 📄 Docs: update Copyright year 2023-01-03 15:18:39 +08:00
Cell 3a888c41c4 🐛 Fix: can not disable params.footer.siteTime 2023-01-03 15:07:40 +08:00
Cell 48dc34cf11 ♻️ Refactor(i18n): hierarchize translation fields for supported languages 2023-01-02 13:31:27 +08:00
Cell 8d6e5277f9 🎨 Style: format toml files in folder i18n 2022-12-27 14:25:54 +08:00
Cell 0a67c51495 🚚 Feat: merge parameter footer.custom to custom file 2022-12-26 11:38:01 +08:00
Cell cb3f77f064 Feat: add [pace](https://github.com/CodeByZach/pace) support (#190) 2022-12-22 22:53:35 +08:00
Cell 238ec7ac33 🐛 Fix: pangu.js cdn error 2022-12-22 22:17:32 +08:00
Cell 7e2ae88187 Feat: add parameter params.footer.order to order footer lines 2022-12-18 23:13:27 +08:00
Cell aca8809ea5 Feat: refactor parameter params.footer.siteTime 2022-12-18 16:57:12 +08:00
Cell fc30159f47 Perf: enhance pangu spelling correction 2022-12-18 14:49:51 +08:00
Cell e3e152b2d0 🎉 Feat: add support for [Fusejs search](https://fusejs.io/) (#203) 2022-12-03 18:43:22 +08:00
Cell 5467baf56b Perf: optimize theme version detection 2022-12-02 10:24:57 +08:00
Cell 712b04fd4e 📝 Docs: update docs 2022-11-30 21:13:57 +08:00
Cell 269f376915 📝 Docs: update changelog 2022-11-22 10:15:39 +08:00
Jean-Emmanuel BAILLAT 0d1d45cdc5 Fix missing breakline 2022-11-22 08:18:03 +08:00
kapusch 6c17548d27 Add missing translations for French + enhancements 2022-11-22 08:18:03 +08:00
Cell ffb3888414 Perf: optimize code 2022-11-20 18:47:42 +08:00
Cell d31215044d 🐛 Fix: escape CJK character in tag and category (#245, #246) 2022-11-19 21:58:27 +08:00
Cell 203de93723 📝 Docs: update about page 2022-11-18 15:36:22 +08:00
Cell ac1cf9b252 📝 Docs: update documentation 2022-11-18 15:33:10 +08:00
Cell 908cb6946b 🐛 Fix: escape hashtag character # in tag and category (#245) 2022-11-18 12:58:02 +08:00
Cell 88ec9f6e8a 🐛 Fix: can't keep the static table of the contents in front of the post 2022-11-17 14:40:38 +08:00
Cell 6c25237a90 🐛 Style: fix css error 2022-11-16 17:39:05 +08:00
Cell 9a189af954 Perf: simplify post nav code 2022-11-14 14:12:36 +08:00
Cell ad93d92043 💄 Style: refactor css style 2022-11-14 12:26:42 +08:00
Cell b56d0a4e77 🚚 Feat: move assets/data/emoji to assets/lib/valine/emoji/ 2022-11-14 10:33:53 +08:00
Cell 4f767ebcb0 📝 Docs: fix typo 2022-11-09 16:11:16 +08:00
Cell 531b2b99d9 📝 Docs: update README 2022-11-08 15:21:21 +08:00
Cell c94db763bc 📝 Docs: update docs 2022-11-08 11:29:51 +08:00
Cell c1e51653da 🔥 Feat: remove example data file 2022-11-08 11:19:01 +08:00
github-actions[bot] 52f8caa1cd 👥 Chore(contributor): contrib-readme-action has updated contributors.md 2022-11-08 11:06:20 +08:00
WakeHuang 0174749857 add a FixIt demo site 2022-11-08 11:06:09 +08:00
Cell 856475640b 📝 Docs: update friends data 2022-11-08 11:05:23 +08:00
Cell 1b8daf3ca9 📝 Docs: update readme 2022-11-07 15:48:28 +08:00
Cell 561dd0ab3a 📝 Docs: update friends data 2022-11-07 15:43:42 +08:00
github-actions[bot] c6d0b13e11 👥 Chore(contributor): contrib-readme-action has updated contributors.md 2022-11-07 14:57:41 +08:00
niku 16af91dad2 add my site 2022-11-07 14:57:26 +08:00
Cell 37666132fb Perf: hide post count of tag when tagcloud is enabled 2022-11-06 03:15:28 +08:00
Cell d7edd8aab7 ✏️ Docs: fix typo 2022-11-05 04:17:53 +08:00
Cell 79f474b5b0 💄 Style:optimize tag cloud style (#235) 2022-11-05 03:55:46 +08:00
Cell 6df88b0283 Feat: add TagCloud config support for tags page, see parameter params.tagcloud (#235) 2022-11-05 03:44:21 +08:00
Cell 13f825b7c2 Feat: add parameter params.home.profile.avatarMenu 2022-11-04 22:37:31 +08:00
Cell c56b7d3d33 Feat: add custom templates and parameter params.customFilePath support 2022-11-04 15:15:39 +08:00
Cell f3ce0fd165 Perf: optimize sub menu position calculation in desktop header with css replace of javascript 2022-11-04 12:35:23 +08:00
Cell de823d47da 💄 Style: update home page stylesheet 2022-11-04 11:06:50 +08:00
Cell adb4a2bf3b 📝 Docs: update changelog 2022-11-02 11:33:55 +08:00
Cell f0062e5b4f Merge branch 'master' into dev 2022-11-02 11:30:28 +08:00
Cell a71ae78bf0 🔧 Chore(deps-dev):
- Bump @babel/cli from 7.18.10 to 7.19.3
  - Bump @babel/core from 7.19.1 to 7.19.6
  - Bump @babel/preset-env from 7.18.10 to 7.19.4
  - Bump core-js from 3.25.2 to 3.26.0

Closes #212
Closes #237
Closes #238
Closes #239
2022-11-02 11:26:03 +08:00
Cell ead88c34c6 ✏️ Docs: update docs 2022-10-28 22:27:46 +08:00
Cell 256c324bff Feat: add reward shortcode support (#216) 2022-10-28 22:07:31 +08:00
Cell 41050ee3db Feat: add feature end of post flag support (#236) 2022-10-28 16:52:18 +08:00
Cell 848704ee9f 🎨 Style: delete debug code 2022-10-28 16:06:53 +08:00
Cell 392c74934a Perf: optimize toc margin bottom calculation 2022-10-28 15:55:03 +08:00
Cell e736b89253 Feat(post-reward): add param position (#216)
💄 Style: update post footer, post reward and comments styles
2022-10-28 14:24:56 +08:00
Cell d7eb199407 Perf: add custom css variable --animation-reward (#216) 2022-10-28 09:59:13 +08:00
Cell c641344213 🐛 Fix(post-reward): invalid in Safari browser (#216) 2022-10-27 17:51:20 +08:00
Cell ffbdc5ba98 Feat: add feature post reward support (#216) 2022-10-27 17:06:49 +08:00
Cell 54650f62db 🔧 Chore: update contributors.yml 2022-10-21 11:30:23 +08:00
Cell c986050177 📝 Docs: update documentation and changelog 2022-10-21 11:13:19 +08:00
Cell 3a61933b80 Merge branch 'master' into dev 2022-10-21 11:06:22 +08:00
Cell 4e4f0fbdfb docs(contributor): contrib-readme-action has updated readme 2022-10-21 11:00:18 +08:00
Nico Rügheimer d893bac297 Bump fontawesome to 6.2.0 2022-10-20 01:21:57 +02:00
Cell b1adac1ab1 Perf: optimize close comment feature when the post has expired (#204) 2022-10-14 17:11:19 +08:00
Cell f6f905517c Feat: add params to close wordcount and readingTime in post (#209) 2022-10-11 17:56:01 +08:00
Cell 49866cbc49 🐛 Fix: image shortcode/plugin lose the support for svg type files (#210) 2022-10-11 14:55:52 +08:00
Cell 268bed75ad 🐛 Fix: logo image width error
image from assets
2022-10-06 23:08:47 +08:00
Cell eee891a00e 🚚 Feat: migrate parameter params.autoBookmark to params.page.autoBookmark (#55) 2022-10-05 20:15:04 +08:00
Cell 5efebec3ae 🐛 Fix: remove the leading and trailing whitespace of the code string (#205) 2022-10-05 19:35:22 +08:00
Cell 667d9c9b61 📝 Docs: add dev branch 2022-10-01 14:30:06 +08:00
Cell a0eca23c10 📝 Docs: add command to update theme to dev 2022-10-01 13:45:49 +08:00
Cell 12cd2847f0 🔧 Chore: to fix HttpError: Resource not accessible by integration 2022-10-01 10:03:48 +08:00
Cell 7ebb1d9fa2 📝 Docs: add a FixIt demo site
- https://github.com/hugo-fixit/hugo-fixit-blog-git
- https://github.com/hugo-fixit/hugo-fixit-blog-go
2022-09-30 17:56:32 +08:00
Cell 768dc8aad6 📝 Docs: update clone command 2022-09-30 15:46:43 +08:00
Cell dc8b3d6a25 📝 Docs: update default base menu config 2022-09-30 11:07:11 +08:00
Cell 0c3b7e3f36 📝 Docs: update default avatar using gravatar 2022-09-30 10:48:06 +08:00
Cell 69772a2556 Feat: add yml markdown code type 2022-09-28 12:31:59 +08:00
Cell ceb2a16104 📝 Docs: update relative path in README 2022-09-28 11:25:57 +08:00
Cell 8e8d9ce03a 🍱 Feat: update static images 2022-09-27 15:50:03 +08:00
Cell ad1f3fa803 📝 Docs: update README 2022-09-26 11:41:25 +08:00
Cell 3563649e09 ✏️ Docs: fix typo 2022-09-25 16:30:19 +08:00
Cell d4fdfc3ff2 🚧 Chore: update version to 0.2.17-RC 2022-09-24 23:11:38 +08:00
Cell f40297b8d9 🔖 Chore(release): 0.2.16 2022-09-24 22:57:28 +08:00
dependabot[bot] 4cc2a820e5 chore(deps-dev): bump @babel/core from 7.18.10 to 7.19.1
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.10 to 7.19.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.1/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-24 14:48:15 +00:00
dependabot[bot] 3fd8b130ac chore(deps-dev): bump core-js from 3.24.1 to 3.25.2
Bumps [core-js](https://github.com/zloirock/core-js) from 3.24.1 to 3.25.2.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.24.1...v3.25.2)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-24 14:38:59 +00:00
Cell 76288c53d5 🐛 Fix: image height error (#200) 2022-09-24 14:41:27 +08:00
Cell bd5b9a6328 🐛 Fix: image shortcode invalid params height and weight (#200) 2022-09-24 13:56:40 +08:00
Cell 22f7a226e3 ⬆️ Chore(libs): update third-party libraries
- Update fontawesome-free from 6.1.1 to 6.2.0
- Update katex from 0.15.3 to 0.16.2
- Update echarts from 5.2.2 to 5.3.3
- Update algoliasearch from 4.13.0 to 4.14.2
2022-09-23 22:40:41 +08:00
Cell d785162cba ⬆️ Chore(libs): update lightgallery from 2.6.0 to 2.6.1 2022-09-23 17:20:16 +08:00
Cell 64db19998f 🔧 Chore: add "Build" param for plugin script and refactor custom.js by js.build 2022-09-23 17:10:50 +08:00
Cell b50cfe0bd7 ⬆️ Chore(libs): update mapbox-gl from 2.8.2 to 2.10.0 2022-09-23 16:09:31 +08:00
Cell c9827ab7d4 ⬆️ Chore(libs): update mermaid from 9.1.6 to 9.1.7 2022-09-23 13:43:12 +08:00
Cell 0d44d5bc0f ⬆️ Chore(libs): update simple-icons from 7.8.0 to 7.12.0 2022-09-23 11:37:33 +08:00
Cell bc4ac5516b ⬆️ Chore(libs): update @waline/client from 2.6.1 to 2.10.0 2022-09-23 11:18:45 +08:00
Cell 162a448089 ⬆️ Chore(libs): update Valine from 1.5.0 to 1.5.1 2022-09-22 17:38:02 +08:00
Cell fe27a40bef 📝 Docs: update theme docs 2022-09-22 15:34:55 +08:00
Cell 87d0ad76b9 💄 Style: change line-break style of code element from anywhere to auto 2022-09-22 14:46:52 +08:00
Cell 2640471fdb 📝 Docs: update README.md 2022-09-22 13:44:01 +08:00
Cell 662533ae4e ♻️ Refactor: config (#187) 2022-09-22 13:01:25 +08:00
Cell 23bfb100cb 📝 Docs: add TryHackMe social link (#197) 2022-09-21 16:39:03 +08:00
Cell b61cd84c12 Chore: ignore console warning about a license key (lightGallery#1022) 2022-09-21 11:33:04 +08:00
Cell fd5ea5b7ab 💄 Style: add some base reboot styles 2022-09-18 14:53:40 +08:00
Cell 5a9aab3730 🔧 Chore: creating new go.mod: module github.com/hugo-fixit/FixIt 2022-09-18 12:40:15 +08:00
Cell b6433d197a 💄 Style: fix language and theme switch cursor style (#193) 2022-09-17 22:34:27 +08:00
Cell bce815db20 ✏️ Docs: typesetting 2022-09-17 22:21:18 +08:00
Cell 4684f6a429 🐛 Fix: bookmark scroll error when scroll top equal 0 2022-09-17 18:45:19 +08:00
Cell b236c27820 🎨 Style: unified code style 2022-09-17 18:40:31 +08:00
Cell 7f30aa822b 🔧 Chore(docs): update docs submodule 2022-09-17 17:17:02 +08:00
Cell 56468f9d94 🎨 Style: code format for theme.js 2022-09-17 17:09:15 +08:00
Cell 3403398bf2 Feat: add auto bookmark support (#55) 2022-09-17 16:54:25 +08:00
Cell 269038fd21 🎨 Style: delete debug code 2022-09-17 16:25:51 +08:00
Cell f93fa4e870 Perf: use scrollTop replace with srcollY 2022-09-17 15:04:20 +08:00
Cell d6d6638d92 Perf: optimize custom.js minify 2022-09-17 11:45:03 +08:00
Cell 74cecb1ff6 🔥 Feat: remove fixit_checker.sh 2022-09-17 11:41:34 +08:00
Cell 173f77d092 📝 Docs: update FUNDING.yml 2022-09-16 00:13:49 +08:00
Cell 2a034e9a2a 📝 Docs: add Gitee mirror repository 2022-09-16 00:01:51 +08:00
Cell 1d4147556e Add FUNDING.yml 2022-09-15 23:39:10 +08:00
Cell 7ff9f998ae 📝 Docs: add custom sponsor links 2022-09-15 22:41:50 +08:00
Cell a5ba1d0c09 🚚 Feat: migrate fixit.svg to assets 2022-09-15 16:38:32 +08:00
Cell 8db7727897 ♻️ Refactor: version.template.svg 2022-09-15 14:43:13 +08:00
Cell 72fa55f58e Feat: add 10 newly supported social links (#175) 2022-09-15 10:57:03 +08:00
Cell 17cb4e6a86 🎨 Style: change scss varible $prefix 2022-09-13 16:39:39 +08:00
Cell b67517c3d1 🐛 Fix: RelPermalink error in loading custom js (#189 #196) 2022-09-12 20:13:59 +08:00
Cell 5750079022 ♻️ Refactor: plugin script 2022-09-12 19:43:00 +08:00
Cell f9b92cbbd6 Perf: optimize reading progress bar (#191) 2022-09-12 15:02:18 +08:00
Cell 2eb7605437 🐛 Fix: component paginator style error (#188) 2022-09-12 14:09:02 +08:00
Cell 54a05223f0 Perf: optimize scrolling logic 2022-09-10 15:18:24 +08:00
Cell af2b4a1951 💄 Style: fix language and theme switch cursor style (#193) 2022-09-10 14:44:06 +08:00
Cell c149a60028 Feat: add noscript warning banner (#194) 2022-09-10 14:11:11 +08:00
Cell d8b62fc690 🎉 Feat: add b2t scroll percent support (#192) 2022-09-10 13:51:03 +08:00
Cell bb294e5d13 🎨 Style: simplify scss import 2022-09-10 10:28:12 +08:00
Cell c9db04a462 Perf: use native once listener 2022-09-10 10:16:04 +08:00
Cell 995f9558db 🎉 Feat: add reading progress bar support (#191) 2022-09-10 01:23:54 +08:00
Cell 0659a175ad 🎨 Style: add dark theme colors support (#185) 2022-09-09 16:36:35 +08:00
Cell 8265db32bc ♻️ Refactor: scss directory (#185) 2022-09-09 16:04:47 +08:00
Cell ae6a114761 Perf(btn): remove fixed buttons fadeOut animate at mobile mode 2022-09-09 10:06:33 +08:00
Cell cdccbb7637 ♻️ Refactor: custom.js rendering and remove params.customJS 2022-09-08 22:03:30 +08:00
Cell ea1e62419c 🔧 Chore: fix file name error 2022-09-08 15:27:38 +08:00
Cell 5102f8e526 🔧 Chore: add workflow auo-asign 2022-09-08 15:03:48 +08:00
Cell 1292d517b5 Revert "🔧 Chore: use on.push.paths-ignore can prevent Code Scanning annotating new alerts in your pull requests"
This reverts commit 6c585b34b1.
2022-09-08 14:16:03 +08:00
Cell 6c585b34b1 🔧 Chore: use on.push.paths-ignore can prevent Code Scanning annotating new alerts in your pull requests 2022-09-08 14:04:17 +08:00
Cell 1da9407ee3 🔧 Chore: fix CodeQL config error 2022-09-08 13:58:16 +08:00
Cell a4556a728e 🔧 Chore: add CodeQL config 2022-09-08 13:54:11 +08:00
Cell fef069d7f6 🔧 Chore: add paths-ignore for codeql-action 2022-09-08 12:56:57 +08:00
Cell 8da0d0f299 🔧 Chore: update codeql-action workflow to v2 2022-09-08 12:34:28 +08:00
Cell 0ebd630fd0 🐛 Fix: code scanning alert - Potentially unsafe external link (#186) 2022-09-08 11:42:04 +08:00
Cell fe0f7a6fcf ♻️ Refactor: back to top and scroll to comments 2022-09-08 11:04:28 +08:00
Cell 6ba5a09447 📝 Chore: update theme.toml 2022-09-06 17:25:39 +08:00
Cell d607e6653d 📝 Docs: update search engine supported list 2022-09-06 17:21:48 +08:00
Cell e32446b5be 🐛 Style: fix lazyloading image error width 2022-09-04 19:09:19 +08:00
Cell 7650a7f54d 📝 Docs: update images title and add markdown tests 2022-09-04 18:37:10 +08:00
Cell 35e25236bb ♻️ Refactor: image rendering 2022-09-04 18:29:33 +08:00
Cell e9b5e33b39 Perf: remove extra spaces in plugin link 2022-09-04 02:02:48 +08:00
Cell 2d2d6c4071 ✏️ Dcos: fix typo 2022-09-03 22:25:46 +08:00
Cell d2239acbb7 🐛 Fix: typeit shortcode prints consecutive spaces and newline errors 2022-09-03 21:49:51 +08:00
Cell d4a2962303 🐛 Fix: typeit shortcode invalid config duration = -1 and fix style 2022-09-03 18:16:14 +08:00
Cell 13161e78a0 🐛 Style: fix del style at inline code 2022-09-03 17:40:26 +08:00
Cell 87b9a42169 🐛 Style(img): fix content image height 2022-09-03 14:34:54 +08:00
Cell f2a39a7fdd 🎨 Style(link): modify external link icon color 2022-09-03 14:05:26 +08:00
Cell 84d4381388 📝 Docs: update changelog and docs submodule 2022-09-03 12:43:15 +08:00
Cell 339b17c8ab 🍱 Docs: fix docs images error 2022-09-03 12:19:12 +08:00
Cell 3b727ea541 🎨 Chore(style): merge normalize.css into style.css and rm from CDN list 2022-09-03 12:13:01 +08:00
Cell 587029647a 🐛 Fix: missing height and weight of img element and lazyload object-fit style 2022-09-03 12:02:59 +08:00
Cell 2b36f0ce88 ⬆️ Chore(libs): update lightgallery from 1.4.0 to 2.6.0 2022-09-03 11:38:56 +08:00
Cell b4982b34e4 🐛 Fix: missing "comment" class in Commento and Utterances div 2022-09-02 23:40:17 +08:00
Cell 30bae125f3 Feat: update echarts theme config 2022-09-02 23:18:52 +08:00
Cell d29f143eb5 ✏️ Docs: repo url knsv/mermaid -> mermaid-js/mermaid 2022-09-02 23:05:25 +08:00
Cell 781e7d466f Feat: add optional parameter noreferrer for the shortcode link 2022-08-31 17:16:45 +08:00
Cell 073d0ab221 📝 Docs: update docs 2022-08-31 16:08:08 +08:00
Cell b6b2f0518a ⬆️ Chore(libs): update typeit from 7.8.0 to 8.7.0 2022-08-30 15:20:02 +08:00
Cell 09542fb999 📝 Docs: set draft to true for tests 2022-08-30 10:55:42 +08:00
Cell b0d29bffe1 🎨 Style(format): use single quote 2022-08-29 20:53:05 +08:00
Cell a291890f51 Feat(highlight): add custom code type map 2022-08-29 19:13:09 +08:00
Cell f3211e9617 Perf(scss): remove duplicated css prefix language- 2022-08-29 18:30:04 +08:00
Cell eb345cd9ea ♻️ Refactor(scss): create scss map dir 2022-08-29 17:21:43 +08:00
Cell 9fc37b36eb Feat(highlight): add full support for Chroma highlighting languages in the [list](https://gohugo.io/content-management/syntax-highlighting/#list-of-chroma-highlighting-languages)
tool: https://github.com/hugo-fixit/.tools/blob/main/tampermonkey/code-type-map-fetcher.user.js
2022-08-29 16:55:12 +08:00
Cell 7092455a16 ⬆️ Chore(libs): update mermaid from 9.1.3 to 9.1.6 2022-08-29 11:45:36 +08:00
Cell 4d4cda6955 ⬆️ Chore(libs): update emoji-data from 5.0.1 to 14.0.0 2022-08-29 11:12:11 +08:00
Cell f37622a155 🐛 Fix: menu item invalid params draft in submenu 2022-08-28 20:34:49 +08:00
Cell d061469497 Feat(menu): add params.type for menu items 2022-08-28 20:09:02 +08:00
Cell f77febb93d 🎨 Style(footer): remove extra spaces 2022-08-28 17:09:00 +08:00
Cell 10b530abe1 Feat(accessibility): use aria-hidden=true on icons that AT should ignore 2022-08-28 16:54:44 +08:00
Cell 16482da119 Feat(menu): add params.icon support for menu items 2022-08-28 15:04:31 +08:00
Cell 88db7c761a 📝 Docs: update FixIt theme Docs 2022-08-28 12:20:29 +08:00
Cell fe03e7b904 Feat: add raw shortcode 2022-08-28 01:01:00 +08:00
Cell dcd93f7c6c 🎨 Style: add single newline at end of the file 2022-08-27 20:07:56 +08:00
Abdul Halim Daud cd036e5625 fix center-quote shortcode when config unsafe = false
when config unsafe = false, center-quote without markdown works but shortcode with markdown doesn't work.

the following doesn't work when unsafe = false:
```
{{% center-quote %}}
**hello** *world*
this is a center-quote shortcode example.
{{% /center-quote %}}
```

with this fix, the following works with markdown when unsafe = false:
```
{{< center-quote >}}
**hello** *world*
this is a center-quote shortcode example.
{{< /center-quote >}}
```
2022-08-27 20:01:10 +08:00
Cell cd49374911 🐛 Fix: link shortcode newline 2022-08-27 18:52:05 +08:00
Cell e4ba7a346e Feat(accessibility): using aria-hidden=true on an icon font that AT should ignore 2022-08-27 14:46:34 +08:00
Cell 4608f96ad3 💄 Style: modify single-title and single-subtitle styles 2022-08-27 14:28:30 +08:00
Cell 88a6b0e37d Feat(math): add more block delimiter support for math
import from https://github.com/dillonzq/LoveIt/commit/264dd5b9d5079d4fe2f29bc3ffa7b43fbf937336
2022-08-27 14:05:19 +08:00
Cell 5af5e44e10 ✏️ Docs: fix typo 2022-08-27 13:04:42 +08:00
Cell 3e80259a07 ⬆️ Chore(libs): update simple-icons from 6.3.0 to 7.8.0 2022-08-27 12:53:09 +08:00
Cell 447f832a58 🔧 Chore(deps-dev): remove dependencies: babel-preset-minify 2022-08-27 12:44:29 +08:00
Cell 1359995948 🎨 Style: add single newline at end of the file 2022-08-27 12:37:57 +08:00
Cell d27a42dab2 🐛 Fix: attribute media not allowed on element meta in [name=theme-color]
🐛 Fix: support smooth migration from LoveIt to FixIt (#174 #182)
2022-08-27 01:43:54 +08:00
Cell 913a82fe18 Perf: simplify theme switching logic 2022-08-27 01:11:00 +08:00
Cell e19b71cc6a 🎨 Style: format code 2022-08-26 23:57:42 +08:00
Cell 19f7746516 🐛 Fix: element div not allowed as child of element h2 and avoid empty heading in .home-subtitle 2022-08-26 17:46:18 +08:00
Cell 2efcf947a7 🐛 Fix: the “type” attribute is unnecessary for JavaScript resources
The default `type` for `<script>` tags is `JavaScript`, so you don’t need to include the type for JS resources.
2022-08-26 17:16:20 +08:00
Cell 55e747e5f1 🐛 Fix: the itemprop attribute was specified, but the element is not a property of any item 2022-08-26 17:00:26 +08:00
Cell 0edd185b39 🐛 Fix: use data attributes or class replace for custom attributes 2022-08-26 16:48:11 +08:00
Cell dfbffa2ad5 🐛 Fix: remove unneeded meta tag
This was only needed for IE10 and lower (which are no longer supported) and chromeframe which was a Google plugin for IE8 and lower and was discontinued many years ago. So this meta tag can be safely removed.
2022-08-26 15:48:16 +08:00
Cell 3f3d5aee37 🐛 Fix(footer): define itemtype property
The properties copyrightYear and copyrightHolder refer to the nearest parent CreativeWork.
https://schema.org/CreativeWork
2022-08-26 15:42:02 +08:00
Cell 84d781d6a4 Perf: init search-dropdown dom if search is enabled 2022-08-26 15:21:21 +08:00
Cell d051dbd9c0 📝 Docs: add acknowledgements 2022-08-24 23:26:46 +08:00
Cell 3dbb46a6ec 🎨 Style: change the default icon of social link "Stack Overflow" 2022-08-14 23:28:37 +08:00
Cell 5dbb3e290e 🌐 Docs(i18n): update de in i18n
https://github.com/dillonzq/LoveIt/pull/405
2022-08-14 23:22:40 +08:00
Cell 504b4916d9 Merge branch 'master' into v0.2.16-RC 2022-08-14 23:06:19 +08:00
Cell 1fcb1e6504 Merge branch 'pr/xueweiwujxw/176' 2022-08-14 23:04:02 +08:00
Cell 4e81224052 docs(contributor): contrib-readme-action has updated readme 2022-08-14 23:00:59 +08:00
xueweiwujxw 33395f3e15 📃 Docs: add site: wlanxww's blog 2022-08-14 23:00:17 +08:00
Cell 2007fe5297 🐛 Fix(post-footer): guard post-info-license
https://github.com/dillonzq/LoveIt/pull/544
2022-08-14 22:38:01 +08:00
xueweiwujxw 7ba6611825 📃 Docs: add site: wlanxww's blog 2022-08-14 22:32:27 +08:00
Cell b575d23fe0 🌐 Docs(i18n): update pt-br in i18n
https://github.com/dillonzq/LoveIt/pull/637
2022-08-14 22:26:40 +08:00
Cell 87156110a6 🐛 Fix: author display error in post and markdown file 2022-08-14 14:45:13 +08:00
Cell 806572a817 🔍 Feat(seo): update robots.txt 2022-08-13 16:25:35 +08:00
Cell 07dcccae16 ✏️ Docs: add official website link 2022-08-13 15:57:03 +08:00
Cell 83a1f075ab Style: fontawesome use version 6 format 2022-08-13 15:36:32 +08:00
Cell 993cd26413 ✏️ Docs: update commit message format 2022-08-12 15:51:28 +08:00
Cell 84db100d99 🎨 Style: change the default icon of social link "知乎" 2022-08-07 17:19:56 +08:00
Cell 0054c28934 🔧 Chore: simplify scripts 2022-08-07 15:55:10 +08:00
Cell 267a21675d Feat: add custom aside template in post page (#172) 2022-08-06 14:11:19 +08:00
Cell a4cae812a8 Chore(deps-dev): remove minimist 2022-08-06 13:34:48 +08:00
Cell 08c995a295 🎨 Style: format source code 2022-08-06 13:02:39 +08:00
Cell 243706ebfb 🐛 Fix: add function doc2unix to unify new lines symbol between Windows and Unix/Mac OS 2022-08-05 23:57:36 +08:00
Cell 41a638def9 🔧 Chore: update algolia index only on push to path 'docs' 2022-08-05 20:19:59 +08:00
Cell dce144e4b6 🔧 Chore: modify babel config and optimize theme.js compilation and loading 2022-08-05 17:20:05 +08:00
Cell 08374c06e8 📝 Docs: update changelog and update version to v0.2.16-RC 2022-08-04 10:40:30 +08:00
1258 changed files with 27469 additions and 33622 deletions
-10
View File
@@ -1,10 +0,0 @@
{
"presets": [
[
"@babel/preset-env",
{
"targets": "> 0.25%, not dead"
}
]
]
}
+1
View File
@@ -0,0 +1 @@
assets/lib/**/* linguist-vendored
+3
View File
@@ -0,0 +1,3 @@
custom: [
"https://paypal.me/Lruihao"
]
+1 -1
View File
@@ -48,4 +48,4 @@ body:
label: Additional Information 补充信息
description: |
Configuration files or front matter code ...
配置文件或者前置参数的代码 ...
配置文件或者前置参数的代码……
+1 -1
View File
@@ -12,7 +12,7 @@ body:
请针对不同的功能建议提交新的 issue。
placeholder: |
I recommend adding this feature ...
我希望添加这样的一个功能 ...
我希望添加这样的一个功能……
- type: textarea
id: reference
attributes:
+27
View File
@@ -0,0 +1,27 @@
# Set to true to add reviewers to PRs
addReviewers: true
# Set to 'author' to add PR's author as a assignee
addAssignees: author
# A list of reviewers to be added to PRs (GitHub user name)
reviewers:
- Lruihao
# A number of reviewers added to the PR
# Set 0 to add all the reviewers (default: 0)
numberOfReviewers: 1
# A list of assignees, overrides reviewers if set
assignees:
- Lruihao
# A number of assignees to add to the PRs
# Set to 0 to add all of the assignees.
# Uses numberOfReviewers if unset.
numberOfAssignees: 0
# A list of keywords to be skipped the process if PR's title include it
skipKeywords:
- wip
- deps-dev
+5
View File
@@ -0,0 +1,5 @@
name: "CodeQL config"
paths-ignore:
- assets/lib/**
- docs/**
+18
View File
@@ -14,3 +14,21 @@ updates:
- "Lruihao"
labels:
- "dependencies"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
open-pull-requests-limit: 1000
assignees:
- "Lruihao"
labels:
- "dependencies"
- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 1000
assignees:
- "Lruihao"
labels:
- "dependencies"
-45
View File
@@ -1,45 +0,0 @@
name: Update Algolia Search Index
on:
push:
branches:
- master
workflow_dispatch:
jobs:
algolia-atomic:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
extended: true
- name: Build
run: |
npm install
npm run build
- name: Update Algolia Index (en)
env:
ALGOLIA_APP_ID: YKOM6PKLUY
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
ALGOLIA_INDEX_NAME: 'index.en'
ALGOLIA_INDEX_FILE: './docs/public/index.json'
run: |
npm run algolia
- name: Update Algolia Index (zh-cn)
env:
ALGOLIA_APP_ID: YKOM6PKLUY
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
ALGOLIA_INDEX_NAME: 'index.zh-cn'
ALGOLIA_INDEX_FILE: './docs/public/zh-cn/index.json'
run: |
npm run algolia
+14
View File
@@ -0,0 +1,14 @@
name: Auto Assign
on:
issues:
types: [opened]
pull_request_target:
types: [opened]
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/auto-assign@v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIG_FILE: .github/configs/auto-assign.yml
+1 -1
View File
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
+17 -10
View File
@@ -12,11 +12,14 @@
name: "CodeQL"
on:
push:
branches:
- master
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches:
- master
schedule:
- cron: '45 0 * * 1'
- cron: "30 18 * * 5"
jobs:
analyze:
@@ -26,20 +29,24 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
language: [ "javascript" ]
# CodeQL supports [ "cpp", "csharp", "go", "java", "javascript", "python" ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check out repository code
uses: actions/checkout@v4
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
config-file: ./.github/configs/codeql.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
@@ -48,7 +55,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v3
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -62,4 +69,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3
+3
View File
@@ -20,5 +20,8 @@ jobs:
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 }}
+12 -7
View File
@@ -2,22 +2,27 @@
public/
resources/
# Hugo
.hugo_build.lock
jsconfig.json
# NPM
node_modules/
## OS Files
# Windows
# VSCode
.vscode
# OS Files
## Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
# OSX
## OSX
.DS_Store
# Linux
## Linux
.directory
# Hugo
.hugo_build.lock
jsconfig.json
-3
View File
@@ -1,3 +0,0 @@
[submodule "docs"]
path = docs
url = https://github.com/hugo-fixit/docs.git
+2
View File
@@ -0,0 +1,2 @@
tag-version-prefix="v"
message=":bookmark: Chore(release): %s"
-172
View File
@@ -1,172 +0,0 @@
# Changelog
All notable changes to this project will be documented in this file.
<!-- Releases see https://github.com/hugo-fixit/FixIt/releases -->
## v0.2.15
## v0.2.15 [2022.8.4]
> Add content encryption feature(pages, partial), total word count, enhance auto toc, developer options and more.
> Snapshot:
- :truck: Feat: ransfer repository from Lruihao to hugo-fixit
- :tada: Feat: add content encryption of pages ([#123](https://github.com/hugo-fixit/FixIt/issues/123))
- :tada: Feat: add `fixit-encryptor` shortcode ([#123](https://github.com/hugo-fixit/FixIt/issues/123))
- :sparkles: Feat: add total word count feature in section and remove from footer ([#124](https://github.com/hugo-fixit/FixIt/issues/124))
- :sparkles: Feat: enhance auto toc feature ([#104](https://github.com/hugo-fixit/FixIt/issues/104) [#136](https://github.com/hugo-fixit/FixIt/issues/136))
- :sparkles: Feat: add repost feature ([#156](https://github.com/hugo-fixit/FixIt/issues/156))
- :sparkles: Feat: add developer options
- Check for updates option
- Mobile Devtools config ([#163](https://github.com/hugo-fixit/FixIt/pull/163))
- :bug: Fix: unable to show search bar of header at mobile mode ([#143](https://github.com/hugo-fixit/FixIt/issues/143))
- :bug: Fix: Giscus comment invalid config `inputPosition`
- :bug: Fix: Waline comment invalid config `imageUploader = false` & `highlighter = false` (@yureiita[#161](https://github.com/hugo-fixit/FixIt/pull/161))
- :bug: Fix: busuanzi logic error
- :bug: Fix: close comment system logic error when the article was expired
- :bug: Style: fix typos for rel attribute value noreferrer (@yureiita[#157](https://github.com/hugo-fixit/FixIt/pull/157))
- :recycle: Refactor: migrate theme js from src to assets by js.build
- :recycle: Refactor: change the post edit url splicing rules
- :mag: Feat(SEO): add options to make output `baidu_urls.txt` file ([#138](https://github.com/hugo-fixit/FixIt/issues/138))
- :truck: Feat: migrate exampleSite to docs submodule
- :art: Style: add theme colors variables and add common color styles
- :art: Style: add scroll bar for auto toc ([#136](https://github.com/hugo-fixit/FixIt/issues/136))
- :art: Style: change the version badge style form flat-square to flat
- :memo: Docs: revise theme documentations
- :heavy_plus_sign: Feat: add theme core configuration settings file
- :wrench: Feat(cdn): add unpkg cdn support
- :wrench: Chore: change the theme minimum supported Hugo versions above **0.84.0**
- :arrow_up: Chore(libs): update some third-party libraries
- Update Artalk from 2.2.12 to 2.3.4 ([#150](https://github.com/hugo-fixit/FixIt/issues/150))
- Update Waline from 1.5.2 to 2.6.1
- Update Valine from 1.4.18 to 1.5.0
- Update mermaid from 8.13.3 to 9.1.3
- :arrow_up: Chore(deps-dev):
- Bump babel-preset-minify from 0.5.1 to 0.5.2 ([#145](https://github.com/hugo-fixit/FixIt/pull/145))
- Bump core-js from 3.22.0 to 3.24.1 ([#168](https://github.com/hugo-fixit/FixIt/pull/168))
- Bump @babel/preset-env from 7.16.11 to 7.18.10 ([#169](https://github.com/hugo-fixit/FixIt/pull/169))
- Bump @babel/cli from 7.17.6 to 7.18.10 ([#170](https://github.com/hugo-fixit/FixIt/pull/170))
- Bump @babel/core from 7.17.9 to 7.18.10 ([#171](https://github.com/hugo-fixit/FixIt/pull/171))
- **Full Changelog:** @Lruihao [`v0.2.14...v0.2.15`](https://github.com/hugo-fixit/FixIt/compare/v0.2.14...v0.2.15)
## v0.2.14 [2022.5.15]
> Add hugo new features support.
> Snapshot: <https://fixit-p1tg6tsml-lruihao.vercel.app>
- :recycle: Refactor: header layout
- :tada: Feat: add sub menu (nested menu) support ([#31](https://github.com/hugo-fixit/FixIt/issues/31))
- :sparkles: Feat: add user-defined content to menu items via the `params` field ([#99](https://github.com/hugo-fixit/FixIt/issues/99))
- :sparkles: Feat: modified language selector to submenu (@pandaoh[`eced169`](https://github.com/hugo-fixit/FixIt/commit/eced169713ce4a0208ce70ab556824e47eb671d5), @Lruihao[#31](https://github.com/hugo-fixit/FixIt/issues/31))
- :bug: Fix: add "no more translations" judgment logic ([#100](https://github.com/hugo-fixit/FixIt/issues/100))
- :bug: Fix: fix some header css bug ([#31](https://github.com/hugo-fixit/FixIt/issues/31))
- :sparkles: Feat: enhance link render ([#96](https://github.com/hugo-fixit/FixIt/issues/96))
- Add external icon for external links automatically
- Add download icon for downloadable links
- :sparkles: Feat: add giscus comment system ([#130](https://github.com/hugo-fixit/FixIt/issues/130))
- :sparkles: Feat: link shortcode add `external-icon` option ([#96](https://github.com/hugo-fixit/FixIt/issues/96))
- :sparkles: Feat: add GitHub Corners support ([#106](https://github.com/hugo-fixit/FixIt/issues/106))
- :sparkles: Feat: add local avatar and gravatar support for post author ([#125](https://github.com/hugo-fixit/FixIt/issues/125))
- :sparkles: Feat: add ~~total word count support in footer~~ ([#124](https://github.com/hugo-fixit/FixIt/issues/124))
- :sparkles: Feat: add "Edit this page" button support ([#103](https://github.com/hugo-fixit/FixIt/issues/103))
- :sparkles: Feat: add count badge for taxonomy ([#122](https://github.com/hugo-fixit/FixIt/issues/122))
- :zap: Perf: add Gravatar config support
- :bug: Fix: invalid front matter `comment: true` ([#108](https://github.com/hugo-fixit/FixIt/issues/108))
- :bug: Fix: ibruce and watermark option negative value error ([#114](https://github.com/hugo-fixit/FixIt/issues/114))
- :truck: Feat: *migrate ~~`home.profile.gravatarSite`~~ to `gravatar.host`*
- :truck: Feat: *migrate ~~`ibruce.siteTime`~~ to `footer.siteTime`*
- :lipstick: Style: add some common CSS styles Class ([#101](https://github.com/hugo-fixit/FixIt/issues/101))
- :lipstick: Style: add the gap between and icon and text at blending typesetting (@ctj12461, @Lruihao[#118](https://github.com/hugo-fixit/FixIt/pull/118))
- :lipstick: Style: modify blockquote CSS
- :memo: Docs: revise theme documentations
- :zap: Perf: remove third-party library clipboard.js ([#84](https://github.com/hugo-fixit/FixIt/issues/84))
- :pencil2: Docs: fix highlight url typo in `theme-documentation-built-in-shortcodes` (@d-baer[#85](https://github.com/hugo-fixit/FixIt/pull/85))
- :wrench: Chore(i18n): improve translations for supported languages ([#119](https://github.com/hugo-fixit/FixIt/issues/119))
- :wrench: Chore(i18n): add i18n support for console messages
- :wrench: Chore: add deprecated parameter detection in cli
- :arrow_up: Chore: update some third-party libraries
- :wrench: Chore(deps-dev):
- Bump minimist from 1.2.5 to 1.2.6 ([#92](https://github.com/hugo-fixit/FixIt/pull/92))
- Bump @babel/core from 7.17.5 to 7.17.10 ([#126](https://github.com/hugo-fixit/FixIt/pull/126))
- Bump core-js from 3.21.1 to 3.22.5 ([#129](https://github.com/hugo-fixit/FixIt/pull/129))
- Bump @babel/cli from 7.17.6 to 7.17.10 ([#127](https://github.com/hugo-fixit/FixIt/pull/127))
- Bump @babel/preset-env from 7.16.11 to 7.17.10 ([`bc74d14`](https://github.com/hugo-fixit/FixIt/commit/bc74d149c16b36644fecdd5bef325bf8087f8593))
- **Full Changelog:** @Lruihao [`v0.2.13...v0.2.14`](https://github.com/hugo-fixit/FixIt/compare/v0.2.13...v0.2.14)
## v0.2.13 [2022.3.14]
> Improve and add some new features.
> Snapshot: <https://fixit-bbh5g5x90-lruihao.vercel.app>
- :recycle: Refactor: page layout ([#65](https://github.com/hugo-fixit/FixIt/issues/65))
- :tada: Feat: add Artalk comment support ([#54](https://github.com/hugo-fixit/FixIt/issues/54), @hiifong[#57](https://github.com/hugo-fixit/FixIt/pull/57))
- :tada: Feat: add Waline comment support ([#36](https://github.com/hugo-fixit/FixIt/issues/36))
- :tada: Feat: add Twikoo comment support ([#64](https://github.com/hugo-fixit/FixIt/issues/64))
- :sparkles: Feat: add recently updated section ([#50](https://github.com/hugo-fixit/FixIt/issues/50))
- :sparkles: Feat: add article expiration reminder support ([#51](https://github.com/hugo-fixit/FixIt/issues/51))
- :sparkles: Feat: add pageStyle option ([#62](https://github.com/hugo-fixit/FixIt/issues/62))
- :sparkles: Style: add media style for print view ([#61](https://github.com/hugo-fixit/FixIt/issues/61))
- :sparkles: Feat: add Gravatar mirror site support (@ctj12461[#66](https://github.com/hugo-fixit/FixIt/pull/66))
- :sparkles: Feat: add archive count display ([#33](https://github.com/hugo-fixit/FixIt/issues/33))
- :sparkles: Feat: add `details` shortcode ([#68](https://github.com/hugo-fixit/FixIt/issues/68))
- :sparkles: Feat: add `center-quote` shortcode ([#69](https://github.com/hugo-fixit/FixIt/issues/69))
- :sparkles: Feat: add markdown support for **title** parameter of the admonition shortcode
- :sparkles: Feat: add 9 newly supported social links ([#17](https://github.com/hugo-fixit/FixIt/issues/17))
- :zap: Perf: enhance highlight feature (GitHub syntax supported) and fix some css bugs ([#43](https://github.com/hugo-fixit/FixIt/issues/43))
- Inline Code
- Indented Code
- Block Fenced Code
- gist shortcode
- :sparkles: Feat: add `params.page.code.edit` option support ([#76](https://github.com/hugo-fixit/FixIt/issues/76))
- :mag: Feat: add 360 and sougou seo support
- :bug: Fix: remove source map of local libraries to avoid 404 error ([#67](https://github.com/hugo-fixit/FixIt/issues/67))
- :fire: Feat: remove shortcode cardlink ([#42](https://github.com/hugo-fixit/FixIt/issues/42))
- :lipstick: Style: more refined theme style ([#40](https://github.com/hugo-fixit/FixIt/issues/40))
- :pencil2: Style: fix typo *discription* should be **description** ([#60](https://github.com/hugo-fixit/FixIt/issues/60))
- :wrench: Chore(update-libs):
- Update cell-watermark 1.0.3 and CDN support (fontFamily supported)
- Update animate.css 3.7.2 -> 4.1.1 ([#74](https://github.com/hugo-fixit/FixIt/issues/74))
- :wrench: Chore: add atomic-algolia for exampleSite ([#70](https://github.com/hugo-fixit/FixIt/issues/70))
- **Full Changelog:** @Lruihao [`v0.2.12...v0.2.13`](https://github.com/hugo-fixit/FixIt/compare/v0.2.12...v0.2.13)
## v0.2.12 [2022-1-27]
> Fix most known bugs and add some new features.
> Snapshot: <https://fixit-e9lpwfkbp-lruihao.vercel.app>
- :tada: Feat: add PWA support
- :tada: Feat: add Watermark support ([#16](https://github.com/hugo-fixit/FixIt/issues/16))
- :tada: Feat: add "不蒜子" count and site run time ([#18](https://github.com/hugo-fixit/FixIt/issues/18))
- :sparkles: Feat: add pangu.js support ([#20](https://github.com/hugo-fixit/FixIt/issues/20))
- :sparkles: Feat: add public network security config (only in China) ([#15](https://github.com/hugo-fixit/FixIt/issues/15))
- :sparkles: Feat: add CustomJS option ([#24](https://github.com/hugo-fixit/FixIt/issues/24))
- :sparkles: Feat: add theme embedded archeTypes
- :mag: Feat(SEO): optimize SEO meta ([#30](https://github.com/hugo-fixit/FixIt/issues/30))
- :zap: Feat: remove lib smooth-scroll ([#1](https://github.com/hugo-fixit/FixIt/issues/1)) replaced by CSS native properties scroll-margin, scroll-behavior ([#39](https://github.com/hugo-fixit/FixIt/issues/39))
- :zap: Perf: merge shortcode cardlink (deprecated v0.2.13) into shortcode link and add 'download' param ([#42](https://github.com/hugo-fixit/FixIt/issues/42))
- :zap: Perf: optimize JS loading ([#25](https://github.com/hugo-fixit/FixIt/issues/25))
- :recycle: Refactor: header title DOM and add subtitle option ([#26](https://github.com/hugo-fixit/FixIt/issues/26))
- :bug: Fix: set mermaid theme as 'default' when initialization ([#38](https://github.com/hugo-fixit/FixIt/issues/38))
- :bug: Fix: typeit print code error ([#19](https://github.com/hugo-fixit/FixIt/issues/19))
- :bug: Fix: pre element overflow error ([#29](https://github.com/hugo-fixit/FixIt/issues/29))
- :bug: Fix: toc display error without content header ([#21](https://github.com/hugo-fixit/FixIt/issues/21))
- :lipstick: Style: style detail adjustments, change scroll-behavior to smooth, taxonomy, header, footer, shortcode style etc.
- :pencil: Docs: improve demo site documentation ([#37](https://github.com/hugo-fixit/FixIt/issues/37))
- :wrench: Chore: add commands `fixit_checker.sh`
- :wrench: Chore(i18n): change some translations
- :arrow_up: Chore: update all third-party libraries
- **Full Changelog:** @Lruihao [`v0.2.11...v0.2.12`](https://github.com/hugo-fixit/FixIt/compare/v0.2.11...v0.2.12)
## v0.2.11 [2021-12-19]
> :tada: The beginning of FixIt to fix the theme LoveIt.
- :sparkles: Feat: add cardlink shortcode ([Lruihao/hugo-blog@`df9eca2`](https://github.com/Lruihao/hugo-blog/commit/df9eca26af43287748fd8d4654014357a8269b0b))
- :tada: Feat: add friends layout template
- :wrench: Chore(i18n): add translations for Traditional Chinese ([Lruihao/hugo-blog@`df9eca2`](https://github.com/Lruihao/hugo-blog/commit/b86157d8b84830bda415ab2488580afd843acac2))
- :bug: Fix: mobile style ([Lruihao/hugo-blog#19](https://github.com/Lruihao/hugo-blog/issues/19))
- :bug: Style: fix content h1 style ([Lruihao/hugo-blog#8](https://github.com/Lruihao/hugo-blog/issues/8))
- :bug: Fix: `.params.author` should be `$params.author` ([Lruihao/hugo-blog#1](https://github.com/Lruihao/hugo-blog/issues/1))
- **Full Changelog:** @Lruihao [`v0.2.10...v0.2.11`](https://github.com/hugo-fixit/FixIt/compare/v0.2.10...v0.2.11)
## v0.2.10 :arrow_down: [2020-5-29 before]
Thanks [dillonzq/LoveIt](https://github.com/dillonzq/LoveIt/releases)
+24 -18
View File
@@ -1,17 +1,18 @@
# CONTRIBUTING
## How to contribute to this project
First, fork this repository by clicking the fork button.
Next, clone your forked repo.
```
git clone https://github.com/example/FixIt.git
cd FixIt
```bash
git clone https://github.com/hugo-fixit/FixIt.git && cd FixIt
```
Then, install the dev dependencies.
```
```bash
npm install
```
@@ -20,22 +21,19 @@ And now you are ready to go!
Here are some useful commands.
```bash
# build theme.js with babel
npm run babel
# build theme.js and then build the static site
npm run build
# run a local debugging server with watch
npm run server
# run a local debugging server with watch in production environment
npm run server:production
# build theme.js and then run a local debugging server
npm run start
# build theme.js and then run a local debugging server in production environment
npm run start:production
```
Finally, create a new pull request at https://github.com/hugo-fixit/FixIt/pulls to submit your contribution 🎉
If you want to do docs-related theme changes, the simplest way is to have both `FixIt` and `fixit-docs` cloned as sibling directories, and then run:
```bash
npm run server:docs
```
Finally, create a new pull request at <https://github.com/hugo-fixit/FixIt/pulls> to submit your contribution 🎉
## Git standard for developers
@@ -44,7 +42,8 @@ Finally, create a new pull request at https://github.com/hugo-fixit/FixIt/pulls
| Branch | Description |
| :-- | :-- |
| master | _The branch open to the public and release versions_ |
| RC branch | _The development branch of the next version, e.g. v0.2.12-RC_ |
| dev | _The development branch of the next version_ |
| RC branch | _The release candidate branch of the next version, e.g. v0.2.12-RC_ |
| single feature | _The branch to enhancements or fixes_ |
### Merge events
@@ -58,10 +57,17 @@ Finally, create a new pull request at https://github.com/hugo-fixit/FixIt/pulls
### Commit message
#### Format
> {emoji} {type}: {subject within 50 words} (#{issue/pull request})
`[{emoji} ]{type}[({module})]: {subject within 50 words}[ (#{issue/pull request})]`
example:
- :tada: Feat: add shortcode fixit-encryptor shortcode (#123)
- :arrow_up: Chore(libs): update Artalk from 2.2.12 to 2.3.4 (#150)
#### Emoji
- https://gitmoji.dev
- <https://gitmoji.dev>
- [vscode plugin](https://github.com/maixiaojie/git-emoji-zh.git)
- utools plugin `GitEmoji`
@@ -70,7 +76,7 @@ Finally, create a new pull request at https://github.com/hugo-fixit/FixIt/pulls
| Emoji | Type | Example | Description (No Ambiguous) |
| :-------------------------------------------- | :------- | :----------------------------------------------------------- | :----------------------------------------------------------- |
| :tada: <br>:sparkles: | Feat | Feat: add {feature} | new feature |
| :truck: | | Feat: adjust/migrate {feature name}{change details} | For the adjustment feature, it is necessary to describe the current situation (before) and after adjustment (after) |
| :truck: | | Feat: adjust/migrate {feature name}, {change details} | For the adjustment feature, it is necessary to describe the current situation (before) and after adjustment (after) |
| :fire: | | Feat: delete {feature name}, {deletion reason} | If the feature is deleted, the reason for deletion must be explained |
| :bug: <br>:construction: <br>:rotating_light: | Fix | Fix: fix {bug description} | Fix known bugs |
| :art: <br>:lipstick: <br>:pencil2: | Style | Style: Typesetting/CSS style {optimizing content} | Changes that do not affect code operation, such as code layout and style change |
+1 -1
View File
@@ -2,7 +2,7 @@ The MIT License (MIT)
Copyright (c) 2018 LIUZHICHAO.COM
Copyright (c) 2019-2020 DILLONZQ.COM
Copyright (c) 2021-2022 LRUIHAO.CN
Copyright (c) 2021-2023 LRUIHAO.CN
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
+161 -152
View File
@@ -1,44 +1,51 @@
# 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.84.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](https://github.com/hugo-fixit/FixIt/blob/master/LICENSE)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.112.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](/LICENSE)
English README | [简体中文说明](https://github.com/hugo-fixit/FixIt/blob/master/README.zh-cn.md)
👉 English README | [简体中文说明](README.zh-cn.md)
> **FixIt** is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/).
> [FixIt](https://github.com/hugo-fixit/FixIt) is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/).
It is based on the original [LoveIt Theme](https://github.com/dillonzq/LoveIt), [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/Fastbyte01/KeepIt).
It is based on the original [LoveIt Theme](https://github.com/dillonzq/LoveIt), [KeepIt Theme](https://github.com/Fastbyte01/KeepIt) and [LeaveIt Theme](https://github.com/liuzc/LeaveIt).
The FixIt theme inherits the excellent features of these themes, and adds new features and optimizations on those basis. Please read [Why Choose FixIt](#why-choose-fixit) to learn more.
![Hugo Theme FixIt](https://github.com/hugo-fixit/FixIt/raw/master/images/Apple-Devices-Preview.png)
![Hugo Theme FixIt](https://fixit.lruihao.cn/images/Apple-Devices-Preview.jpg)
## [Getting started](https://fixit.lruihao.cn/categories/documentation/)
## Getting started
Head to this [documentation page](https://fixit.lruihao.cn/theme-documentation-basics/) for a complete guidence to get started with the FixIt theme.
Head to the [getting started page](http://fixit.lruihao.cn/documentation/getting-started/) or start with a template:
Or run [Documentation Site](https://fixit.lruihao.cn) locally:
- [hugo-fixit/hugo-fixit-blog-git](https://github.com/hugo-fixit/hugo-fixit-blog-git)
- [hugo-fixit/hugo-fixit-blog-go](https://github.com/hugo-fixit/hugo-fixit-blog-go)
```bash
git clone --recursive https://github.com/hugo-fixit/FixIt.git FixIt
cd FixIt
hugo server --source=docs
```
## [Documentation](https://fixit.lruihao.cn/categories/documentation/)
Head to this [documentation page](https://fixit.lruihao.cn/documentation/basics/) for a complete guidence to get started with the FixIt theme.
Or run [Documentation Site](https://fixit.lruihao.cn) locally, see more details from [Contributing](#contributing).
In addition, there is the [FixIt wiki](https://github.com/hugo-fixit/FixIt/wiki).
## Migrate and Update
## Migrate from LoveIt
If you are currently using the LoveIt theme (or some other themes), it is very easy to migrate to FixIt.
You can add this repo as a submodule of your site directory.
You can add this repo as a submodule of your site directory. Alternatively, you can install the theme in [other ways](https://fixit.lruihao.cn/documentation/basics/#install-theme).
```bash
git submodule add https://github.com/hugo-fixit/FixIt.git themes/FixIt
```
Next, go to the `config.toml` and change the default theme to `FixIt`.
And later you can update the submodule in your site directory to the latest commit using this command:
```bash
git submodule update --remote --merge
```
Next, go to the `hugo.toml` and change the default theme to `FixIt`.
```diff
- theme = "LoveIt"
@@ -47,135 +54,115 @@ Next, go to the `config.toml` and change the default theme to `FixIt`.
Now the migration is finished and everything is ready 🎉
---
And later you can update the submodule in your site directory to the latest commit using this command:
```bash
git submodule update --remote --merge
```
Or this shell command:
```bash
sh themes/FixIt/fixit_checker.sh
```
## Why choose FixIt
The FixIt theme inherits the excellent features of themes such as LoveIt, and adds new features and optimizations on those basis, as detailed in [Features](#features). In addition, the FixIt theme has the following advantages:
* Complete Chinese and English official documentations
* Community support: Theme official website, Discussions and official QQ group
* Continuously and actively update
* Constantly incorporate suggestions and ideas from all sides
* Highly open theme customizable section
- Complete Chinese and English official documentations
- Community support: Theme official website, Discussions and official QQ group
- Continuously and actively update
- Constantly incorporate suggestions and ideas from all sides
- Highly open theme customizable section
In short, if you prefer the design language and freedom of the FixIt theme, and if you like to personalize your own themes as I do, the FixIt theme may be more suitable for you.
## Who used FixIt
To see this theme in action, here are some live demo sites which are rendered with **FixIt** theme.
* [FixIt Theme Official Website](https://fixit.lruihao.cn)
* [FixIt Theme Official Website - Preview](https://pre.fixit.lruihao.cn)
* [Lruihao's note](https://lruihao.cn)
* [hiifong's blog](https://52at.ml)
* Add a your site by [making a PR](https://github.com/hugo-fixit/FixIt/pulls) (e.g. [#111](https://github.com/hugo-fixit/FixIt/pull/111))
To see this theme in action, here are some [live demo sites](https://fixit.lruihao.cn/friends/) which are rendered with **FixIt** theme.
## Features
### Performance and SEO
* Optimized for **performance**: 99/100 on mobile and 100/100 on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights)
* Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD
* **[Google Analytics](https://analytics.google.com/analytics)** supported
* **[Fathom Analytics](https://usefathom.com/)** supported
* Search engine **verification** supported (Google, Bind, Yandex and Baidu)
* **CDN** for third-party libraries supported
* Automatically converted images with **Lazy Load** by [lazysizes](https://github.com/aFarkas/lazysizes)
- Optimized for **performance**: 99/100 on mobile and 100/100 on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights)
- Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD
- **[Google Analytics](https://analytics.google.com/analytics)** supported
- **[Fathom Analytics](https://usefathom.com/)** supported
- Search engine **verification** supported (Google, Bing, Yandex, Pinterest, Baidu, 360 and Sogou)
- **CDN** for third-party libraries supported
### Appearance and Layout
* **Responsive** layout
* **Light/Dark** mode
* Globally consistent **design language**
* **Pagination** supported
* Easy-to-use and self-expanding **table of contents**
* **Multilanguage** supported and i18n ready
* Beautiful **CSS animation**
- **Responsive** layout
- **Light/Dark** mode
- Globally consistent **design language**
- **Pagination** supported
- Easy-to-use and self-expanding **table of contents**
- **Multilanguage** supported and i18n ready
- Beautiful **CSS animation**
### Social and Comment Systems
* **Gravatar** supported by [Gravatar](https://gravatar.com)
* Local **Avatar** supported
* Up to **73** social links supported
* Up to **28** share sites supported
* **Disqus** comment system supported by [Disqus](https://disqus.com)
* **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk)
* **Valine** comment system supported by [Valine](https://valine.js.org/)
* **Waline** comment system supported by [Waline](https://waline.js.org/)
* **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/)
* **Telegram comments** system supported by [Telegram Comments](https://comments.app/)
* **Commento** comment system supported by [Commento](https://commento.io/)
* **Utterances** comment system supported by [Utterances](https://utteranc.es/)
* **Artalk** comment system supported by [Artalk](https://artalk.js.org/)
* **Twikoo** comment system supported by [Twikoo](https://twikoo.js.org/)
* **giscus** comment system supported by [giscus](https://giscus.app/)
- **Gravatar** supported by [Gravatar](https://gravatar.com)
- Local **Avatar** supported
- Up to **87** social links supported
- Up to **28** share sites supported
- **Disqus** comment system supported by [Disqus](https://disqus.com)
- **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk)
- **Valine** comment system supported by [Valine](https://valine.js.org/)
- **Waline** comment system supported by [Waline](https://waline.js.org/)
- **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/)
- **Telegram comments** system supported by [Telegram Comments](https://comments.app/)
- **Commento** comment system supported by [Commento](https://commento.io/)
- **Utterances** comment system supported by [Utterances](https://utteranc.es/)
- **Artalk** comment system supported by [Artalk](https://artalk.js.org/)
- **Twikoo** comment system supported by [Twikoo](https://twikoo.js.org/)
- **giscus** comment system supported by [giscus](https://giscus.app/)
### Extended Features
* **PWA (Progressive Web App)** supported
* **Sub Menu** supported
* **Content Encryption** supported (Pages, Partial)
* **Friends** page embedded template
* **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/)
* **Twemoji** supported
* Automatically **highlighting** code
* **Copy code** to clipboard with one click
* **Images gallery** supported by [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons**
* 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/)
* **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
* Kinds of **admonitions** shortcode
* **Custom style** shortcode
* **Custom script** shortcode
* **Animated typing** supported by [TypeIt](https://typeitjs.com/)
* **Cookie consent banner** supported by [cookieconsent](https://github.com/osano/cookieconsent)
* **Web Watermark** supported by [cell-watermark](https://github.com/Lruihao/watermark)
* **Chinese typesetting** supported by [pangu.js](https://github.com/vinta/pangu.js)
* ...
- **PWA (Progressive Web App)** supported
- **Sub Menu** supported
- **Content Encryption** supported (Pages, Partial)
- **Friends** page embedded template
- **Search** supported by [algolia](https://www.algolia.com/) or [Fuse.js](https://fusejs.io/)
- **Twemoji** supported
- Automatically **highlighting** code
- **Copy code** to clipboard with one click
- **Images gallery** supported by [lightgallery](https://github.com/sachinchoolur/lightgallery)
- Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons**
- 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/)
- **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
- Kinds of **admonitions** shortcode
- **Custom style** shortcode
- **Custom script** shortcode
- **Animated typing** supported by [TypeIt](https://typeitjs.com/)
- **Cookie consent banner** supported by [cookieconsent](https://github.com/osano/cookieconsent)
- **Web Watermark** supported by [cell-watermark](https://github.com/Lruihao/watermark)
- **Chinese typesetting** supported by [pangu.js](https://github.com/vinta/pangu.js)
- Options to **cache remote image** locally
- ...
## Multilingual and i18n
FixIt supports the following languages:
* English
* Simplified Chinese
* Traditional Chinese
* French
* Polish
* Brazilian Portuguese
* Italian
* Spanish
* German
* Serbian
* Russian
* Romanian
* Vietnamese
* [Contribute with a new language](https://github.com/hugo-fixit/FixIt/pulls)
- English
- Simplified Chinese
- Traditional Chinese
- French
- Polish
- Brazilian Portuguese
- Italian
- Spanish
- German
- Serbian
- Russian
- Romanian
- Vietnamese
- [Contribute with a new language](https://github.com/hugo-fixit/FixIt/pulls)
[Languages Compatibility](https://fixit.lruihao.cn/theme-documentation-basics/#language-compatibility)
[Languages Compatibility](https://fixit.lruihao.cn/documentation/basics/#language-compatibility)
## [Roadmap](https://github.com/hugo-fixit/FixIt/projects/1)
## [Changelog](https://github.com/hugo-fixit/FixIt/blob/master/CHANGELOG.md)
## [Changelog](/CHANGELOG.md)
## Questions, ideas, bugs, pull requests
@@ -183,57 +170,79 @@ All feedback is welcome! Head over to the [issues](https://github.com/hugo-fixit
## Contributing
Please see [CONTRIBUTING.md](/CONTRIBUTING.md) for getting started with the contribution.
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.
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)
## [Contributors](contributors.md)
## Acknowledgements
<details>
<details open>
<summary>Thanks to the authors of following resources included in the theme:</summary>
* [normalize.css](https://github.com/necolas/normalize.css)
* [Font Awesome](https://fontawesome.com/)
* [Simple Icons](https://github.com/simple-icons/simple-icons)
* [Animate.css](https://daneden.github.io/animate.css/)
* [autocomplete.js](https://github.com/algolia/autocomplete.js)
* [Lunr.js](https://lunrjs.com/)
* [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
* [lazysizes](https://github.com/aFarkas/lazysizes)
* [object-fit-images](https://github.com/fregante/object-fit-images)
* [Twemoji](https://github.com/twitter/twemoji)
* [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* [Sharer.js](https://github.com/ellisonleao/sharer.js)
* [TypeIt](https://typeitjs.com/)
* [KaTeX](https://katex.org/)
* [mermaid](https://github.com/knsv/mermaid)
* [ECharts](https://echarts.apache.org/)
* [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
* [APlayer](https://github.com/MoePlayer/APlayer)
* [MetingJS](https://github.com/metowolf/MetingJS)
* [Gitalk](https://github.com/gitalk/gitalk)
* [Valine](https://valine.js.org/)
* [cookieconsent](https://github.com/osano/cookieconsent)
* [cell-watermark](https://github.com/Lruihao/watermark)
* [pangu.js](https://github.com/vinta/pangu.js)
* [Artalk](https://artalk.js.org/)
* [Waline](https://waline.js.org/)
* [Twikoo](https://twikoo.js.org/)
* [github-corners](https://github.com/tholman/github-corners)
* [giscus](https://giscus.app/)
* [crypto-js](https://github.com/brix/crypto-js)
* [vConsole](https://github.com/Tencent/vConsole)
* [eruda](https://github.com/liriliri/eruda)
- [normalize.css](https://github.com/necolas/normalize.css)
- [Font Awesome](https://fontawesome.com/)
- [Simple Icons](https://github.com/simple-icons/simple-icons)
- [Animate.css](https://daneden.github.io/animate.css/)
- [autocomplete-js](https://github.com/algolia/autocomplete)
- [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
- [Fuse.js](https://fusejs.io/)
- [object-fit-images](https://github.com/fregante/object-fit-images)
- [Twemoji](https://github.com/twitter/twemoji)
- [emoji-data](https://github.com/iamcal/emoji-data)
- [lightgallery](https://github.com/sachinchoolur/lightgallery)
- [Sharer.js](https://github.com/ellisonleao/sharer.js)
- [TypeIt](https://typeitjs.com/)
- [KaTeX](https://katex.org/)
- [mermaid](https://github.com/mermaid-js/mermaid)
- [ECharts](https://echarts.apache.org/)
- [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
- [APlayer](https://github.com/MoePlayer/APlayer)
- [MetingJS](https://github.com/metowolf/MetingJS)
- [Gitalk](https://github.com/gitalk/gitalk)
- [Valine](https://valine.js.org/)
- [cookieconsent](https://github.com/osano/cookieconsent)
- [cell-watermark](https://github.com/Lruihao/watermark)
- [不蒜子](http://busuanzi.ibruce.info/)
- [pangu.js](https://github.com/vinta/pangu.js)
- [Artalk](https://artalk.js.org/)
- [Waline](https://waline.js.org/)
- [Twikoo](https://twikoo.js.org/)
- [github-corners](https://github.com/tholman/github-corners)
- [giscus](https://giscus.app/)
- [crypto-js](https://github.com/brix/crypto-js)
- [vConsole](https://github.com/Tencent/vConsole)
- [eruda](https://github.com/liriliri/eruda)
- [pace](https://github.com/CodeByZach/pace)
</details>
<details open>
<summary>The FixIt also draws on some features of the following projects, and thanks to their authors as well:</summary>
- [DoIt](https://github.com/HEIGE-PCloud/DoIt)
- [NexT](https://github.com/next-theme/hexo-theme-next)
</details>
## License
FixIt is licensed under the **MIT** license. Check the [LICENSE file](https://github.com/hugo-fixit/FixIt/blob/master/LICENSE) for details.
FixIt is licensed under the **MIT** license. Check the [LICENSE file](LICENSE) for details.
## Author
[Lruihao](https://lruihao.cn)
[Lruihao](https://github.com/Lruihao "Follow me on GitHub")
## Sponsor
Giving me a Star 🌟 is already the greatest encouragement and support for me.\
If you enjoy the theme, please consider buying me a coffee ☕️.
- [PayPal](https://paypal.me/Lruihao)
- [Alipay](images/alipay.jpg)
- [Wechat](images/wechatpay.jpg)
Thanks! ❤️
+165 -151
View File
@@ -1,44 +1,51 @@
# 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.84.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](https://github.com/hugo-fixit/FixIt/blob/master/LICENSE)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.112.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](/LICENSE)
[English README](https://github.com/hugo-fixit/FixIt/blob/master/README.md) | 简体中文说明
👉 [English README](README.md) | 简体中文说明
> [FixIt](https://github.com/hugo-fixit/FixIt) 是一个**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。
它的原型基于 [LoveIt 主题](https://github.com/dillonzq/LoveIt), [LeaveIt 主题](https://github.com/liuzc/LeaveIt) 和 [KeepIt 主题](https://github.com/Fastbyte01/KeepIt)。
它的原型基于 [LoveIt 主题](https://github.com/dillonzq/LoveIt)[KeepIt 主题](https://github.com/Fastbyte01/KeepIt) 和 [LeaveIt 主题](https://github.com/liuzc/LeaveIt)。
FixIt 主题继承了这些主题的优秀功能,并在此基础上添加了新的功能与优化,请阅读 [为什么选择 FixIt](#为什么选择-FixIt) 来了解更多。
![Hugo Theme FixIt](https://github.com/hugo-fixit/FixIt/raw/master/images/Apple-Devices-Preview.png)
![Hugo Theme FixIt](https://fixit.lruihao.cn/images/Apple-Devices-Preview.jpg)
## [立即开始](https://fixit.lruihao.cn/zh-cn/categories/documentation/)
## 快速上手
前往这篇 [文档](https://fixit.lruihao.cn/zh-cn/theme-documentation-basics/),阅读关于安装与使用的详细指南。
前往 [快速上手页面](https://fixit.lruihao.cn/zh-cn/documentation/getting-started/) 或从一个模板直接开始:
或者,在本地构建 [文档](https://fixit.lruihao.cn/zh-cn/)
- [hugo-fixit/hugo-fixit-blog-git](https://github.com/hugo-fixit/hugo-fixit-blog-git)
- [hugo-fixit/hugo-fixit-blog-go](https://github.com/hugo-fixit/hugo-fixit-blog-go)
```bash
git clone --recursive https://github.com/hugo-fixit/FixIt.git FixIt
cd FixIt
hugo server --source=docs
```
## [完整文档](https://fixit.lruihao.cn/zh-cn/categories/documentation/)
除此之外,还有[FixIt 主题维基](https://github.com/hugo-fixit/FixIt/wiki)
前往这篇 [文档](https://fixit.lruihao.cn/zh-cn/documentation/basics/),阅读关于安装与使用的详细指南
## 迁移和升级
或者在本地运行 [文档站点](https://fixit.lruihao.cn/zh-cn/),更多细节详见 [参与贡献](#参与贡献)。
除此之外,还有 [FixIt 主题维基](https://github.com/hugo-fixit/FixIt/wiki)。
## 从 LoveIt 迁移
如果你现在正在使用 LoveIt 主题(或者一些其他的主题),你可以很容易地迁移至 FixIt。
你可以将这个主题仓库添加为你的网站目录的子模块。
你可以将这个主题仓库添加为你的网站目录的子模块。或者,你可以通过 [其他方式](https://fixit.lruihao.cn/zh-cn/documentation/basics/#install-theme) 安装主题。
```bash
git submodule add https://github.com/hugo-fixit/FixIt.git themes/FixIt
```
接着,前往 `config.toml` 并将默认主题更改为 `FixIt`
之后,你可以在站点目录通过这条命令来将主题更新至最新版本:
```bash
git submodule update --remote --merge
```
接着,前往 `hugo.toml` 并将默认主题更改为 `FixIt`
```diff
- theme = "LoveIt"
@@ -47,134 +54,115 @@ git submodule add https://github.com/hugo-fixit/FixIt.git themes/FixIt
这样就完成了迁移工作,现在一切准备就绪 🎉
---
之后,你可以在站点目录通过这条命令来将主题更新至最新版本:
```bash
git submodule update --remote --merge
```
或者这条 shell 命令:
```bash
sh themes/FixIt/fixit_checker.sh
```
## 为什么选择 FixIt
FixIt 主题继承了 LoveIt 等主题的优秀功能,并在它们的基础上添加了新的功能与优化,详见 [特性](#特性)。除此之外,FixIt 主题还有以下优点:
* 完善的中英文官方文档
* 社区支持:主题官网、Discussions 和官方 QQ 群
* 持续积极地更新
* 不断收纳各方的建议和想法
* 高度开放主题可自定义部分
- 完善的中英文官方文档
- 社区支持:主题官网、Discussions 和官方 QQ 群
- 持续积极地更新
- 不断收纳各方的建议和想法
- 高度开放主题可自定义部分
总之,如果你更偏好 FixIt 主题的设计语言和自由度,如果你和我一样喜欢个性化自定义主题,那么,FixIt 主题可能是更适合你。
## 谁在用 FixIt
为了直观地浏览主题特性,这里有一些基于 **FixIt** 主题渲染的预览网站。
* [FixIt 主题官网](https://fixit.lruihao.cn/zh-cn/)
* [FixIt 主题官网 - 预览](https://pre.fixit.lruihao.cn/zh-cn/)
* [李瑞豪的博客](https://lruihao.cn)
* [hiifong 的博客](https://52at.ml)
* 你可以通过 [提交 PR](https://github.com/hugo-fixit/FixIt/pulls) 添加你的网站(例如:[#111](https://github.com/hugo-fixit/FixIt/pull/111)
为了直观地浏览主题特性,这里有一些基于 **FixIt** 主题渲染的 [预览网站](https://fixit.lruihao.cn/zh-cn/friends/)
## 特性
### 性能和 SEO
* **性能**优化:在 [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) 中, 99/100 的移动设备得分和 100/100 的桌面设备得分
* 使用基于 JSON-LD 格式 的 **SEO SCHEMA** 文件进行 SEO 优化
* 支持 **[Google Analytics](https://analytics.google.com/analytics)**
* 支持 **[Fathom Analytics](https://usefathom.com/)**
* 支持搜索引擎的**网站验证** (Google, Bind, Yandex and Baidu)
* 支持所有第三方库的 **CDN**
* 基于 [lazysizes](https://github.com/aFarkas/lazysizes) 自动转换图片为**懒加载**
- **性能**优化:在 [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) 中,99/100 的移动设备得分和 100/100 的桌面设备得分
- 使用基于 JSON-LD 格式 的 **SEO SCHEMA** 文件进行 SEO 优化
- 支持 **[Google Analytics](https://analytics.google.com/analytics)**
- 支持 **[Fathom Analytics](https://usefathom.com/)**
- 支持搜索引擎的**网站验证** (Google, Bing, Yandex, Pinterest, Baidu, 360 and Sogou)
- 支持所有第三方库的 **CDN**
### 外观和布局
* **响应式**布局
* **浅色/深色** 主题模式
* 全局一致的**设计语言**
* 支持**分页**
* 易用和自动展开的**文章目录**
* 支持**多语言**和国际化
* 美观的 **CSS 动画**
- **响应式**布局
- **浅色/深色** 主题模式
- 全局一致的**设计语言**
- 支持**分页**
- 易用和自动展开的**文章目录**
- 支持**多语言**和国际化
- 美观的 **CSS 动画**
### 社交和评论系统
* 支持 **[Gravatar](https://gravatar.com)** 头像
* 支持本地**头像**
* 支持多达 **73** 种社交链接
* 支持多达 **28** 种网站分享
* 支持 **[Disqus](https://disqus.com)** 评论系统
* 支持 **[Gitalk](https://github.com/gitalk/gitalk)** 评论系统
* 支持 **[Valine](https://valine.js.org/)** 评论系统
* 支持 **[Waline](https://waline.js.org/)** 评论系统
* 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统
* 支持 **[Telegram comments](https://comments.app/) 评论**系统
* 支持 **[Commento](https://commento.io/)** 评论系统
* 支持 **[Utterances](https://utteranc.es/)** 评论系统
* 支持 **[Artalk](https://artalk.js.org/)** 评论系统
* 支持 **[Twikoo](https://twikoo.js.org/)** 评论系统
* 支持 **[giscus](https://giscus.app/zh-CN/)** 评论系统
- 支持 **[Gravatar](https://gravatar.com)** 头像
- 支持本地**头像**
- 支持多达 **87** 种社交链接
- 支持多达 **28** 种网站分享
- 支持 **[Disqus](https://disqus.com)** 评论系统
- 支持 **[Gitalk](https://github.com/gitalk/gitalk)** 评论系统
- 支持 **[Valine](https://valine.js.org/)** 评论系统
- 支持 **[Waline](https://waline.js.org/)** 评论系统
- 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统
- 支持 **[Telegram comments](https://comments.app/) 评论**系统
- 支持 **[Commento](https://commento.io/)** 评论系统
- 支持 **[Utterances](https://utteranc.es/)** 评论系统
- 支持 **[Artalk](https://artalk.js.org/)** 评论系统
- 支持 **[Twikoo](https://twikoo.js.org/)** 评论系统
- 支持 **[giscus](https://giscus.app/zh-CN/)** 评论系统
### 扩展功能
* 支持**渐进式网页应用**
* 支持**二级菜单**
* 支持**内容加密**(页面、局部)
* 支持**友情链接**的页面模板
* 支持基于 [Lunr.js](https://lunrjs.com/) 或 [algolia](https://www.algolia.com/) 的**搜索**
* 支持 **Twemoji**
* 支持**代码高亮**
* 一键**复制代码**到剪贴板
* 支持基于 [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) 的**图片画廊**
* 支持 **[Font Awesome](https://fontawesome.com/) 图标**的扩展 Markdown 语法
* 支持**上标注释**的扩展 Markdown 语法
* 支持**分数**的扩展 Markdown 语法
* 支持基于 [KaTeX](https://katex.org/) 的**数学公式**
* 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** shortcode
* 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** 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
* 支持多种**注释**的 shortcode
* 支持**自定义样式**的 shortcode
* 支持**自定义脚本**的 shortcode
* 支持基于 [TypeIt](https://typeitjs.com/) 的**打字动画** shortcode
* 支持基于 [cookieconsent](https://github.com/osano/cookieconsent) 的 **Cookie 许可横幅**
* 支持基于 [cell-watermark](https://github.com/Lruihao/watermark) 的**网页水印**
* 支持基于 [pangu.js](https://github.com/vinta/pangu.js) 的**中文排版**
* ...
- 支持**渐进式网页应用**
- 支持**二级菜单**
- 支持**内容加密**(页面、局部)
- 支持**友情链接**的页面模板
- 支持基于 [algolia](https://www.algolia.com/) 或 [Fuse.js](https://fusejs.io/) 的**搜索**
- 支持 **Twemoji**
- 支持**代码高亮**
- 一键**复制代码**到剪贴板
- 支持基于 [lightgallery](https://github.com/sachinchoolur/lightgallery) 的**图片画廊**
- 支持 **[Font Awesome](https://fontawesome.com/) 图标**的扩展 Markdown 语法
- 支持**上标注释**的扩展 Markdown 语法
- 支持**分数**的扩展 Markdown 语法
- 支持基于 [KaTeX](https://katex.org/) 的**数学公式**
- 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** shortcode
- 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** 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
- 支持多种**注释**的 shortcode
- 支持**自定义样式**的 shortcode
- 支持**自定义脚本**的 shortcode
- 支持基于 [TypeIt](https://typeitjs.com/) 的**打字动画** shortcode
- 支持基于 [cookieconsent](https://github.com/osano/cookieconsent) 的 **Cookie 许可横幅**
- 支持基于 [cell-watermark](https://github.com/Lruihao/watermark) 的**网页水印**
- 支持基于 [pangu.js](https://github.com/vinta/pangu.js) 的**中文排版**
- 支持本地**缓存远程图床图片**
- ……
## 多语言和国际化
FixIt 支持下列语言:
* 英语
* 简体中文
* 繁体中文
* 法语
* 波兰语
* 巴西葡萄牙语
* 意大利语
* 西班牙语
* 德语
* 塞尔维亚语
* 俄语
* 罗马尼亚语
* 越南语
* [贡献一种新的语言](https://github.com/hugo-fixit/FixIt/pulls)
- 英语
- 简体中文
- 繁体中文
- 法语
- 波兰语
- 巴西葡萄牙语
- 意大利语
- 西班牙语
- 德语
- 塞尔维亚语
- 俄语
- 罗马尼亚语
- 越南语
- [贡献一种新的语言](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)
## [更新日志](https://github.com/hugo-fixit/FixIt/blob/master/CHANGELOG.md)
## [更新日志](/CHANGELOG.md)
## 问题、想法、bugs 和 PRs
@@ -182,57 +170,83 @@ FixIt 支持下列语言:
## 参与贡献
请参阅 [CONTRIBUTING.md](/CONTRIBUTING.md) 以了解贡献该项目的基本信息。
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 以了解贡献该项目的基本信息。
确保在贡献和参与讨论时遵守 [CODE_OF_CONDUCT.md](/CODE_OF_CONDUCT.md)。
确保在贡献和参与讨论时遵守 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。
**贡献时,请先通过此存储库上的问题讨论希望进行的更改,然后再进行实际更改**
**贡献时,请先通过此存储库上的问题讨论希望进行的更改,然后再进行实际更改**
## [所有贡献者](/contributors.md)
## [所有贡献者](contributors.md)
## 镜像
- Gitee 镜像仓库:<https://gitee.com/lruihao/FixIt>
## 致谢
<details>
<details open>
<summary>FixIt 主题中用到了以下项目,感谢它们的作者:</summary>
* [normalize.css](https://github.com/necolas/normalize.css)
* [Font Awesome](https://fontawesome.com/)
* [Simple Icons](https://github.com/simple-icons/simple-icons)
* [Animate.css](https://daneden.github.io/animate.css/)
* [autocomplete.js](https://github.com/algolia/autocomplete.js)
* [Lunr.js](https://lunrjs.com/)
* [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
* [lazysizes](https://github.com/aFarkas/lazysizes)
* [object-fit-images](https://github.com/fregante/object-fit-images)
* [Twemoji](https://github.com/twitter/twemoji)
* [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* [Sharer.js](https://github.com/ellisonleao/sharer.js)
* [TypeIt](https://typeitjs.com/)
* [KaTeX](https://katex.org/)
* [mermaid](https://github.com/knsv/mermaid)
* [ECharts](https://echarts.apache.org/)
* [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
* [APlayer](https://github.com/MoePlayer/APlayer)
* [MetingJS](https://github.com/metowolf/MetingJS)
* [Gitalk](https://github.com/gitalk/gitalk)
* [Valine](https://valine.js.org/)
* [cookieconsent](https://github.com/osano/cookieconsent)
* [cell-watermark](https://github.com/Lruihao/watermark)
* [pangu.js](https://github.com/vinta/pangu.js)
* [Artalk](https://artalk.js.org/)
* [Waline](https://waline.js.org/)
* [Twikoo](https://twikoo.js.org/)
* [github-corners](https://github.com/tholman/github-corners)
* [giscus](https://giscus.app/zh-CN)
* [crypto-js](https://github.com/brix/crypto-js)
* [vConsole](https://github.com/Tencent/vConsole)
* [eruda](https://github.com/liriliri/eruda)
- [normalize.css](https://github.com/necolas/normalize.css)
- [Font Awesome](https://fontawesome.com/)
- [Simple Icons](https://github.com/simple-icons/simple-icons)
- [Animate.css](https://daneden.github.io/animate.css/)
- [autocomplete-js](https://github.com/algolia/autocomplete)
- [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
- [Fuse.js](https://fusejs.io/)
- [object-fit-images](https://github.com/fregante/object-fit-images)
- [Twemoji](https://github.com/twitter/twemoji)
- [emoji-data](https://github.com/iamcal/emoji-data)
- [lightgallery](https://github.com/sachinchoolur/lightgallery)
- [Sharer.js](https://github.com/ellisonleao/sharer.js)
- [TypeIt](https://typeitjs.com/)
- [KaTeX](https://katex.org/)
- [mermaid](https://github.com/mermaid-js/mermaid)
- [ECharts](https://echarts.apache.org/)
- [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
- [APlayer](https://github.com/MoePlayer/APlayer)
- [MetingJS](https://github.com/metowolf/MetingJS)
- [Gitalk](https://github.com/gitalk/gitalk)
- [Valine](https://valine.js.org/)
- [cookieconsent](https://github.com/osano/cookieconsent)
- [cell-watermark](https://github.com/Lruihao/watermark)
- [不蒜子](http://busuanzi.ibruce.info/)
- [pangu.js](https://github.com/vinta/pangu.js)
- [Artalk](https://artalk.js.org/)
- [Waline](https://waline.js.org/)
- [Twikoo](https://twikoo.js.org/)
- [github-corners](https://github.com/tholman/github-corners)
- [giscus](https://giscus.app/zh-CN)
- [crypto-js](https://github.com/brix/crypto-js)
- [vConsole](https://github.com/Tencent/vConsole)
- [eruda](https://github.com/liriliri/eruda)
- [pace](https://github.com/CodeByZach/pace)
</details>
<details open>
<summary>FixIt 主题还借鉴了以下项目的部分功能,同样感谢它们的作者:</summary>
- [DoIt](https://github.com/HEIGE-PCloud/DoIt)
- [NexT](https://github.com/next-theme/hexo-theme-next)
</details>
## 许可协议
FixIt 根据 **MIT** 许可协议授权。 更多信息请查看 [LICENSE 文件](https://github.com/hugo-fixit/FixIt/blob/master/LICENSE)。
FixIt 根据 **MIT** 许可协议授权。 更多信息请查看 [LICENSE 文件](LICENSE)。
## 作者
[Lruihao](https://lruihao.cn)
[Lruihao](https://github.com/Lruihao "在 GitHub 上关注我")
## 赞助支持
给我一个 Star 🌟 已经是对我最大的鼓励和支持了。\
如果你喜爱这个主题,请考虑给我买杯咖啡 ☕️。
- [PayPal](https://paypal.me/Lruihao)
- [支付宝](images/alipay.jpg)
- [微信支付](images/wechatpay.jpg)
谢谢!❤️
+14
View File
@@ -0,0 +1,14 @@
# Security Policy
## Supported Versions
| Version | Supported | LoveIt Compatibility |
| :-----------: | :----------------: | :------------------: |
| 0.1.x | :x: | :white_check_mark: |
| 0.2.x ~ 0.5.x | :x: | :white_check_mark: |
| 0.5.x ~ 1.0 | :white_check_mark: | :x: |
| > 1.0 | :white_check_mark: | :x: |
## Reporting a Vulnerability
If you want to report a vulnerability, create a new issue at https://github.com/hugo-fixit/FixIt/issues. Any vulnerabilities will be fixed as soon as possible.
+6 -5
View File
@@ -1,8 +1,9 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
date: {{ .Date }}
description: ""
keywords: ""
comment: false
slug: {{ substr .File.UniqueID 0 7 }}
description:
keywords:
draft: true
---
+13 -7
View File
@@ -1,18 +1,22 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
type: "friends"
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
layout: friends
date: {{ .Date }}
description: "{{ .Site.Author.name }}'s friends"
keywords:
- Hugo
- friends tempalate
description: "{{ .Site.Params.author.name }}'s friends"
keywords:
- 'Hugo FixIt'
- 'friends template'
- 友情链接
comment: false
---
<!-- When you set data `friends.yml` in `yourProject/data/` directory, it will be automatically loaded here. -->
---
<!-- You can define additional content below for this page. -->
## Base info
```yaml
@@ -25,7 +29,9 @@ comment: false
## Friendly Reminder
{{< 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)
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.
{{< /admonition >}}
-10
View File
@@ -1,10 +0,0 @@
---
type: "offline"
description: "{{ T "offlineTitle" }} - {{ .Site.Title }}"
keywords:
- PWA
- offline
- 离线
---
<!-- You need do nothing for this page. -->
+26 -28
View File
@@ -1,45 +1,43 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
date: {{ .Date }}
slug: {{ substr .File.UniqueID 0 7 }}
draft: true
author: ""
authorLink: ""
authorEmail: ""
description: ""
keywords: ""
license: ""
author:
name:
link:
email:
avatar:
description:
keywords:
license:
comment: false
weight: 0
tags:
- draft
- draft
categories:
- draft
- draft
hiddenFromHomePage: false
hiddenFromSearch: false
summary: ""
hiddenFromRss: false
hiddenFromRelated: false
summary:
resources:
- name: featured-image
src: featured-image.jpg
- name: featured-image-preview
src: featured-image-preview.jpg
toc:
enable: true
math:
enable: false
- name: featured-image
src: featured-image.jpg
- name: featured-image-preview
src: featured-image-preview.jpg
toc: true
math: false
lightgallery: false
seo:
images: []
password:
message:
repost:
enable: true
url: ""
url:
# See details front matter: /theme-documentation-content/#front-matter
# See details front matter: https://fixit.lruihao.cn/documentation/content-management/introduction/#front-matter
---
<!--more-->
+26 -28
View File
@@ -1,45 +1,43 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
date: {{ .Date }}
slug: {{ substr .File.UniqueID 0 7 }}
draft: true
author: ""
authorLink: ""
authorEmail: ""
description: ""
keywords: ""
license: ""
author:
name:
link:
email:
avatar:
description:
keywords:
license:
comment: false
weight: 0
tags:
- draft
- draft
categories:
- draft
- draft
hiddenFromHomePage: false
hiddenFromSearch: false
summary: ""
hiddenFromRss: false
hiddenFromRelated: false
summary:
resources:
- name: featured-image
src: featured-image.jpg
- name: featured-image-preview
src: featured-image-preview.jpg
toc:
enable: true
math:
enable: false
- name: featured-image
src: featured-image.jpg
- name: featured-image-preview
src: featured-image-preview.jpg
toc: true
math: false
lightgallery: false
seo:
images: []
password:
message:
repost:
enable: true
url: ""
url:
# See details front matter: /theme-documentation-content/#front-matter
# See details front matter: https://fixit.lruihao.cn/documentation/content-management/introduction/#front-matter
---
<!--more-->
+41 -13
View File
@@ -1,3 +1,5 @@
@import "../../lib/normalize/normalize";
html {
font-family: $global-font-family;
font-weight: $global-font-weight;
@@ -33,7 +35,7 @@ html {
::selection {
background-color: $selection-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $selection-color-dark;
}
}
@@ -41,28 +43,54 @@ html {
body {
background-color: $global-background-color;
color: $global-font-color;
@include overflow-wrap(break-word);
scrollbar-color: auto;
@include overflow-wrap(break-word);
&[theme='dark'] {
&::-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;
}
}
img {
@include object-fit(contain);
@include border-radius($global-border-radius/2);
}
iframe {
border: 0;
@include border-radius($global-border-radius);
}
@include ms;
[role='button'] {
cursor: pointer;
}
summary {
cursor: pointer;
}
abbr[title] {
cursor: help;
text-decoration-skip-ink: none;
}
@include link(true, true);
@import '../_partial/mask';
@import '../_partial/icon';
@import '../_partial/details';
@import '../_partial/_widgets';
@import '../_partials/mask';
@import '../_partials/img';
@import '../_partials/icon';
@import '../_partials/details';
@import '../_partials/widgets';
+49
View File
@@ -0,0 +1,49 @@
.breadcrumb-container {
padding-inline: 1rem;
font-size: 0.75rem;
background-color: $global-background-color;
@include z-index(1);
@extend .print-d-none;
[data-theme='dark'] & {
background-color: $global-background-color-dark;
}
&.sticky {
position: sticky;
top: $header-height;
}
.breadcrumb {
display: flex;
flex-wrap: wrap;
padding: 0.5rem 0;
margin: 0 auto;
list-style: none;
border-bottom: 1px inset $global-border-color;
@extend %page-style;
[data-theme='dark'] & {
border-bottom-color: $global-border-color-dark;
}
.breadcrumb-item {
display: flex;
+.breadcrumb-item::before {
content: "/";
display: inline-block;
padding-inline: 0.5rem;
color: $global-font-secondary-color;
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
&.active {
@extend .text-secondary;
}
}
}
}
@@ -28,21 +28,39 @@
display: block;
}
.ms-1 {
margin-left: 0.25rem !important;
.ms-1,
.mx-1 {
margin-left: 0.25em !important;
}
.me-1 {
margin-right: 0.25rem !important;
.me-1,
.mx-1 {
margin-right: 0.25em !important;
}
.ps-1 {
padding-left: 0.25rem !important;
.ps-1,
.px-1 {
padding-left: 0.25em !important;
}
.pe-1 {
padding-right: 0.25rem !important;
.pe-1,
.px-1 {
padding-right: 0.25em !important;
}
@each $color, $value in $theme-colors {
.text-#{$color} {
color: #{$value} !important;
[data-theme='dark'] & {
color: #{darken($value, 5%)} !important;
}
}
}
}
@each $key, $value in $orders {
.order-#{$key} {
order: #{$value} !important;
}
}
.variant-numeric {
font-variant-numeric: tabular-nums lining-nums;
}
@@ -4,8 +4,11 @@ footer {
text-align: center;
line-height: 1.25rem;
padding: 1rem 0;
@extend .print-d-none;
.footer-container {
display: flex;
flex-direction: column;
font-size: 0.875rem;
.footer-line {
@@ -17,10 +20,6 @@ footer {
margin-right: 0.25rem;
}
.fixit-icon {
top: 0.25em;
}
.animate-icon {
color: #dc143c;
animation: icon-animate 1.33s ease-in-out infinite;
@@ -38,23 +37,23 @@ footer {
@keyframes icon-animate {
0%,
100% {
transform: scale(1);
@include transform(scale(1));
}
10%,
30% {
transform: scale(0.9);
@include transform(scale(0.9));
}
20%,
40%,
60%,
80% {
transform: scale(1.1);
@include transform(scale(1.1));
}
50%,
70% {
transform: scale(1.1);
@include transform(scale(1.1));
}
}
@@ -1,15 +1,20 @@
header {
width: 100%;
z-index: 150;
background-color: $header-background-color;
@include z-index(2);
@include transition(box-shadow 0.3s ease);
@extend .print-d-none;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $header-background-color-dark;
}
&:hover {
@include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.1));
[data-theme='dark'] & {
@include box-shadow(0 0 1.5rem 0 rgba(255, 255, 255, 0.1));
}
}
}
@@ -35,6 +40,7 @@ header {
min-height: 1.5em;
height: 1.5em;
vertical-align: middle;
width: auto;
}
.header-title-text {
@@ -60,7 +66,7 @@ header {
font-size: .875em;
color: $global-font-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-color-dark;
}
@@ -75,11 +81,25 @@ header {
font-weight: bold;
color: $menu-active-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $menu-active-color-dark;
}
}
}
.menu-link i {
@include transform(perspective(1rem));
@include transition(transform 0.4s ease);
}
.menu-link:hover i {
@include transform(perspective(1rem) translateZ(0.2rem));
}
&.language-switch,
&.theme-switch {
cursor: pointer;
}
}
}
@@ -133,7 +153,7 @@ header {
padding: 0 2rem 0 2rem;
}
[theme='dark'] & {
[data-theme='dark'] & {
input {
color: $global-font-color-dark;
background-color: $search-background-color-dark;
@@ -147,7 +167,7 @@ header {
.search-button {
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
@@ -162,8 +182,15 @@ header {
}
}
.theme-switch i {
@include transform(rotate(225deg));
.theme-switch {
i {
@include transform(rotate(225deg));
@include transition(transform 0.4s ease);
}
&:hover i {
@include transform(rotate(45deg));
}
}
#header-desktop {
@@ -174,7 +201,7 @@ header {
line-height: $header-height;
box-sizing: border-box;
[header-desktop='normal'] & {
[data-header-desktop='normal'] & {
position: static;
}
@@ -188,7 +215,7 @@ header {
padding: 0 2rem 0 MAX(10vh, $header-height);
height: 100%;
&[github-corner='right'] {
&[data-github-corner='right'] {
padding-right: $header-height;
}
@@ -203,9 +230,13 @@ header {
flex-wrap: nowrap;
float: right;
>.menu-item:hover {
& .sub-menu {
>.menu-item {
&:hover .sub-menu {
display: block;
@include transform(translateX(-0.5rem));
}
&.language-switch:hover .sub-menu {
@include transform(translateX(calc(1.75rem - 100%)));
}
}
@@ -216,20 +247,15 @@ header {
width: 0;
margin: 0.125rem 0.25rem;
padding: 0;
border-left: 1px dashed lighten($global-font-secondary-color, 20%);
border-left: 1px dashed lighten($global-font-secondary-color, 15%);
[theme='dark'] & {
border-left-color: darken($global-font-secondary-color-dark, 20%);
[data-theme='dark'] & {
border-left-color: darken($global-font-secondary-color-dark, 15%);
}
}
&.language {
margin-right: 0;
}
}
.sub-menu {
z-index: 160;
position: absolute;
margin: 0;
padding: 0.25rem 0;
@@ -239,14 +265,14 @@ header {
border: 1px solid $global-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));
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $header-background-color-dark;
border-color: $global-border-color-dark;
@include box-shadow(0 0 1.5rem 0 rgba(255, 255, 255, 0.1));
}
@include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.1));
.menu-item {
height: $header-height*0.5;
line-height: $header-height*0.5;
@@ -273,7 +299,7 @@ header {
min-height: $header-height;
line-height: $header-height;
[header-mobile='normal'] & {
[data-header-mobile='normal'] & {
position: static;
}
@@ -304,7 +330,7 @@ header {
@include border-radius(3px);
@include transition(all 0.3s ease-in-out);
[theme='dark'] & {
[data-theme='dark'] & {
background: $global-font-color-dark;
}
}
@@ -337,9 +363,18 @@ header {
background: $header-background-color;
border-top: 2px solid $global-border-color;
display: none;
padding: 0.5rem 0 0;
overflow-y: overlay;
max-height: 70vh;
@include box-shadow(0 0.125rem 0.25rem rgba(0, 0, 0, 0.1));
[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;
justify-content: space-between;
@@ -347,6 +382,14 @@ header {
box-sizing: border-box;
padding: ($header-height - 2.5rem) / 2 1rem;
line-height: 2.5rem;
position: sticky;
top: 0;
background-color: $header-background-color;
@include z-index(0, 50);
[data-theme='dark'] & {
background-color: $header-background-color-dark;
}
}
.search {
@@ -378,10 +421,10 @@ header {
line-height: 2.5rem;
padding: 0 1rem;
&:hover {
&:not(.menu-system):hover {
background-color: lighten($global-font-secondary-color, 24%);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: darken($global-font-secondary-color-dark, 24%);
}
}
@@ -403,19 +446,37 @@ header {
max-width: 80%;
}
}
&.theme-switch,
&.language {
text-align: center;
}
.menu-system {
display: flex;
justify-content: center;
gap: 0.25rem;
position: sticky;
bottom: 0;
line-height: 2.5rem;
padding: 0 1rem;
background-color: $header-background-color;
[data-theme='dark'] & {
background-color: $header-background-color-dark;
}
.language-select {
position: absolute;
opacity: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
.menu-system-item {
padding-inline: 0.5rem;
}
.language-switch {
position: relative;
.language-select {
position: absolute;
opacity: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
}
}
@@ -430,7 +491,7 @@ header {
.menu-item:hover {
background-color: lighten($global-font-secondary-color, 20%);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: darken($global-font-secondary-color-dark, 20%);
}
}
@@ -440,7 +501,7 @@ header {
display: block;
}
[theme='dark'] & {
[data-theme='dark'] & {
background: $header-background-color-dark;
border-top-color: $global-border-color-dark;
}
@@ -469,10 +530,14 @@ header {
.search-dropdown {
position: fixed;
z-index: 200;
top: $header-height;
@include z-index(2);
@include box-shadow(0 0.125rem 0.25rem rgba(0, 0, 0, 0.1));
[data-theme='dark'] & {
@include box-shadow(0 0.125rem 0.25rem rgba(255, 255, 255, 0.1));
}
&.desktop {
right: 2rem;
width: 30rem;
@@ -487,7 +552,7 @@ header {
right: 0 !important;
background-color: $global-background-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $global-background-color-dark;
}
@@ -514,7 +579,7 @@ header {
text-align: right;
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
@@ -528,7 +593,7 @@ header {
@include overflow-wrap(break-word);
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
@@ -537,7 +602,7 @@ header {
font-style: normal;
background-color: $selection-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $selection-color-dark;
}
}
@@ -545,7 +610,7 @@ header {
&.cursor {
background: darken($code-background-color, 5%);
[theme='dark'] & {
[data-theme='dark'] & {
background: lighten($code-background-color-dark, 5%);
}
}
@@ -563,7 +628,7 @@ header {
.search-query {
font-weight: bold;
[theme='dark'] & {
[data-theme='dark'] & {
color: #ddd;
}
}
@@ -575,7 +640,7 @@ header {
font-size: 0.8rem;
color: $global-font-secondary-color;
[theme='dark'] {
[data-theme='dark'] {
color: $global-font-secondary-color-dark;
}
+21 -7
View File
@@ -8,20 +8,34 @@
main {
flex: 1 0 auto;
aside:first-child {
order: 2;
aside {
flex: 1;
padding: 0.5rem;
&:not(:has(~ aside)) {
display: none;
}
}
&.container {
display: flex;
align-items: flex-start;
justify-content: center;
padding: 0 1rem;
}
padding-inline: 1rem;
gap: 0.5rem;
&.container-reverse {
@extend .container;
flex-direction: row-reverse;
&.container-reverse {
flex-direction: row-reverse;
}
&:has(.home:not(.posts)) {
align-items: center;
}
}
}
}
@import "_header";
@import "_breadcrumb";
@import "_footer";
@import "_pagination";
+58 -68
View File
@@ -1,64 +1,36 @@
@media only screen and (min-width: 1441px) {
.page {
%page-style {
width: 60%;
[page-style='wide'] & {
[data-page-style='wide'] & {
width: 64%;
}
[page-style='narrow'] & {
[data-page-style='narrow'] & {
max-width: 800px;
}
}
aside {
width: 20%;
[page-style='wide'] & {
width: 18%;
}
[page-style='narrow'] & {
width: calc(50% - 400px);
}
}
}
@media only screen and (max-width: 1440px) {
.page {
%page-style {
width: 56%;
[page-style='wide'] & {
[data-page-style='wide'] & {
width: 60%;
}
}
aside {
width: 22%;
[page-style='wide'] & {
width: 20%;
}
}
}
@media only screen and (max-width: 1200px) {
.page {
%page-style {
width: 52%;
[page-style='wide'] & {
[data-page-style='wide'] & {
width: 56%;
}
}
aside {
width: 24%;
[page-style='wide'] & {
width: 22%;
}
}
#header-desktop .header-wrapper {
padding-right: 1rem;
}
@@ -69,6 +41,10 @@
}
@media only screen and (max-width: 960px) {
%page-style {
width: 80% !important;
}
aside {
display: none !important;
}
@@ -77,15 +53,28 @@
display: block;
}
.page {
width: 80% !important;
}
#header-desktop .header-wrapper {
padding-left: 1rem;
}
}
@media only screen and (min-width: 681px) {
.breadcrumb-container.sticky {
body:not([data-header-desktop='sticky']) & {
top: 0;
}
// adjust the scroll margin top of the content anchors on the page
body:not([data-header-desktop='auto']) &+.container .content [id] {
scroll-margin-top: calc(var(--#{$prefix}scroll-mt) + var(--#{$prefix}breadcrumb-height));
}
}
[data-header-desktop='normal'] .page .content [id] {
--#{$prefix}scroll-mt: #{$global-scroll-margin-top};
}
}
@media only screen and (max-width: 680px) {
#header-desktop {
display: none;
@@ -100,18 +89,27 @@
display: none !important;
}
.page {
width: 100% !important;
.content {
[id] {
[header-mobile='normal'] & {
scroll-margin-top: 0;
}
}
.breadcrumb-container.sticky {
body:not([data-header-mobile='sticky']) & {
top: 0;
}
// adjust the scroll margin top of the content anchors on the page
body:not([data-header-mobile='auto']) &+.container .content [id] {
scroll-margin-top: calc(var(--#{$prefix}scroll-mt) + var(--#{$prefix}breadcrumb-height));
}
}
.categories-card {
[data-header-mobile='normal'] .page .content [id] {
--#{$prefix}scroll-mt: #{$global-scroll-margin-top};
}
%page-style {
width: 100% !important;
}
.page {
.categories-card,
.collections-card {
.card-item {
width: 100%;
}
@@ -123,6 +121,10 @@
font-size: 0.618rem;
}
}
.pagination .page-item {
margin: 0 5px;
}
}
@media only print {
@@ -135,10 +137,12 @@
width: 100% !important;
padding-top: 0 !important;
.single-title,
.single-subtitle,
.post-meta {
text-align: center;
&.single {
.single-title,
.single-subtitle,
.post-meta {
text-align: center;
}
}
h1:not(.single-title),
@@ -151,21 +155,7 @@
}
}
.print-d-none,
header,
footer .footer-line:not(.powered):not(.copyright),
#toc-auto,
.comment-visitors,
.comment-count,
.code-header>.ellipses,
.code-header>.edit,
.code-header>.copy,
.post-info-share,
.post-info-more section:last-child,
.post-nav,
#fixed-buttons,
#comments,
.github-corner {
.print-d-none {
display: none !important;
}
}
@@ -2,10 +2,11 @@
display: flex;
flex-direction: row;
justify-content: center;
flex-wrap: wrap;
list-style: none;
white-space: nowrap;
width: 100%;
padding: 1rem 0 0;
padding: 1rem 0;
a {
font-size: 0.8rem;
@@ -16,14 +17,14 @@
text-decoration: none;
@include transition(0.3s);
[theme='dark'] & {
[data-theme='dark'] & {
color: $pagination-link-color-dark;
}
}
li {
padding-bottom: 3px;
margin: 0 20px;
padding: 5px;
margin: 0 10px;
box-sizing: border-box;
position: relative;
display: inline;
@@ -36,12 +37,12 @@
color: $pagination-link-hover-color;
}
[theme='dark'] &:hover a {
[data-theme='dark'] &:hover a {
color: $pagination-link-hover-color-dark;
}
&:before,
&:after {
&::before,
&::after {
position: absolute;
content: '';
width: 0;
@@ -51,27 +52,22 @@
bottom: 0px;
}
[theme='dark'] &:before,
[theme='dark'] &:after {
[data-theme='dark'] &::before,
[data-theme='dark'] &::after {
background: $pagination-link-hover-color-dark;
}
&:before .active,
&:after .active {
width: 100%;
}
&:before {
&::before {
left: 50%;
}
&:after {
&::after {
right: 50%;
}
&:hover {
&:before,
&:after {
&::before,
&::after {
width: 50%;
}
}
@@ -81,13 +77,13 @@
color: $pagination-link-hover-color;
}
[theme='dark'] & a {
[data-theme='dark'] & a {
color: $pagination-link-hover-color-dark;
}
&:before,
&:after {
width: 60%;
&::before,
&::after {
width: 50%;
}
}
}
+20
View File
@@ -0,0 +1,20 @@
/* Resolve style conflicts between third-party plugins */
@keyframes #{$prefix}pulse {
from {
@include transform(scale3d(1, 1, 1));
}
50% {
@include transform(scale3d(1.05, 1.05, 1.05));
}
to {
@include transform(scale3d(1, 1, 1));
}
}
.animate__pulse {
-webkit-animation-name: #{$prefix}pulse !important;
animation-name: #{$prefix}pulse !important;
}
+17
View File
@@ -0,0 +1,17 @@
:root {
// Note: Custom variable values only support SassScript inside `#{}`.
// Theme colors varibles
@each $color, $value in $theme-colors {
--#{$prefix}#{$color}: #{$value};
}
@each $color, $value in $theme-colors {
--#{$prefix}#{$color}-dark: #{darken($value, 5%)};
}
// Scroll margin top and Stack sticky top related
--#{$prefix}scroll-mt: calc(#{$header-height} + #{$global-scroll-margin-top});
// Set breadcrumb height to 0px if breadcrumb is disabled
--#{$prefix}breadcrumb-height: 0px;
}
+6 -9
View File
@@ -18,7 +18,6 @@
@mixin transform($value) {
-webkit-transform: $value;
-moz-transform: $value;
-ms-transform: $value;
-o-transform: $value;
transform: $value;
@@ -26,8 +25,6 @@
@mixin filter($value) {
-webkit-filter: $value;
-moz-filter: $value;
-ms-filter: $value;
filter: $value;
}
@@ -97,14 +94,14 @@
line-break: $value;
}
@mixin ms {
input::-ms-clear {
display: none;
}
}
@mixin object-fit($value) {
-o-object-fit: $value;
object-fit: $value;
font-family: 'object-fit: #{$value};';
}
@mixin user-select($value) {
-webkit-user-select: $value !important;
-moz-user-select: $value !important;
user-select: $value !important;
}
+1
View File
@@ -2,3 +2,4 @@
@import '_link';
@import '_blur';
@import '_details';
@import '_z-index';
+38 -8
View File
@@ -1,22 +1,52 @@
@mixin link($light, $dark) {
/**
* Link mixin
* @param {Boolean} $light use global link color
* @param {Boolean} $dark use global link color dark
* @param {String} $decoration text-decoration, default none
*/
@mixin link($light, $dark, $decoration: none) {
a,
a::before,
a::after {
text-decoration: none;
text-decoration: $decoration;
color: if($light, $global-link-color, $single-link-color);
@if $light {
color: $global-link-color;
}
[theme='dark'] & {
color: if($dark, $global-link-color-dark, $single-link-color-dark);
@else {
color: $single-link-color;
}
[data-theme='dark'] & {
@if $dark {
color: $global-link-color-dark;
}
@else {
color: $single-link-color-dark;
}
}
}
a:active,
a:hover {
color: if($light, $global-link-hover-color, $single-link-hover-color);
@if $light {
color: $global-link-hover-color;
}
[theme='dark'] & {
color: if($dark, $global-link-hover-color-dark, $single-link-hover-color-dark);
@else {
color: $single-link-hover-color;
}
[data-theme='dark'] & {
@if $dark {
color: $global-link-hover-color-dark;
}
@else {
color: $single-link-hover-color-dark;
}
}
}
}
+3
View File
@@ -0,0 +1,3 @@
@mixin z-index($level, $diff: 0) {
z-index: ($level * 100) + $diff;
}
+3 -4
View File
@@ -9,10 +9,9 @@
}
.single-subtitle {
margin: 0.4rem 0;
margin: 0.5rem 0;
font-size: 1.2rem;
font-weight: normal;
font-style: italic;
line-height: 100%;
text-align: right;
}
@@ -23,6 +22,6 @@
margin-bottom: 1rem;
}
@import '../_partial/_archive/terms';
@import '../_partial/_archive/tags';
@import '../_partials/_archive/terms';
@import '../_partials/_archive/tags';
}
+1 -1
View File
@@ -34,7 +34,7 @@
}
.friend-link:hover {
background: #fff;
transform: scale(1.03);
@include transform(scale(1.03));
box-shadow: 0 0 3px #aaa;
}
.friend-avatar {
+23 -14
View File
@@ -1,7 +1,5 @@
.home {
.home-profile {
@include transform(translateY(16vh));
padding: 0 0 0.5rem;
text-align: center;
.home-avatar {
@@ -16,6 +14,10 @@
@include box-shadow(0 0 0 0.3618em rgba(0, 0, 0, 0.05));
@include transition(all 0.4s ease);
[data-theme='dark'] & {
@include box-shadow(0 0 0 0.3618em rgba(255, 255, 255, 0.05));
}
&:hover {
position: relative;
@include transform(translateY(-0.75rem));
@@ -27,7 +29,10 @@
font-size: 1.25rem;
font-weight: bold;
margin: 0;
padding: 0.5rem;
&:not(:empty) {
padding: 0.5rem;
}
}
.home-subtitle {
@@ -59,17 +64,16 @@
padding: 0.5rem;
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
}
}
.home[posts] {
.home.posts {
.home-profile {
@include transform(translateY(0));
padding-top: 2rem;
padding: 2rem 0;
}
.home-avatar img {
@@ -82,7 +86,11 @@
color: $global-font-color;
border-bottom: 1px dashed $global-border-color;
[theme='dark'] & {
&:first-of-type {
padding-top: 0;
}
[data-theme='dark'] & {
color: $global-font-color-dark;
border-bottom: 1px dashed $global-border-color-dark;
}
@@ -100,10 +108,6 @@
height: 100%;
left: 0;
top: 0;
@include object-fit(none);
}
img.lazyloaded {
@include object-fit(cover);
}
@@ -128,7 +132,7 @@
@include overflow-wrap(break-word);
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
@@ -158,7 +162,7 @@
strong {
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
@@ -177,6 +181,11 @@
padding: 0;
@include link(true, true);
.post-tag:not(:last-child)::after {
content: ',';
margin-right: 0.25rem;
}
}
}
}
+2 -5
View File
@@ -1,13 +1,10 @@
.page {
position: relative;
@extend %page-style;
.content {
[id] {
scroll-margin-top: $header-height;
[header-desktop='normal'] & {
scroll-margin-top: 0;
}
scroll-margin-top: var(--#{$prefix}scroll-mt);
}
}
+143 -73
View File
@@ -1,5 +1,6 @@
@import '../_partial/_single/toc';
@import '../_partial/_single/fixit-decryptor';
@import '../_partials/_single/toc';
@import '../_partials/_single/fixit-decryptor';
@import '../_partials/_single/collections';
.single {
.single-title {
@@ -8,20 +9,27 @@
font-size: 1.6rem;
font-weight: bold;
line-height: 140%;
.icon-repost {
color: var(--#{$prefix}success);
.icon-pin {
display: inline-block;
width: max-content;
margin-right: 0.25rem;
transform: rotate(30deg);
margin-right: 0.25em;
@extend .text-danger;
}
.icon-repost {
display: inline-block;
width: max-content;
margin-right: 0.25em;
@extend .text-success;
}
}
.single-subtitle {
margin: 0.4rem 0;
margin: 0.5rem 0;
font-size: 1.2rem;
font-weight: normal;
font-style: italic;
line-height: 100%;
}
@@ -29,11 +37,16 @@
font-size: 0.875rem;
color: $global-font-secondary-color;
.comment-visitors,
.comment-count {
@extend .print-d-none;
}
span {
display: inline-block;
}
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
@@ -41,7 +54,7 @@
.author {
font-size: 1.05rem;
img.avatar {
width: 1.3rem;
height: 1.3rem;
@@ -52,7 +65,7 @@
object-position: center;
@include object-fit(cover);
[theme='dark'] & {
[data-theme='dark'] & {
border-color: $global-border-color-dark;
}
}
@@ -64,15 +77,21 @@
img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 0 auto;
overflow: hidden;
}
}
img.lazyloaded {
width: 100%;
}
#content[data-end-flag]:not([data-password])::after {
content: attr(data-end-flag);
display: block;
text-align: center;
color: $global-font-secondary-color;
font-size: 15px;
padding: 5px;
}
.content {
@@ -117,7 +136,7 @@
font-weight: bold;
margin: 1.2rem 0;
[theme='dark'] & {
[data-theme='dark'] & {
font-weight: bolder;
}
}
@@ -127,18 +146,18 @@
> h4,
> h5,
> h6 {
> .header-mark::before {
> .heading-mark::before {
content: '|';
margin-right: 0.3125rem;
color: $single-link-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $single-link-color-dark;
}
}
}
> h2 > .header-mark::before {
> h2 > .heading-mark::before {
content: '#';
}
@@ -150,7 +169,7 @@
strong {
font-weight: bold;
[theme='dark'] & {
[data-theme='dark'] & {
color: #ddd;
}
}
@@ -161,27 +180,36 @@
white-space: normal;
@include overflow-wrap(break-word);
[theme='dark'] & b,
[theme='dark'] & strong {
[data-theme='dark'] & b,
[data-theme='dark'] & strong {
color: $single-link-color-dark;
}
}
[theme='dark'] a:hover b,
[theme='dark'] a:hover strong {
[data-theme='dark'] a:hover b,
[data-theme='dark'] a:hover strong {
color: $single-link-hover-color-dark;
}
ul,
ol {
margin: 0.5rem 0;
padding-left: 2.5rem;
ol,
dl {
margin-block: 0.5em;
}
ul {
list-style-type: disc;
}
dl {
dt {
margin-bottom: 0.5em;
}
dd {
margin-inline-start: 1.25em;
}
}
ruby {
background: $code-background-color;
@@ -189,7 +217,7 @@
color: $global-font-secondary-color;
}
[theme='dark'] & {
[data-theme='dark'] & {
background: $code-background-color-dark;
rt {
@@ -204,7 +232,7 @@
&::-webkit-scrollbar {
background-color: $table-background-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $table-background-color-dark;
}
}
@@ -217,14 +245,14 @@
background: $table-background-color;
border-collapse: collapse;
[theme='dark'] & {
[data-theme='dark'] & {
background: $table-background-color-dark;
}
thead {
background: $table-thead-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $table-thead-color-dark;
}
}
@@ -233,15 +261,15 @@
& tr:nth-child(odd) {
background: darken($table-background-color, 2.25%);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: lighten($table-background-color-dark, 2.75%);
}
}
& tr:hover {
background: darken($table-background-color, 4.5%);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: lighten($table-background-color-dark, 5.5%);
}
}
@@ -252,7 +280,7 @@
padding: 0.3rem 1rem;
border: 1px solid darken($table-thead-color, 2%);
[theme='dark'] & {
[data-theme='dark'] & {
border-color: darken($table-thead-color-dark, 2%);
}
}
@@ -262,6 +290,36 @@
img {
max-width: 100%;
min-height: 1em;
&:not([height]) {
height: auto;
}
&[loading='lazy'][srcset]:not([data-lazyloaded]) {
&:not(.suffix-invalid__small) {
width: var(--width-small, var(--width));
aspect-ratio: var(--aspect-ratio-small, var(--aspect-ratio));
}
&:not(.suffix-invalid) {
@media (min-resolution: 1.01dppx) and (max-resolution: 1.5dppx) {
width: calc(var(--width) / 1.5);
aspect-ratio: var(--aspect-ratio);
}
}
&:not(.suffix-invalid__large) {
@media (min-resolution: 1.51dppx) {
width: calc(var(--width-large, var(--width)) / 2);
aspect-ratio: var(--aspect-ratio-large, var(--aspect-ratio));
}
}
}
&.version {
height: 1.25em;
vertical-align: text-bottom;
}
}
svg {
max-width: 100%;
@@ -283,16 +341,11 @@
img {
display: block;
height: auto;
margin: 0 auto;
overflow: hidden;
}
}
.lazyloading {
@include object-fit(none);
}
blockquote {
display: block;
border-left: 0.25em solid $global-border-color;
@@ -305,7 +358,11 @@
padding-left: 1.5em;
}
[theme='dark'] & {
dl dd {
margin-inline-start: 0.25em;
}
[data-theme='dark'] & {
color: $blockquote-color-dark;
border-left-color: $global-border-color-dark;
}
@@ -313,11 +370,40 @@
@include link(false, true);
}
.footnotes {
color: $global-font-secondary-color;
sup[id^='fnref:']:has(.footnote-ref) {
padding: 2px 4px;
background-color: rgba(238, 238, 238, 0.7);
color: #555555;
border-radius: 4px;
cursor: pointer;
[theme='dark'] & {
color: $global-font-secondary-color-dark;
[data-theme='dark'] & {
background-color: rgba(56, 139, 253, 0.1);
color: #58a6ff;
}
@include link(true, false);
}
.footnotes {
font-size: 0.75rem;
white-space: normal;
color: darken($global-font-secondary-color, 5%);
ol {
margin-block: 1em;
padding-left: 1rem;
}
a:not(.footnote-backref) {
color: inherit;
text-decoration: underline;
}
@include link(false, true);
[data-theme='dark'] & {
color: lighten($global-font-secondary-color-dark, 5%);
}
p {
@@ -325,17 +411,17 @@
}
}
@import '../_partial/_single/code';
@import '../_shortcodes/index';
@import '../_partials/_single/code';
@import '../_shortcodes';
hr {
margin: 1rem 0;
margin-block: 1em;
position: relative;
border-top: 1px dashed $global-border-color;
border-top: 1px dashed darken($global-border-color, 5%);
border-bottom: none;
[theme='dark'] & {
border-top: 1px dashed $global-border-color-dark;
[data-theme='dark'] & {
border-top: 1px dashed lighten($global-border-color-dark, 5%);
}
}
@@ -344,40 +430,24 @@
padding: 0 0.25rem;
background-color: $global-background-color;
border: 1px solid $global-border-color;
border-bottom-color: $global-border-color;
@include border-radius($global-border-radius);
@include box-shadow(inset 0 -1px 0 $global-border-color);
font-size: 0.8rem;
font-family: $code-font-family;
color: $code-color;
@include border-radius($global-border-radius);
@include box-shadow(inset 0 -1px 0 $global-border-color);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $global-background-color-dark;
border: 1px solid $global-border-color-dark;
border-bottom-color: $global-border-color-dark;
@include box-shadow(inset 0 -1px 0 $global-border-color-dark);
color: $code-color-dark;
@include box-shadow(inset 0 -1px 0 $global-border-color-dark);
}
}
.typeit {
.code {
padding: 0.375rem;
font-size: 0.875rem;
font-family: $code-font-family;
font-weight: bold;
word-break: break-all;
}
}
.version {
height: 1.25em;
vertical-align: text-bottom;
}
}
@import '../_partial/_single/footer';
@import '../_partial/_single/comment';
@import '../_partials/_single/reward';
@import '../_partials/_single/footer';
@import '../_partials/_single/comment';
}
.lg-toolbar .lg-icon::after {
-27
View File
@@ -1,27 +0,0 @@
.tag-cloud-tags {
margin: 10px 0;
@include link(true, true);
a {
display: inline-block;
position: relative;
margin: 5px 10px;
@include overflow-wrap(break-word);
@include transition(all ease-out 0.3s);
&:active,
&:focus,
&:hover {
@include transform(scale(1.2));
}
sup {
color: $global-font-secondary-color;
[theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
}
}
@@ -1,3 +0,0 @@
#comments {
padding: 8rem 0 2rem;
}
-170
View File
@@ -1,170 +0,0 @@
.toc {
.toc-title {
font-size: $toc-title-font-size;
font-weight: bold;
text-transform: uppercase;
}
.toc-content {
font-size: $toc-content-font-size;
ul {
text-indent: -0.8rem;
padding-left: 0.8rem;
list-style: none;
a:first-child::before {
content: '|';
font-weight: bolder;
margin-right: 0.5rem;
color: $single-link-color;
[theme='dark'] & {
color: $single-link-color-dark;
}
}
ul {
padding-left: 1.5rem;
}
}
}
ruby {
background: $code-background-color;
rt {
color: $global-font-secondary-color;
}
[theme='dark'] & {
background: $code-background-color-dark;
rt {
color: $global-font-secondary-color-dark;
}
}
}
}
#toc-auto {
display: block;
position: sticky;
top: $header-height + 0.5rem;
padding-left: 1rem;
padding-right: 1rem;
@include overflow-wrap(break-word);
box-sizing: border-box;
visibility: hidden;
@include blur;
.toc-title {
margin: 0.5rem 0;
cursor: pointer;
&::before {
content: '|';
font-weight: bolder;
margin-right: 0.5rem;
color: $global-border-color;
[theme='dark'] & {
color: $global-border-color-dark;
}
}
i.toc-icon {
@include transition(transform 0.2s ease);
}
}
&.toc-hidden i.toc-icon {
@include transform(rotate(-90deg));
@include transition(transform 0.2s ease);
}
.toc-content {
overflow-y: scroll;
max-height: calc(100vh - #{2*$header-height});
&.always-active ul {
display: block;
}
> nav > ul {
margin: 0;
}
ul {
ul {
display: none;
}
.has-active > ul {
display: block;
}
}
a.active {
font-weight: bold;
color: $single-link-color;
[theme='dark'] & {
color: $single-link-color-dark;
}
&::before {
color: $single-link-hover-color;
[theme='dark'] & {
color: $single-link-hover-color-dark;
}
}
}
}
}
#toc-static {
display: none;
margin: 0.8rem 0;
&[kept='true'] {
display: block;
}
.toc-title {
display: flex;
justify-content: space-between;
line-height: 2em;
padding: 0 0.75rem;
background: darken($code-background-color, 3%);
[theme='dark'] & {
background: darken($code-background-color-dark, 6%);
}
}
.toc-content {
background-color: $code-background-color;
> nav > ul {
margin: 0;
padding: 0.4rem 1rem 0.4rem 1.8rem;
}
[theme='dark'] & {
background-color: $code-background-color-dark;
}
}
&.open {
.toc-title {
background: darken($code-background-color, 6%);
[theme='dark'] & {
background: darken($code-background-color-dark, 3%);
}
}
}
}
-3
View File
@@ -1,3 +0,0 @@
@import '_cookieconsent';
@import '_fixed-button';
@import '_github-corner';
+69
View File
@@ -0,0 +1,69 @@
.tag-cloud-tags {
margin: 10px 0;
@include link(true, true);
a {
display: inline-block;
position: relative;
margin: 5px 10px;
@include overflow-wrap(break-word);
@include transition(all ease-out 0.3s);
&:active,
&:focus,
&:hover {
@include transform(scale(1.2));
sup {
color: $global-font-color;
@include transition(all ease-out 0.3s);
[data-theme='dark'] & {
color: $global-font-color-dark;
}
}
}
sup {
color: $global-font-secondary-color;
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
}
}
@for $grade from 0 through 10 {
$tag-cloud-color: mix($tag-cloud-end, $tag-cloud-start, $grade * 10);
$tag-cloud-color-dark: mix($tag-cloud-end-dark, $tag-cloud-start-dark, $grade * 10);
.tag-cloud-#{$grade} {
color: $tag-cloud-color!important;
font-size: var(--tag-font);
margin: 10px!important;
&:active,
&:focus,
&:hover {
color: $global-link-hover-color!important;
[data-theme='dark'] & {
color: $global-link-hover-color-dark;
}
sup {
opacity: 1;
}
}
[data-theme='dark'] & {
color: $tag-cloud-color-dark!important;
}
sup {
opacity: 0;
}
}
}
@@ -1,4 +1,5 @@
.categories-card {
.categories-card,
.collections-card {
margin: 0 auto;
display: flex;
align-items: flex-start;
@@ -60,7 +61,7 @@
background-color: transparent;
}
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-link-color-dark;
&:hover {
@@ -75,7 +76,7 @@
white-space: nowrap;
font-variant-numeric: tabular-nums lining-nums;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
@@ -11,7 +11,7 @@
color: $global-font-secondary-color;
@include transition(transform 0.2s ease);
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
@@ -10,17 +10,19 @@ svg.icon {
}
img.emoji {
display: inline-block;
height: 1em;
width: 1em;
margin: 0 0.05em 0 0.1em;
vertical-align: -0.1em;
}
.hugo-icon,
.fixit-icon {
display: inline-block;
height: 1.5em;
width: 1.5em;
line-height: 1.5em;
height: 1.2em;
width: 1.2em;
line-height: 1.2em;
position: relative;
vertical-align: text-bottom;
}
+3
View File
@@ -0,0 +1,3 @@
img {
@include border-radius($global-border-radius/2);
}
@@ -0,0 +1,15 @@
// Color map of admonition [$type $color $background-color, ... ]
$admonition-color-map:
'note' #448aff rgba(68, 138, 255, 0.1),
'abstract' #00b0ff rgba(0, 176, 255, 0.1),
'info' #00b8d4 rgba(0, 184, 212, 0.1),
'tip' #00bfa5 rgba(0, 191, 165, 0.1),
'success' #00c853 rgba(0, 200, 83, 0.1),
'question' #64dd17 rgba(100, 221, 23, 0.1),
'warning' #ff9100 rgba(255, 145, 0, 0.1),
'failure' #ff5252 rgba(255, 82, 82, 0.1),
'danger' #ff1744 rgba(255, 23, 68, 0.1),
'bug' #f50057 rgba(245, 0, 87, 0.1),
'example' #651fff rgba(101, 31, 255, 0.1),
'quote' #9e9e9e rgba(159, 159, 159, 0.1)
!default;
@@ -0,0 +1,157 @@
// Color map of the code highlight
$code-highlight-color-map: (
/* Error */ 'err': $code-error-color,
/* Keyword */ 'k': #cf222e,
/* KeywordConstant */ 'kc': #0550ae,
/* KeywordDeclaration */ 'kd': #cf222e,
/* KeywordNamespace */ 'kn': #cf222e,
/* KeywordPseudo */ 'kp': #cf222e,
/* KeywordReserved */ 'kr': #cf222e,
/* KeywordType */ 'kt': #cf222e,
/* Name */ 'n': $code-color,
/* NameAttribute */ 'na': #0550ae,
/* NameBuiltin */ 'nb': #0550ae,
/* NameBuiltinPseudo */ 'bp': $code-color,
/* NameClass */ 'nc': #8250df,
/* NameConstant */ 'no': #cf222e,
/* NameDecorator */ 'nd': #8250df,
/* NameEntity */ 'ni': #0550ae,
/* NameException */ 'ne': #0550ae,
/* NameFunction */ 'nf': #0550ae,
/* NameFunctionMagic */ 'fm': #0550ae,
/* NameLabel */ 'nl': #0550ae,
/* NameNamespace */ 'nn': #8250df,
/* NameOther */ 'nx': #0550ae,
/* NameProperty */ 'py': #0550ae,
/* NameTag */ 'nt': #116329,
/* NameVariable */ 'nv': #953800,
/* NameVariableClass */ 'vc': #0550ae,
/* NameVariableGlobal */ 'vg': #0550ae,
/* NameVariableInstance */ 'vi': #0550ae,
/* NameVariableMagic */ 'vm': #0550ae,
/* Literal */ 'l': #0550ae,
/* LiteralDate */ 'ld': #0a3069,
/* LiteralString */ 's': #0a3069,
/* LiteralStringAffix */ 'sa': #0a3069,
/* LiteralStringBacktick */ 'sb': #0a3069,
/* LiteralStringChar */ 'sc': #0a3069,
/* LiteralStringDelimiter */ 'dl': #0a3069,
/* LiteralStringDoc */ 'sd': #0a3069,
/* LiteralStringDouble */ 's2': #0a3069,
/* LiteralStringEscape */ 'se': #0a3069,
/* LiteralStringHeredoc */ 'sh': #0a3069,
/* LiteralStringInterpol */ 'si': #0a3069,
/* LiteralStringOther */ 'sx': #0a3069,
/* LiteralStringRegex */ 'sr': #0a3069,
/* LiteralStringSingle */ 's1': #0a3069,
/* LiteralStringSymbol */ 'ss': #0a3069,
/* LiteralNumber */ 'm': #0550ae,
/* LiteralNumberBin */ 'mb': #0550ae,
/* LiteralNumberFloat */ 'mf': #0550ae,
/* LiteralNumberHex */ 'mh': #0550ae,
/* LiteralNumberInteger */ 'mi': #0550ae,
/* LiteralNumberIntegerLong */ 'il': #0550ae,
/* LiteralNumberOct */ 'mo': #0550ae,
/* Operator */ 'o': #cf222e,
/* OperatorWord */ 'ow': #cf222e,
/* Punctuation */ 'p': $code-color,
/* Comment */ 'c': #6e7781,
/* CommentHashbang */ 'ch': #6e7781,
/* CommentMultiline */ 'cm': #6e7781,
/* CommentSingle */ 'c1': #6e7781,
/* CommentSpecial */ 'cs': #6e7781,
/* CommentPreproc */ 'cp': #0550ae,
/* CommentPreprocFile */ 'cpf': #6e7781,
/* Generic */ 'g': $code-color,
/* GenericDeleted */ 'gd': #82071e,
/* GenericEmph */ 'ge': $code-color,
/* GenericError */ 'gr': $code-error-color,
/* GenericHeading */ 'gh': $code-color,
/* GenericInserted */ 'gi': #116329,
/* GenericOutput */ 'go': $code-color,
/* GenericPrompt */ 'gp': $code-color,
/* GenericStrong */ 'gs': $code-color,
/* GenericSubheading */ 'gu': $code-color,
/* GenericTraceback */ 'gt': $code-error-color,
/* GenericUnderline */ 'gl': $code-color,
/* TextWhitespace */ 'w': $code-color,
/* Other */ 'x': $code-color
) !default;
$code-highlight-color-map-dark: (
/* Error */ 'err': $code-error-color,
/* Keyword */ 'k': #f47067,
/* KeywordConstant */ 'kc': #6cb6ff,
/* KeywordDeclaration */ 'kd': #f47067,
/* KeywordNamespace */ 'kn': #f47067,
/* KeywordPseudo */ 'kp': #f47067,
/* KeywordReserved */ 'kr': #f47067,
/* KeywordType */ 'kt': #f47067,
/* Name */ 'n': $code-color-dark,
/* NameAttribute */ 'na': #6cb6ff,
/* NameBuiltin */ 'nb': #dcbdfb,
/* NameBuiltinPseudo */ 'bp': $code-color-dark,
/* NameClass */ 'nc': #dcbdfb,
/* NameConstant */ 'no': #6cb6ff,
/* NameDecorator */ 'nd': #dcbdfb,
/* NameEntity */ 'ni': #6cb6ff,
/* NameException */ 'ne': #6cb6ff,
/* NameFunction */ 'nf': #dcbdfb,
/* NameFunctionMagic */ 'fm': #6cb6ff,
/* NameLabel */ 'nl': #6cb6ff,
/* NameNamespace */ 'nn': #f47067,
/* NameOther */ 'nx': #dcbdfb,
/* NameProperty */ 'py': #6cb6ff,
/* NameTag */ 'nt': #8ddb8c,
/* NameVariable */ 'nv': #f69d50,
/* NameVariableClass */ 'vc': #6cb6ff,
/* NameVariableGlobal */ 'vg': #6cb6ff,
/* NameVariableInstance */ 'vi': #6cb6ff,
/* NameVariableMagic */ 'vm': #6cb6ff,
/* Literal */ 'l': #6cb6ff,
/* LiteralDate */ 'ld': #96d0ff,
/* LiteralString */ 's': #96d0ff,
/* LiteralStringAffix */ 'sa': #96d0ff,
/* LiteralStringBacktick */ 'sb': #96d0ff,
/* LiteralStringChar */ 'sc': #96d0ff,
/* LiteralStringDelimiter */ 'dl': #96d0ff,
/* LiteralStringDoc */ 'sd': #96d0ff,
/* LiteralStringDouble */ 's2': #96d0ff,
/* LiteralStringEscape */ 'se': #96d0ff,
/* LiteralStringHeredoc */ 'sh': #96d0ff,
/* LiteralStringInterpol */ 'si': #96d0ff,
/* LiteralStringOther */ 'sx': #96d0ff,
/* LiteralStringRegex */ 'sr': #96d0ff,
/* LiteralStringSingle */ 's1': #96d0ff,
/* LiteralStringSymbol */ 'ss': #96d0ff,
/* LiteralNumber */ 'm': #6cb6ff,
/* LiteralNumberBin */ 'mb': #6cb6ff,
/* LiteralNumberFloat */ 'mf': #6cb6ff,
/* LiteralNumberHex */ 'mh': #6cb6ff,
/* LiteralNumberInteger */ 'mi': #6cb6ff,
/* LiteralNumberIntegerLong */ 'il': #6cb6ff,
/* LiteralNumberOct */ 'mo': #6cb6ff,
/* Operator */ 'o': #f47067,
/* OperatorWord */ 'ow': #f47067,
/* Punctuation */ 'p': $code-color-dark,
/* Comment */ 'c': #768390,
/* CommentHashbang */ 'ch': #768390,
/* CommentMultiline */ 'cm': #768390,
/* CommentSingle */ 'c1': #768390,
/* CommentSpecial */ 'cs': #768390,
/* CommentPreproc */ 'cp': #6cb6ff,
/* CommentPreprocFile */ 'cpf': #768390,
/* Generic */ 'g': $code-color-dark,
/* GenericDeleted */ 'gd': #ffd8d3,
/* GenericEmph */ 'ge': $code-color-dark,
/* GenericError */ 'gr': $code-error-color,
/* GenericHeading */ 'gh': $code-color-dark,
/* GenericInserted */ 'gi': #b4f1b4,
/* GenericOutput */ 'go': $code-color-dark,
/* GenericPrompt */ 'gp': $code-color-dark,
/* GenericStrong */ 'gs': $code-color-dark,
/* GenericSubheading */ 'gu': $code-color-dark,
/* GenericTraceback */ 'gt': $code-error-color,
/* GenericUnderline */ 'gl': $code-color-dark,
/* TextWhitespace */ 'w': $code-color-dark,
/* Other */ 'x': $code-color-dark
) !default;
+373
View File
@@ -0,0 +1,373 @@
// Code type map
$code-type-map: (
// Chroma supported languages
// @generator https://github.com/hugo-fixit/.tools/blob/main/tampermonkey/code-type-map-fetcher.user.js
"abap": "ABAP",
"abnf": "ABNF",
"as": "ActionScript",
"actionscript": "ActionScript",
"as3": "ActionScript 3",
"actionscript3": "ActionScript 3",
"ada": "Ada",
"ada95": "Ada",
"ada2005": "Ada",
"al": "AL",
"ng2": "Angular2",
"antlr": "ANTLR",
"apacheconf": "ApacheConf",
"aconf": "ApacheConf",
"apache": "ApacheConf",
"apl": "APL",
"applescript": "AppleScript",
"arduino": "Arduino",
"armasm": "ArmAsm",
"awk": "Awk",
"gawk": "Awk",
"mawk": "Awk",
"nawk": "Awk",
"ballerina": "Ballerina",
"make": "Base Makefile",
"makefile": "Base Makefile",
"mf": "Base Makefile",
"bsdmake": "Base Makefile",
"bash": "Bash",
"sh": "Bash",
"ksh": "Bash",
"zsh": "Bash",
"shell": "Bash",
"bash-session": "BashSession",
"console": "BashSession",
"shell-session": "BashSession",
"bat": "Batchfile",
"batch": "Batchfile",
"dosbatch": "Batchfile",
"winbatch": "Batchfile",
"bib": "BibTeX",
"bibtex": "BibTeX",
"bicep": "Bicep",
"blitzbasic": "BlitzBasic",
"b3d": "BlitzBasic",
"bplus": "BlitzBasic",
"bnf": "BNF",
"brainfuck": "Brainfuck",
"bf": "Brainfuck",
"c": "C",
"csharp": "C#",
"c\\#": "C#",
"cpp": "C++",
"c\\+\\+": "C++",
"caddyfile": "Caddyfile",
"caddy": "Caddyfile",
"caddyfile-directives": "Caddyfile Directives",
"caddyfile-d": "Caddyfile Directives",
"caddy-d": "Caddyfile Directives",
"capnp": "Cap'n Proto",
"cassandra": "Cassandra CQL",
"cql": "Cassandra CQL",
"ceylon": "Ceylon",
"cfengine3": "CFEngine3",
"cf3": "CFEngine3",
"cfs": "cfstatement",
"chai": "ChaiScript",
"chaiscript": "ChaiScript",
"cheetah": "Cheetah",
"spitfire": "Cheetah",
"clojure": "Clojure",
"clj": "Clojure",
"cmake": "CMake",
"cobol": "COBOL",
"coffee-script": "CoffeeScript",
"coffeescript": "CoffeeScript",
"coffee": "CoffeeScript",
"common-lisp": "Common Lisp",
"cl": "Common Lisp",
"lisp": "Common Lisp",
"coq": "Coq",
"cr": "Crystal",
"crystal": "Crystal",
"css": "CSS",
"cython": "Cython",
"pyx": "Cython",
"pyrex": "Cython",
"d": "D",
"dart": "Dart",
"diff": "Diff",
"udiff": "Diff",
"django": "Django/Jinja",
"jinja": "Django/Jinja",
"docker": "Docker",
"dockerfile": "Docker",
"dtd": "DTD",
"dylan": "Dylan",
"ebnf": "EBNF",
"elixir": "Elixir",
"ex": "Elixir",
"exs": "Elixir",
"elm": "Elm",
"emacs": "EmacsLisp",
"elisp": "EmacsLisp",
"emacs-lisp": "EmacsLisp",
"erlang": "Erlang",
"factor": "Factor",
"fennel": "Fennel",
"fnl": "Fennel",
"fish": "Fish",
"fishshell": "Fish",
"forth": "Forth",
"fortran": "Fortran",
"fortranfixed": "FortranFixed",
"fsharp": "FSharp",
"gas": "GAS",
"asm": "GAS",
"gdscript": "GDScript",
"gd": "GDScript",
"genshi": "Genshi",
"kid": "Genshi",
"xml\\+genshi": "Genshi",
"xml\\+kid": "Genshi",
"html\\+genshi": "Genshi HTML",
"html\\+kid": "Genshi HTML",
"genshitext": "Genshi Text",
"cucumber": "Gherkin",
"Cucumber": "Gherkin",
"gherkin": "Gherkin",
"Gherkin": "Gherkin",
"glsl": "GLSL",
"gnuplot": "Gnuplot",
"go": "Go",
"golang": "Go",
"go-html-template": "Go HTML Template",
"go-text-template": "Go Text Template",
"graphql": "GraphQL",
"graphqls": "GraphQL",
"gql": "GraphQL",
"groff": "Groff",
"nroff": "Groff",
"man": "Groff",
"groovy": "Groovy",
"handlebars": "Handlebars",
"hbs": "Handlebars",
"haskell": "Haskell",
"hs": "Haskell",
"hx": "Haxe",
"haxe": "Haxe",
"hxsl": "Haxe",
"hcl": "HCL",
"hexdump": "Hexdump",
"hlb": "HLB",
"html": "HTML",
"http": "HTTP",
"hylang": "Hy",
"idris": "Idris",
"idr": "Idris",
"igor": "Igor",
"igorpro": "Igor",
"ini": "INI",
"cfg": "INI",
"dosini": "INI",
"io": "Io",
"j": "J",
"java": "Java",
"js": "JavaScript",
"javascript": "JavaScript",
"json": "JSON",
"julia": "Julia",
"jl": "Julia",
"jungle": "Jungle",
"kotlin": "Kotlin",
"lighty": "Lighttpd configuration file",
"lighttpd": "Lighttpd configuration file",
"llvm": "LLVM",
"lua": "Lua",
"mako": "Mako",
"md": "markdown",
"mkd": "markdown",
"mason": "Mason",
"mathematica": "Mathematica",
"mma": "Mathematica",
"nb": "Mathematica",
"matlab": "Matlab",
"mcfunction": "mcfunction",
"meson": "Meson",
"meson\\.build": "Meson",
"metal": "Metal",
"minizinc": "MiniZinc",
"MZN": "MiniZinc",
"mzn": "MiniZinc",
"mlir": "MLIR",
"modula2": "Modula-2",
"m2": "Modula-2",
"monkeyc": "MonkeyC",
"morrowind": "MorrowindScript",
"mwscript": "MorrowindScript",
"myghty": "Myghty",
"mysql": "MySQL",
"mariadb": "MySQL",
"nasm": "NASM",
"newspeak": "Newspeak",
"nginx": "Nginx configuration file",
"nim": "Nim",
"nimrod": "Nim",
"nixos": "Nix",
"nix": "Nix",
"objective-c": "Objective-C",
"objectivec": "Objective-C",
"obj-c": "Objective-C",
"objc": "Objective-C",
"ocaml": "OCaml",
"octave": "Octave",
"ones": "OnesEnterprise",
"onesenterprise": "OnesEnterprise",
"1S": "OnesEnterprise",
"1S:Enterprise": "OnesEnterprise",
"openedge": "OpenEdge ABL",
"abl": "OpenEdge ABL",
"progress": "OpenEdge ABL",
"openedgeabl": "OpenEdge ABL",
"openscad": "OpenSCAD",
"org": "Org Mode",
"orgmode": "Org Mode",
"pacmanconf": "PacmanConf",
"perl": "Perl",
"pl": "Perl",
"php": "PHP",
"php3": "PHP",
"php4": "PHP",
"php5": "PHP",
"phtml": "PHTML",
"pig": "Pig",
"pkgconfig": "PkgConfig",
"plpgsql": "PL/pgSQL",
"text": "plaintext",
"plain": "plaintext",
"no-highlight": "plaintext",
"plutus-core": "Plutus Core",
"plc": "Plutus Core",
"pony": "Pony",
"postgresql": "PostgreSQL SQL dialect",
"postgres": "PostgreSQL SQL dialect",
"postscript": "PostScript",
"postscr": "PostScript",
"pov": "POVRay",
"powerquery": "PowerQuery",
"pq": "PowerQuery",
"powershell": "PowerShell",
"posh": "PowerShell",
"ps1": "PowerShell",
"psm1": "PowerShell",
"psd1": "PowerShell",
"prolog": "Prolog",
"promql": "PromQL",
"protobuf": "Protocol Buffer",
"proto": "Protocol Buffer",
"puppet": "Puppet",
"python": "Python",
"py": "Python",
"sage": "Python",
"python3": "Python",
"py3": "Python",
"python2": "Python 2",
"py2": "Python 2",
"qbasic": "QBasic",
"basic": "QBasic",
"qml": "QML",
"qbs": "QML",
"splus": "R",
"s": "R",
"r": "R",
"racket": "Racket",
"rkt": "Racket",
"ragel": "Ragel",
"perl6": "Raku",
"pl6": "Raku",
"raku": "Raku",
"jsx": "react",
"react": "react",
"reason": "ReasonML",
"reasonml": "ReasonML",
"registry": "reg",
"rst": "reStructuredText",
"rest": "reStructuredText",
"restructuredtext": "reStructuredText",
"rexx": "Rexx",
"arexx": "Rexx",
"rb": "Ruby",
"ruby": "Ruby",
"duby": "Ruby",
"rust": "Rust",
"rs": "Rust",
"sas": "SAS",
"sass": "Sass",
"scala": "Scala",
"scheme": "Scheme",
"scm": "Scheme",
"scilab": "Scilab",
"scss": "SCSS",
"sieve": "Sieve",
"smalltalk": "Smalltalk",
"squeak": "Smalltalk",
"st": "Smalltalk",
"smarty": "Smarty",
"snobol": "Snobol",
"sol": "Solidity",
"solidity": "Solidity",
"sparql": "SPARQL",
"sql": "SQL",
"squidconf": "SquidConf",
"squid\\.conf": "SquidConf",
"squid": "SquidConf",
"sml": "Standard ML",
"stylus": "Stylus",
"svelte": "Svelte",
"swift": "Swift",
"systemd": "SYSTEMD",
"systemverilog": "systemverilog",
"sv": "systemverilog",
"tablegen": "TableGen",
"tasm": "TASM",
"tcl": "Tcl",
"tcsh": "Tcsh",
"csh": "Tcsh",
"termcap": "Termcap",
"terminfo": "Terminfo",
"terraform": "Terraform",
"tf": "Terraform",
"tex": "TeX",
"latex": "TeX",
"thrift": "Thrift",
"toml": "TOML",
"tradingview": "TradingView",
"tv": "TradingView",
"tsql": "Transact-SQL",
"t-sql": "Transact-SQL",
"turing": "Turing",
"turtle": "Turtle",
"twig": "Twig",
"ts": "TypeScript",
"tsx": "TypeScript",
"typescript": "TypeScript",
"typoscript": "TypoScript",
"typoscriptcssdata": "TypoScriptCssData",
"typoscripthtmldata": "TypoScriptHtmlData",
"v": "verilog",
"vlang": "V",
"vsh": "V shell",
"vshell": "V shell",
"vb\\.net": "VB.net",
"vbnet": "VB.net",
"verilog": "verilog",
"vhdl": "VHDL",
"vim": "VimL",
"vue": "vue",
"vuejs": "vue",
"whiley": "Whiley",
"xml": "XML",
"xorg\\.conf": "Xorg",
"yaml": "YAML",
"yang": "YANG",
"zed": "Zed",
"zig": "Zig",
// Custom code type
"markdown": "markdown",
"yml": "YAML"
) !default;
+17
View File
@@ -0,0 +1,17 @@
// Theme colors
$primary: #1772ee !default;
$secondary: #919191 !default;
$success: #13ce66 !default;
$info: #0dcaf0 !default;
$warning: #ffba00 !default;
$danger: #ff4949 !default;
// Theme colors map
$theme-colors: (
'primary': $primary,
'secondary': $secondary,
'success': $success,
'info': $info,
'warning': $warning,
'danger': $danger
) !default;
@@ -0,0 +1,13 @@
// Utilities
// property order
$orders: (
first: -1,
0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
last: 6,
) !default;
@@ -6,11 +6,11 @@
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background-color: rgba(0, 0, 0, 0);
@include z-index(0, -1);
.blur & {
z-index: 100;
@include z-index(1);
background-color: rgba(0, 0, 0, 0.25);
}
}
@@ -1,17 +1,17 @@
// inline code
code {
display: inline-block;
max-width: 100%;
padding: 0 0.25rem;
padding: 0.2em 0.4em;
margin: 0;
font-size: $code-font-size;
font-family: $code-font-family;
color: $code-color;
background-color: rgba(175, 184, 193, 0.2);
text-decoration: inherit;
@include border-radius($global-border-radius);
@include overflow-wrap(break-word);
@include line-break(anywhere);
@include line-break(auto);
[theme='dark'] & {
[data-theme='dark'] & {
color: $code-color-dark;
background-color: rgba(99, 110, 123, 0.4);
}
@@ -30,7 +30,7 @@ pre {
background-color: $code-background-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $code-background-color-dark;
}
@@ -40,7 +40,7 @@ pre {
@include border-radius(0);
@include max-content(min-width);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: transparent;
}
}
@@ -91,7 +91,7 @@ pre {
@include border-radius($global-border-radius);
@include transition(border-radius 0.2s ease);
[theme='dark'] & {
[data-theme='dark'] & {
color: $code-info-color-dark;
background-color: darken($code-background-color-dark, 6%);
}
@@ -100,6 +100,12 @@ pre {
cursor: pointer;
}
.ellipses,
.edit,
.copy {
@extend .print-d-none;
}
.code-title {
width: 100%;
padding: 0.4rem;
@@ -108,6 +114,12 @@ pre {
padding: 0 0.2rem;
@include transition(transform 0.2s ease);
}
.title-inner {
position: absolute;
left: 50%;
transform: translateX(-50%);
}
}
.code-title::after {
@@ -128,14 +140,14 @@ pre {
cursor: pointer;
color: $global-link-hover-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-link-hover-color-dark;
}
}
}
@each $type, $text in $code-type-map {
&.#{$type} .code-title::after {
&.language-#{$type} .code-title::after {
content: $text;
}
}
@@ -156,7 +168,7 @@ pre {
display: block;
background-color: $code-background-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $code-background-color-dark;
}
@@ -181,9 +193,11 @@ pre {
.lntd:first-child {
min-width: 1.6rem;
text-align: right;
position: sticky;
left: 0;
pre {
padding-right: 0;
@include user-select(none);
}
}
// code content
@@ -206,7 +220,7 @@ pre {
background-color: darken($code-background-color, 6%);
@include border-radius($global-border-radius $global-border-radius 0 0);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: darken($code-background-color-dark, 3%);
}
}
@@ -237,7 +251,7 @@ pre {
background-color: $code-hightlight-color;
box-shadow: -0.5rem 0 0 $code-hightlight-color, 0.5rem 0 0 $code-hightlight-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $code-hightlight-color-dark;
box-shadow: -0.5rem 0 0 $code-hightlight-color-dark, 0.5rem 0 0 $code-hightlight-color-dark;
}
@@ -266,7 +280,7 @@ pre {
.ln {
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
@@ -282,7 +296,7 @@ pre {
.gd {
background-color: #ffebe9;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: #78191b;
}
}
@@ -290,7 +304,7 @@ pre {
.gi {
background-color: #dafbe1;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: #1b4721;
}
}
@@ -301,7 +315,7 @@ pre {
}
}
[theme='dark'] & {
[data-theme='dark'] & {
@each $class, $color in $code-highlight-color-map-dark {
.#{$class} {
color: $color;
@@ -328,7 +342,7 @@ pre {
@include link(false, false);
background-color: darken($code-background-color, 5%);
[theme='dark'] & {
[data-theme='dark'] & {
background-color: darken($code-background-color-dark, 5%);
}
}
@@ -338,13 +352,13 @@ pre {
&::-webkit-scrollbar {
background-color: #f6f8fa;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: #2d333b;
}
}
}
[theme='dark'] & {
[data-theme='dark'] & {
@import './github-dark-dimmed';
}
}
@@ -0,0 +1,232 @@
// Collection Navigation
.collection-card {
font-size: 0.875rem;
background-color: darken($global-background-color, 3%);
margin-block: 2rem -1rem;
padding: 1rem 1.25rem;
position: relative;
@include border-radius($global-border-radius * 1.5);
@include user-select(none);
@extend .print-d-none;
[data-theme='dark'] & {
background-color: lighten($global-background-color-dark, 3%);
}
&:has(.collection-nav-item:nth-child(2))::before {
content: '';
position: absolute;
left: 50%;
bottom: 0.75rem;
width: 1px;
height: 2rem;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.05) 50%, rgba(0, 0, 0, 0.03) 100%);
[data-theme='dark'] & {
background: linear-gradient(
to bottom,
rgba(255, 255, 255, 0.03),
rgba(255, 255, 255, 0.05) 50%,
rgba(255, 255, 255, 0.03) 100%
);
}
}
.collection-title {
@include link(false, false);
}
.collection-nav {
display: flex;
justify-content: space-between;
gap: 1rem;
&:not(:empty) {
margin-top: 0.5rem;
}
.collection-nav-item {
flex-grow: 1;
max-width: calc(50% - 0.5rem);
font-weight: 500;
display: flex;
align-items: center;
@include transition(all 0.3s ease-out);
&:only-child {
max-width: 100%;
}
i {
flex-shrink: 0;
}
span {
flex-grow: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
&[rel='next'] {
text-align: right;
}
&[rel='prev']:hover {
@include transform(translateX(-4px));
}
&[rel='next']:hover {
@include transform(translateX(4px));
}
}
}
}
// Collection aside container
.aside-collection {
position: sticky;
top: calc(#{$header-height} + var(--#{$prefix}breadcrumb-height));
box-sizing: border-box;
@include overflow-wrap(break-word);
@include blur;
@extend .print-d-none;
}
// Collection List
.collection-details {
&:not(:last-of-type) {
margin-bottom: 0.5rem;
}
&.open {
.collection-summary {
background-color: darken($global-background-color, 4%);
[data-theme='dark'] & {
background-color: lighten($global-background-color-dark, 4%);
}
}
}
.collection-summary {
display: flex;
align-items: baseline;
gap: 0.25em;
padding: 0.2em 0.5em;
background-color: darken($global-background-color, 3%);
[data-theme='dark'] & {
background-color: lighten($global-background-color-dark, 3%);
}
> i.fa-layer-group {
flex-shrink: 0;
}
.collection-name {
flex-grow: 1;
font-weight: bold;
&::before {
content: attr(data-collections) '';
}
}
.collection-count {
flex-shrink: 0;
@extend .text-secondary;
}
.details-icon {
flex-shrink: 0;
}
@include user-select(none);
}
.collection-content {
font-size: $toc-content-font-size;
background-color: darken($global-background-color, 2%);
[data-theme='dark'] & {
background-color: lighten($global-background-color-dark, 2%);
}
.collection-list {
margin: 0;
padding-inline: 1.6em 0.8em;
padding-block: 0.4em;
text-indent: -0.8em;
list-style: none;
overflow-y: scroll;
max-height: 60vh;
&::-webkit-scrollbar {
width: 0;
}
.collection-item > a::before,
.collection-item > span::before {
content: '|';
font-weight: 600;
margin-right: 0.5em;
position: relative;
bottom: 2px;
color: $single-link-color;
[data-theme='dark'] & {
color: $single-link-color-dark;
}
}
.collection-item > .active {
font-weight: bold;
color: $single-link-color;
[data-theme='dark'] & {
color: $single-link-color-dark;
}
&::before {
color: $single-link-hover-color;
[data-theme='dark'] & {
color: $single-link-hover-color-dark;
}
}
}
}
.collection-nav-simple {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5em;
background-color: darken($global-background-color, 3%);
[data-theme='dark'] & {
background-color: lighten($global-background-color-dark, 3%);
}
a.collection-nav-item {
padding-inline: 2px;
border-radius: 50%;
@include transition(background-color 0.3s ease-out);
&:hover {
background-color: darken($global-background-color, 10%);
[data-theme='dark'] & {
background-color: lighten($global-background-color-dark, 10%);
}
}
}
> i.collection-nav-item {
padding: 4px 2px;
cursor: not-allowed;
}
}
}
}
@@ -0,0 +1,4 @@
>#comments {
padding: 2rem 0;
@extend .print-d-none;
}
@@ -16,7 +16,7 @@
color: $global-font-color;
border: 1px solid darken($global-border-color, 15%);
border-radius: $global-border-radius;
transition: 0.1s;
@include transition(all 0.1s ease-out);
box-shadow: 0px 0px 5px 0px darken($global-border-color, 15%);
&:active,
@@ -26,14 +26,14 @@
border-color: $global-link-hover-color;
box-shadow: 0px 0px 5px 0px lighten($global-link-hover-color, 20%);
[theme='dark'] & {
[data-theme='dark'] & {
color: lighten($global-link-hover-color-dark, 6%);
border-color: $global-link-hover-color-dark;
box-shadow: 0px 0px 5px 0px darken($global-link-hover-color-dark, 20%);
}
}
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-color-dark;
border-color: lighten($global-border-color-dark, 15%);
box-shadow: 0px 0px 5px 0px lighten($global-border-color-dark, 15%);
@@ -48,20 +48,24 @@
padding-right: 1rem;
background-color: $global-background-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $global-background-color-dark;
}
}
.fixit-encryptor-btn {
cursor: pointer;
transition: 0.1s;
@include transition(all 0.1s ease-out);
padding: 0.6rem 1rem;
background-color: $header-background-color;
[theme='dark'] & {
[data-theme='dark'] & {
background-color: $header-background-color-dark;
}
}
}
.encrypted-hidden {
display: none;
}
@@ -1,11 +1,15 @@
.post-footer {
margin-top: 3rem;
margin: 2rem 0;
&~.post-reward {
margin-block: -2rem 0;
}
.post-info {
border-bottom: 1px solid $global-border-color;
padding: 1rem 0 0.3rem;
padding: 0.3rem 0;
[theme='dark'] & {
[data-theme='dark'] & {
border-bottom: 1px solid $global-border-color-dark;
}
@@ -17,7 +21,7 @@
font-size: 0.8em;
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
@@ -28,7 +32,7 @@
font-size: 0.8em;
color: $global-font-secondary-color;
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
}
@@ -49,6 +53,7 @@
}
.post-info-share {
@extend .print-d-none;
a * {
vertical-align: text-bottom;
}
@@ -57,10 +62,14 @@
}
.post-info-more {
padding: 0.3rem 0 1rem;
padding: 0.3rem 0;
display: flex;
justify-content: space-between;
font-size: 0.9rem;
section:last-child {
@extend .print-d-none;
}
}
.post-tags {
@@ -69,36 +78,39 @@
* {
display: inline;
}
@include link(true, true);
.post-tag:not(:last-child)::after {
content: ',';
margin-right: 0.25rem;
}
}
.post-nav {
&::before,
&::after {
content: ' ';
display: table;
}
display: flex;
justify-content: space-between;
gap: 1.5rem;
padding-block: 0.5rem;
@extend .print-d-none;
& a.prev,
& a.next {
.post-nav-item {
flex: 1;
font-size: 1rem;
font-weight: 600;
@include transition(all 0.3s ease-out);
}
& a.prev {
float: left;
}
&[rel='next'] {
text-align: right;
}
& a.prev:hover {
@include transform(translateX(-4px));
}
&[rel='prev']:hover {
@include transform(translateX(-4px));
}
& a.next {
float: right;
}
& a.next:hover {
@include transform(translateX(4px));
&[rel='next']:hover {
@include transform(translateX(4px));
}
}
}
}
+98
View File
@@ -0,0 +1,98 @@
.post-reward {
padding: 1rem;
text-align: center;
margin-bottom: -1rem;
@extend .print-d-none;
&:has(.reward-ways:empty) {
display: none;
}
.comment {
margin: 0.5rem 0;
font-weight: 500;
}
.reward-ways {
display: none;
}
.reward-input:checked~.reward-ways {
display: block;
padding-top: 20px;
div {
display: inline-block;
@include user-select(none);
span {
display: block;
}
&:hover span[data-animation] {
animation: var(--animation-reward, jackInTheBox) 0.8s infinite linear;
// The animation may affect :hover of img in dark mode
pointer-events: none;
}
img {
display: inline-block;
margin: 0.8em 2em 0;
max-width: 100%;
width: $reward-img-width;
}
}
// `fixed` mode only supports desktop
&[data-mode='fixed'] {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 1rem;
background-color: $global-background-color;
@include z-index(2);
@include border-radius($global-border-radius);
@include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.2));
[data-theme='dark'] & {
background-color: $global-background-color-dark;
@include box-shadow(0 0 1.5rem 0 rgba(255, 255, 255, 0.2));
}
}
}
.reward-button {
display: inline-block;
box-sizing: border-box;
cursor: pointer;
outline: none;
color: lighten($reward-color, 5%);
border: 2px solid lighten($reward-color, 10%);
border-radius: $global-border-radius;
padding: 0.6rem 1rem;
background-color: $global-background-color;
vertical-align: text-top;
line-height: 1rem;
@include transition(all 0.3s ease-out);
&:active,
&:hover {
color: #ffffff;
border-color: $reward-color;
background-color: $reward-color;
[data-theme='dark'] & {
color: #ffffff;
border-color: $reward-color-dark;
background-color: $reward-color-dark;
}
}
[data-theme='dark'] & {
color: $reward-color;
border-color: lighten($reward-color, 5%);
background-color: $global-background-color-dark;
}
}
}
+252
View File
@@ -0,0 +1,252 @@
.toc {
.toc-title {
font-size: $toc-title-font-size;
font-weight: bold;
text-transform: uppercase;
}
.toc-content {
font-size: $toc-content-font-size;
ul {
text-indent: -0.8em;
padding-left: 0.8em;
list-style: none;
a:first-child::before {
content: '|';
font-weight: bolder;
margin-right: 0.5em;
position: relative;
bottom: 2px;
color: $single-link-color;
[data-theme='dark'] & {
color: $single-link-color-dark;
}
}
ul {
padding-left: 1em;
}
}
ol {
margin: 0;
padding-left: 2.25em;
ol {
padding-left: 1.25em;
}
li:has(> a:hover)::marker {
color: $single-link-color;
[data-theme='dark'] & {
color: $single-link-color-dark;
}
}
}
}
ruby {
background: $code-background-color;
rt {
color: $global-font-secondary-color;
}
[data-theme='dark'] & {
background: $code-background-color-dark;
rt {
color: $global-font-secondary-color-dark;
}
}
}
}
#toc-auto {
display: block;
position: sticky;
top: calc(#{$header-height} + var(--#{$prefix}breadcrumb-height));
box-sizing: border-box;
visibility: hidden;
@include overflow-wrap(break-word);
@include blur;
@extend .print-d-none;
[data-header-desktop='normal'] & {
--#{$prefix}scroll-mt: #{$global-scroll-margin-top};
}
.toc-title {
margin-block: 0 0.5em;
cursor: pointer;
@include user-select(none);
&::before {
content: '|';
font-weight: bolder;
margin-right: 0.5em;
position: relative;
bottom: 2px;
color: $global-border-color;
[data-theme='dark'] & {
color: $global-border-color-dark;
}
}
i.toc-icon {
@include transition(transform 0.2s ease);
}
}
&.toc-hidden i.toc-icon {
@include transform(rotate(-90deg));
@include transition(transform 0.2s ease);
}
.toc-content {
overflow-y: scroll;
max-height: calc(100vh - #{2*$header-height});
&::-webkit-scrollbar {
width: 0;
}
&.always-active ul,
&.always-active ol {
display: block;
}
> nav > ul {
margin: 0;
}
li.has-active {
&::marker {
color: $single-link-color;
[data-theme='dark'] & {
color: $single-link-color-dark;
}
}
&:has(> .active)::marker {
font-weight: bold;
}
> a {
color: $single-link-color;
[data-theme='dark'] & {
color: $single-link-color-dark;
}
}
}
// for unordered list automatically collapsed
ul {
ul {
display: none;
}
.has-active > ul {
display: block;
}
a.active::before {
color: $single-link-hover-color;
[data-theme='dark'] & {
color: $single-link-hover-color-dark;
}
}
}
// for ordered list automatically collapsed
ol {
ol {
display: none;
}
.has-active > ol {
display: block;
}
}
a.active {
font-weight: bold;
}
}
}
#toc-static {
display: none;
margin: 0.8em 0;
&[data-kept='true'] {
display: block;
}
.toc-title {
display: flex;
justify-content: space-between;
line-height: 2em;
padding: 0 0.75em;
background: darken($code-background-color, 3%);
[data-theme='dark'] & {
background: darken($code-background-color-dark, 6%);
}
}
.toc-content {
background-color: $code-background-color;
> nav {
> ul {
margin: 0;
padding: 0.4em 1em 0.4em 1.8em;
a:hover {
font-weight: bold;
&::before {
color: $single-link-hover-color;
[data-theme='dark'] & {
color: $single-link-hover-color-dark;
}
}
}
}
> ol {
margin: 0;
padding: 0.4em 1em 0.4em 2.25em;
li:has(> a:hover)::marker,
a:hover {
font-weight: bold;
}
}
}
[data-theme='dark'] & {
background-color: $code-background-color-dark;
}
}
&.open {
.toc-title {
background: darken($code-background-color, 6%);
[data-theme='dark'] & {
background: darken($code-background-color-dark, 3%);
}
}
}
}
+6
View File
@@ -0,0 +1,6 @@
@import '_widgets/cookieconsent';
@import '_widgets/fixed-button';
@import '_widgets/github-corner';
@import '_widgets/noscript-warning';
@import '_widgets/reading-progress';
@import '_widgets/typeit';
@@ -7,7 +7,7 @@
background-color: #ccc;
}
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-color;
&:hover,
@@ -1,21 +1,16 @@
#fixed-buttons {
display: none;
}
.fixed-button {
display: none;
z-index: 100;
position: fixed;
right: 1.5rem;
font-size: 1rem;
line-height: 1.3rem;
padding: 0.6rem 0.6rem;
line-height: 1.5rem;
padding: 0.5rem 0.625rem;
color: $global-font-secondary-color;
background: $header-background-color;
@include border-radius(2rem);
background-color: $header-background-color;
@include z-index(1);
@include border-radius(1.25rem);
@include transition(color 0.4s ease);
@include blur;
@extend .print-d-none;
&:hover,
&:active {
@@ -29,9 +24,9 @@
outline: none;
}
[theme='dark'] & {
[data-theme='dark'] & {
color: $global-font-secondary-color-dark;
background: $header-background-color-dark;
background-color: $header-background-color-dark;
&:hover,
&:active {
@@ -40,11 +35,10 @@
}
}
#back-to-top {
display: block;
.back-to-top {
bottom: 1.5rem;
}
#view-comments {
.view-comments {
bottom: 4.5rem;
}
@@ -1,22 +1,23 @@
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
@include transform(rotate(0));
}
20%,
60% {
transform: rotate(-25deg);
@include transform(rotate(-25deg));
}
40%,
80% {
transform: rotate(10deg);
@include transform(rotate(10deg));
}
}
.github-corner {
position: fixed;
top: 0;
z-index: 150;
@include z-index(2);
@extend .print-d-none;
:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
@@ -28,7 +29,7 @@
color: $github-corner-color;
fill: $github-corner-fill;
[theme='dark'] & {
[data-theme='dark'] & {
color: $github-corner-color-dark;
fill: $github-corner-fill-dark;
}
@@ -37,7 +38,7 @@
left: 0;
svg {
transform: scale(-1, 1);
@include transform(scale(-1, 1));
}
}
&.right {
@@ -0,0 +1,16 @@
.noscript-warning {
background-color: var(--#{$prefix}danger);
color: white;
font-size: 1rem;
font-weight: bold;
position: fixed;
text-align: center;
left: 0;
bottom: 0;
width: 100%;
@include z-index(2);
[data-theme='dark'] & {
background-color: var(--#{$prefix}danger-dark);
}
}
@@ -0,0 +1,13 @@
.reading-progress-bar {
--progress: 0;
height: var(--progress-h, 2px);
width: var(--progress);
background-color: var(--bg-progress, var(--#{$prefix}info));
position: fixed;
@include z-index(2);
@extend .print-d-none;
[data-theme="dark"] & {
background-color: var(--bg-progress-dark, var(--#{$prefix}info-dark));
}
}
@@ -0,0 +1,22 @@
.typeit {
.highlight {
padding: 0.375rem;
font-size: 0.875rem;
font-family: $code-font-family;
font-weight: bold;
word-break: break-all;
white-space: pre-wrap;
}
--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};
}
}
-7
View File
@@ -1,7 +0,0 @@
:root {
// Note: Custom variable values only support SassScript inside `#{}`.
@each $color, $value in $theme-colors {
--#{$prefix}#{$color}: #{$value};
}
}
+29 -21
View File
@@ -2,8 +2,7 @@
position: relative;
margin: 1rem 0;
padding: 0 0.75rem;
background-color: map-get($admonition-background-color-map, 'note');
border-left: 0.25rem solid map-get($admonition-color-map, 'note');
border-left: .25rem solid;
overflow: auto;
@include border-radius($global-border-radius);
@@ -11,22 +10,16 @@
font-weight: bold;
margin: 0 -0.75rem;
padding: 0.25rem 1.8rem;
border-bottom: 1px solid map-get($admonition-background-color-map, 'note');
background-color: opacify(map-get($admonition-background-color-map, 'note'), 0.15);
border-bottom: 1px solid;
@include border-radius(0);
}
&.open .admonition-title {
background-color: map-get($admonition-background-color-map, 'note');
}
.admonition-content {
padding: 0.5rem 0;
}
i.icon {
font-size: 0.85rem;
color: map-get($admonition-color-map, 'note');
position: absolute;
top: 0.6rem;
left: 0.4rem;
@@ -38,27 +31,42 @@
right: 0.3rem;
}
@each $type, $color in $admonition-color-map {
&.#{$type} {
@each $type, $color, $background-color in $admonition-color-map {
@if $type == 'note' {
background-color: $background-color;
border-left-color: $color;
.admonition-title {
border-bottom-color: $background-color;
background-color: opacify($background-color, 0.15);
}
&.open .admonition-title {
background-color: $background-color;
}
i.icon {
color: $color;
}
}
}
@else {
&.#{$type} {
background-color: $background-color;
border-left-color: $color;
@each $type, $color in $admonition-background-color-map {
&.#{$type} {
background-color: $color;
.admonition-title {
border-bottom-color: $background-color;
background-color: opacify($background-color, 0.15);
}
.admonition-title {
border-bottom-color: $color;
background-color: opacify($color, 0.15);
}
&.open .admonition-title {
background-color: $background-color;
}
&.open .admonition-title {
background-color: $color;
i.icon {
color: $color;
}
}
}
}
+2 -2
View File
@@ -23,7 +23,7 @@
bottom: 0.75rem;
left: 0;
right: 0;
background-image: url('/images/fixit.svg');
background-image: var(--cl-bg-url);
background-repeat: no-repeat;
filter: blur(0.5rem);
opacity: 0.5;
@@ -83,7 +83,7 @@
margin-left: 0.25rem;
}
[theme='dark'] & {
[data-theme='dark'] & {
&content {
background-color: rgba(61, 62, 65, 0.88);
}
+2 -2
View File
@@ -23,7 +23,7 @@
font-family: 'Font Awesome 5 Free';
font-weight: 900;
[theme='dark'] & {
[data-theme='dark'] & {
border-top-color: $global-border-color-dark;
}
}
@@ -36,7 +36,7 @@
font-family: 'Font Awesome 5 Free';
font-weight: 900;
[theme='dark'] & {
[data-theme='dark'] & {
border-bottom-color: $global-border-color-dark;
}
}
+1
View File
@@ -5,3 +5,4 @@
@import '_echarts';
@import '_instagram';
@import '_mapbox';
@import '_mermaid';
+1 -1
View File
@@ -1,5 +1,5 @@
iframe.instagram-media {
[theme='dark'] & {
[data-theme='dark'] & {
border: none !important;
}
}
+8
View File
@@ -0,0 +1,8 @@
.mermaid {
text-align: center;
svg {
max-width: 100%;
height: auto;
}
}
+28 -267
View File
@@ -8,9 +8,12 @@ $prefix: fi- !default;
// Font and Line Height
$global-font-family: system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif !default;
$global-font-size: 16px;
$global-font-weight: 400;
$global-line-height: 1.5rem;
$global-font-size: 16px !default;
$global-font-weight: 400 !default;
$global-line-height: 1.5rem !default;
// scroll-margin-top of content anchor
$global-scroll-margin-top: 0.5rem;
// Radius of the border
$global-border-radius: 5px !default;
@@ -38,24 +41,6 @@ $global-link-hover-color-dark: #fff !default;
// Color of the border
$global-border-color: #f0f0f0 !default;
$global-border-color-dark: #363636 !default;
// Theme colors
$primary: #1772ee !default;
$secondary: #919191 !default;
$success: #13ce66 !default;
$info: #0dcaf0 !default;
$warning: #ffba00 !default;
$danger: #ff4949 !default;
// Theme colors map
$theme-colors: (
'primary': $primary,
'secondary': $secondary,
'success': $success,
'info': $info,
'warning': $warning,
'danger': $danger
) !default;
// ========== Global ========== //
// ========== Scrollbar ========== //
@@ -93,6 +78,14 @@ $search-background-color: #e9e9e9 !default;
$search-background-color-dark: #363636 !default;
// ========== Header ========== //
// ========== Tag Cloud ========== //
// Color range of tag cloud
$tag-cloud-start: $global-font-secondary-color!default;
$tag-cloud-end: $global-font-color!default;
$tag-cloud-start-dark: $global-font-secondary-color-dark!default;
$tag-cloud-end-dark: $global-font-color-dark!default;
// ========== Tag Cloud ========== //
// ========== Single Content ========== //
// Font size of the TOC
$toc-title-font-size: 1.2rem !default;
@@ -104,7 +97,7 @@ $single-link-color-dark: #1781b5 !default; // 釉蓝
// Color of the hover single link
$single-link-hover-color: #ea517f !default; // 莲瓣红
$single-link-hover-color-dark: #619ac3 !default; // 羽扇豆蓝
$single-link-hover-color-dark: #cc5595 !default; // 龙须红
// Color of the table background
$table-background-color: #fff !default;
@@ -117,6 +110,13 @@ $table-thead-color-dark: #20252b !default;
// Color of the blockquote
$blockquote-color: #697681 !default;
$blockquote-color-dark: #9ba3aa !default;
// Color of reward
$reward-color: tomato !default;
$reward-color-dark: darken($reward-color, 5%) !default;
// Width of reward image
$reward-img-width: 180px !default;
// ========== Single Content ========== //
// ========== Pagination ========== //
@@ -152,253 +152,8 @@ $code-font-size: 0.875rem !default;
// Font family of the code
$code-font-family: Source Code Pro, Menlo, Consolas, Monaco, monospace, $global-font-family !default;
// Code type map
$code-type-map: (
// Custom code type
language-bash: 'Bash',
language-c: 'C',
language-cs: 'C#',
language-cpp: 'C++',
language-clojure: 'Clojure',
language-coffeescript: 'CoffeeScript',
language-css: 'CSS',
language-dart: 'Dart',
language-diff: 'Diff',
language-erlang: 'Erlang',
language-go: 'Go',
language-go-html-template: 'Go HTML Template',
language-groovy: 'Groovy',
language-haskell: 'Haskell',
language-html: 'HTML',
language-http: 'HTTP',
language-xml: 'XML',
language-java: 'Java',
language-js: 'JavaScript',
language-javascript: 'JavaScript',
language-json: 'JSON',
language-kotlin: 'Kotlin',
language-latex: 'LaTeX',
language-less: 'Less',
language-lisp: 'Lisp',
language-lua: 'Lua',
language-makefile: 'Makefile',
language-markdown: 'Markdown',
language-matlab: 'Matlab',
language-objectivec: 'Objective-C',
language-php: 'PHP',
language-perl: 'Perl',
language-python: 'Python',
language-r: 'R',
language-ruby: 'Ruby',
language-rust: 'Rust',
language-scala: 'Scala',
language-scss: 'Scss',
language-shell: 'Shell',
language-sql: 'SQL',
language-swift: 'Swift',
language-tex: 'TeX',
language-toml: 'TOML',
language-ts: 'TypeScript',
language-typescript: 'TypeScript',
language-vue: 'Vue',
language-yml: 'YAML',
language-yaml: 'YAML'
) !default;
// Color map of the code highlight
$code-highlight-color-map: (
/* Error */ 'err': $code-error-color,
/* Keyword */ 'k': #cf222e,
/* KeywordConstant */ 'kc': #0550ae,
/* KeywordDeclaration */ 'kd': #cf222e,
/* KeywordNamespace */ 'kn': #cf222e,
/* KeywordPseudo */ 'kp': #cf222e,
/* KeywordReserved */ 'kr': #cf222e,
/* KeywordType */ 'kt': #cf222e,
/* Name */ 'n': $code-color,
/* NameAttribute */ 'na': #0550ae,
/* NameBuiltin */ 'nb': #0550ae,
/* NameBuiltinPseudo */ 'bp': $code-color,
/* NameClass */ 'nc': #8250df,
/* NameConstant */ 'no': #cf222e,
/* NameDecorator */ 'nd': #8250df,
/* NameEntity */ 'ni': #0550ae,
/* NameException */ 'ne': #0550ae,
/* NameFunction */ 'nf': #0550ae,
/* NameFunctionMagic */ 'fm': #0550ae,
/* NameLabel */ 'nl': #0550ae,
/* NameNamespace */ 'nn': #8250df,
/* NameOther */ 'nx': #0550ae,
/* NameProperty */ 'py': #0550ae,
/* NameTag */ 'nt': #116329,
/* NameVariable */ 'nv': #953800,
/* NameVariableClass */ 'vc': #0550ae,
/* NameVariableGlobal */ 'vg': #0550ae,
/* NameVariableInstance */ 'vi': #0550ae,
/* NameVariableMagic */ 'vm': #0550ae,
/* Literal */ 'l': #0550ae,
/* LiteralDate */ 'ld': #0a3069,
/* LiteralString */ 's': #0a3069,
/* LiteralStringAffix */ 'sa': #0a3069,
/* LiteralStringBacktick */ 'sb': #0a3069,
/* LiteralStringChar */ 'sc': #0a3069,
/* LiteralStringDelimiter */ 'dl': #0a3069,
/* LiteralStringDoc */ 'sd': #0a3069,
/* LiteralStringDouble */ 's2': #0a3069,
/* LiteralStringEscape */ 'se': #0a3069,
/* LiteralStringHeredoc */ 'sh': #0a3069,
/* LiteralStringInterpol */ 'si': #0a3069,
/* LiteralStringOther */ 'sx': #0a3069,
/* LiteralStringRegex */ 'sr': #0a3069,
/* LiteralStringSingle */ 's1': #0a3069,
/* LiteralStringSymbol */ 'ss': #0a3069,
/* LiteralNumber */ 'm': #0550ae,
/* LiteralNumberBin */ 'mb': #0550ae,
/* LiteralNumberFloat */ 'mf': #0550ae,
/* LiteralNumberHex */ 'mh': #0550ae,
/* LiteralNumberInteger */ 'mi': #0550ae,
/* LiteralNumberIntegerLong */ 'il': #0550ae,
/* LiteralNumberOct */ 'mo': #0550ae,
/* Operator */ 'o': #cf222e,
/* OperatorWord */ 'ow': #cf222e,
/* Punctuation */ 'p': $code-color,
/* Comment */ 'c': #6e7781,
/* CommentHashbang */ 'ch': #6e7781,
/* CommentMultiline */ 'cm': #6e7781,
/* CommentSingle */ 'c1': #6e7781,
/* CommentSpecial */ 'cs': #6e7781,
/* CommentPreproc */ 'cp': #0550ae,
/* CommentPreprocFile */ 'cpf': #6e7781,
/* Generic */ 'g': $code-color,
/* GenericDeleted */ 'gd': #82071e,
/* GenericEmph */ 'ge': $code-color,
/* GenericError */ 'gr': $code-error-color,
/* GenericHeading */ 'gh': $code-color,
/* GenericInserted */ 'gi': #116329,
/* GenericOutput */ 'go': $code-color,
/* GenericPrompt */ 'gp': $code-color,
/* GenericStrong */ 'gs': $code-color,
/* GenericSubheading */ 'gu': $code-color,
/* GenericTraceback */ 'gt': $code-error-color,
/* GenericUnderline */ 'gl': $code-color,
/* TextWhitespace */ 'w': $code-color,
/* Other */ 'x': $code-color
) !default;
$code-highlight-color-map-dark: (
/* Error */ 'err': $code-error-color,
/* Keyword */ 'k': #f47067,
/* KeywordConstant */ 'kc': #6cb6ff,
/* KeywordDeclaration */ 'kd': #f47067,
/* KeywordNamespace */ 'kn': #f47067,
/* KeywordPseudo */ 'kp': #f47067,
/* KeywordReserved */ 'kr': #f47067,
/* KeywordType */ 'kt': #f47067,
/* Name */ 'n': $code-color-dark,
/* NameAttribute */ 'na': #6cb6ff,
/* NameBuiltin */ 'nb': #dcbdfb,
/* NameBuiltinPseudo */ 'bp': $code-color-dark,
/* NameClass */ 'nc': #dcbdfb,
/* NameConstant */ 'no': #6cb6ff,
/* NameDecorator */ 'nd': #dcbdfb,
/* NameEntity */ 'ni': #6cb6ff,
/* NameException */ 'ne': #6cb6ff,
/* NameFunction */ 'nf': #dcbdfb,
/* NameFunctionMagic */ 'fm': #6cb6ff,
/* NameLabel */ 'nl': #6cb6ff,
/* NameNamespace */ 'nn': #f47067,
/* NameOther */ 'nx': #dcbdfb,
/* NameProperty */ 'py': #6cb6ff,
/* NameTag */ 'nt': #8ddb8c,
/* NameVariable */ 'nv': #f69d50,
/* NameVariableClass */ 'vc': #6cb6ff,
/* NameVariableGlobal */ 'vg': #6cb6ff,
/* NameVariableInstance */ 'vi': #6cb6ff,
/* NameVariableMagic */ 'vm': #6cb6ff,
/* Literal */ 'l': #6cb6ff,
/* LiteralDate */ 'ld': #96d0ff,
/* LiteralString */ 's': #96d0ff,
/* LiteralStringAffix */ 'sa': #96d0ff,
/* LiteralStringBacktick */ 'sb': #96d0ff,
/* LiteralStringChar */ 'sc': #96d0ff,
/* LiteralStringDelimiter */ 'dl': #96d0ff,
/* LiteralStringDoc */ 'sd': #96d0ff,
/* LiteralStringDouble */ 's2': #96d0ff,
/* LiteralStringEscape */ 'se': #96d0ff,
/* LiteralStringHeredoc */ 'sh': #96d0ff,
/* LiteralStringInterpol */ 'si': #96d0ff,
/* LiteralStringOther */ 'sx': #96d0ff,
/* LiteralStringRegex */ 'sr': #96d0ff,
/* LiteralStringSingle */ 's1': #96d0ff,
/* LiteralStringSymbol */ 'ss': #96d0ff,
/* LiteralNumber */ 'm': #6cb6ff,
/* LiteralNumberBin */ 'mb': #6cb6ff,
/* LiteralNumberFloat */ 'mf': #6cb6ff,
/* LiteralNumberHex */ 'mh': #6cb6ff,
/* LiteralNumberInteger */ 'mi': #6cb6ff,
/* LiteralNumberIntegerLong */ 'il': #6cb6ff,
/* LiteralNumberOct */ 'mo': #6cb6ff,
/* Operator */ 'o': #f47067,
/* OperatorWord */ 'ow': #f47067,
/* Punctuation */ 'p': $code-color-dark,
/* Comment */ 'c': #768390,
/* CommentHashbang */ 'ch': #768390,
/* CommentMultiline */ 'cm': #768390,
/* CommentSingle */ 'c1': #768390,
/* CommentSpecial */ 'cs': #768390,
/* CommentPreproc */ 'cp': #6cb6ff,
/* CommentPreprocFile */ 'cpf': #768390,
/* Generic */ 'g': $code-color-dark,
/* GenericDeleted */ 'gd': #ffd8d3,
/* GenericEmph */ 'ge': $code-color-dark,
/* GenericError */ 'gr': $code-error-color,
/* GenericHeading */ 'gh': $code-color-dark,
/* GenericInserted */ 'gi': #b4f1b4,
/* GenericOutput */ 'go': $code-color-dark,
/* GenericPrompt */ 'gp': $code-color-dark,
/* GenericStrong */ 'gs': $code-color-dark,
/* GenericSubheading */ 'gu': $code-color-dark,
/* GenericTraceback */ 'gt': $code-error-color,
/* GenericUnderline */ 'gl': $code-color-dark,
/* TextWhitespace */ 'w': $code-color-dark,
/* Other */ 'x': $code-color-dark
) !default;
// ========== Code ========== //
// ========== Admonition ========== //
// Color map of the admonition
$admonition-color-map: (
'note': #448aff,
'abstract': #00b0ff,
'info': #00b8d4,
'tip': #00bfa5,
'success': #00c853,
'question': #64dd17,
'warning': #ff9100,
'failure': #ff5252,
'danger': #ff1744,
'bug': #f50057,
'example': #651fff,
'quote': #9e9e9e
) !default;
// Color map of the admonition background
$admonition-background-color-map: (
'note': rgba(68, 138, 255, 0.1),
'abstract': rgba(0, 176, 255, 0.1),
'info': rgba(0, 184, 212, 0.1),
'tip': rgba(0, 191, 165, 0.1),
'success': rgba(0, 200, 83, 0.1),
'question': rgba(100, 221, 23, 0.1),
'warning': rgba(255, 145, 0, 0.1),
'failure': rgba(255, 82, 82, 0.1),
'danger': rgba(255, 23, 68, 0.1),
'bug': rgba(245, 0, 87, 0.1),
'example': rgba(101, 31, 255, 0.1),
'quote': rgba(159, 159, 159, 0.1)
) !default;
// ========== Admonition ========== //
// ========== GitHub Corners ========== //
// Color of the GitHub Corners
$github-corner-color: white !default;
@@ -408,3 +163,9 @@ $github-corner-color-dark: black !default;
$github-corner-fill: $header-background-color-dark !default;
$github-corner-fill-dark: $header-background-color !default;
// ========== GitHub Corners ========== //
@import '_partials/_maps/admonition';
@import '_partials/_maps/code-highlight';
@import '_partials/_maps/code-type';
@import '_partials/_maps/colors';
@import '_partials/_maps/utilities';
+4 -12
View File
@@ -2,20 +2,12 @@
@import "_variables";
@import "_override";
@import "_mixin/index";
@import "_root";
@import "_core/root";
@import "_core/base";
@import "_core/layout";
@import "_page/index";
@import "_partial/header";
@import "_partial/footer";
@import "_partial/pagination";
@import "_core/common";
@import "_core/patch";
@import "_page";
@import "_core/media";
@import "_common";
@import "_custom";
+53 -51
View File
@@ -3,20 +3,21 @@
prefix:
libFiles: https://cdn.jsdelivr.net/npm/
# simple-icons@6.3.0 https://github.com/simple-icons/simple-icons
simpleIcons: https://cdn.jsdelivr.net/npm/simple-icons@6.3.0/icons/
# simple-icons@9.19.0 https://github.com/simple-icons/simple-icons
simpleIcons: https://cdn.jsdelivr.net/npm/simple-icons@9.19.0/icons/
libFiles:
# algoliasearch@4.13.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@4.13.0/dist/algoliasearch-lite.umd.min.js
# algoliasearch@4.20.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@4.20.0/dist/algoliasearch-lite.umd.min.js
# animate.css@4.1.1 https://github.com/daneden/animate.css
animateCSS: animate.css@4.1.1/animate.min.css
# aplayer@1.10.1 https://github.com/MoePlayer/APlayer
aplayerCSS: aplayer@1.10.1/dist/APlayer.min.css
aplayerJS: aplayer@1.10.1/dist/APlayer.min.js
# artalk@2.3.4 https://github.com/ArtalkJS/Artalk
artalkCSS: artalk@2.3.4/dist/Artalk.min.css
artalkJS: artalk@2.3.4/dist/Artalk.min.js
# autocomplete.js@0.38.1 https://github.com/algolia/autocomplete.js
# artalk@2.6.4 https://github.com/ArtalkJS/Artalk
artalkCSS: artalk@2.6.4/dist/Artalk.css
artalkJS: artalk@2.6.4/dist/Artalk.js
# autocomplete-js@0.38.1 https://github.com/algolia/autocomplete
# TODO update autocompleteJS: '@algolia/autocomplete-js@1.7.1/dist/umd/index.production.js'
autocompleteJS: autocomplete.js@0.38.1/dist/autocomplete.min.js
# cell-watermark@1.0.3 https://github.com/Lruihao/watermark
cellWatermarkJS: cell-watermark@1.0.3/src/watermark.min.js
@@ -28,57 +29,58 @@ libFiles:
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
# echarts@5.2.2 https://github.com/apache/echarts
echartsJS: echarts@5.3.2/dist/echarts.min.js
echartsMacaronsJS: echarts@5.3.2/theme/macarons.min.js
# eruda@2.5.0 https://github.com/liriliri/eruda
erudaJS: eruda@2.5.0/eruda.js
# fontawesome-free@6.1.1 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.1.1/css/all.min.css'
# 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
erudaJS: eruda@3.0.1/eruda.js
# fontawesome-free@6.4.2 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.4.2/css/all.min.css'
# fusejs@6.6.2 https://github.com/krisk/fuse
fuseJS: fuse.js@6.6.2/dist/fuse.min.js
# gitalk@1.7.2 https://github.com/gitalk/gitalk
gitalkCSS: gitalk@1.7.2/dist/gitalk.min.css
gitalkJS: gitalk@1.7.2/dist/gitalk.min.js
# katex@0.15.1 https://github.com/KaTeX/KaTeX
katexAutoRenderJS: katex@0.15.3/dist/contrib/auto-render.min.js
katexCopyTexCSS: katex@0.15.3/dist/contrib/copy-tex.min.css
katexCopyTexJS: katex@0.15.3/dist/contrib/copy-tex.min.js
katexCSS: katex@0.15.3/dist/katex.min.css
katexJS: katex@0.15.3/dist/katex.min.js
katexMhchemJS: katex@0.15.3/dist/contrib/mhchem.min.js
# lazysizes@5.3.2 https://github.com/aFarkas/lazysizes
lazysizesJS: lazysizes@5.3.2/lazysizes.min.js
# lightgallery.js@1.4.0 https://github.com/sachinchoolur/lightgallery.js
# lg-thumbnail.js@1.4.0 https://github.com/sachinchoolur/lg-thumbnail.js
# lg-zoom.js@1.3.0 https://github.com/sachinchoolur/lg-zoom.js
lightgalleryCSS: lightgallery.js@1.4.0/dist/css/lightgallery.min.css
lightgalleryJS: lightgallery.js@1.4.0/dist/js/lightgallery.min.js
lightgalleryThumbnailJS: lg-thumbnail.js@1.2.0/dist/lg-thumbnail.min.js
lightgalleryZoomJS: lg-zoom.js@1.3.0/dist/lg-zoom.min.js
# lunr.js@2.3.9 https://github.com/olivernn/lunr.js
lunrJS: lunr@2.3.9/lunr.min.js
# mapbox-gl@2.8.2 https://docs.mapbox.com/mapbox-gl-js
mapboxGLCSS: mapbox-gl@2.8.2/dist/mapbox-gl.min.css
mapboxGLJS: mapbox-gl@2.8.2/dist/mapbox-gl.min.js
# mermaid@9.1.3 https://github.com/knsv/mermaid
mermaidJS: mermaid@9.1.3/dist/mermaid.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
# 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
lightgalleryThumbnailJS: lightgallery@2.7.2/plugins/thumbnail/lg-thumbnail.min.js
lightgalleryZoomJS: lightgallery@2.7.2/plugins/zoom/lg-zoom.min.js
# mapbox-gl@2.10.0 https://docs.mapbox.com/mapbox-gl-js
# TODO update to 3.x
mapboxGLCSS: mapbox-gl@2.10.0/dist/mapbox-gl.css
mapboxGLJS: mapbox-gl@2.10.0/dist/mapbox-gl.js
# mermaid@9.4.3 https://github.com/mermaid-js/mermaid
# TODO bump Mermaid from 9.x to 10.x
mermaidJS: mermaid@9.4.3/dist/mermaid.min.js
# meting@2.0.1 https://github.com/metowolf/MetingJS
metingJS: meting@2.0.1/dist/Meting.min.js
# normalize.css@8.0.1 https://github.com/necolas/normalize.css
normalizeCSS: normalize.css@8.0.1/normalize.min.css
# object-fit-images@3.2.4 https://github.com/fregante/object-fit-images
objectFitImagesJS: object-fit-images@3.2.4/dist/ofi.min.js
# pangu.js@4.0.7 https://github.com/vinta/pangu.js
panguJS: pangu@4.0.7/dist/browser/pangu.min.js
# sharer.js@0.4.2 https://github.com/ellisonleao/sharer.js
# pace-js@1.2.4 https://github.com/CodeByZach/pace
paceJS: pace-js@1.2.4
# sharer.js@0.5.1 https://github.com/ellisonleao/sharer.js
sharerJS: sharer.js@0.5.1/sharer.min.js
# twemoji@13.1.0 https://github.com/twitter/twemoji
# twemoji@14.0.2 https://github.com/twitter/twemoji
twemojiJS: twemoji@14.0.2/dist/twemoji.min.js
# typeit@7.0.4 https://github.com/alexmacarthur/typeit
typeitJS: typeit@7.0.4/dist/typeit.min.js
# valine@1.5.0 https://github.com/xCss/Valine
valineJS: valine@1.5.0/dist/Valine.min.js
# vconsole@3.14.6 https://github.com/Tencent/vConsole
vconsoleJS: vconsole@3.14.6/dist/vconsole.min.js
# waline@2.6.1 https://github.com/walinejs/waline
walineCSS: '@waline/client@2.6.1/dist/waline.css'
walineJS: '@waline/client@2.6.1/dist/waline.js'
# twikoo@1.6.22 https://github.com/imaegoo/twikoo
twikooJS: twikoo@1.6.22/dist/twikoo.all.min.js
# typeit@8.7.1 https://github.com/alexmacarthur/typeit
typeitJS: typeit@8.7.1/dist/index.umd.js
# valine@1.5.1 https://github.com/xCss/Valine
valineJS: valine@1.5.1/dist/Valine.min.js
# vconsole@3.15.1 https://github.com/Tencent/vConsole
vconsoleJS: vconsole@3.15.1/dist/vconsole.min.js
# waline@2.15.8 https://github.com/walinejs/waline
walineCSS: '@waline/client@2.15.8/dist/waline.css'
walineJS: '@waline/client@2.15.8/dist/waline.js'
+53 -51
View File
@@ -3,20 +3,21 @@
prefix:
libFiles: https://unpkg.com/
# simple-icons@6.3.0 https://github.com/simple-icons/simple-icons
simpleIcons: https://unpkg.com/simple-icons@6.3.0/icons/
# simple-icons@9.19.0 https://github.com/simple-icons/simple-icons
simpleIcons: https://unpkg.com/simple-icons@9.19.0/icons/
libFiles:
# algoliasearch@4.13.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@4.13.0/dist/algoliasearch-lite.umd.min.js
# algoliasearch@4.20.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@4.20.0/dist/algoliasearch-lite.umd.js
# animate.css@4.1.1 https://github.com/daneden/animate.css
animateCSS: animate.css@4.1.1/animate.min.css
# aplayer@1.10.1 https://github.com/MoePlayer/APlayer
aplayerCSS: aplayer@1.10.1/dist/APlayer.min.css
aplayerJS: aplayer@1.10.1/dist/APlayer.min.js
# artalk@2.3.4 https://github.com/ArtalkJS/Artalk
artalkCSS: artalk@2.3.4/dist/Artalk.css
artalkJS: artalk@2.3.4/dist/Artalk.js
# autocomplete.js@0.38.1 https://github.com/algolia/autocomplete.js
# artalk@2.6.4 https://github.com/ArtalkJS/Artalk
artalkCSS: artalk@2.6.4/dist/Artalk.css
artalkJS: artalk@2.6.4/dist/Artalk.js
# autocomplete-js@0.38.1 https://github.com/algolia/autocomplete
# TODO update autocompleteJS: '@algolia/autocomplete-js@1.7.1/dist/umd/index.production.js'
autocompleteJS: autocomplete.js@0.38.1/dist/autocomplete.min.js
# cell-watermark@1.0.3 https://github.com/Lruihao/watermark
cellWatermarkJS: cell-watermark@1.0.3/src/watermark.min.js
@@ -28,57 +29,58 @@ libFiles:
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
# echarts@5.2.2 https://github.com/apache/echarts
echartsJS: echarts@5.3.2/dist/echarts.min.js
echartsMacaronsJS: echarts@5.3.2/theme/macarons.min.js
# eruda@2.5.0 https://github.com/liriliri/eruda
erudaJS: eruda@2.5.0/eruda.js
# fontawesome-free@6.1.1 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.1.1/css/all.min.css'
# 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
erudaJS: eruda@3.0.1/eruda.js
# fontawesome-free@6.4.2 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.4.2/css/all.min.css'
# fusejs@6.6.2 https://github.com/krisk/fuse
fuseJS: fuse.js@6.6.2/dist/fuse.min.js
# gitalk@1.7.2 https://github.com/gitalk/gitalk
gitalkCSS: gitalk@1.7.2/dist/gitalk.min.css
gitalkJS: gitalk@1.7.2/dist/gitalk.min.js
# katex@0.15.1 https://github.com/KaTeX/KaTeX
katexAutoRenderJS: katex@0.15.3/dist/contrib/auto-render.min.js
katexCopyTexCSS: katex@0.15.3/dist/contrib/copy-tex.min.css
katexCopyTexJS: katex@0.15.3/dist/contrib/copy-tex.min.js
katexCSS: katex@0.15.3/dist/katex.min.css
katexJS: katex@0.15.3/dist/katex.min.js
katexMhchemJS: katex@0.15.3/dist/contrib/mhchem.min.js
# lazysizes@5.3.2 https://github.com/aFarkas/lazysizes
lazysizesJS: lazysizes@5.3.2/lazysizes.min.js
# lightgallery.js@1.4.0 https://github.com/sachinchoolur/lightgallery.js
# lg-thumbnail.js@1.4.0 https://github.com/sachinchoolur/lg-thumbnail.js
# lg-zoom.js@1.3.0 https://github.com/sachinchoolur/lg-zoom.js
lightgalleryCSS: lightgallery.js@1.4.0/dist/css/lightgallery.min.css
lightgalleryJS: lightgallery.js@1.4.0/dist/js/lightgallery.min.js
lightgalleryThumbnailJS: lg-thumbnail.js@1.2.0/dist/lg-thumbnail.min.js
lightgalleryZoomJS: lg-zoom.js@1.3.0/dist/lg-zoom.min.js
# lunr.js@2.3.9 https://github.com/olivernn/lunr.js
lunrJS: lunr@2.3.9/lunr.min.js
# mapbox-gl@2.8.2 https://docs.mapbox.com/mapbox-gl-js
mapboxGLCSS: mapbox-gl@2.8.2/dist/mapbox-gl.min.css
mapboxGLJS: mapbox-gl@2.8.2/dist/mapbox-gl.min.js
# mermaid@9.1.3 https://github.com/knsv/mermaid
mermaidJS: mermaid@9.1.3/dist/mermaid.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
# 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
lightgalleryThumbnailJS: lightgallery@2.7.2/plugins/thumbnail/lg-thumbnail.min.js
lightgalleryZoomJS: lightgallery@2.7.2/plugins/zoom/lg-zoom.min.js
# mapbox-gl@2.10.0 https://docs.mapbox.com/mapbox-gl-js
# TODO update to 3.x
mapboxGLCSS: mapbox-gl@2.10.0/dist/mapbox-gl.css
mapboxGLJS: mapbox-gl@2.10.0/dist/mapbox-gl.js
# mermaid@9.4.3 https://github.com/mermaid-js/mermaid
# TODO bump Mermaid from 9.x to 10.x
mermaidJS: mermaid@9.4.3/dist/mermaid.min.js
# meting@2.0.1 https://github.com/metowolf/MetingJS
metingJS: meting@2.0.1/dist/Meting.min.js
# normalize.css@8.0.1 https://github.com/necolas/normalize.css
normalizeCSS: normalize.css@8.0.1/normalize.min.css
# object-fit-images@3.2.4 https://github.com/fregante/object-fit-images
objectFitImagesJS: object-fit-images@3.2.4/dist/ofi.min.js
# pangu.js@4.0.7 https://github.com/vinta/pangu.js
panguJS: pangu@4.0.7/dist/browser/pangu.min.js
# sharer.js@0.4.2 https://github.com/ellisonleao/sharer.js
# pace-js@1.2.4 https://github.com/CodeByZach/pace
paceJS: pace-js@1.2.4
# sharer.js@0.5.1 https://github.com/ellisonleao/sharer.js
sharerJS: sharer.js@0.5.1/sharer.min.js
# twemoji@13.1.0 https://github.com/twitter/twemoji
# twemoji@14.0.2 https://github.com/twitter/twemoji
twemojiJS: twemoji@14.0.2/dist/twemoji.min.js
# typeit@7.0.4 https://github.com/alexmacarthur/typeit
typeitJS: typeit@7.0.4/dist/typeit.min.js
# valine@1.5.0 https://github.com/xCss/Valine
valineJS: valine@1.5.0/dist/Valine.min.js
# vconsole@3.14.6 https://github.com/Tencent/vConsole
vconsoleJS: vconsole@3.14.6/dist/vconsole.min.js
# waline@2.6.1 https://github.com/walinejs/waline
walineCSS: '@waline/client@2.6.1/dist/waline.css'
walineJS: '@waline/client@2.6.1/dist/waline.js'
# twikoo@1.6.22 https://github.com/imaegoo/twikoo
twikooJS: twikoo@1.6.22/dist/twikoo.all.min.js
# typeit@8.7.1 https://github.com/alexmacarthur/typeit
typeitJS: typeit@8.7.1/dist/index.umd.js
# valine@1.5.1 https://github.com/xCss/Valine
valineJS: valine@1.5.1/dist/Valine.min.js
# vconsole@3.15.1 https://github.com/Tencent/vConsole
vconsoleJS: vconsole@3.15.1/dist/vconsole.min.js
# waline@2.15.8 https://github.com/walinejs/waline
walineCSS: '@waline/client@2.15.8/dist/waline.css'
walineJS: '@waline/client@2.15.8/dist/waline.js'
+118 -9
View File
@@ -156,7 +156,7 @@ stackoverflow:
Prefix: https://stackoverflow.com/users/
Title: Stack Overflow
Icon:
Class: fa-brands fa-codepen fa-fw
Class: fa-brands fa-stack-overflow fa-fw
# 021: 微博
weibo:
@@ -348,7 +348,7 @@ zhihu:
Prefix: https://www.zhihu.com/people/
Title: 知乎
Icon:
Simpleicons: zhihu
Class: fa-brands fa-zhihu fa-fw
# 045: 豆瓣
douban:
@@ -452,7 +452,7 @@ thingiverse:
Prefix: https://www.thingiverse.com/
Title: Thingiverse
Icon:
Src: svg/icons/thingiverse.svg
Simpleicons: thingiverse
# 058: Dev.To
devto:
@@ -547,7 +547,7 @@ qqgroup:
Template: https://qm.qq.com/cgi-bin/qm/qr?k=%v&jump_from=webapi
Title: QQ Group
Icon:
Class: fa-solid fa-users
Simpleicons: tencentqq
# 070: Diaspora
diaspora:
@@ -562,19 +562,128 @@ csdn:
Prefix: https://blog.csdn.net/
Title: CSDN
Icon:
Src: svg/icons/csdn.svg
Src: images/icons/csdn.svg
# 072: Email
email:
# 072: Discord User Profile
discord:
Weight: 72
Prefix: https://discordapp.com/users/
Title: Discord
Icon:
Class: fa-brands fa-discord fa-fw
# 073: Discord Server Invite Link
discordinvite:
Weight: 73
Prefix: https://discord.gg/
Title: Discord
Icon:
Class: fa-brands fa-discord fa-fw
# 074: Lichess user profile
lichess:
Weight: 74
Prefix: https://lichess.org/@/
Title: Lichess
Icon:
Simpleicons: lichess
# 075: Pleroma
pleroma:
Weight: 75
Title: Pleroma
Icon:
Simpleicons: pleroma
# 076: Kaggle
kaggle:
Weight: 76
Prefix: https://kaggle.com/
Title: Kaggle
Icon:
Class: fa-brands fa-kaggle fa-fw
# 077: MediaWiki
mediawiki:
Weight: 77
Title: MediaWiki
Icon:
Class: fa-brands fa-wikipedia-w fa-fw
# 078: Plume
plume:
Weight: 78
Title: Plume
Icon:
Src: images/icons/plume.svg
# 079: Hack The Box
hackthebox:
Weight: 79
Title: Hack The Box
Prefix: https://app.hackthebox.com/users/
Icon:
Simpleicons: hackthebox
# 080: Root-Me
rootme:
Weight: 80
Title: Root-Me
Prefix: https://www.root-me.org/
Icon:
Src: images/icons/rootme.svg
# 081: Feishu
feishu:
Weight: 81
Title: Feishu
Template: https://www.feishu.cn/invitation/page/add_contact/?token=%v
Icon:
Class: fa-solid fa-dove
# 082: TryHackMe
tryhackme:
Weight: 82
Title: TryHackMe
Prefix: https://tryhackme.com/p/
Icon:
Simpleicons: tryhackme
# 083 douyin
douyin:
Weight: 83
Title: 抖音
Prefix: https://www.douyin.com/user/
Icon:
Class: fa-brands fa-tiktok
# 084 TikTok
tiktok:
Weight: 84
Title: TikTok
Prefix: https://www.tiktok.com/
Icon:
Class: fa-brands fa-tiktok
# Phone
phone:
Weight: 997
Template: tel:%v
Title: Phone
Icon:
Class: fa-solid fa-phone fa-fw
# Email
email:
Weight: 998
Template: mailto:%v
Title: Email
Icon:
Class: fa-regular fa-envelope fa-fw
# 073: RSS
# RSS
rss:
Weight: 73
Weight: 999
Url: /index.xml
Title: RSS
Newtab: true
+11
View File
@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" version="1.1">
<defs>
<style>.fixit-ban{opacity:.9;}</style>
</defs>
<path
d="M159.12 338.69l24.8-16.54a78.87 78.87 0 0 1-6.77-22.72l-30.88 4.41a16 16 0 0 1-4.54-31.68l34.27-4.9v-.76l98.94 98.95a76.89 76.89 0 0 1-71.68-17.73l-26.39 17.59c-.15.11-.31.21-.47.31a16 16 0 0 1-17.28-26.93zm224.72-48.42a16 16 0 0 0-13.57-18.11l-34.27-4.9V244.9l34.27-4.9a16 16 0 1 0-4.54-31.68l-30.54 4.36a79.31 79.31 0 0 0-6.85-22.85l24.54-16.36a16 16 0 1 0-17.29-26.93l-.46.31-26 17.34a79.9 79.9 0 0 0-102.64-3l139.83 139.88 19.41 2.77a16 16 0 0 0 18.11-13.57z"
fill="#358C3C" class="fixit-bug" />
<path
d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 432c-101.46 0-184-82.54-184-184a182.84 182.84 0 0 1 33.38-105.37l256 256A182.86 182.86 0 0 1 256 440zm150.62-78.63l-256-256A182.84 182.84 0 0 1 256 72c101.46 0 184 82.54 184 184a182.84 182.84 0 0 1-33.38 105.37z"
fill="#FF6347" class="fixit-ban" />
</svg>

After

Width:  |  Height:  |  Size: 1004 B

+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 370 391" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FF4088;stroke:#C9177E;stroke-width:27;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<path class="st0" d="M207.5,22.4L321.9,89c13.5,7.9,21.9,22.4,21.9,38v136.4c0,17.3-9.3,33.3-24.5,41.8l-113.5,63.9
c-15.1,8.5-33.5,8.4-48.5-0.2L52.8,308.8c-16.4-9.5-26.6-27-26.6-45.9V133.4c0-19.1,9.9-36.8,26.1-46.8l102.8-63.5
C171.1,13.2,191.3,13,207.5,22.4z"/>
<polygon class="st1" points="105.6,298.2 105.6,91 149,91 149,166.5 220.9,166.5 220.9,91 264.4,91 264.4,298.2 220.9,298.2
220.9,207.6 149,207.6 149,298.2 "/>
</svg>

After

Width:  |  Height:  |  Size: 787 B

Before

Width:  |  Height:  |  Size: 547 B

After

Width:  |  Height:  |  Size: 547 B

+92
View File
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="512"
height="512"
viewBox="0 0 135.46666 135.46667"
version="1.1"
id="svg169"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="plumeFeatherBlack.svg"
inkscape:export-filename="D:\Graphics\PlumeLogo\plumeFeatherFilled16.png"
inkscape:export-xdpi="3.0000005"
inkscape:export-ydpi="3.0000005">
<title
id="title8">Plume Logo - Feather (Black)</title>
<defs
id="defs163" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="126.20524"
inkscape:cy="304.85245"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1200"
inkscape:window-height="1577"
inkscape:window-x="3752"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:pagecheckerboard="true" />
<metadata
id="metadata166">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Plume Logo - Feather (Black)</dc:title>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:date>2018/10/07</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Abdullah Tarawneh (trwnh.com)</dc:title>
</cc:Agent>
</dc:creator>
<dc:description>A Plume concept logo, with a soft stylized feather. Solid black fill, no path.</dc:description>
<dc:contributor>
<cc:Agent>
<dc:title>trwnh</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-161.53332)">
<path
d="M 11.343027,288.41445 C 1.112349,298.81005 0.43838995,295.69058 4.3446684,285.90553 L 16.157848,265.54671 c 1.615107,0.40548 13.891904,-55.26212 54.748175,-81.96673 -9.221995,15.79094 -3.917955,18.80285 -3.917955,18.80285 7.337901,-21.96856 13.652749,-30.76839 66.341642,-38.70978 -15.16261,11.41531 -6.45286,41.25445 -50.134453,55.21738 12.683753,-2.73301 25.822443,-8.73747 31.679703,-15.66516 -3.25494,22.40519 -51.89095,60.24666 -84.84585,64.99456 z"
id="path872"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

+1
View File
@@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Root Me</title><path d="M10.865 0a.972.972 0 00-.943.764c-4.205.953-7.285 4.738-7.285 9.125 0 1.249.248 2.498.734 3.642a.94.94 0 00-.287.686c0 .429.277.782.658.916v3.756c0 .066.019.134.057.191l.21.143 2.852 2.011v2.403c0 .2.161.363.362.363h9.535c.2 0 .363-.163.363-.363v-2.403l2.86-2.011.21-.153a.345.345 0 00.057-.191v-3.785a.957.957 0 00.6-.887.976.976 0 00-.246-.648 9.024 9.024 0 00.761-3.66c0-.449-.029-.898-.095-1.327 0-.028-.01-.057-.01-.086-.582-3.785-3.45-6.893-7.227-7.722a.96.96 0 10-1.145 1.143v3.519c0 .057.03.114.077.152.028.02.067.03.105.03.02 0 .048 0 .067-.01l1.41-.535c.095.143.238.239.41.287v1.658c-.715.877-1.6 1.67-2.545 2.375l-1.078-2.498a.732.732 0 00-.4-1.346.735.735 0 000 1.469h.039l1.125 2.603c-.658.477-1.335.906-2.002 1.297l-3.205-.963a.157.157 0 00-.114.01l-.955.371a.735.735 0 10.145.44c0-.029-.01-.058-.01-.086l.897-.354 2.793.84a33.433 33.433 0 01-4.874 2.23l-.17.06a.92.92 0 00-.554-.183H4.02a8.67 8.67 0 01-.678-3.367c0-.572.057-1.134.162-1.677h4.185a.733.733 0 100-.38l-4.1-.001c.773-3.137 3.252-5.645 6.456-6.389a.974.974 0 00.82.467.96.96 0 00.963-.963.96.96 0 00-.963-.963zm2.23.496c.134 0 .249.057.335.143.076.085.125.19.125.314a.466.466 0 01-.201.381.422.422 0 01-.266.086.452.452 0 01-.46-.457c0-.258.21-.467.468-.467zm-2.22.01a.467.467 0 110 .934.467.467 0 010-.934zm3.05.933a8.448 8.448 0 012.823 1.202c-.01 1.41-.552 2.708-1.41 3.88V5.34a.726.726 0 00.543-.705c0-.4-.325-.735-.735-.735a.739.739 0 00-.724.735c0 .028.01.047.01.066l-1.164.438v-3.24a.926.926 0 00.658-.46zM10.942 2.9a.735.735 0 00-.734.697l-1.459.533a.195.195 0 00-.133.182v.923H7.441a.726.726 0 00-.705-.543.735.735 0 000 1.47c.344 0 .62-.231.705-.546h1.366a.19.19 0 00.19-.19v-.982l1.286-.476c.124.238.372.4.649.4.4 0 .734-.324.734-.734a.726.726 0 00-.725-.735zm6.465.228a8.743 8.743 0 013.157 5.475c-.048 4.777-8.372 7.723-8.458 7.752-.019.01-.067.018-.105.037-.105-.02-.21-.038-.324-.057-.076-.02-.162-.03-.239-.049-.123-.019-.247-.047-.37-.076-.02-.01-.05-.008-.069-.008l-.143-.03c-.057-.009-.114-.029-.171-.038-.134-.029-.267-.056-.391-.094-.238-.057-.466-.124-.695-.182-.22-.066-.449-.124-.659-.191h-.02a6.686 6.686 0 01-.466-.152.93.93 0 00-.152-.047 2.67 2.67 0 00-.211-.069 2.851 2.851 0 01-.342-.123h-.01a5.97 5.97 0 01-.459-.171c-.143-.058-.266-.105-.361-.143-.095-.048-.18-.077-.229-.106-.057-.028-.085-.037-.085-.037s.018.029.056.067c.038.047.096.113.182.19.076.075.18.171.304.267.124.095.268.2.42.304h.01c-.057.191-.096.402-.096.612 0 1.096.896 1.992 1.993 1.992a1.99 1.99 0 001.859-1.287l.297.03c.172.009.334.009.486.009.01 0 .018.008.028.008l1.61 1.64c.41.41 1.05.477 1.526.163l2.518-1.41a.795.795 0 00.363-.659v-2.898c.973-.773 1.85-1.69 2.422-2.729a8.15 8.15 0 01-.602 2.147h-.085a.96.96 0 00-.334 1.859v3.508l-3.002 2.117a.37.37 0 00-.155.297v2.021a.21.21 0 01-.209.21H15.08a.212.212 0 01-.21-.21v-.724c0-.19-.134-.364-.325-.383a.367.367 0 00-.4.363v.752c0 .115-.095.211-.21.211h-1.363a.212.212 0 01-.209-.21v-1.116c0-.19-.133-.362-.324-.38a.367.367 0 00-.402.36v1.145c0 .114-.095.21-.21.21h-1.363a.212.212 0 01-.209-.21v-.742c0-.19-.133-.364-.324-.383a.367.367 0 00-.4.363v.752c0 .115-.097.211-.211.211H7.805a.212.212 0 01-.21-.21v-2.022a.366.366 0 00-.154-.295L4.447 18.64v-3.547a.96.96 0 00.545-1.05c.382-.133 3.29-1.171 6.15-2.954 3.872-2.413 6.016-5.15 6.264-7.963zM4.046 13.77a.464.464 0 01.459.467.458.458 0 01-.066.228.417.417 0 01-.382.219.5.5 0 01-.305-.114.472.472 0 01-.162-.343.465.465 0 01.457-.457zm15.868 0a.477.477 0 01.467.466.67.67 0 01-.113.268.481.481 0 01-.364.18.468.468 0 01-.334-.143.463.463 0 01-.123-.314c0-.2.124-.373.305-.43a.445.445 0 01.162-.027zm-11.68 2.287c.363.362 1.24 1.012 2.184 1.03a1.258 1.258 0 01-1.908 0 1.228 1.228 0 01-.295-.81c0-.076.01-.144.02-.22zm.477.228c.22.096.447.191.685.268a8.254 8.254 0 010 0 11.414 11.414 0 01-.685-.268zm3.242 2.795c-.01 0-.02 0-.03.01-.009 0-.019.01-.019.01-.01 0-.018.01-.027.01-.01 0-.02.007-.03.017-.009 0-.01.01-.019.01l-.02.02-.017.019-.773.963a.275.275 0 00.218.447.287.287 0 00.221-.104l.01-.01a.7.7 0 011.095 0l.01.01a.283.283 0 00.39.047.276.276 0 00.048-.39l-.781-.953c-.01-.01-.02-.02-.02-.03l-.018-.02c-.01 0-.01-.009-.02-.009-.009-.01-.019-.008-.028-.018-.01 0-.018-.01-.028-.01-.01 0-.02-.01-.02-.01-.009 0-.02 0-.029-.009H11.953z"/></svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

Before

Width:  |  Height:  |  Size: 503 B

After

Width:  |  Height:  |  Size: 503 B

+27
View File
@@ -0,0 +1,27 @@
{{- /* https://img.shields.io/badge/$label-$version-$color?style=flat&labelColor=403c3d */ -}}
{{- $labelWidth := strings.RuneCount .label | mul (cond .isCJK 11.5 8.5) | add 10 -}}
{{- $versionWidth := strings.RuneCount .version | mul 6 | add 10 -}}
{{- $width := add $labelWidth $versionWidth -}}
{{- $labelLength := sub $labelWidth 10 | mul 10 -}}
{{- $versionLength := sub $versionWidth 10 | mul 10 -}}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{{ $width }}" height="20" role="img" aria-label="{{ .label }}: {{ .version }}">
<title>{{ .label }}: {{ .version }}</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1" />
<stop offset="1" stop-opacity=".1" />
</linearGradient>
<clipPath id="r">
<rect width="{{ $width }}" height="20" rx="3" fill="#fff" />
</clipPath>
<g clip-path="url(#r)">
<rect width="{{ $labelWidth }}" height="20" fill="#403c3d" />
<rect x="{{ $labelWidth }}" width="{{ $versionWidth }}" height="20" fill="#{{ .color }}" />
<rect width="{{ $width }}" height="20" fill="url(#s)" />
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
<text aria-hidden="true" x="{{ div $labelLength 2 | add 60 }}" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="{{ $labelLength }}">{{ .label }}</text>
<text x="{{ div $labelLength 2 | add 60 }}" y="140" transform="scale(.1)" fill="#fff" textLength="{{ $labelLength }}">{{ .label }}</text>
<text aria-hidden="true" x="{{ div $versionLength 2 | add $labelLength | add 140 }}" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="{{ $versionLength }}">{{ .version }}</text>
<text x="{{ div $versionLength 2 | add $labelLength | add 140 }}" y="140" transform="scale(.1)" fill="#fff" textLength="{{ $versionLength }}">{{ .version }}</text>
</g>
</svg>
@@ -1,20 +1,20 @@
/**
* Custom javascript for FixIt site.
* @author @Lruihao https://lruihao.cn
* @description Custom javascript for the hugo theme FixIt.
*/
const CustomJS = new (function () {
const FixItCustom = new (function () {
/**
* Hello World
* You can define your own functions below.
* @returns {CustomJS}
* @returns {FixItCustom}
*/
this.hello = () => {
// console.log('Hello CustomJS!');
console.log('FixItCustom echo: Hello FixIt!');
return this;
}
};
/**
* Initialize.
* @returns {CustomJS}
* @returns {FixItCustom}
*/
this.init = () => {
// Custom infos.
@@ -27,9 +27,9 @@ const CustomJS = new (function () {
* Immediate.
*/
(() => {
CustomJS.init();
FixItCustom.init();
// It will be executed when the DOM tree is built.
document.addEventListener('DOMContentLoaded', () => {
// console.log('DOM content loaded!')
// FixItCustom.init();
});
})();
+4 -4
View File
@@ -68,7 +68,7 @@ FixItDecryptor = function (options = {}) {
return console.warn(`Password error: ${input} not the correct password!`);
}
// cache decryption statistics
window.localStorage.setItem(
window.localStorage?.setItem(
`fixit-decryptor/#${location.pathname}`,
JSON.stringify({
expiration: Math.ceil(Date.now() / 1000) + _decryptor.options.duration,
@@ -89,7 +89,7 @@ FixItDecryptor = function (options = {}) {
'afterbegin',
_decryptor.$el
);
window.localStorage.removeItem(`fixit-decryptor/#${location.pathname}`);
window.localStorage?.removeItem(`fixit-decryptor/#${location.pathname}`);
// reset hook
for (const event of _decryptor.resetEventSet) {
event();
@@ -155,7 +155,7 @@ FixItDecryptor = function (options = {}) {
_proto.validateCache = () => {
const $content = document.querySelector('#content');
const password = $content.getAttribute('data-password');
const cachedStat = JSON.parse(window.localStorage.getItem(`fixit-decryptor/#${location.pathname}`));
const cachedStat = JSON.parse(window.localStorage?.getItem(`fixit-decryptor/#${location.pathname}`));
if (!cachedStat) {
this.$el.querySelector('.fixit-decryptor-loading').classList.add('d-none');
@@ -165,7 +165,7 @@ FixItDecryptor = function (options = {}) {
if (cachedStat?.md5 !== password || Number(cachedStat?.expiration) < Math.ceil(Date.now() / 1000)) {
this.$el.querySelector('.fixit-decryptor-loading').classList.add('d-none');
this.$el.querySelector('#fixit-decryptor-input').classList.remove('d-none');
window.localStorage.removeItem(`fixit-decryptor/#${location.pathname}`);
window.localStorage?.removeItem(`fixit-decryptor/#${location.pathname}`);
console.warn('The password has expired, please re-enter!');
return this;
}
+5 -4
View File
@@ -1,17 +1,19 @@
const CACHE_VERSION = 1;
/**
* Service Worker
* imported from https://github.com/HEIGE-PCloud/DoIt/blob/v0.2.11/src/js/sw.js
*/
CACHE_VERSION = 1;
const BASE_CACHE_FILES = [
'/css/style.min.css',
'/js/theme.min.js',
'/site.webmanifest',
'/images/fixit.svg'
];
const OFFLINE_CACHE_FILES = [
'/css/style.min.css',
'/js/theme.min.js',
'/site.webmanifest',
'/images/fixit.svg',
'/offline/'
];
@@ -19,7 +21,6 @@ const NOT_FOUND_CACHE_FILES = [
'/css/style.min.css',
'/js/theme.min.js',
'/site.webmanifest',
'/images/fixit.svg',
'/404.html'
];
+1053 -1348
View File
File diff suppressed because it is too large Load Diff
+58
View File
@@ -0,0 +1,58 @@
export default class Util {
forEach(elements, handler) {
elements = elements || [];
for (let i = 0; i < elements.length; i++) {
handler(elements[i]);
}
}
getScrollTop() {
return (document.documentElement ?? document.body).scrollTop;
}
isMobile() {
return window.matchMedia('only screen and (max-width: 680px)').matches;
}
isTocStatic() {
return window.matchMedia('only screen and (max-width: 960px)').matches;
}
/**
* add animate to element
* @param {Element} element animate element
* @param {String|Array<String>} animation animation name
* @param {Boolean} reserved reserved animation
* @param {Function} callback remove callback
*/
animateCSS(element, animation, reserved, callback) {
!Array.isArray(animation) && (animation = [animation]);
element.classList.add('animate__animated', ...animation);
element.addEventListener('animationend', () => {
!reserved && element.classList.remove('animate__animated', ...animation);
typeof callback === 'function' && callback();
}, { once: true });
}
/**
* date validator
* @param {*} date may be date or not
* @returns {Boolean}
*/
isValidDate(date) {
return date instanceof Date && !isNaN(date.getTime());
}
/**
* scroll some element into view
* @param {String} selector element to scroll
*/
scrollIntoView(selector) {
const element = selector.startsWith('#')
? document.getElementById(selector.slice(1))
: document.querySelector(selector);
element?.scrollIntoView({
behavior: 'smooth'
});
}
}

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