Compare commits

...

226 Commits

Author SHA1 Message Date
Cell 5fd4be7aea 🔖 Chore: release v0.2.15 2022-08-04 10:25:29 +08:00
Cell cf61466629 🔧 Chore: change the giscus origins regex 2022-08-04 10:06:28 +08:00
Cell 65371a19a4 ♻️ Refactor: migrate theme js from src to assets by js.build 2022-08-03 11:10:49 +08:00
dependabot[bot] 7c8344ed08 build(deps-dev): bump @babel/core from 7.17.9 to 7.18.10
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.9 to 7.18.10.
- [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.18.10/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-08-02 09:56:44 +00:00
dependabot[bot] 195ccf005d build(deps-dev): bump @babel/preset-env from 7.16.11 to 7.18.10
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.16.11 to 7.18.10.
- [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.18.10/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>
2022-08-02 09:55:14 +00:00
dependabot[bot] 6bb0650597 build(deps-dev): bump core-js from 3.22.0 to 3.24.1
Bumps [core-js](https://github.com/zloirock/core-js) from 3.22.0 to 3.24.1.
- [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.22.0...v3.24.1)

---
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-08-02 09:50:58 +00:00
dependabot[bot] a38599955e build(deps-dev): bump @babel/cli from 7.17.6 to 7.18.10
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.17.6 to 7.18.10.
- [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.18.10/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>
2022-08-02 09:43:44 +00:00
dependabot[bot] c956dd1690 chore(deps-dev): bump babel-preset-minify from 0.5.1 to 0.5.2
Bumps [babel-preset-minify](https://github.com/babel/minify) from 0.5.1 to 0.5.2.
- [Release notes](https://github.com/babel/minify/releases)
- [Changelog](https://github.com/babel/minify/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/minify/compare/babel-preset-minify@0.5.1...babel-preset-minify@0.5.2)

---
updated-dependencies:
- dependency-name: babel-preset-minify
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 09:33:29 +00:00
Cell b9368668e4 🚚 Feat: ransfer repository from Lruihao to hugo-fixit 2022-08-02 16:37:33 +08:00
Cell 31b890b04f 🔧 Chore: update docs submodule
git submodule set-url docs https://github.com/hugo-fixit/docs.git
2022-08-02 14:33:45 +08:00
Cell da9e562fcc 🔧 Chore: remove default GitHub config 2022-08-02 10:50:46 +08:00
Cell bcc15163f1 🔧 Feat: change fixit_checker.sh 2022-07-30 18:24:52 +08:00
Cell 2c9dabe3e8 📝 Feat: add repost URL at the end of markdown 2022-07-30 17:11:43 +08:00
Cell 9de773ecb8 📝 Docs: update docs 2022-07-30 14:54:29 +08:00
Cell 3d602750c6 📝 Docs(config): change default configuration 2022-07-29 22:16:37 +08:00
Cell e5f32e91bf 🔧 Chore: add update docs submodule npm script 2022-07-24 17:29:45 +08:00
Cell b731ebfacb ♻️ Refactor: change the post edit url splicing rules 2022-07-24 17:27:58 +08:00
Cell 23f13f092a 🐛 Fix: link-to-edit URL splicing error (#139) 2022-07-24 16:46:53 +08:00
Cell 5cfbc87b0f ♻️ Refactor: migrate service-worker.js to js.build 2022-07-24 16:04:49 +08:00
Cell c380e5fb1a 📝 Docs: update docs 2022-07-24 13:40:04 +08:00
Cell 511eed6ef1 🎨 Style: change the version badge style form flat-square to flat 2022-07-24 12:44:31 +08:00
Cell 3961261011 🚚 Feat: migrate exampleSite to docs submodule 2022-07-24 12:12:28 +08:00
Cell 42f87544cd Feat: add theme core configuration settings file 2022-07-23 17:31:47 +08:00
Cell e8a27da175 📝 Feat: change version shortcode alt 2022-07-23 14:09:14 +08:00
Cell e622dc3cf4 🎨 Style: remove sourceMappingURL of local libraries to avoid source map 404 error (#164) 2022-07-22 00:33:15 +08:00
Cell 3b5b5b2894 Feat: add mobile devtools feature (#163) 2022-07-21 23:17:25 +08:00
Cell 28a46751c7 🍱 Feat: add resource and cdn of eruda and vconsole 2022-07-20 23:47:14 +08:00
Cell 495e8286bc ⚗️ Chore: preprocessing developer options 2022-07-20 20:42:01 +08:00
Cell 83baf0b0e0 Merge branch 'docs' 2022-07-20 14:03:50 +08:00
Cell 7ab30e5905 📝 Docs: split the document and reduce the length of a single post 2022-07-20 14:03:06 +08:00
Cell 982175b8db ✏️ Docs: fix typo 2022-07-20 11:29:55 +08:00
Cell 50e85ae825 ✏️ Docs: change waline.highlighter default value 2022-07-20 11:24:36 +08:00
Abdul Halim Daud 858fbf3eb8 fix waline config imageUploader = false & highlighter = false
imageUploader and highlighter is still enabled even though the config is set to false because waline's default setting for imageUploader & highlighter is enabled.
to disable imageUploader and highlighter, need to explicitly specify imageUploader: false and highlighter: false in the window.config.
2022-07-20 00:22:39 +08:00
Cell 9d72d72d13 📝 Style: docs typesetting 2022-07-19 15:15:46 +08:00
Cell 521097cec5 Perf: normalize parameter naming for developer options 2022-07-19 13:04:45 +08:00
Cell 3f2df1a588 🔧 Chore: change the theme minimum supported Hugo versions above **0.84.0** 2022-07-18 11:52:42 +08:00
Cell 690ffbb931 ✏️ Docs: update translation 2022-07-18 11:30:19 +08:00
Cell 26a257b6a4 📝 Docs: update changelog 2022-07-18 10:52:12 +08:00
Cell 6c7d872e0a contrib-readme-action has updated readme 2022-07-18 10:37:13 +08:00
Abdul Halim Daud 48da281259 fix typo rel noreferrer
There are typos in the rel attribute. It should be [noreferrer](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types/noreferrer) instead of [noreffer](https://github.com/Lruihao/FixIt/search?q=noreffer).
2022-07-17 23:31:20 +08:00
Cell ff2170d3cf 📝 Docs: update README 2022-07-17 15:10:14 +08:00
Cell 624585267a Feat: add developer options 2022-07-17 15:03:23 +08:00
Cell c0346d18a7 🚚 Perf: subdivide FixIt initialization 2022-07-17 10:50:07 +08:00
Cell 53c7d5f301 Feat: get latest release version from remote 2022-07-17 01:21:24 +08:00
Cell 3ead60489d Merge branch 'feature/encryption' into v0.2.15-RC 2022-07-16 15:35:47 +08:00
Cell e62e3f1760 Feat: hide content of fixit-encryptor shortcodes from markdown source (#123) 2022-07-16 15:35:23 +08:00
Cell ca0cac5a92 🍱 Docs: add featured image for "Theme Documentation - Content Encryption" 2022-07-10 22:02:45 +08:00
Cell a2293f036c ✏️ Docs: modify the posts date to actual date published on this site 2022-07-10 21:43:01 +08:00
Cell 080bea00dd ✏️ Docs: rename mermaid post 2022-07-10 21:23:05 +08:00
Cell 35d54b22cb Feat: add repost feature (#156) 2022-07-10 18:21:35 +08:00
Cell 38314a5d0f 🎨 Style: add theme colors variables and add common color styles 2022-07-10 16:24:38 +08:00
Cell 46eefcebbc Perf: optimize keywords meta generation code 2022-07-10 15:03:14 +08:00
Cell 01b1d40d6c Feat: add Mermaid config 2022-07-10 14:51:34 +08:00
Cell e47abfde71 📝 Docs: update README 2022-07-10 00:24:55 +08:00
Cell 37dc7068d9 🐛 Style: fix that the width of mermaid image exceeds the post container 2022-07-09 20:11:41 +08:00
Cell 3ae17a26fe 🐛 Fix: JS variable declaration error 2022-07-09 18:11:57 +08:00
Cell 0794b565d2 📝 Docs: update documentation submenu items 2022-07-09 18:05:25 +08:00
Cell 753fa8f65a 📝 Docs: delete unuesd frontmatter 2022-07-09 17:43:11 +08:00
Cell eea2b4f53f ⬆️ Chore(libs): update mermaid from 8.13.3 to 9.1.3 2022-07-09 17:38:58 +08:00
Cell 8836574f21 🎨 Style: modify card link background filter 2022-07-09 12:28:43 +08:00
Cell 5e9bc5308a ✏️ fix typo 2022-07-06 11:26:08 +08:00
Cell c58d839df5 ✏️ Docs: simplified title 2022-07-03 18:26:21 +08:00
Cell 4907bde66f 🔧 Chore: update QQ group configs 2022-07-03 18:21:43 +08:00
Cell d58fcf99e7 ⬆️ Chore(libs): update Valine from 1.4.18 to 1.5.0 2022-07-03 15:46:36 +08:00
Cell f5e852441e ⬆️ Chore(libs): update Waline from 1.5.2 to 2.6.1 2022-07-03 15:36:11 +08:00
Cell 19c4bd4d82 ⬆️ Chore(libs): update Artalk from 2.2.12 to 2.3.4 (#150) 2022-07-02 23:36:34 +08:00
Cell c68e44a012 Docs: update README 2022-07-02 20:51:53 +08:00
Cell 7a654bef02 Merge branch 'feature/encryption' into v0.2.15-RC
# Conflicts:
#	assets/js/theme.min.js
#	assets/js/theme.min.js.map
2022-07-02 13:57:43 +08:00
Cell def5f4ec75 Perf: optimize fixit-encryptor shortcode and add documentations for it (#123) 2022-07-02 13:52:04 +08:00
Cell ef9063febe 🎉 Feat: add shortcode fixit-encryptor shortcode (#123) 2022-07-02 02:26:01 +08:00
Cell c2e515b457 🎉 Feat: add shortcode fixit-encryptor template (#123) 2022-06-13 10:35:20 +08:00
Cell 6cd89fe122 🐛 Fix: unable to show search bar of header at mobile mode (#143) 2022-06-11 16:40:20 +08:00
Cell 793f350db7 🔧 Feat(cdn): add unpkg cdn support 2022-05-30 16:57:27 +08:00
Cell 43294b5731 Revert "🔧 Chore: optimize npm scripts"
and add param --ignoreCache

This reverts commit 12e090f405.
2022-05-30 16:38:16 +08:00
Cell 6178bf1553 Merge branch 'feature/encryption' into v0.2.15-RC 2022-05-28 18:13:41 +08:00
Cell e88b740a06 📝 Docs: add content encryption documentations (#123) 2022-05-28 18:13:26 +08:00
Cell 832629cf84 🔧 Chore: update paginate of home page and change weight of posts 2022-05-28 12:20:11 +08:00
Cell 12e090f405 🔧 Chore: optimize npm scripts 2022-05-28 09:42:49 +08:00
Cell 6bbbc502be 🎨 Style(fixit-decryptor): add loading, lock icons and blur after entering(#123) 2022-05-28 09:41:31 +08:00
Cell eb01a90a7b Test: update test pages 2022-05-28 00:54:55 +08:00
Cell d9548a067d Merge branch 'feature/encryption' (#123) 2022-05-27 23:49:52 +08:00
Cell 77aa10b626 💄 Style(fixit-decryptor): add input and button css style (#123) 2022-05-27 22:56:15 +08:00
Cell 6a8f52e5e2 Feat(fixit-decryptor): add reset event and hook (#123) 2022-05-27 21:19:20 +08:00
Cell af54d781bb 🐛 Fix: remove extra space of class in plugin/link.html and use clamp fucntion for card link width 2022-05-27 17:40:41 +08:00
Cell c855841130 Feat(fixit-decryptor): add encrypt again feature (#123) 2022-05-27 17:33:14 +08:00
Cell 46a4c235b9 Perf(fixit-decryptor): optimize decrypt content logic and add special page encrypt support (#123) 2022-05-27 11:39:20 +08:00
Cell 27bceb444f Feat(fixit-decryptor): add param options.duration (#123)
* @param {Number} [options.duration] number of seconds to cache decryption statistics. unit: s
2022-05-26 17:54:38 +08:00
Cell d756349248 Perf(fixit-decryptor): rename hook name ondecrypted to decrypted (#123) 2022-05-26 16:40:48 +08:00
Cell b03ae3222e 🚧 Feat(fixit-decryptor): auto hide encrypted content from search (#123) 2022-05-26 16:22:49 +08:00
Cell 4fe21af5c3 🚧 Feat(fixit-decryptor): add remember stat feature (#123) 2022-05-26 14:29:19 +08:00
Cell e7b9f7600f 🚧 Feat: hide raw markdown content and hide related buttons for encrypted pages (#123) 2022-05-25 23:50:35 +08:00
Cell db70d55217 🚧 Fix: add Chinese and emoji decrypt support (#123) 2022-05-25 14:34:34 +08:00
Cell dc7f002260 🚧 Feat: hide toc before decrypting in encrypted pages (#123) 2022-05-25 11:08:20 +08:00
Cell 2a30b02644 🚧 Feat: execute some theme function on FixIt decryptor decypted (#123) 2022-05-25 10:02:13 +08:00
Cell 07ba13b4b1 🚧 Feat: add FixIt decryptor plugin (#123) 2022-05-24 16:31:57 +08:00
Cell 7b34985f3a Chore: add crypto-js@4.1.1 dependency (#123) 2022-05-23 20:42:05 +08:00
Cell 692973e9f5 🚧 Feat: add content encryption crude demo (#123) 2022-05-22 13:14:00 +08:00
Cell fcf13346af Perf: use build-in function hugo.IsProduction 2022-05-21 12:31:47 +08:00
Cell 8a90e43eb8 🐛 Fix: close comment system logic error when the article was expired 2022-05-20 23:01:54 +08:00
Cell 0f16e2b72c Perf: optimize path splicing (#139) 2022-05-20 17:02:13 +08:00
Cell 0963931d2e Perf(SEO): optimize DOM 2022-05-20 11:32:17 +08:00
Cell e82a6549a6 Feat: add total word count feature in section and remove from footer (#124) 2022-05-20 11:30:19 +08:00
Cell a7c305583a 🔧 Chore: delete deprecated parameters home.profile.gravatarSite and ibruce.siteTime 2022-05-19 21:37:16 +08:00
Cell 179cdbe18a Feat: add options to make output baidu_urls.txt file (#138) 2022-05-19 20:18:58 +08:00
Cell a91458eb7f 🐛 Fix: busuanzi logic error 2022-05-19 18:01:33 +08:00
Cell e301c2e600 📝 Docs: update README 2022-05-19 17:10:21 +08:00
Cell 8b977d102f Feat: add options to make output baidu_urls.txt file (#138) 2022-05-19 16:54:41 +08:00
Cell 9c7be57f21 ✏️ Style: fix typo 2022-05-19 12:20:37 +08:00
Cell d95541029c 📝 Docs: update config documentations 2022-05-19 10:31:02 +08:00
Cell a067d7bcd0 🔧 Chore: use specific discussion number for friends giscus 2022-05-18 14:03:17 +08:00
Cell bb7763b305 Feat: enhance auto toc feature (#104) 2022-05-17 20:46:49 +08:00
Cell fd1ebab6f0 🐛 Fix: Giscus comments invalid config inputPosition 2022-05-17 11:27:07 +08:00
Cell aa208e20b7 🎨 Style: add scroll bar for auto toc (#136) 2022-05-17 10:58:08 +08:00
Cell 791ff12e70 🔧 Chore: use fontawesome 6 2022-05-16 17:10:20 +08:00
Cell 79587fc756 Revert "chore(deps-dev): bump @babel/core from 7.17.9 to 7.17.10"
This reverts commit 006d6f894f.
2022-05-16 17:00:26 +08:00
Cell fa61e7878b Revert "chore(deps-dev): bump @babel/cli from 7.17.6 to 7.17.10"
This reverts commit 9aad78ae9c.
2022-05-16 17:00:19 +08:00
Cell ae3612bdd1 Revert "chore(deps-dev): bump core-js from 3.22.0 to 3.22.5"
This reverts commit ec487d55ab.
2022-05-16 16:57:12 +08:00
Cell c656087d3a Revert "chore(deps-dev): bump @babel/preset-env from 7.16.11 to 7.17.10"
This reverts commit bc74d149c1.
2022-05-16 16:56:58 +08:00
Cell bb7062aa38 ⬆️ Chore: update katex and lightgallery static files and bump fontawesome from 5.14.0 to 6.1.1 2022-05-16 14:34:27 +08:00
Cell db1903862f 🔖 Chore: update FixIt version to v0.2.14 2022-05-15 23:07:03 +08:00
Cell dd7f2c8a65 Merge commit '063f60ff54d03a410fb87010a35aba86da792d3a' 2022-05-15 23:03:39 +08:00
Cell 063f60ff54 ⬆️ Chore: update some third-party libraries 2022-05-15 22:57:12 +08:00
Cell bc74d149c1 chore(deps-dev): bump @babel/preset-env from 7.16.11 to 7.17.10
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.16.11 to 7.17.10.
- [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.17.10/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
dependency-type: direct:development
update-type: version-update:semver-minor
...
2022-05-15 21:54:23 +08:00
dependabot[bot] ec487d55ab chore(deps-dev): bump core-js from 3.22.0 to 3.22.5
Bumps [core-js](https://github.com/zloirock/core-js) from 3.22.0 to 3.22.5.
- [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.22.0...v3.22.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-15 13:07:20 +00:00
dependabot[bot] 9aad78ae9c chore(deps-dev): bump @babel/cli from 7.17.6 to 7.17.10
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.17.6 to 7.17.10.
- [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.17.10/packages/babel-cli)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-15 12:53:19 +00:00
dependabot[bot] 006d6f894f chore(deps-dev): bump @babel/core from 7.17.9 to 7.17.10
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.9 to 7.17.10.
- [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.17.10/packages/babel-core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-15 20:52:15 +08:00
Cell 99685067f3 🎨 Style: modify css style of code tag and kbd tag 2022-05-15 20:51:46 +08:00
Cell bc41ae5503 📝 Docs: update shortcodes documentations and add test examples (#102 #105) 2022-05-14 12:56:00 +08:00
Cell 1e20aaedab Perf: use .RenderString instead of markdownify (#105) 2022-05-14 12:54:33 +08:00
Cell 05dd048b0a 🔧 Chore: add author link meta 2022-05-11 17:57:27 +08:00
Cell 272592c89d Test: add test examples (#102) 2022-05-10 11:44:31 +08:00
Cell 314fc909cd 🔧 Chore: inject a theme meta tag in the HTML head on the home page only 2022-05-09 14:51:10 +08:00
Cell adb8d5737e 🔧 Chore: change giscus dark theme and enable PWA 2022-05-09 11:11:20 +08:00
Cell 228f15fd5b 🔧 Chore: add additional configurations giscus.json for exampleSite (#130) 2022-05-09 10:58:56 +08:00
Cell 74afeda510 ✏️ Docs: add documentation for giscus comment system (#130) 2022-05-09 10:36:19 +08:00
Cell 6128f3f3dd Perf: complete giscus comment system (#130) 2022-05-08 23:35:59 +08:00
Cell ca9125f4e1 Feat: add giscus comment system (#130) 2022-05-08 13:18:32 +08:00
Cell fa885576cb contrib-readme-action has updated readme 2022-05-04 13:14:16 +08:00
hiifong 9cc53fe54e :memo:Docs add hiifong's blog demo site 2022-05-04 12:47:40 +08:00
Cell 3d918ae0be 🐛 Fix: disabled total word count feature to avoid scratch concurrency issues (#124) 2022-05-02 12:51:04 +08:00
Cell bde37f4d55 ✏️ Docs: fix pangu typo 2022-04-30 21:08:51 +08:00
Cell 857f689ca3 Perf: hide GitHub Corner in print view 2022-04-30 19:38:17 +08:00
Cell 4cee621fcb 📝 Docs: add snapshots in change log 2022-04-30 14:45:33 +08:00
Cell cac46b0c02 🚚 Chore: migrate partial comment.html to single folder 2022-04-30 14:32:34 +08:00
Cell 08d95cb578 Perf: add GitHub Corners full support (#106) 2022-04-30 14:30:42 +08:00
Cell 910fc5f3b0 Perf: add detail value for title of total word count (#124) 2022-04-29 01:17:06 +08:00
Cell e0dc4415ca Perf: humanize total word count number (#124) 2022-04-29 01:04:18 +08:00
Cell 96d0fcccb4 Feat: add total word count support in footer (#124) 2022-04-29 00:02:38 +08:00
Cell 66847cf6db 🚚 Feat: migrate ~~ibruce.siteTime~~ to footer.siteTime
*The parameter `ibruce.siteTime` is deprecated since v0.2.14, use `footer.siteTime` instead*
2022-04-28 20:25:46 +08:00
Cell cae2f87737 ✏️ Chore: update theme preview link 2022-04-28 11:11:55 +08:00
Cell 781b0b5ab5 📝 Docs: update front matter documentation 2022-04-28 10:17:02 +08:00
Cell c9fea85e99 Perf: add "alt" prop for theme images 2022-04-27 23:39:34 +08:00
Cell a02f3580e9 Feat: add new front matter authorEmail 2022-04-27 23:15:33 +08:00
Cell e0bbd7f7b8 Feat: add local avatar and gravatar support for post author (#125) 2022-04-27 23:13:30 +08:00
Cell 6682ceb4a2 🔧 Chore: modify documents toc auto option 2022-04-26 17:12:12 +08:00
Cell 81c1cc8c04 🔧 Chore: add deprecated parameter detection in cli 2022-04-26 16:56:26 +08:00
Cell 090583e437 Perf: add Gravatar config support 2022-04-26 16:55:17 +08:00
Cell bdc500b14c 🔧 Chore(i18n): add i18n support for console messages 2022-04-25 14:43:14 +08:00
Cell 57f1256811 ✏️ Dcos: update README 2022-04-22 17:42:37 +08:00
Cell 2e87d5f68a Perf: optimize recently-updated partial code 2022-04-22 17:05:23 +08:00
Cell 9dfa6ec837 Feat: add count badge for taxonomy (#122) 2022-04-22 17:01:06 +08:00
Cell ff0f60646e 🔧 Chore(i18n): improve translations for supported languages (#119) 2022-04-21 17:50:25 +08:00
Cell b92ef741bf Feat: add "Edit this page" button support (#103) 2022-04-21 11:06:08 +08:00
Cell 29f8b4fa26 Feat: modify draft menu item rendering logic in mobile header (#99) 2022-04-21 09:53:37 +08:00
Cell 8e43786695 📝 Docs: add draft menu example 2022-04-20 23:23:39 +08:00
Cell 302250b981 Feat: modify draft menu item rendering logic (#99) 2022-04-20 23:09:20 +08:00
Cell d6d303ccf5 Test: add test posts for FixIt feature 2022-04-20 17:59:35 +08:00
Cell 04a34c5788 💄 Style: modify blockquote CSS 2022-04-20 17:44:00 +08:00
Cell 4bb72e8f91 🔧 Chore: update contributors.md 2022-04-19 15:10:40 +08:00
Cell caae8a74a9 💄 Style: add the gap between and icon and text at blending typesetting (#118) 2022-04-19 14:55:41 +08:00
ctj12461 89f0f2c204 💄 Style: add spaces after some icons 2022-04-18 23:40:27 +08:00
Cell ea2b8e03d5 💄 Style: change backgroud color of toc title 2022-04-18 14:53:13 +08:00
Cell 010415e586 💄 Style: remove categories card item margin-top 2022-04-17 13:50:50 +08:00
Cell 9f3014b1c2 🎨 Perf: remove link icon extra space 2022-04-17 12:10:17 +08:00
Cell e7a52e2aef 🐛 Fix: white-space wrap in code element 2022-04-16 13:18:15 +08:00
Cell c3689a50fe Feat: add GitHub Corners support (#106) 2022-04-16 12:51:11 +08:00
dependabot[bot] dfeaefa192 chore(deps-dev): bump core-js from 3.21.1 to 3.22.0
Bumps [core-js](https://github.com/zloirock/core-js) from 3.21.1 to 3.22.0.
- [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.21.1...v3.22.0)

---
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-04-15 14:59:27 +00:00
Cell 438d086398 🔧 Chore: update contributing and contributors 2022-04-15 22:53:39 +08:00
Cell 2dcb180698 📝 Docs: modify longitude and latitude of mapbox example to Shenzhen 2022-04-15 20:07:03 +08:00
Cell 1b775f8ac6 🐛 Fix: ibruce and watermark option negative value error (#114) 2022-04-15 11:13:32 +08:00
Cell 1e03ea7711 💄 Style: modify deaktop menu delimiter style detail 2022-04-14 14:54:59 +08:00
Cell 052ee6f336 ✏️ Docs: modify friends page notice 2022-04-13 09:54:34 +08:00
Cell f1f6e376a2 🔧 Chore: enable post ibruce count for example site 2022-04-12 16:04:10 +08:00
Cell 5b5aeabd91 ✏️ Docs: update friends page note 2022-04-12 14:20:38 +08:00
Cell 10e3ba0bbb 📝 Docs: add a FixIt demo site 2022-04-12 14:13:51 +08:00
Cell c113b8195f 📝 Docs: revise README, offline page, friends page documentations, etc. 2022-04-12 14:07:18 +08:00
Cell 9f47e608ef Feat: link shortcode add external-icon option (#96) 2022-04-12 12:43:16 +08:00
Cell 8ad74ede2f 🐛 Fix: don't display external icon when links has icon suffix (#96) 2022-04-12 11:45:24 +08:00
Cell 8115059109 ✏️ Docs: add note for hugo serve (#110) 2022-04-11 23:03:09 +08:00
Cell b85c2e7d7e 🐛 Fix: exclude image links to display external icon (#96) 2022-04-11 21:40:52 +08:00
Cell b7f7d0c6a1 🐛 Fix: invalid front matter comment: true (#108) 2022-04-11 17:59:57 +08:00
Cell 93a6002290 Feat: add download icon for downloadable links (#96) 2022-04-11 15:43:14 +08:00
Cell 754547f113 Feat: add external icon for external links automatically (#96) 2022-04-11 14:37:45 +08:00
Cell b85d6aa5d6 💄 Style: remove categories-card margin-top 2022-04-11 10:42:16 +08:00
Cell fe3d983c46 Style: add some common CSS styles Class (#101) 2022-04-10 17:12:21 +08:00
Cell cc7d3a5d94 📝 Docs: add documentation for the new feature of menu (#31 #99) 2022-04-10 10:55:23 +08:00
Cell 28fe4dd019 🐛 Fix: Add "no more translations" judgment logic (#100) 2022-04-09 23:11:21 +08:00
Cell 22e67a0680 Feat: add user-defined content to menu items via the params field (#99) 2022-04-09 22:16:30 +08:00
Cell 8a634bf562 🐛 Fix: language selector bug in 404 page
💄 Style: modify dropdown-icon style
2022-04-09 19:20:08 +08:00
dependabot[bot] ab7cf6bc59 chore(deps-dev): bump @babel/core from 7.17.5 to 7.17.9
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.5 to 7.17.9.
- [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.17.9/packages/babel-core)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 14:15:16 +08:00
Cell cb4d2ab264 ⬆️ Chore(deps-dev): bump minimist from 1.2.5 to 1.2.6 2022-04-09 14:12:29 +08:00
Cell e20fff11b7 🎉 Feat: add nested menu for example site 2022-04-09 13:57:34 +08:00
Cell 44211c0c39 Merge pull request #97 from Lruihao/feature/sub-menu
* 🎉 Feat: modify header dom for supportting sub menu (#31)

* 🎨 Style: debug style for sub menu (#31)

* Feat: adapt select-language with sub-menu

* 🚧 Developing and Debugging for sub menu feature
1. Fix: sub menu link error (#31)
2. Style: debug sub menu style (#31)
3. Feat: adjust language selector logic

* 🎉 Feat: add sub menu (nested menu) support (#31)

* 🎉 Feat: add nested menu support for mobile header (#31)

* 🎨 Style: mobile sub menu style debugging (#31)

* 🐛 Fix: fix sub menu position error in desktop header (#31)

* 🎨 Style: add sub menu min-width equal to menu item (#97)

Co-authored-by: doubleam <admin@biugle.cn>
2022-04-09 12:05:34 +08:00
Cell c86d5da433 Revert: revert logo style (#97) 2022-04-09 12:01:16 +08:00
Cell 87671ce72a 🎨 Style: add sub menu min-width equal to menu item (#97) 2022-04-09 11:18:08 +08:00
Cell 52f4527bf8 🐛 Fix: fix sub menu position error in desktop header (#31) 2022-04-09 00:01:52 +08:00
Cell 0d5f8c486e 🎨 Style: mobile sub menu style debugging (#31)
todo: add params option support by hugo
2022-04-09 00:01:07 +08:00
Cell 5e670973cc 🎉 Feat: add nested menu support for mobile header (#31) 2022-04-07 18:02:22 +08:00
Cell 23f142a4b8 🚧 Feat: developing nested menu for mobile header (#31) 2022-04-07 16:39:53 +08:00
Cell 3745713738 🎉 Feat: add sub menu (nested menu) support (#31)
TODO: compatibly support mobile header
2022-04-07 14:48:03 +08:00
Cell 1ef19d1b87 🚧 Developing and Debugging for sub menu feature
1. Fix: sub menu link error (#31)
2. Style: debug sub menu style (#31)
3. Feat: adjust language selector logic
2022-04-06 17:57:32 +08:00
doubleam eced169713 Feat: adapt select-language with sub-menu 2022-04-06 14:48:30 +08:00
Cell 855368f30d 🎨 Style: debug style for sub menu (#31) 2022-04-03 13:03:52 +08:00
Cell ece8c9ec10 🎉 Feat: modify header dom for supportting sub menu (#31) 2022-04-02 12:22:08 +08:00
Cell 69d42bb808 ✏️ Docs(theme-documentation-basics): modify keepStatic default value to false 2022-03-31 20:19:19 +08:00
Cell 50e244f9e1 🔧 Chore: add notes for function 2022-03-31 14:58:54 +08:00
Cell 680571d31f 🕯️ Mourning(3.21-mu5735): R.I.P 2022-03-28 11:30:37 +08:00
Cell 7c641c9722 🔧 Chore: add parameter --minify to build script 2022-03-28 11:00:53 +08:00
Cell fa54d5e471 ✏️ Docs: fix typo
https://fixit.lruihao.cn/theme-documentation-content/
2022-03-25 10:59:53 +08:00
Cell 2269e309af ✏️ Docs: fix typo 2022-03-23 20:56:36 +08:00
Cell c4b65a4c00 📝 Docs: update changelog 2022-03-20 21:52:21 +08:00
Daniel Bär 626635aaa6 🐛 Fix Highlight URI 2022-03-20 20:01:38 +08:00
Cell 22a615707c Perf: remove third-party library clipboard.js (#84) 2022-03-16 18:55:09 +08:00
Cell 66efd4dd06 🔧 Chore: update issue template 2022-03-15 23:10:01 +08:00
Cell f710921ddb Test: rename shortcode test page 2022-03-15 23:03:51 +08:00
Cell 20636fa7ac ✏️ Docs: update changelog 2022-03-15 14:47:02 +08:00
305 changed files with 14475 additions and 26055 deletions
+1 -2
View File
@@ -5,7 +5,6 @@
{
"targets": "> 0.25%, not dead"
}
],
"minify"
]
]
}
-41
View File
@@ -1,41 +0,0 @@
---
name: Bug Report 错误报告
about: Create a bug report 创建一个错误报告
title: "[BUG] Some problem..."
labels: bug
---
### Describe the bug 描述你遇到的错误
A clear and concise description of what the bug is.
一段简短的对于你遇到的错误的描述.
### Expected behavior 期待的行为
A clear and concise description of what you expected to happen.
一段简短的对于你期待的行为的描述.
### Screenshots 屏幕截图
If applicable, add screenshots to help explain your problem.
如果可以的话, 提供屏幕截图对解决问题很有帮助.
### Build Environment 构建环境
- OS: [e.g. Windows 10, macOS, Ubuntu]
- Theme version/commit [e.g. 0.2.0, 2ccba79]
- Hugo version [e.g. 0.69.0]
Please try to use Hugo **extended** version before opening the issue.
请在创建 issue 之前尝试使用 Hugo **extended** 版本.
### Preview Environment 预览环境
- OS: [e.g. Windows 10, macOS, Ubuntu, iOS, Android]
- Browser [e.g. Chrome, Safari, Firefox]
### Additional Information 补充信息
Configuration files or front matter code...
配置文件或者前置参数的代码...
+51
View File
@@ -0,0 +1,51 @@
name: "Bug Report 错误报告"
description: "Create a bug report 创建一个错误报告"
title: "[BUG] Some problem ..."
labels: ["bug"]
body:
- type: textarea
id: describe
attributes:
label: Describe the bug 描述你遇到的错误
description: |
A clear and concise description of what the bug is.
一段简短的对于你遇到的错误的描述。
- type: textarea
id: expected
attributes:
label: Expected behavior 期待的行为
description: |
A clear and concise description of what you expected to happen.
一段简短的对于你期待的行为的描述。
- type: textarea
id: screenshots
attributes:
label: Screenshots 屏幕截图
description: |
If applicable, add screenshots to help explain your problem.
如果可以的话,提供屏幕截图对解决问题很有帮助。
- type: textarea
id: environment
attributes:
label: Build Environment 构建环境
description: |
Please try to use Hugo **extended** version before opening the issue.
请在创建 issue 之前尝试使用 Hugo **extended** 版本。
placeholder: |
- OS: [e.g. Windows 10, macOS, Ubuntu]
- Theme version/commit [e.g. 0.2.0, 2ccba79]
- Hugo version [e.g. 0.69.0]
- type: textarea
id: preview
attributes:
label: Preview Environment 预览环境
placeholder: |
- OS: [e.g. Windows 10, macOS, Ubuntu, iOS, Android]
- Browser [e.g. Chrome, Safari, Firefox]
- type: textarea
id: additional
attributes:
label: Additional Information 补充信息
description: |
Configuration files or front matter code ...
配置文件或者前置参数的代码 ...
+9 -1
View File
@@ -1,5 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Questions 问题讨论
url: https://github.com/hugo-fixit/FixIt/discussions/new
about: Please ask questions in Discussion. 请在讨论中提问。
- name: 官方 QQ 群
url: https://qm.qq.com/cgi-bin/qm/qr?k=awbwdTtSQ_-H5QGzeJxdWgv6JMbNehNM&jump_from=webapi
about: '加入 FixIt 主题交流群: 814031017'
- name: Theme Documentation 主题文档
url: https://fixit.lruihao.cn/categories/documentation/
about: Please read the documentation carefully. 请先仔细阅读主题文档.
about: Please read the documentation carefully. 请先仔细阅读主题文档
-22
View File
@@ -1,22 +0,0 @@
---
name: Feature request 功能请求
about: Suggest an idea for this project 为这个项目提供一个建议
title: "[FEATURE] Some feature"
labels: enhancement
---
### Describe the feature you want 描述你的功能需求
- Feature 1 功能需求 1
I want this feature to solve ...
我希望这个功能解决 ...
- Feature 2 功能需求 2
I want this feature to solve ...
我希望这个功能解决 ...
- ...
### Useful reference 有价值的参考
If available, provide useful links to fulfill the feature.
如果可以的话, 提供实现这个功能的相关参考链接.
@@ -0,0 +1,22 @@
name: "Feature request 功能请求"
description: "Suggest an idea for this project 为这个项目提供一个建议"
title: "[FEATURE] Some feature"
labels: ["enhancement"]
body:
- type: textarea
id: describe
attributes:
label: Describe the feature you want 描述你的功能需求
description: |
Please submit new issues for different features.
请针对不同的功能建议提交新的 issue。
placeholder: |
I recommend adding this feature ...
我希望添加这样的一个功能 ...
- type: textarea
id: reference
attributes:
label: Useful reference 有价值的参考
description: |
If available, provide useful links to fulfill the feature.
如果可以的话,提供实现这个功能的相关参考链接。
+4
View File
@@ -10,3 +10,7 @@ updates:
schedule:
interval: "monthly"
open-pull-requests-limit: 1000
assignees:
- "Lruihao"
labels:
- "dependencies"
+2 -2
View File
@@ -31,7 +31,7 @@ jobs:
ALGOLIA_APP_ID: YKOM6PKLUY
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
ALGOLIA_INDEX_NAME: 'index.en'
ALGOLIA_INDEX_FILE: './exampleSite/public/index.json'
ALGOLIA_INDEX_FILE: './docs/public/index.json'
run: |
npm run algolia
@@ -40,6 +40,6 @@ jobs:
ALGOLIA_APP_ID: YKOM6PKLUY
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
ALGOLIA_INDEX_NAME: 'index.zh-cn'
ALGOLIA_INDEX_FILE: './exampleSite/public/zh-cn/index.json'
ALGOLIA_INDEX_FILE: './docs/public/zh-cn/index.json'
run: |
npm run algolia
+1 -1
View File
@@ -18,4 +18,4 @@ jobs:
hugo-version: latest
extended: true
- name: Build Hugo static files
run: hugo -v --source=exampleSite --themesDir ../.. --gc
run: hugo -v --source=docs --gc --minify
+24
View File
@@ -0,0 +1,24 @@
name: Generate Contribute List
on:
push:
branches:
- master
workflow_dispatch:
jobs:
contrib-readme-job:
runs-on: ubuntu-latest
name: A job to automate contribute list in contributors.md file
steps:
- name: First Contribution Check
id: first-check
uses: sukki37/first-contribution-check-action@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }}
- name: Contribute List
uses: akhilmhdh/contributors-readme-action@master
if: ${{ steps.first-check.outputs.isNewContributor == 'true' }}
with:
readme_path: "contributors.md"
image_size: 100
env:
GITHUB_TOKEN: ${{ secrets.CONTRIBUTORS_TOKEN }}
+3 -4
View File
@@ -1,11 +1,10 @@
# Hugo default output directory
public/
/exampleSite/resources/
node_modules/
build/
resources/
# NPM
node_modules/
## OS Files
# Windows
Thumbs.db
+3
View File
@@ -0,0 +1,3 @@
[submodule "docs"]
path = docs
url = https://github.com/hugo-fixit/docs.git
+136 -40
View File
@@ -1,64 +1,160 @@
# Changelog
All notable changes to this project will be documented in this file.
<!-- Releases see https://github.com/Lruihao/FixIt/releases -->
<!-- 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]
- :recycle: Refactor: page layout ([#65](https://github.com/Lruihao/FixIt/issues/65))
- :tada: Feat: add Artalk comment support ([#54](https://github.com/Lruihao/FixIt/issues/54), @hiifong[#57](https://github.com/Lruihao/FixIt/pull/57))
- :tada: Feat: add Waline comment support ([#36](https://github.com/Lruihao/FixIt/issues/36))
- :tada: Feat: add Twikoo comment support ([#64](https://github.com/Lruihao/FixIt/issues/64))
- :sparkles: Feat: add recently updated section ([#50](https://github.com/Lruihao/FixIt/issues/50))
- :sparkles: Feat: add article expiration reminder support ([#51](https://github.com/Lruihao/FixIt/issues/51))
- :sparkles: Feat: add pageStyle option ([#62](https://github.com/Lruihao/FixIt/issues/62))
- :sparkles: Style: add media style for print view ([#61](https://github.com/Lruihao/FixIt/issues/61))
- :sparkles: Feat: add Gravatar mirror site support (@ctj12461[#66](https://github.com/Lruihao/FixIt/pull/66))
- :sparkles: Feat: add archive count display ([#33](https://github.com/Lruihao/FixIt/issues/33))
- :sparkles: Feat: add `details` shortcode ([#68](https://github.com/Lruihao/FixIt/issues/68))
- :sparkles: Feat: add `center-quote` shortcode ([#69](https://github.com/Lruihao/FixIt/issues/69))
> 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/Lruihao/FixIt/issues/17))
- :zap: Perf: enhance highlight feature (GitHub syntax supported) and fix some css bugs ([#43](https://github.com/Lruihao/FixIt/issues/43))
- :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/Lruihao/FixIt/issues/76))
- :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/Lruihao/FixIt/issues/67))
- :fire: Feat: remove shortcode cardlink ([#42](https://github.com/Lruihao/FixIt/issues/42))
- :lipstick: Style: more refined theme style ([#40](https://github.com/Lruihao/FixIt/issues/40))
- :pencil2: Style: fix typo *discription* should be **description** ([#60](https://github.com/Lruihao/FixIt/issues/60))
- :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/Lruihao/FixIt/issues/74))
- :wrench: Chore: add atomic-algolia for exampleSite ([#70](https://github.com/Lruihao/FixIt/issues/70))
- **Full Changelog:** [`v0.2.12...v0.2.13`](https://github.com/Lruihao/FixIt/compare/v0.2.12...v0.2.13)
- 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/Lruihao/FixIt/issues/16))
- :tada: Feat: add "不蒜子" count and site run time ([#18](https://github.com/Lruihao/FixIt/issues/18))
- :sparkles: Feat: add pangu.js support ([#20](https://github.com/Lruihao/FixIt/issues/20))
- :sparkles: Feat: add public network security config (only in China) ([#15](https://github.com/Lruihao/FixIt/issues/15))
- :sparkles: Feat: add CustomJS option ([#24](https://github.com/Lruihao/FixIt/issues/24))
- :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/Lruihao/FixIt/issues/30))
- :zap: Feat: remove lib smooth-scroll ([#1](https://github.com/Lruihao/FixIt/issues/1)) replaced by CSS native properties scroll-margin, scroll-behavior ([#39](https://github.com/Lruihao/FixIt/issues/39))
- :zap: Perf: merge shortcode cardlink (deprecated v0.2.13) into shortcode link and add 'download' param ([#42](https://github.com/Lruihao/FixIt/issues/42))
- :zap: Perf: optimize JS loading ([#25](https://github.com/Lruihao/FixIt/issues/25))
- :recycle: Refactor: header title DOM and add subtitle option ([#26](https://github.com/Lruihao/FixIt/issues/26))
- :bug: Fix: set mermaid theme as 'default' when initialization ([#38](https://github.com/Lruihao/FixIt/issues/38))
- :bug: Fix: typeit print code error ([#19](https://github.com/Lruihao/FixIt/issues/19))
- :bug: Fix: pre element overflow error ([#29](https://github.com/Lruihao/FixIt/issues/29))
- :bug: Fix: toc display error without content header ([#21](https://github.com/Lruihao/FixIt/issues/21))
- :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/Lruihao/FixIt/issues/37))
- :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:** [`v0.2.11...v0.2.12`](https://github.com/Lruihao/FixIt/compare/v0.2.11...v0.2.12)
- **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.
@@ -69,7 +165,7 @@ All notable changes to this project will be documented in this file.
- :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:** [`v0.2.10...v0.2.11`](https://github.com/Lruihao/FixIt/compare/v0.2.10...v0.2.11)
- **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]
+15 -8
View File
@@ -19,16 +19,23 @@ And now you are ready to go!
Here are some useful commands.
```
npm run babel #build theme.js with babel
npm run build #build theme.js and then build the static site
npm run start #build theme.js and then run a local debugging server
npm run start:production #build theme.js and then run a local debugging server in production environment
npm run serve #run a local debugging server without building a new theme.js
npm run serve:production #run a local debugging server in production environment without building a new theme.js
```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/Lruihao/FixIt/pulls to submit your contribution 🎉
Finally, create a new pull request at https://github.com/hugo-fixit/FixIt/pulls to submit your contribution 🎉
## Git standard for developers
+79 -75
View File
@@ -1,57 +1,41 @@
# FixIt Theme | Hugo
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/Lruihao/FixIt?style=flat-square)](https://github.com/Lruihao/FixIt/releases)
[![GitHub commits since tagged version](https://img.shields.io/github/commits-since/Lruihao/FixIt/v0.2.10?style=flat-square)](https://github.com/Lruihao/FixIt/compare/v0.2.10...master)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.62.0-ff4088?style=flat-square&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/Lruihao/FixIt?style=flat-square)](https://github.com/Lruihao/FixIt/blob/master/LICENSE)
[![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)
English README | [简体中文说明](https://github.com/Lruihao/FixIt/blob/master/README.zh-cn.md)
English README | [简体中文说明](https://github.com/hugo-fixit/FixIt/blob/master/README.zh-cn.md)
> **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).
[LoveIt Theme](https://github.com/dillonzq/LoveIt) is a awesome hugo theme for us, I'm sorry that it's repository has been out of maintenance for a long time, so I rebuilt a new fork named FixIt so that I can better **Fix It** and make it more user-friendly.
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.
The FixIt theme inherits the excellent functions of these themes, and adds new functions and optimizations on this 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://github.com/Lruihao/FixIt/raw/master/images/Apple-Devices-Preview.png)
## [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.
### [Demo Site](https://fixit.lruihao.cn)
To see this theme in action, here is a live [demo site](https://fixit.lruihao.cn) which is rendered with **FixIt** theme.
### [Documentation](https://fixit.lruihao.cn/categories/documentation/)
Build Documentation Locally:
Or run [Documentation Site](https://fixit.lruihao.cn) locally:
```bash
hugo server --source=exampleSite
git clone --recursive https://github.com/hugo-fixit/FixIt.git FixIt
cd FixIt
hugo server --source=docs
```
Of course, you can also read the [FixIt wiki](https://github.com/Lruihao/FixIt/wiki) directly.
In addition, there is the [FixIt wiki](https://github.com/hugo-fixit/FixIt/wiki).
## Migrate from LoveIt
## Migrate and Update
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.
```bash
git submodule add https://github.com/Lruihao/FixIt.git themes/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
```
Or use shell command `fixit_checker.sh` to update and commit in the theme directory.
```bash
sh fixit_checker.sh
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`.
@@ -63,42 +47,41 @@ 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
* Custom **Header**
* Custom **CSS Style**
* A new **home page**, compatible with the latest version of Hugo
* A lot of **style detail adjustments,** including color, font size, margins, code preview style
* More readable **dark mode**
* Some beautiful **CSS animations**
* Easy-to-use and self-expanding **table of contents**
* More **social links**, **share sites** and **comment system**
* **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/)
* **Copy code** to clipboard with one click
* 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/)
* **Diagram syntax** 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)
* Embedded **music player** supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS)
* **Bilibili** player supported
* Kinds of **admonitions** shortcode supported
* Custom style shortcodes supported
* **CDN** for all third-party libraries supported
* **PWA (Progressive Web App)** supported
* **Web Watermark** supported by [cell-watermark](https://github.com/Lruihao/watermark)
* **Chinese typesetting** supported by [pangu.js](https://github.com/vinta/pangu.js)
* **Card type** link shortcode
* **Friends** page embedded template
* ...
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:
In short,
if you prefer the design language and freedom of the FixIt theme,
if you want to use the extended Font Awesome icons conveniently,
if you want to embed mathematical formulas, flowcharts, music or Bilibili videos in your posts,
the FixIt theme may be more suitable for you.
* 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))
## Features
@@ -138,9 +121,14 @@ the FixIt theme may be more suitable for you.
* **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
@@ -160,11 +148,8 @@ the FixIt theme may be more suitable for you.
* **Custom script** shortcode
* **Animated typing** supported by [TypeIt](https://typeitjs.com/)
* **Cookie consent banner** supported by [cookieconsent](https://github.com/osano/cookieconsent)
* **PWA (Progressive Web App)** supported
* **Web Watermark** supported by [cell-watermark](https://github.com/Lruihao/watermark)
* **Chinese typesetting** supported by [pangu.js](https://github.com/vinta/pangu.js)
* **Card type** link shortcode
* **Friends** page embedded template
* ...
## Multilingual and i18n
@@ -173,6 +158,7 @@ FixIt supports the following languages:
* English
* Simplified Chinese
* Traditional Chinese
* French
* Polish
* Brazilian Portuguese
@@ -183,23 +169,32 @@ FixIt supports the following languages:
* Russian
* Romanian
* Vietnamese
* Traditional Chinese
* [Contribute with a new language](https://github.com/Lruihao/FixIt/pulls)
* [Contribute with a new language](https://github.com/hugo-fixit/FixIt/pulls)
[Languages Compatibility](https://fixit.lruihao.cn/theme-documentation-basics/#language-compatibility)
## [Roadmap](https://github.com/Lruihao/FixIt/projects/1)
## [Roadmap](https://github.com/hugo-fixit/FixIt/projects/1)
## [Changelog](https://github.com/Lruihao/FixIt/blob/master/CHANGELOG.md)
## [Changelog](https://github.com/hugo-fixit/FixIt/blob/master/CHANGELOG.md)
## Questions, ideas, bugs, pull requests
All feedback is welcome! Head over to the [issue tracker](https://github.com/Lruihao/FixIt/issues).
All feedback is welcome! Head over to the [issues](https://github.com/hugo-fixit/FixIt/issues) or [discussions](https://github.com/hugo-fixit/FixIt/discussions) tracker.
## License
## Contributing
FixIt is licensed under the **MIT** license. Check the [LICENSE file](https://github.com/Lruihao/FixIt/blob/master/LICENSE) for details.
Please see [CONTRIBUTING.md](/CONTRIBUTING.md) for getting started with the contribution.
Thanks to the authors of following resources included in the theme:
Make sure that you follow [CODE_OF_CONDUCT.md](/CODE_OF_CONDUCT.md) while contributing and engaging in the discussions.
**When contributing, please first discuss the change you wish to make via an issue on this repository before making the actual change**.
## [Contributors](/contributors.md)
## Acknowledgements
<details>
<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/)
@@ -212,7 +207,6 @@ Thanks to the authors of following resources included in the theme:
* [object-fit-images](https://github.com/fregante/object-fit-images)
* [Twemoji](https://github.com/twitter/twemoji)
* [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* [clipboard.js](https://github.com/zenorocha/clipboard.js)
* [Sharer.js](https://github.com/ellisonleao/sharer.js)
* [TypeIt](https://typeitjs.com/)
* [KaTeX](https://katex.org/)
@@ -229,6 +223,16 @@ Thanks to the authors of following resources included in the theme:
* [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)
</details>
## License
FixIt is licensed under the **MIT** license. Check the [LICENSE file](https://github.com/hugo-fixit/FixIt/blob/master/LICENSE) for details.
## Author
+80 -76
View File
@@ -1,56 +1,41 @@
# FixIt 主题 | Hugo
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/Lruihao/FixIt?style=flat-square)](https://github.com/Lruihao/FixIt/releases)
[![GitHub commits since tagged version](https://img.shields.io/github/commits-since/Lruihao/FixIt/v0.2.10?style=flat-square)](https://github.com/Lruihao/FixIt/compare/v0.2.10...master)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.62.0-ff4088?style=flat-square&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/Lruihao/FixIt?style=flat-square)](https://github.com/Lruihao/FixIt/blob/master/LICENSE)
[![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)
[English README](https://github.com/Lruihao/FixIt/blob/master/README.md) | 简体中文说明
[English README](https://github.com/hugo-fixit/FixIt/blob/master/README.md) | 简体中文说明
> [FixIt](https://github.com/Lruihao/FixIt) 是一个**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。
> [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) 对我们来说是一个很棒的 Hugo 主题,很抱歉的是它的存储库已经停止维护很长一段时间了,所以我重建了一个名为 FixIt 的新主题,这样我可以更好地 **Fix It** 并使它用户体验更好。
FixIt 主题继承了这些主题的优秀功能,并在此基础上添加了新的功能与优化,请阅读 [为什么选择 FixIt](#为什么选择-FixIt) 来了解更多。
![Hugo Theme FixIt](https://github.com/Lruihao/FixIt/raw/master/images/Apple-Devices-Preview.png)
![Hugo Theme FixIt](https://github.com/hugo-fixit/FixIt/raw/master/images/Apple-Devices-Preview.png)
## [立即开始](https://fixit.lruihao.cn/zh-cn/categories/documentation/)
## 立即开始
前往这篇 [文档](https://fixit.lruihao.cn/zh-cn/theme-documentation-basics/),阅读关于安装与使用的详细指南。
### 主题 [预览](https://fixit.lruihao.cn/zh-cn/)
为了直观地浏览主题特性,这里有一个基于 **FixIt** 主题渲染的 [预览网站](https://fixit.lruihao.cn/zh-cn/)。
或者,在本地构建 [文档](https://fixit.lruihao.cn/zh-cn/)
### [文档](https://fixit.lruihao.cn/zh-cn/categories/documentation/)
在本地构建文档:
```bash
hugo server --source=exampleSite
git clone --recursive https://github.com/hugo-fixit/FixIt.git FixIt
cd FixIt
hugo server --source=docs
```
当然,你也可以直接阅读 [FixIt 主题维基](https://github.com/Lruihao/FixIt/wiki)
除此之外,还有[FixIt 主题维基](https://github.com/hugo-fixit/FixIt/wiki)
## 从 LoveIt 迁移
## 迁移和升级
如果你现在正在使用 LoveIt 主题(或者一些其他的主题),你可以很容易地迁移至 FixIt。
你可以将这个主题仓库添加为你的网站目录的子模块。
```bash
git submodule add https://github.com/Lruihao/FixIt.git themes/FixIt
```
之后,你可以在站点目录通过这条命令来将主题更新至最新版本:
```bash
git submodule update --remote --merge
```
或者在主题目录中使用 shell 命令 `fixit_checker.sh` 将主题更新至最新版本:
```bash
sh fixit_checker.sh
git submodule add https://github.com/hugo-fixit/FixIt.git themes/FixIt
```
接着,前往 `config.toml` 并将默认主题更改为 `FixIt`
@@ -62,42 +47,40 @@ sh fixit_checker.sh
这样就完成了迁移工作,现在一切准备就绪 🎉
---
之后,你可以在站点目录通过这条命令来将主题更新至最新版本:
```bash
git submodule update --remote --merge
```
或者这条 shell 命令:
```bash
sh themes/FixIt/fixit_checker.sh
```
## 为什么选择 FixIt
* 自定义**标题栏**
* 自定义 **CSS 样式**
* 焕然一新的**主页**,已经兼容最新版 Hugo
* 大量的**样式细节调整**,包括颜色、字体大小、边距、代码预览样式
* 可读性更强的**深色模式**
* 一些美观的 **CSS 动画**
* 易用和自动展开的**文章目录**
* 支持更多的**社交链接**、**网站分享**和**评论系统**
* 支持基于 [Lunr.js](https://lunrjs.com/) 或 [algolia](https://www.algolia.com/) 的**搜索**
* 一键**复制代码**到剪贴板
* 支持基于 **[Font Awesome](https://fontawesome.com/) 图标**的扩展 Markdown 语法
* 支持**上标注释**的扩展 Markdown 语法
* 支持**分数**的扩展 Markdown 语法
* 支持基于 [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) 的 **Mapbox** 地图显示功能
* 支持基于 [APlayer](https://github.com/MoePlayer/APlayer) 和 [MetingJS](https://github.com/metowolf/MetingJS) 的内嵌**音乐播放器**
* 支持内嵌 **Bilibili** 视频
* 支持多种**注释**的 shortcode
* 支持自定义样式的 shortcode
* 支持所有第三方库的 **CDN**
* 支持**渐进式网页应用**
* 支持基于 [cell-watermark](https://github.com/Lruihao/watermark) 的**网页水印**
* 支持基于 [pangu.js](https://github.com/vinta/pangu.js) 的**中文排版**
* 支持**卡片式链接**的 shortcode
* 支持**友情链接**的页面模板
* ...
FixIt 主题继承了 LoveIt 等主题的优秀功能,并在它们的基础上添加了新的功能与优化,详见 [特性](#特性)。除此之外,FixIt 主题还有以下优点:
所以,
如果你更偏好 FixIt 主题的设计语言和自由度,
如果你想便捷地使用扩展的 Font Awesome 图标,
如果你想在文章内嵌数学公式、流程图、音乐或是 Bilibili 视频,
那么,FixIt 主题可能是更适合你。
* 完善的中英文官方文档
* 社区支持:主题官网、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)
## 特性
@@ -137,9 +120,14 @@ sh fixit_checker.sh
* 支持 **[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**
* 支持**代码高亮**
@@ -159,11 +147,8 @@ sh fixit_checker.sh
* 支持**自定义脚本**的 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) 的**中文排版**
* 支持**卡片式链接**的 shortcode
* 支持**友情链接**的页面模板
* ...
## 多语言和国际化
@@ -172,6 +157,7 @@ FixIt 支持下列语言:
* 英语
* 简体中文
* 繁体中文
* 法语
* 波兰语
* 巴西葡萄牙语
@@ -182,23 +168,32 @@ FixIt 支持下列语言:
* 俄语
* 罗马尼亚语
* 越南语
* 繁体中文
* [贡献一种新的语言](https://github.com/Lruihao/FixIt/pulls)
* [贡献一种新的语言](https://github.com/hugo-fixit/FixIt/pulls)
[语言兼容性](https://fixit.lruihao.cn/zh-cn/theme-documentation-basics/#language-compatibility)
## [路线图](https://github.com/Lruihao/FixIt/projects/1)
## [路线图](https://github.com/hugo-fixit/FixIt/projects/1)
## [更新日志](https://github.com/Lruihao/FixIt/blob/master/CHANGELOG.md)
## [更新日志](https://github.com/hugo-fixit/FixIt/blob/master/CHANGELOG.md)
## 问题、想法、 bugs 和 PRs
## 问题、想法、bugs 和 PRs
所有的反馈都是欢迎的!详见 [issue tracker](https://github.com/Lruihao/FixIt/issues)。
所有的反馈都是欢迎的!详见 [议题](https://github.com/hugo-fixit/FixIt/issues) 或者 [讨论](https://github.com/hugo-fixit/FixIt/discussions)。
## 许可协议
## 参与贡献
FixIt 根据 **MIT** 许可协议授权。 更多信息请查看 [LICENSE 文件](https://github.com/Lruihao/FixIt/blob/master/LICENSE)
请参阅 [CONTRIBUTING.md](/CONTRIBUTING.md) 以了解贡献该项目的基本信息
FixIt 主题中用到了以下项目,感谢它们的作者:
确保在贡献和参与讨论时遵守 [CODE_OF_CONDUCT.md](/CODE_OF_CONDUCT.md)。
**贡献时,请先通过此存储库上的问题讨论您希望进行的更改,然后再进行实际更改**
## [所有贡献者](/contributors.md)
## 致谢
<details>
<summary>FixIt 主题中用到了以下项目,感谢它们的作者:</summary>
* [normalize.css](https://github.com/necolas/normalize.css)
* [Font Awesome](https://fontawesome.com/)
@@ -211,7 +206,6 @@ FixIt 主题中用到了以下项目,感谢它们的作者:
* [object-fit-images](https://github.com/fregante/object-fit-images)
* [Twemoji](https://github.com/twitter/twemoji)
* [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* [clipboard.js](https://github.com/zenorocha/clipboard.js)
* [Sharer.js](https://github.com/ellisonleao/sharer.js)
* [TypeIt](https://typeitjs.com/)
* [KaTeX](https://katex.org/)
@@ -228,6 +222,16 @@ FixIt 主题中用到了以下项目,感谢它们的作者:
* [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)
</details>
## 许可协议
FixIt 根据 **MIT** 许可协议授权。 更多信息请查看 [LICENSE 文件](https://github.com/hugo-fixit/FixIt/blob/master/LICENSE)。
## 作者
+1 -1
View File
@@ -26,6 +26,6 @@ comment: false
{{< 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. Warn: Website failure, stop maintenance and improper content may be cancelled!
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 >}}
+5
View File
@@ -5,6 +5,7 @@ date: {{ .Date }}
draft: true
author: ""
authorLink: ""
authorEmail: ""
description: ""
keywords: ""
license: ""
@@ -34,6 +35,10 @@ lightgallery: false
seo:
images: []
repost:
enable: true
url: ""
# See details front matter: /theme-documentation-content/#front-matter
---
+5
View File
@@ -5,6 +5,7 @@ date: {{ .Date }}
draft: true
author: ""
authorLink: ""
authorEmail: ""
description: ""
keywords: ""
license: ""
@@ -34,6 +35,10 @@ lightgallery: false
seo:
images: []
repost:
enable: true
url: ""
# See details front matter: /theme-documentation-content/#front-matter
---
+48
View File
@@ -0,0 +1,48 @@
// ==============================
// Common Styles
// 常用样式
// ==============================
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.text-start {
text-align: left !important;
}
.text-end {
text-align: right !important;
}
.text-center {
text-align: center !important;
}
.d-none {
display: none !important;
}
.d-none-desktop {
display: none;
}
.d-none-mobile {
display: block;
}
.ms-1 {
margin-left: 0.25rem !important;
}
.me-1 {
margin-right: 0.25rem !important;
}
.ps-1 {
padding-left: 0.25rem !important;
}
.pe-1 {
padding-right: 0.25rem !important;
}
@each $color, $value in $theme-colors {
.text-#{$color} {
color: #{$value} !important;
}
}
+1 -2
View File
@@ -65,5 +65,4 @@ iframe {
@import '../_partial/mask';
@import '../_partial/icon';
@import '../_partial/details';
@import '../_partial/fixed-button';
@import '../_partial/cookieconsent';
@import '../_partial/_widgets';
+13 -2
View File
@@ -91,10 +91,15 @@
display: none;
}
#header-mobile {
#header-mobile,
.d-none-desktop {
display: block;
}
.d-none-mobile {
display: none !important;
}
.page {
width: 100% !important;
@@ -150,11 +155,17 @@
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 {
#comments,
.github-corner {
display: none !important;
}
}
+14 -7
View File
@@ -1,17 +1,24 @@
.archive {
.single-title {
padding: 1rem 0 0.5rem;
margin: 0;
font-size: 1.6rem;
font-weight: bold;
line-height: 140%;
text-align: right;
}
sup {
color: $global-font-secondary-color;
[theme='dark'] & {
color: $global-font-secondary-color-dark;
}
}
.single-subtitle {
margin: 0.4rem 0;
font-size: 1.2rem;
font-weight: normal;
font-style: italic;
line-height: 100%;
text-align: right;
}
.group-title {
font-size: 1.2rem;
margin-top: 1.5rem;
margin-bottom: 1rem;
}
+29 -2
View File
@@ -1,4 +1,5 @@
@import '../_partial/_single/toc';
@import '../_partial/_single/fixit-decryptor';
.single {
.single-title {
@@ -7,6 +8,13 @@
font-size: 1.6rem;
font-weight: bold;
line-height: 140%;
.icon-repost {
color: var(--#{$prefix}success);
display: inline-block;
width: max-content;
margin-right: 0.25rem;
}
}
.single-subtitle {
@@ -33,6 +41,21 @@
.author {
font-size: 1.05rem;
img.avatar {
width: 1.3rem;
height: 1.3rem;
border-radius: 50%;
vertical-align: text-bottom;
border: 0.25px solid $global-border-color;
box-sizing: border-box;
object-position: center;
@include object-fit(cover);
[theme='dark'] & {
border-color: $global-border-color-dark;
}
}
}
}
@@ -135,6 +158,7 @@
@include link(false, false);
a {
white-space: normal;
@include overflow-wrap(break-word);
[theme='dark'] & b,
@@ -239,6 +263,9 @@
max-width: 100%;
min-height: 1em;
}
svg {
max-width: 100%;
}
figure {
margin: 0.5rem;
@@ -314,11 +341,11 @@
kbd {
display: inline-block;
padding: 0.25rem;
padding: 0 0.25rem;
background-color: $global-background-color;
border: 1px solid $global-border-color;
border-bottom-color: $global-border-color;
@include border-radius(3px);
@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;
+4 -2
View File
@@ -1,6 +1,5 @@
.categories-card {
margin: 0 auto;
margin-top: 3rem;
display: flex;
align-items: flex-start;
justify-content: space-between;
@@ -14,11 +13,14 @@
width: 45%;
display: flex;
align-items: flex-start;
margin-top: 2rem;
min-height: 10rem;
padding: 0 2%;
position: relative;
&:nth-child(n+3){
margin-top: 2rem;
}
.card-item-wrapper {
width: 100%;
overflow: hidden;
+1 -1
View File
@@ -11,7 +11,7 @@ footer {
.footer-line {
width: 100%;
.footer-divider::before {
.footer-divider:not(:first-child)::before {
content: '|';
margin-left: 0.25rem;
margin-right: 0.25rem;
+154 -39
View File
@@ -34,7 +34,7 @@ header {
.logo {
min-height: 1.5em;
height: 1.5em;
vertical-align: text-bottom;
vertical-align: middle;
}
.header-title-text {
@@ -48,20 +48,38 @@ header {
}
}
.menu .menu-item {
position: relative;
}
.menu {
margin: 0;
padding: 0;
.language-select {
position: absolute;
opacity: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
.menu-item {
list-style: none;
&:hover {
cursor: pointer;
& .dropdown-icon {
margin-left: 0.25rem;
font-size: .875em;
color: $global-font-color;
[theme='dark'] & {
color: $global-font-color-dark;
}
&.open::before {
content: "\f078";
}
}
&.active {
>.menu-link,
>.nested-item>.menu-link {
font-weight: bold;
color: $menu-active-color;
[theme='dark'] & {
color: $menu-active-color-dark;
}
}
}
}
}
@@ -72,17 +90,13 @@ header {
color: transparent;
box-sizing: border-box;
height: 2.5rem;
width: 2.5rem;
width: 1.25rem;
@include border-radius(0.5rem);
border: none;
outline: none;
background-color: $header-background-color;
background-color: transparent;
vertical-align: baseline !important;
@include transition(width 0.3s ease);
[theme='dark'] & {
background-color: $header-background-color-dark;
}
}
@include placeholder(transparent);
@@ -97,6 +111,10 @@ header {
.search-toggle {
left: 0.5rem;
right: auto;
#header-desktop.open & {
left: 1rem;
}
}
.search-loading {
@@ -154,60 +172,94 @@ header {
top: 0;
height: $header-height;
line-height: $header-height;
box-sizing: border-box;
[header-desktop='normal'] & {
position: static;
}
nav {
overflow: hidden;
white-space: nowrap;
}
.header-wrapper {
padding: 0 2rem 0 10vh;
// use css native function to calculate max value
padding: 0 2rem 0 MAX(10vh, $header-height);
height: 100%;
&[github-corner='right'] {
padding-right: $header-height;
}
.header-title {
font-size: $header-title-font-size;
height: 100%;
}
.menu {
overflow: hidden;
white-space: nowrap;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
float: right;
.menu-inner {
float: right;
>.menu-item:hover {
& .sub-menu {
display: block;
}
}
.menu-item {
margin: 0 0.5rem;
padding: 0 0.5rem;
&.delimiter {
border-left: 1.5px solid $global-font-color;
width: 0;
margin: 0.125rem 0.25rem;
padding: 0;
border-left: 1px dashed lighten($global-font-secondary-color, 20%);
[theme='dark'] & {
border-left-color: $global-border-color-dark;
border-left-color: darken($global-font-secondary-color-dark, 20%);
}
}
&.language {
margin-right: 0;
}
&.search {
margin: 0 -0.5rem 0 0;
}
}
a.active {
font-weight: 900;
color: $header-hover-color;
.sub-menu {
z-index: 160;
position: absolute;
margin: 0;
padding: 0.25rem 0;
display: none;
top: calc(#{$header-height} - 0.75rem);
border-radius: $global-border-radius;
border: 1px solid $global-border-color;
background-color: $header-background-color;
@include transition(box-shadow 0.3s ease);
[theme='dark'] & {
color: $header-hover-color-dark;
background-color: $header-background-color-dark;
border-color: $global-border-color-dark;
}
@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;
max-width: 15rem;
white-space: nowrap;
text-overflow: ellipsis;
overflow-x: hidden;
}
}
}
}
&.open .header-wrapper .menu .menu-item.search {
margin: 0 0.25rem 0 0.5rem;
input {
width: 24rem;
}
@@ -282,11 +334,10 @@ header {
}
.menu {
text-align: center;
background: $header-background-color;
border-top: 2px solid $global-border-color;
display: none;
padding-top: 0.5rem;
padding: 0.5rem 0 0;
@include box-shadow(0 0.125rem 0.25rem rgba(0, 0, 0, 0.1));
.search-wrapper {
@@ -307,6 +358,11 @@ header {
}
}
.search-loading,
.search-clear {
right: 0.5rem;
}
.search-button {
top: 0;
}
@@ -318,7 +374,66 @@ header {
.menu-item {
display: block;
position: relative;
line-height: 2.5rem;
padding: 0 1rem;
&:hover {
background-color: lighten($global-font-secondary-color, 24%);
[theme='dark'] & {
background-color: darken($global-font-secondary-color-dark, 24%);
}
}
.menu-link {
display: block;
white-space: nowrap;
text-overflow: ellipsis;
overflow-x: hidden;
@include flex(4);
}
& .nested-item {
display: flex;
justify-content: space-between;
align-items: center;
.menu-link {
max-width: 80%;
}
}
&.theme-switch,
&.language {
text-align: center;
}
.language-select {
position: absolute;
opacity: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
}
.sub-menu {
padding-left: 0;
display: none;
&.open {
display: block;
}
.menu-item:hover {
background-color: lighten($global-font-secondary-color, 20%);
[theme='dark'] & {
background-color: darken($global-font-secondary-color-dark, 20%);
}
}
}
&.active {
+1 -1
View File
@@ -2,7 +2,7 @@
code {
display: inline-block;
max-width: 100%;
padding: 0 0.4rem;
padding: 0 0.25rem;
font-size: $code-font-size;
font-family: $code-font-family;
color: $code-color;
@@ -0,0 +1,67 @@
.fixit-decryptor-container {
font-family: $global-font-family;
text-align: center;
margin-top: 3rem;
.fixit-encryptor-shortcode & {
margin-top: 1rem;
}
#fixit-decryptor-input,
.fixit-decryptor-input,
.fixit-encryptor-btn {
display: inline-block;
box-sizing: border-box;
outline: none;
color: $global-font-color;
border: 1px solid darken($global-border-color, 15%);
border-radius: $global-border-radius;
transition: 0.1s;
box-shadow: 0px 0px 5px 0px darken($global-border-color, 15%);
&:active,
&:focus,
&:hover {
color: darken($global-link-hover-color, 6%);
border-color: $global-link-hover-color;
box-shadow: 0px 0px 5px 0px lighten($global-link-hover-color, 20%);
[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'] & {
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%);
}
}
#fixit-decryptor-input,
.fixit-decryptor-input {
width: clamp(50%, 400px, 100%);
height: 3rem;
padding-left: 1rem;
padding-right: 1rem;
background-color: $global-background-color;
[theme='dark'] & {
background-color: $global-background-color-dark;
}
}
.fixit-encryptor-btn {
cursor: pointer;
transition: 0.1s;
padding: 0.6rem 1rem;
background-color: $header-background-color;
[theme='dark'] & {
background-color: $header-background-color-dark;
}
}
}
+7 -1
View File
@@ -37,9 +37,15 @@
.post-info-md {
font-size: 0.8rem;
width: 8rem;
width: fit-content;
@include link(false, false);
>span:not(:first-child)::before {
content: '|';
margin-left: 0.25rem;
margin-right: 0.25rem;
}
}
.post-info-share {
@@ -2,7 +2,7 @@
* Theme: GitHub Dark Dimmed
* Description: Dark Dimmed theme as seen on github.com
* Author: github.com
* Maintainer: https://github.com/Lruihao/FixIt
* Maintainer: https://github.com/hugo-fixit/FixIt
* Updated: 2022-03-01
*/
& {
+17 -4
View File
@@ -9,7 +9,7 @@
font-size: $toc-content-font-size;
ul {
text-indent: -0.85rem;
text-indent: -0.8rem;
padding-left: 0.8rem;
list-style: none;
@@ -61,6 +61,7 @@
.toc-title {
margin: 0.5rem 0;
cursor: pointer;
&::before {
content: '|';
@@ -72,15 +73,27 @@
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.625rem 0;
margin: 0;
}
ul {
@@ -125,7 +138,7 @@
justify-content: space-between;
line-height: 2em;
padding: 0 0.75rem;
background: darken($code-background-color, 6%);
background: darken($code-background-color, 3%);
[theme='dark'] & {
background: darken($code-background-color-dark, 6%);
@@ -147,7 +160,7 @@
&.open {
.toc-title {
background: darken($code-background-color, 3%);
background: darken($code-background-color, 6%);
[theme='dark'] & {
background: darken($code-background-color-dark, 3%);
@@ -0,0 +1,46 @@
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
.github-corner {
position: fixed;
top: 0;
z-index: 150;
:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
svg {
width: $header-height;
height: $header-height;
border: 0;
color: $github-corner-color;
fill: $github-corner-fill;
[theme='dark'] & {
color: $github-corner-color-dark;
fill: $github-corner-fill-dark;
}
}
&.left {
left: 0;
svg {
transform: scale(-1, 1);
}
}
&.right {
right: 0;
}
}
+3
View File
@@ -0,0 +1,3 @@
@import '_cookieconsent';
@import '_fixed-button';
@import '_github-corner';
+7
View File
@@ -0,0 +1,7 @@
:root {
// Note: Custom variable values only support SassScript inside `#{}`.
@each $color, $value in $theme-colors {
--#{$prefix}#{$color}: #{$value};
}
}
+2 -2
View File
@@ -8,7 +8,7 @@
display: block;
margin: 0.5rem auto;
box-sizing: border-box;
width: 400px;
width: clamp(50%, 400px, 100%);
max-width: 100%;
overflow: hidden;
text-decoration: none;
@@ -25,7 +25,7 @@
right: 0;
background-image: url('/images/fixit.svg');
background-repeat: no-repeat;
filter: blur(0.15rem);
filter: blur(0.5rem);
opacity: 0.5;
background-size: contain;
background-position: center;
@@ -4,6 +4,7 @@
padding: 0;
position: relative;
text-align: center;
color: initial;
&::after,
&::before {
+36 -5
View File
@@ -3,6 +3,9 @@
// ==============================
// ========== Global ========== //
// Prefix for :root CSS variables.
$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;
@@ -35,6 +38,24 @@ $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 ========== //
@@ -63,9 +84,9 @@ $header-background-color-dark: #252627 !default;
$header-title-font-family: $global-font-family !default;
$header-title-font-size: 1.5rem !default;
// Color of the hover header item
$header-hover-color: #161209 !default;
$header-hover-color-dark: #fff !default;
// Color of the active menu item
$menu-active-color: #161209 !default;
$menu-active-color-dark: #fff !default;
// Color of the search background
$search-background-color: #e9e9e9 !default;
@@ -94,8 +115,8 @@ $table-thead-color: #ededed !default;
$table-thead-color-dark: #20252b !default;
// Color of the blockquote
$blockquote-color: #bbc2c8 !default;
$blockquote-color-dark: #808992 !default;
$blockquote-color: #697681 !default;
$blockquote-color-dark: #9ba3aa !default;
// ========== Single Content ========== //
// ========== Pagination ========== //
@@ -377,3 +398,13 @@ $admonition-background-color-map: (
'quote': rgba(159, 159, 159, 0.1)
) !default;
// ========== Admonition ========== //
// ========== GitHub Corners ========== //
// Color of the GitHub Corners
$github-corner-color: white !default;
$github-corner-color-dark: black !default;
// Color of the GitHub Corners background
$github-corner-fill: $header-background-color-dark !default;
$github-corner-fill-dark: $header-background-color !default;
// ========== GitHub Corners ========== //
+2
View File
@@ -5,6 +5,7 @@
@import "_mixin/index";
@import "_root";
@import "_core/base";
@import "_core/layout";
@@ -16,4 +17,5 @@
@import "_core/media";
@import "_common";
@import "_custom";
+40 -29
View File
@@ -1,45 +1,53 @@
# Tips: remove sourceMappingURL of local libraries to avoid source map 404 error.
# See https://github.com/hugo-fixit/FixIt/issues/67
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/
libFiles:
# algoliasearch@4.11.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@4.11.0/dist/algoliasearch-lite.umd.min.js
# algoliasearch@4.13.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@4.13.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.1.4 https://github.com/ArtalkJS/Artalk
artalkCSS: artalk@2.1.4/dist/Artalk.min.css
artalkJS: artalk@2.1.4/dist/Artalk.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
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
# clipboard.js@2.0.8 https://github.com/zenorocha/clipboard.js
clipboardJS: clipboard@2.0.8/dist/clipboard.min.js
# cookieconsent@3.1.1 https://github.com/osano/cookieconsent
cookieconsentCSS: cookieconsent@3.1.1/build/cookieconsent.min.css
cookieconsentJS: cookieconsent@3.1.1/build/cookieconsent.min.js
# crypto-js@4.1.1 https://github.com/brix/crypto-js
cryptoCoreJS: crypto-js@4.1.1/core.js
cryptoEncBase64JS: crypto-js@4.1.1/enc-base64.js
cryptoMd5JS: crypto-js@4.1.1/md5.js
cryptoSha256JS: crypto-js@4.1.1/sha256.js
# echarts@5.2.2 https://github.com/apache/echarts
echartsJS: echarts@5.2.2/dist/echarts.min.js
echartsMacaronsJS: echarts@5.2.2/theme/macarons.min.js
# fontawesome-free@5.14.0 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@5.14.0/css/all.min.css'
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'
# 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.1/dist/contrib/auto-render.min.js
katexCopyTexCSS: katex@0.15.1/dist/contrib/copy-tex.min.css
katexCopyTexJS: katex@0.15.1/dist/contrib/copy-tex.min.js
katexCSS: katex@0.15.1/dist/katex.min.css
katexJS: katex@0.15.1/dist/katex.min.js
katexMhchemJS: katex@0.15.1/dist/contrib/mhchem.min.js
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
# 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
@@ -48,11 +56,11 @@ libFiles:
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@1.10.1 https://docs.mapbox.com/mapbox-gl-js
mapboxGLCSS: mapbox-gl@1.10.1/dist/mapbox-gl.min.css
mapboxGLJS: mapbox-gl@1.10.1/dist/mapbox-gl.min.js
# mermaid@8.5.1 https://github.com/knsv/mermaid
mermaidJS: mermaid@8.5.1/dist/mermaid.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
# 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
@@ -62,12 +70,15 @@ libFiles:
# 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
sharerJS: sharer.js@0.4.2/sharer.min.js
sharerJS: sharer.js@0.5.1/sharer.min.js
# twemoji@13.1.0 https://github.com/twitter/twemoji
twemojiJS: twemoji@13.0.0/dist/twemoji.min.js
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.4.16 https://github.com/xCss/Valine
valineJS: valine@1.4.16/dist/Valine.min.js
# waline@1.5.2 https://github.com/walinejs/waline
walineJS: "@waline/client@1.5.2/dist/Waline.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'
+84
View File
@@ -0,0 +1,84 @@
# Tips: remove sourceMappingURL of local libraries to avoid source map 404 error.
# See https://github.com/hugo-fixit/FixIt/issues/67
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/
libFiles:
# algoliasearch@4.13.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearchJS: algoliasearch@4.13.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.css
artalkJS: artalk@2.3.4/dist/Artalk.js
# autocomplete.js@0.38.1 https://github.com/algolia/autocomplete.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
# cookieconsent@3.1.1 https://github.com/osano/cookieconsent
cookieconsentCSS: cookieconsent@3.1.1/build/cookieconsent.min.css
cookieconsentJS: cookieconsent@3.1.1/build/cookieconsent.min.js
# crypto-js@4.1.1 https://github.com/brix/crypto-js
cryptoCoreJS: crypto-js@4.1.1/core.js
cryptoEncBase64JS: crypto-js@4.1.1/enc-base64.js
cryptoMd5JS: crypto-js@4.1.1/md5.js
cryptoSha256JS: crypto-js@4.1.1/sha256.js
# 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'
# 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
# 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
sharerJS: sharer.js@0.5.1/sharer.min.js
# twemoji@13.1.0 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'
+61 -61
View File
@@ -4,7 +4,7 @@ github:
Prefix: https://github.com/
Title: GitHub
Icon:
Class: fab fa-github-alt fa-fw
Class: fa-brands fa-github-alt fa-fw
# 002: LinkedIn
linkedin:
@@ -12,7 +12,7 @@ linkedin:
Prefix: https://linkedin.com/in/
Title: LinkedIn
Icon:
Class: fab fa-linkedin fa-fw
Class: fa-brands fa-linkedin fa-fw
# 003: Twitter
twitter:
@@ -20,7 +20,7 @@ twitter:
Prefix: https://twitter.com/
Title: Twitter
Icon:
Class: fab fa-twitter fa-fw
Class: fa-brands fa-twitter fa-fw
# 004: Instagram
instagram:
@@ -28,7 +28,7 @@ instagram:
Prefix: https://www.instagram.com/
Title: Instagram
Icon:
Class: fab fa-instagram fa-fw
Class: fa-brands fa-instagram fa-fw
# 005: facebook
facebook:
@@ -36,7 +36,7 @@ facebook:
Prefix: https://facebook.com/
Title: facebook
Icon:
Class: fab fa-facebook fa-fw
Class: fa-brands fa-facebook fa-fw
# 006: Telegram
telegram:
@@ -44,7 +44,7 @@ telegram:
Prefix: https://t.me/
Title: Telegram
Icon:
Class: fab fa-telegram-plane fa-fw
Class: fa-brands fa-telegram-plane fa-fw
# 007: Medium
medium:
@@ -52,7 +52,7 @@ medium:
Prefix: https://medium.com/
Title: Medium
Icon:
Class: fab fa-medium fa-fw
Class: fa-brands fa-medium fa-fw
# 008: GitLab
gitlab:
@@ -60,7 +60,7 @@ gitlab:
Prefix: https://gitlab.com/
Title: GitLab
Icon:
Class: fab fa-gitlab fa-fw
Class: fa-brands fa-gitlab fa-fw
# 009: YouTube Legacy
youtubelegacy:
@@ -68,7 +68,7 @@ youtubelegacy:
Prefix: https://www.youtube.com/user/
Title: YouTube
Icon:
Class: fab fa-youtube fa-fw
Class: fa-brands fa-youtube fa-fw
# 010: YouTube Custom
youtubecustom:
@@ -76,7 +76,7 @@ youtubecustom:
Prefix: https://www.youtube.com/c/
Title: YouTube
Icon:
Class: fab fa-youtube fa-fw
Class: fa-brands fa-youtube fa-fw
# 011: YouTube Channel
youtubechannel:
@@ -84,7 +84,7 @@ youtubechannel:
Prefix: https://www.youtube.com/channel/
Title: YouTube
Icon:
Class: fab fa-youtube fa-fw
Class: fa-brands fa-youtube fa-fw
# 012: Tumblr
tumblr:
@@ -92,7 +92,7 @@ tumblr:
Template: https://%v.tumblr.com/
Title: Tumblr
Icon:
Class: fab fa-tumblr fa-fw
Class: fa-brands fa-tumblr fa-fw
# 013: Quora
quora:
@@ -100,7 +100,7 @@ quora:
Prefix: https://www.quora.com/profile/
Title: Quora
Icon:
Class: fab fa-quora fa-fw
Class: fa-brands fa-quora fa-fw
# 014: Keybase
keybase:
@@ -108,7 +108,7 @@ keybase:
Prefix: https://keybase.io/
Title: Keybase
Icon:
Class: fab fa-keybase fa-fw
Class: fa-brands fa-keybase fa-fw
# 015: Pinterest
pinterest:
@@ -116,7 +116,7 @@ pinterest:
Prefix: https://www.pinterest.com/
Title: Pinterest
Icon:
Class: fab fa-pinterest fa-fw
Class: fa-brands fa-pinterest fa-fw
# 016: Reddit
reddit:
@@ -124,7 +124,7 @@ reddit:
Prefix: https://www.reddit.com/user/
Title: Reddit
Icon:
Class: fab fa-reddit fa-fw
Class: fa-brands fa-reddit fa-fw
# 017: CodePen
codepen:
@@ -132,7 +132,7 @@ codepen:
Prefix: https://codepen.io/
Title: CodePen
Icon:
Class: fab fa-codepen fa-fw
Class: fa-brands fa-codepen fa-fw
# 018: freeCodeCamp
freecodecamp:
@@ -140,7 +140,7 @@ freecodecamp:
Prefix: https://freecodecamp.org/
Title: freeCodeCamp
Icon:
Class: fab fa-free-code-camp fa-fw
Class: fa-brands fa-free-code-camp fa-fw
# 019: Bitbucket
bitbucket:
@@ -148,7 +148,7 @@ bitbucket:
Prefix: https://bitbucket.org/
Title: Bitbucket
Icon:
Class: fab fa-bitbucket fa-fw
Class: fa-brands fa-bitbucket fa-fw
# 020: Stack Overflow
stackoverflow:
@@ -156,7 +156,7 @@ stackoverflow:
Prefix: https://stackoverflow.com/users/
Title: Stack Overflow
Icon:
Class: fab fa-codepen fa-fw
Class: fa-brands fa-codepen fa-fw
# 021: 微博
weibo:
@@ -164,7 +164,7 @@ weibo:
Prefix: https://weibo.com/
Title: 微博
Icon:
Class: fab fa-weibo fa-fw
Class: fa-brands fa-weibo fa-fw
# 022: OK.RU
odnoklassniki:
@@ -172,7 +172,7 @@ odnoklassniki:
Prefix: https://ok.ru/
Title: OK.RU
Icon:
Class: fab fa-odnoklassniki fa-fw
Class: fa-brands fa-odnoklassniki fa-fw
# 023: VK
vk:
@@ -180,7 +180,7 @@ vk:
Prefix: https://vk.com/
Title: VK
Icon:
Class: fab fa-vk fa-fw
Class: fa-brands fa-vk fa-fw
# 024: Flickr
flickr:
@@ -188,7 +188,7 @@ flickr:
Prefix: https://www.flickr.com/photos/
Title: Flickr
Icon:
Class: fab fa-flickr fa-fw
Class: fa-brands fa-flickr fa-fw
# 025: Xing
xing:
@@ -196,7 +196,7 @@ xing:
Prefix: https://www.xing.com/profile/
Title: Xing
Icon:
Class: fab fa-xing fa-fw
Class: fa-brands fa-xing fa-fw
# 026: Snapchat
snapchat:
@@ -204,7 +204,7 @@ snapchat:
Prefix: https://www.snapchat.com/add/
Title: Snapchat
Icon:
Class: fab fa-snapchat fa-fw
Class: fa-brands fa-snapchat fa-fw
# 027: SoundCloud
soundcloud:
@@ -212,7 +212,7 @@ soundcloud:
Prefix: https://soundcloud.com/
Title: SoundCloud
Icon:
Class: fab fa-soundcloud fa-fw
Class: fa-brands fa-soundcloud fa-fw
# 028: Spotify
spotify:
@@ -220,7 +220,7 @@ spotify:
Prefix: https://open.spotify.com/user/
Title: Spotify
Icon:
Class: fab fa-spotify fa-fw
Class: fa-brands fa-spotify fa-fw
# 029: Bandcamp
bandcamp:
@@ -228,7 +228,7 @@ bandcamp:
Template: https://%v.bandcamp.com/
Title: Bandcamp
Icon:
Class: fab fa-bandcamp fa-fw
Class: fa-brands fa-bandcamp fa-fw
# 030: PayPal
paypal:
@@ -236,7 +236,7 @@ paypal:
Prefix: https://paypal.me/
Title: PayPal
Icon:
Class: fab fa-paypal fa-fw
Class: fa-brands fa-paypal fa-fw
# 031: 500px
fivehundredpx:
@@ -244,7 +244,7 @@ fivehundredpx:
Prefix: https://500px.com/
Title: 500px
Icon:
Class: fab fa-500px fa-fw
Class: fa-brands fa-500px fa-fw
# 032: Mix
mix:
@@ -252,7 +252,7 @@ mix:
Prefix: https://mix.com/
Title: Mix
Icon:
Class: fab fa-mix fa-fw
Class: fa-brands fa-mix fa-fw
# 033: Goodreads
goodreads:
@@ -260,7 +260,7 @@ goodreads:
Prefix: https://www.goodreads.com/user/show/
Title: Goodreads
Icon:
Class: fab fa-goodreads fa-fw
Class: fa-brands fa-goodreads fa-fw
# 034: Last.fm
lastfm:
@@ -268,7 +268,7 @@ lastfm:
Prefix: https://www.last.fm/user/
Title: Last.fm
Icon:
Class: fab fa-lastfm fa-fw
Class: fa-brands fa-lastfm fa-fw
# 035: Foursquare
foursquare:
@@ -276,7 +276,7 @@ foursquare:
Prefix: https://foursquare.com/
Title: Foursquare
Icon:
Class: fab fa-foursquare fa-fw
Class: fa-brands fa-foursquare fa-fw
# 036: Hacker News
hackernews:
@@ -284,7 +284,7 @@ hackernews:
Template: https://news.ycombinator.com/user?id=%v
Title: Hacker News
Icon:
Class: fab fa-hacker-news fa-fw
Class: fa-brands fa-hacker-news fa-fw
# 037: Kickstarter
kickstarter:
@@ -292,7 +292,7 @@ kickstarter:
Prefix: https://kickstarter.com/profile/
Title: Kickstarter
Icon:
Class: fab fa-kickstarter fa-fw
Class: fa-brands fa-kickstarter fa-fw
# 038: Patreon
patreon:
@@ -300,7 +300,7 @@ patreon:
Prefix: https://patreon.com/
Title: Patreon
Icon:
Class: fab fa-patreon fa-fw
Class: fa-brands fa-patreon fa-fw
# 039: Steam
steam:
@@ -308,7 +308,7 @@ steam:
Prefix: https://steamcommunity.com/id/
Title: Steam
Icon:
Class: fab fa-steam fa-fw
Class: fa-brands fa-steam fa-fw
# 040: Twitch
twitch:
@@ -316,7 +316,7 @@ twitch:
Prefix: https://www.twitch.tv/
Title: Twitch
Icon:
Class: fab fa-twitch fa-fw
Class: fa-brands fa-twitch fa-fw
# 041: Strava
strava:
@@ -324,7 +324,7 @@ strava:
Prefix: https://www.strava.com/athletes/
Title: Strava
Icon:
Class: fab fa-strava fa-fw
Class: fa-brands fa-strava fa-fw
# 042: Skype
skype:
@@ -332,7 +332,7 @@ skype:
Template: "skype:"
Title: Skype
Icon:
Class: fab fa-skype fa-fw
Class: fa-brands fa-skype fa-fw
# 043: WhatsApp
whatsapp:
@@ -340,7 +340,7 @@ whatsapp:
Prefix: https://wa.me/
Title: WhatsApp
Icon:
Class: fab fa-whatsapp fa-fw
Class: fa-brands fa-whatsapp fa-fw
# 044: 知乎
zhihu:
@@ -364,7 +364,7 @@ angellist:
Prefix: https://angel.co/
Title: Angellist
Icon:
Class: fab fa-angellist fa-fw
Class: fa-brands fa-angellist fa-fw
# 047: SlideShare
slideshare:
@@ -372,7 +372,7 @@ slideshare:
Prefix: https://slideshare.com/
Title: SlideShare
Icon:
Class: fab fa-slideshare fa-fw
Class: fa-brands fa-slideshare fa-fw
# 048: JSFiddle
jsfiddle:
@@ -380,7 +380,7 @@ jsfiddle:
Prefix: https://jsfiddle.com/
Title: JSFiddle
Icon:
Class: fab fa-jsfiddle fa-fw
Class: fa-brands fa-jsfiddle fa-fw
# 049: DeviantArt
deviantart:
@@ -388,7 +388,7 @@ deviantart:
Template: https://%v.deviantart.com/
Title: DeviantArt
Icon:
Class: fab fa-deviantart fa-fw
Class: fa-brands fa-deviantart fa-fw
# 050: Behance
behance:
@@ -396,7 +396,7 @@ behance:
Prefix: https://behance.net/
Title: Behance
Icon:
Class: fab fa-behance fa-fw
Class: fa-brands fa-behance fa-fw
# 051: Dribbble
dribbble:
@@ -404,7 +404,7 @@ dribbble:
Prefix: https://dribbble.com/
Title: Dribbble
Icon:
Class: fab fa-dribbble fa-fw
Class: fa-brands fa-dribbble fa-fw
# 052: WordPress
wordpress:
@@ -412,7 +412,7 @@ wordpress:
Template: https://%v.wordpress.com/
Title: WordPress
Icon:
Class: fab fa-wordpress fa-fw
Class: fa-brands fa-wordpress fa-fw
# 053: Vine
vine:
@@ -420,7 +420,7 @@ vine:
Prefix: https://vine.co/
Title: Vine
Icon:
Class: fab fa-vine fa-fw
Class: fa-brands fa-vine fa-fw
# 054: Google Scholar
googlescholar:
@@ -436,7 +436,7 @@ researchgate:
Prefix: https://www.researchgate.net/profile/
Title: ResearchGate
Icon:
Class: fab fa-researchgate fa-fw
Class: fa-brands fa-researchgate fa-fw
# 056: Mastodon
mastodon:
@@ -444,7 +444,7 @@ mastodon:
Prefix: https://mastodon.social/
Title: Mastodon
Icon:
Class: fab fa-mastodon fa-fw
Class: fa-brands fa-mastodon fa-fw
# 057: Thingiverse
thingiverse:
@@ -460,7 +460,7 @@ devto:
Prefix: https://dev.to/
Title: Dev.To
Icon:
Class: fab fa-dev fa-fw
Class: fa-brands fa-dev fa-fw
# 059: Gitea
gitea:
@@ -491,7 +491,7 @@ bilibili:
Prefix: https://space.bilibili.com/
Title: bilibili
Icon:
Src: svg/icons/bilibili.svg
Class: fa-brands fa-bilibili
# 063: ORCID
orcid:
@@ -499,7 +499,7 @@ orcid:
Prefix: https://orcid.org/
Title: ORCID
Icon:
Class: fab fa-orcid fa-fw
Class: fa-brands fa-orcid fa-fw
# 064 Liberapay
liberapay:
@@ -541,13 +541,13 @@ qq:
Icon:
Simpleicons: tencentqq
# 069: QQGroup
# 069: QQ Group
qqgroup:
Weight: 69
Template: https://qm.qq.com/cgi-bin/qm/qr?k=%v&jump_from=webapi
Title: QQGroup
Title: QQ Group
Icon:
Class: fas fa-users
Class: fa-solid fa-users
# 070: Diaspora
diaspora:
@@ -570,7 +570,7 @@ email:
Template: mailto:%v
Title: Email
Icon:
Class: far fa-envelope fa-fw
Class: fa-regular fa-envelope fa-fw
# 073: RSS
rss:
@@ -579,4 +579,4 @@ rss:
Title: RSS
Newtab: true
Icon:
Class: fas fa-rss fa-fw
Class: fa-solid fa-rss fa-fw
+223
View File
@@ -0,0 +1,223 @@
/**
* FixIt decryptor for encrypted pages and fixit-encryptor shortcode
* @param {Object} options
* @param {Function} [options.decrypted] [Lifecycle Hooks] handler after decrypting
* @param {Function} [options.reset] [Lifecycle Hooks] handler after encrypting again
* @param {Number} [options.duration=86400] number of seconds to cache decryption statistics. unit: s
* @author @Lruihao https://lruihao.cn
* @since v0.2.15
*/
FixItDecryptor = function (options = {}) {
var _proto = FixItDecryptor.prototype;
this.options = options || {};
this.options.duration = this.options.duration || 24 * 60 * 60; // default cache one day
this.decryptedEventSet = new Set();
this.resetEventSet = new Set();
this.$el = document.querySelector('.fixit-decryptor-container');
/**
* decrypt content
* @param {String} base64EncodeContent encrypted content
*/
var _decryptContent = (base64EncodeContent) => {
try {
this.$el.querySelector('.fixit-decryptor-loading').classList.add('d-none');
this.$el.querySelector('#fixit-decryptor-input').classList.add('d-none');
this.$el.querySelector('.fixit-encryptor-btn').classList.remove('d-none');
document.querySelector('#content').insertAdjacentHTML(
'afterbegin',
CryptoJS.enc.Base64.parse(base64EncodeContent).toString(CryptoJS.enc.Utf8)
);
} catch (err) {
return console.error(err);
}
// decrypted hook
console.log(this.decryptedEventSet)
for (const event of this.decryptedEventSet) {
event();
}
};
/**
* initialize FixIt decryptor
*/
_proto.init = () => {
this.addEventListener('decrypted', this.options?.decrypted);
this.addEventListener('reset', this.options?.reset);
this.validateCache();
const _decryptor = this;
this.$el.querySelector('#fixit-decryptor-input')?.addEventListener('keydown', function (e) {
if (e.key === 'Enter') {
e.preventDefault();
const $content = document.querySelector('#content');
const password = $content.getAttribute('data-password');
const input = this.value.trim();
const saltLen = input.length % 2 ? input.length : input.length + 1;
const inputMd5 = CryptoJS.MD5(input).toString();
const inputSha256 = CryptoJS.SHA256(input).toString();
this.value = '';
this.blur();
if (!input) {
alert('Please enter the correct password!');
return console.warn('Please enter the correct password!');
}
if (inputMd5 !== password) {
alert(`Password error: ${input} not the correct password!`);
return console.warn(`Password error: ${input} not the correct password!`);
}
// cache decryption statistics
window.localStorage.setItem(
`fixit-decryptor/#${location.pathname}`,
JSON.stringify({
expiration: Math.ceil(Date.now() / 1000) + _decryptor.options.duration,
md5: inputMd5,
sha256: inputSha256.slice(saltLen)
})
);
_decryptContent($content.getAttribute('data-content').replace(inputSha256.slice(saltLen), ''));
}
});
this.$el.querySelector('.fixit-encryptor-btn')?.addEventListener('click', function (e) {
e.preventDefault();
this.classList.add('d-none')
_decryptor.$el.querySelector('#fixit-decryptor-input').classList.remove('d-none');
document.querySelector('#content').innerHTML = '';
document.querySelector('#content').insertAdjacentElement(
'afterbegin',
_decryptor.$el
);
window.localStorage.removeItem(`fixit-decryptor/#${location.pathname}`);
// reset hook
for (const event of _decryptor.resetEventSet) {
event();
}
});
};
/**
* initialize fixit-encryptor shortcodes
*/
_proto.initShortcodes = () => {
// TODO TODO shortcode decrypted event
// this.addEventListener('decrypted', this.options?.decrypted);
const _decryptor = this;
const $shortcodes = document.querySelectorAll('fixit-encryptor:not(.decrypted)');
$shortcodes.forEach($shortcode => {
$shortcode.querySelector('.fixit-decryptor-input')?.addEventListener('keydown', function (e) {
if (e.key === 'Enter') {
e.preventDefault();
const $decryptor = this.parentElement.parentElement;
const $content = $decryptor.nextElementSibling;
const password = $content.getAttribute('data-password');
const input = this.value.trim();
const saltLen = input.length % 2 ? input.length : input.length + 1;
const inputMd5 = CryptoJS.MD5(input).toString();
const inputSha256 = CryptoJS.SHA256(input).toString();
this.value = '';
this.blur();
if (!input) {
alert('Please enter the correct password!');
return console.warn('Please enter the correct password!');
}
if (inputMd5 !== password) {
alert(`Password error: ${input} not the correct password!`);
return console.warn(`Password error: ${input} not the correct password!`);
}
try {
const base64EncodeContent = $content.getAttribute('data-content').replace(inputSha256.slice(saltLen), '');
$decryptor.querySelector('.fixit-decryptor-input').classList.add('d-none');
$content.insertAdjacentHTML(
'afterbegin',
CryptoJS.enc.Base64.parse(base64EncodeContent).toString(CryptoJS.enc.Utf8)
);
$decryptor.parentElement.classList.add('decrypted');
} catch (err) {
return console.error(err);
}
// TODO shortcode decrypted hook
// for (const event of _decryptor.decryptedEventSet) {
// event();
// }
}
});
});
};
/**
* validate the cached decryption statistics in localStorage
* @returns {FixItDecryptor}
*/
_proto.validateCache = () => {
const $content = document.querySelector('#content');
const password = $content.getAttribute('data-password');
const cachedStat = JSON.parse(window.localStorage.getItem(`fixit-decryptor/#${location.pathname}`));
if (!cachedStat) {
this.$el.querySelector('.fixit-decryptor-loading').classList.add('d-none');
this.$el.querySelector('#fixit-decryptor-input').classList.remove('d-none');
return this;
}
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}`);
console.warn('The password has expired, please re-enter!');
return this;
}
_decryptContent($content.getAttribute('data-content').replace(cachedStat.sha256, ''));
return this;
};
/**
* add event listener for FixIt Decryptor
* @param {String} event event name
* @param {Function} listener event handler
* @returns {FixItDecryptor}
*/
_proto.addEventListener = (event, listener) => {
if (typeof listener !== 'function') {
return this;
}
switch (event) {
case 'decrypted':
this.decryptedEventSet.add(listener);
break;
case 'reset':
this.resetEventSet.add(listener);
break;
default:
console.warn(`Event ${event} not found in FixIt Decryptor!`);
break;
}
return this;
};
/**
* remove event listener for FixIt Decryptor
* @param {String} event event name
* @param {Function} listener event handler
* @returns {FixItDecryptor}
*/
_proto.removeEventListener = (event, listener) => {
if (typeof listener !== 'function') {
return this;
}
switch (event) {
case 'decrypted':
this.decryptedEventSet.delete(listener);
break;
case 'reset':
this.resetEventSet.delete(listener);
break;
default:
console.warn(`Event ${event} not found in FixIt Decryptor!`);
break;
}
return this;
};
};
+1493
View File
File diff suppressed because it is too large Load Diff
-3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+13 -11
View File
@@ -1,29 +1,31 @@
algoliasearch@4.11.0 https://github.com/algolia/algoliasearch-client-javascript
algoliasearch@4.13.0 https://github.com/algolia/algoliasearch-client-javascript
animate.css@4.1.1 https://github.com/daneden/animate.css
aplayer@1.10.1 https://github.com/MoePlayer/APlayer
artalk@2.1.4 https://github.com/ArtalkJS/Artalk
artalk@2.3.4 https://github.com/ArtalkJS/Artalk
autocomplete.js@0.38.1 https://github.com/algolia/autocomplete.js
cell-watermark@1.0.3 https://github.com/Lruihao/watermark
clipboard.js@2.0.8 https://github.com/zenorocha/clipboard.js
cookieconsent@3.1.1 https://github.com/osano/cookieconsent
echarts@5.2.2 https://github.com/apache/echarts
fontawesome-free@5.14.0 https://github.com/FortAwesome/Font-Awesome
crypto-js@4.1.1 https://github.com/brix/crypto-js
echarts@5.3.2 https://github.com/apache/echarts
eruda@2.5.0 https://github.com/liriliri/eruda
fontawesome-free@6.1.1 https://github.com/FortAwesome/Font-Awesome
gitalk@1.7.2 https://github.com/gitalk/gitalk
katex@0.15.1 https://github.com/KaTeX/KaTeX
katex@0.15.3 https://github.com/KaTeX/KaTeX
lazysizes@5.3.2 https://github.com/aFarkas/lazysizes
lg-thumbnail.js@1.2.0 https://github.com/sachinchoolur/lg-thumbnail.js
lg-zoom.js@1.3.0 https://github.com/sachinchoolur/lg-zoom.js
lightgallery.js@1.4.0 https://github.com/sachinchoolur/lightgallery.js
lunr.js@2.3.9 https://github.com/olivernn/lunr.js
mapbox-gl@2.3.1 https://github.com/mapbox/mapbox-gl-js
mapbox-gl@2.8.2 https://github.com/mapbox/mapbox-gl-js
mermaid@8.13.3 https://github.com/knsv/mermaid
meting@2.0.1 https://github.com/metowolf/MetingJS
normalize.css@8.0.1 https://github.com/necolas/normalize.css
object-fit-images@3.2.4 https://github.com/fregante/object-fit-images
pangu.js@4.0.7 https://github.com/vinta/pangu.js
sharer.js@0.4.2 https://github.com/ellisonleao/sharer.js
sharer.js@0.5.1 https://github.com/ellisonleao/sharer.js
simple-icons@5.21.1 https://github.com/simple-icons/simple-icons
twemoji@13.1.0 https://github.com/twitter/twemoji
twemoji@14.0.2 https://github.com/twitter/twemoji
typeit@7.0.4 https://github.com/alexmacarthur/typeit
valine@1.4.16 https://github.com/xCss/Valine
waline@1.5.2 https://github.com/walinejs/waline
valine@1.5.0 https://github.com/xCss/Valine
vconsole@3.14.6 https://github.com/Tencent/vConsole
waline@2.6.1 https://github.com/walinejs/waline
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+807
View File
@@ -0,0 +1,807 @@
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
module.exports = exports = factory();
}
else if (typeof define === "function" && define.amd) {
// AMD
define([], factory);
}
else {
// Global (browser)
root.CryptoJS = factory();
}
}(this, function () {
/*globals window, global, require*/
/**
* CryptoJS core components.
*/
var CryptoJS = CryptoJS || (function (Math, undefined) {
var crypto;
// Native crypto from window (Browser)
if (typeof window !== 'undefined' && window.crypto) {
crypto = window.crypto;
}
// Native crypto in web worker (Browser)
if (typeof self !== 'undefined' && self.crypto) {
crypto = self.crypto;
}
// Native crypto from worker
if (typeof globalThis !== 'undefined' && globalThis.crypto) {
crypto = globalThis.crypto;
}
// Native (experimental IE 11) crypto from window (Browser)
if (!crypto && typeof window !== 'undefined' && window.msCrypto) {
crypto = window.msCrypto;
}
// Native crypto from global (NodeJS)
if (!crypto && typeof global !== 'undefined' && global.crypto) {
crypto = global.crypto;
}
// Native crypto import via require (NodeJS)
if (!crypto && typeof require === 'function') {
try {
crypto = require('crypto');
} catch (err) {}
}
/*
* Cryptographically secure pseudorandom number generator
*
* As Math.random() is cryptographically not safe to use
*/
var cryptoSecureRandomInt = function () {
if (crypto) {
// Use getRandomValues method (Browser)
if (typeof crypto.getRandomValues === 'function') {
try {
return crypto.getRandomValues(new Uint32Array(1))[0];
} catch (err) {}
}
// Use randomBytes method (NodeJS)
if (typeof crypto.randomBytes === 'function') {
try {
return crypto.randomBytes(4).readInt32LE();
} catch (err) {}
}
}
throw new Error('Native crypto module could not be used to get secure random number.');
};
/*
* Local polyfill of Object.create
*/
var create = Object.create || (function () {
function F() {}
return function (obj) {
var subtype;
F.prototype = obj;
subtype = new F();
F.prototype = null;
return subtype;
};
}());
/**
* CryptoJS namespace.
*/
var C = {};
/**
* Library namespace.
*/
var C_lib = C.lib = {};
/**
* Base object for prototypal inheritance.
*/
var Base = C_lib.Base = (function () {
return {
/**
* Creates a new object that inherits from this object.
*
* @param {Object} overrides Properties to copy into the new object.
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* field: 'value',
*
* method: function () {
* }
* });
*/
extend: function (overrides) {
// Spawn
var subtype = create(this);
// Augment
if (overrides) {
subtype.mixIn(overrides);
}
// Create default initializer
if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {
subtype.init = function () {
subtype.$super.init.apply(this, arguments);
};
}
// Initializer's prototype is the subtype object
subtype.init.prototype = subtype;
// Reference supertype
subtype.$super = this;
return subtype;
},
/**
* Extends this object and runs the init method.
* Arguments to create() will be passed to init().
*
* @return {Object} The new object.
*
* @static
*
* @example
*
* var instance = MyType.create();
*/
create: function () {
var instance = this.extend();
instance.init.apply(instance, arguments);
return instance;
},
/**
* Initializes a newly created object.
* Override this method to add some logic when your objects are created.
*
* @example
*
* var MyType = CryptoJS.lib.Base.extend({
* init: function () {
* // ...
* }
* });
*/
init: function () {
},
/**
* Copies properties into this object.
*
* @param {Object} properties The properties to mix in.
*
* @example
*
* MyType.mixIn({
* field: 'value'
* });
*/
mixIn: function (properties) {
for (var propertyName in properties) {
if (properties.hasOwnProperty(propertyName)) {
this[propertyName] = properties[propertyName];
}
}
// IE won't copy toString using the loop above
if (properties.hasOwnProperty('toString')) {
this.toString = properties.toString;
}
},
/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = instance.clone();
*/
clone: function () {
return this.init.prototype.extend(this);
}
};
}());
/**
* An array of 32-bit words.
*
* @property {Array} words The array of 32-bit words.
* @property {number} sigBytes The number of significant bytes in this word array.
*/
var WordArray = C_lib.WordArray = Base.extend({
/**
* Initializes a newly created word array.
*
* @param {Array} words (Optional) An array of 32-bit words.
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.create();
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
*/
init: function (words, sigBytes) {
words = this.words = words || [];
if (sigBytes != undefined) {
this.sigBytes = sigBytes;
} else {
this.sigBytes = words.length * 4;
}
},
/**
* Converts this word array to a string.
*
* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
*
* @return {string} The stringified word array.
*
* @example
*
* var string = wordArray + '';
* var string = wordArray.toString();
* var string = wordArray.toString(CryptoJS.enc.Utf8);
*/
toString: function (encoder) {
return (encoder || Hex).stringify(this);
},
/**
* Concatenates a word array to this word array.
*
* @param {WordArray} wordArray The word array to append.
*
* @return {WordArray} This word array.
*
* @example
*
* wordArray1.concat(wordArray2);
*/
concat: function (wordArray) {
// Shortcuts
var thisWords = this.words;
var thatWords = wordArray.words;
var thisSigBytes = this.sigBytes;
var thatSigBytes = wordArray.sigBytes;
// Clamp excess bits
this.clamp();
// Concat
if (thisSigBytes % 4) {
// Copy one byte at a time
for (var i = 0; i < thatSigBytes; i++) {
var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);
}
} else {
// Copy one word at a time
for (var j = 0; j < thatSigBytes; j += 4) {
thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];
}
}
this.sigBytes += thatSigBytes;
// Chainable
return this;
},
/**
* Removes insignificant bits.
*
* @example
*
* wordArray.clamp();
*/
clamp: function () {
// Shortcuts
var words = this.words;
var sigBytes = this.sigBytes;
// Clamp
words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);
words.length = Math.ceil(sigBytes / 4);
},
/**
* Creates a copy of this word array.
*
* @return {WordArray} The clone.
*
* @example
*
* var clone = wordArray.clone();
*/
clone: function () {
var clone = Base.clone.call(this);
clone.words = this.words.slice(0);
return clone;
},
/**
* Creates a word array filled with random bytes.
*
* @param {number} nBytes The number of random bytes to generate.
*
* @return {WordArray} The random word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.lib.WordArray.random(16);
*/
random: function (nBytes) {
var words = [];
for (var i = 0; i < nBytes; i += 4) {
words.push(cryptoSecureRandomInt());
}
return new WordArray.init(words, nBytes);
}
});
/**
* Encoder namespace.
*/
var C_enc = C.enc = {};
/**
* Hex encoding strategy.
*/
var Hex = C_enc.Hex = {
/**
* Converts a word array to a hex string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The hex string.
*
* @static
*
* @example
*
* var hexString = CryptoJS.enc.Hex.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var hexChars = [];
for (var i = 0; i < sigBytes; i++) {
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
hexChars.push((bite >>> 4).toString(16));
hexChars.push((bite & 0x0f).toString(16));
}
return hexChars.join('');
},
/**
* Converts a hex string to a word array.
*
* @param {string} hexStr The hex string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Hex.parse(hexString);
*/
parse: function (hexStr) {
// Shortcut
var hexStrLength = hexStr.length;
// Convert
var words = [];
for (var i = 0; i < hexStrLength; i += 2) {
words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);
}
return new WordArray.init(words, hexStrLength / 2);
}
};
/**
* Latin1 encoding strategy.
*/
var Latin1 = C_enc.Latin1 = {
/**
* Converts a word array to a Latin1 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The Latin1 string.
*
* @static
*
* @example
*
* var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
// Convert
var latin1Chars = [];
for (var i = 0; i < sigBytes; i++) {
var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
latin1Chars.push(String.fromCharCode(bite));
}
return latin1Chars.join('');
},
/**
* Converts a Latin1 string to a word array.
*
* @param {string} latin1Str The Latin1 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
*/
parse: function (latin1Str) {
// Shortcut
var latin1StrLength = latin1Str.length;
// Convert
var words = [];
for (var i = 0; i < latin1StrLength; i++) {
words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);
}
return new WordArray.init(words, latin1StrLength);
}
};
/**
* UTF-8 encoding strategy.
*/
var Utf8 = C_enc.Utf8 = {
/**
* Converts a word array to a UTF-8 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The UTF-8 string.
*
* @static
*
* @example
*
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
*/
stringify: function (wordArray) {
try {
return decodeURIComponent(escape(Latin1.stringify(wordArray)));
} catch (e) {
throw new Error('Malformed UTF-8 data');
}
},
/**
* Converts a UTF-8 string to a word array.
*
* @param {string} utf8Str The UTF-8 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
*/
parse: function (utf8Str) {
return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
}
};
/**
* Abstract buffered block algorithm template.
*
* The property blockSize must be implemented in a concrete subtype.
*
* @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
*/
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
/**
* Resets this block algorithm's data buffer to its initial state.
*
* @example
*
* bufferedBlockAlgorithm.reset();
*/
reset: function () {
// Initial values
this._data = new WordArray.init();
this._nDataBytes = 0;
},
/**
* Adds new data to this block algorithm's buffer.
*
* @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
*
* @example
*
* bufferedBlockAlgorithm._append('data');
* bufferedBlockAlgorithm._append(wordArray);
*/
_append: function (data) {
// Convert string to WordArray, else assume WordArray already
if (typeof data == 'string') {
data = Utf8.parse(data);
}
// Append
this._data.concat(data);
this._nDataBytes += data.sigBytes;
},
/**
* Processes available data blocks.
*
* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
*
* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
*
* @return {WordArray} The processed data.
*
* @example
*
* var processedData = bufferedBlockAlgorithm._process();
* var processedData = bufferedBlockAlgorithm._process(!!'flush');
*/
_process: function (doFlush) {
var processedWords;
// Shortcuts
var data = this._data;
var dataWords = data.words;
var dataSigBytes = data.sigBytes;
var blockSize = this.blockSize;
var blockSizeBytes = blockSize * 4;
// Count blocks ready
var nBlocksReady = dataSigBytes / blockSizeBytes;
if (doFlush) {
// Round up to include partial blocks
nBlocksReady = Math.ceil(nBlocksReady);
} else {
// Round down to include only full blocks,
// less the number of blocks that must remain in the buffer
nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
}
// Count words ready
var nWordsReady = nBlocksReady * blockSize;
// Count bytes ready
var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
// Process blocks
if (nWordsReady) {
for (var offset = 0; offset < nWordsReady; offset += blockSize) {
// Perform concrete-algorithm logic
this._doProcessBlock(dataWords, offset);
}
// Remove processed words
processedWords = dataWords.splice(0, nWordsReady);
data.sigBytes -= nBytesReady;
}
// Return processed words
return new WordArray.init(processedWords, nBytesReady);
},
/**
* Creates a copy of this object.
*
* @return {Object} The clone.
*
* @example
*
* var clone = bufferedBlockAlgorithm.clone();
*/
clone: function () {
var clone = Base.clone.call(this);
clone._data = this._data.clone();
return clone;
},
_minBufferSize: 0
});
/**
* Abstract hasher template.
*
* @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
*/
var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
/**
* Configuration options.
*/
cfg: Base.extend(),
/**
* Initializes a newly created hasher.
*
* @param {Object} cfg (Optional) The configuration options to use for this hash computation.
*
* @example
*
* var hasher = CryptoJS.algo.SHA256.create();
*/
init: function (cfg) {
// Apply config defaults
this.cfg = this.cfg.extend(cfg);
// Set initial values
this.reset();
},
/**
* Resets this hasher to its initial state.
*
* @example
*
* hasher.reset();
*/
reset: function () {
// Reset data buffer
BufferedBlockAlgorithm.reset.call(this);
// Perform concrete-hasher logic
this._doReset();
},
/**
* Updates this hasher with a message.
*
* @param {WordArray|string} messageUpdate The message to append.
*
* @return {Hasher} This hasher.
*
* @example
*
* hasher.update('message');
* hasher.update(wordArray);
*/
update: function (messageUpdate) {
// Append
this._append(messageUpdate);
// Update the hash
this._process();
// Chainable
return this;
},
/**
* Finalizes the hash computation.
* Note that the finalize operation is effectively a destructive, read-once operation.
*
* @param {WordArray|string} messageUpdate (Optional) A final message update.
*
* @return {WordArray} The hash.
*
* @example
*
* var hash = hasher.finalize();
* var hash = hasher.finalize('message');
* var hash = hasher.finalize(wordArray);
*/
finalize: function (messageUpdate) {
// Final message update
if (messageUpdate) {
this._append(messageUpdate);
}
// Perform concrete-hasher logic
var hash = this._doFinalize();
return hash;
},
blockSize: 512/32,
/**
* Creates a shortcut function to a hasher's object interface.
*
* @param {Hasher} hasher The hasher to create a helper for.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
*/
_createHelper: function (hasher) {
return function (message, cfg) {
return new hasher.init(cfg).finalize(message);
};
},
/**
* Creates a shortcut function to the HMAC's object interface.
*
* @param {Hasher} hasher The hasher to use in this HMAC helper.
*
* @return {Function} The shortcut function.
*
* @static
*
* @example
*
* var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
*/
_createHmacHelper: function (hasher) {
return function (message, key) {
return new C_algo.HMAC.init(hasher, key).finalize(message);
};
}
});
/**
* Algorithm namespace.
*/
var C_algo = C.algo = {};
return C;
}(Math));
return CryptoJS;
}));
+136
View File
@@ -0,0 +1,136 @@
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
module.exports = exports = factory(require("./core"));
}
else if (typeof define === "function" && define.amd) {
// AMD
define(["./core"], factory);
}
else {
// Global (browser)
factory(root.CryptoJS);
}
}(this, function (CryptoJS) {
(function () {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var C_enc = C.enc;
/**
* Base64 encoding strategy.
*/
var Base64 = C_enc.Base64 = {
/**
* Converts a word array to a Base64 string.
*
* @param {WordArray} wordArray The word array.
*
* @return {string} The Base64 string.
*
* @static
*
* @example
*
* var base64String = CryptoJS.enc.Base64.stringify(wordArray);
*/
stringify: function (wordArray) {
// Shortcuts
var words = wordArray.words;
var sigBytes = wordArray.sigBytes;
var map = this._map;
// Clamp excess bits
wordArray.clamp();
// Convert
var base64Chars = [];
for (var i = 0; i < sigBytes; i += 3) {
var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;
var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;
var triplet = (byte1 << 16) | (byte2 << 8) | byte3;
for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {
base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));
}
}
// Add padding
var paddingChar = map.charAt(64);
if (paddingChar) {
while (base64Chars.length % 4) {
base64Chars.push(paddingChar);
}
}
return base64Chars.join('');
},
/**
* Converts a Base64 string to a word array.
*
* @param {string} base64Str The Base64 string.
*
* @return {WordArray} The word array.
*
* @static
*
* @example
*
* var wordArray = CryptoJS.enc.Base64.parse(base64String);
*/
parse: function (base64Str) {
// Shortcuts
var base64StrLength = base64Str.length;
var map = this._map;
var reverseMap = this._reverseMap;
if (!reverseMap) {
reverseMap = this._reverseMap = [];
for (var j = 0; j < map.length; j++) {
reverseMap[map.charCodeAt(j)] = j;
}
}
// Ignore padding
var paddingChar = map.charAt(64);
if (paddingChar) {
var paddingIndex = base64Str.indexOf(paddingChar);
if (paddingIndex !== -1) {
base64StrLength = paddingIndex;
}
}
// Convert
return parseLoop(base64Str, base64StrLength, reverseMap);
},
_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
};
function parseLoop(base64Str, base64StrLength, reverseMap) {
var words = [];
var nBytes = 0;
for (var i = 0; i < base64StrLength; i++) {
if (i % 4) {
var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);
var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);
var bitsCombined = bits1 | bits2;
words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);
nBytes++;
}
}
return WordArray.create(words, nBytes);
}
}());
return CryptoJS.enc.Base64;
}));
+268
View File
@@ -0,0 +1,268 @@
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
module.exports = exports = factory(require("./core"));
}
else if (typeof define === "function" && define.amd) {
// AMD
define(["./core"], factory);
}
else {
// Global (browser)
factory(root.CryptoJS);
}
}(this, function (CryptoJS) {
(function (Math) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_algo = C.algo;
// Constants table
var T = [];
// Compute constants
(function () {
for (var i = 0; i < 64; i++) {
T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;
}
}());
/**
* MD5 hash algorithm.
*/
var MD5 = C_algo.MD5 = Hasher.extend({
_doReset: function () {
this._hash = new WordArray.init([
0x67452301, 0xefcdab89,
0x98badcfe, 0x10325476
]);
},
_doProcessBlock: function (M, offset) {
// Swap endian
for (var i = 0; i < 16; i++) {
// Shortcuts
var offset_i = offset + i;
var M_offset_i = M[offset_i];
M[offset_i] = (
(((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
(((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
);
}
// Shortcuts
var H = this._hash.words;
var M_offset_0 = M[offset + 0];
var M_offset_1 = M[offset + 1];
var M_offset_2 = M[offset + 2];
var M_offset_3 = M[offset + 3];
var M_offset_4 = M[offset + 4];
var M_offset_5 = M[offset + 5];
var M_offset_6 = M[offset + 6];
var M_offset_7 = M[offset + 7];
var M_offset_8 = M[offset + 8];
var M_offset_9 = M[offset + 9];
var M_offset_10 = M[offset + 10];
var M_offset_11 = M[offset + 11];
var M_offset_12 = M[offset + 12];
var M_offset_13 = M[offset + 13];
var M_offset_14 = M[offset + 14];
var M_offset_15 = M[offset + 15];
// Working varialbes
var a = H[0];
var b = H[1];
var c = H[2];
var d = H[3];
// Computation
a = FF(a, b, c, d, M_offset_0, 7, T[0]);
d = FF(d, a, b, c, M_offset_1, 12, T[1]);
c = FF(c, d, a, b, M_offset_2, 17, T[2]);
b = FF(b, c, d, a, M_offset_3, 22, T[3]);
a = FF(a, b, c, d, M_offset_4, 7, T[4]);
d = FF(d, a, b, c, M_offset_5, 12, T[5]);
c = FF(c, d, a, b, M_offset_6, 17, T[6]);
b = FF(b, c, d, a, M_offset_7, 22, T[7]);
a = FF(a, b, c, d, M_offset_8, 7, T[8]);
d = FF(d, a, b, c, M_offset_9, 12, T[9]);
c = FF(c, d, a, b, M_offset_10, 17, T[10]);
b = FF(b, c, d, a, M_offset_11, 22, T[11]);
a = FF(a, b, c, d, M_offset_12, 7, T[12]);
d = FF(d, a, b, c, M_offset_13, 12, T[13]);
c = FF(c, d, a, b, M_offset_14, 17, T[14]);
b = FF(b, c, d, a, M_offset_15, 22, T[15]);
a = GG(a, b, c, d, M_offset_1, 5, T[16]);
d = GG(d, a, b, c, M_offset_6, 9, T[17]);
c = GG(c, d, a, b, M_offset_11, 14, T[18]);
b = GG(b, c, d, a, M_offset_0, 20, T[19]);
a = GG(a, b, c, d, M_offset_5, 5, T[20]);
d = GG(d, a, b, c, M_offset_10, 9, T[21]);
c = GG(c, d, a, b, M_offset_15, 14, T[22]);
b = GG(b, c, d, a, M_offset_4, 20, T[23]);
a = GG(a, b, c, d, M_offset_9, 5, T[24]);
d = GG(d, a, b, c, M_offset_14, 9, T[25]);
c = GG(c, d, a, b, M_offset_3, 14, T[26]);
b = GG(b, c, d, a, M_offset_8, 20, T[27]);
a = GG(a, b, c, d, M_offset_13, 5, T[28]);
d = GG(d, a, b, c, M_offset_2, 9, T[29]);
c = GG(c, d, a, b, M_offset_7, 14, T[30]);
b = GG(b, c, d, a, M_offset_12, 20, T[31]);
a = HH(a, b, c, d, M_offset_5, 4, T[32]);
d = HH(d, a, b, c, M_offset_8, 11, T[33]);
c = HH(c, d, a, b, M_offset_11, 16, T[34]);
b = HH(b, c, d, a, M_offset_14, 23, T[35]);
a = HH(a, b, c, d, M_offset_1, 4, T[36]);
d = HH(d, a, b, c, M_offset_4, 11, T[37]);
c = HH(c, d, a, b, M_offset_7, 16, T[38]);
b = HH(b, c, d, a, M_offset_10, 23, T[39]);
a = HH(a, b, c, d, M_offset_13, 4, T[40]);
d = HH(d, a, b, c, M_offset_0, 11, T[41]);
c = HH(c, d, a, b, M_offset_3, 16, T[42]);
b = HH(b, c, d, a, M_offset_6, 23, T[43]);
a = HH(a, b, c, d, M_offset_9, 4, T[44]);
d = HH(d, a, b, c, M_offset_12, 11, T[45]);
c = HH(c, d, a, b, M_offset_15, 16, T[46]);
b = HH(b, c, d, a, M_offset_2, 23, T[47]);
a = II(a, b, c, d, M_offset_0, 6, T[48]);
d = II(d, a, b, c, M_offset_7, 10, T[49]);
c = II(c, d, a, b, M_offset_14, 15, T[50]);
b = II(b, c, d, a, M_offset_5, 21, T[51]);
a = II(a, b, c, d, M_offset_12, 6, T[52]);
d = II(d, a, b, c, M_offset_3, 10, T[53]);
c = II(c, d, a, b, M_offset_10, 15, T[54]);
b = II(b, c, d, a, M_offset_1, 21, T[55]);
a = II(a, b, c, d, M_offset_8, 6, T[56]);
d = II(d, a, b, c, M_offset_15, 10, T[57]);
c = II(c, d, a, b, M_offset_6, 15, T[58]);
b = II(b, c, d, a, M_offset_13, 21, T[59]);
a = II(a, b, c, d, M_offset_4, 6, T[60]);
d = II(d, a, b, c, M_offset_11, 10, T[61]);
c = II(c, d, a, b, M_offset_2, 15, T[62]);
b = II(b, c, d, a, M_offset_9, 21, T[63]);
// Intermediate hash value
H[0] = (H[0] + a) | 0;
H[1] = (H[1] + b) | 0;
H[2] = (H[2] + c) | 0;
H[3] = (H[3] + d) | 0;
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);
var nBitsTotalL = nBitsTotal;
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (
(((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |
(((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)
);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
(((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |
(((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)
);
data.sigBytes = (dataWords.length + 1) * 4;
// Hash final blocks
this._process();
// Shortcuts
var hash = this._hash;
var H = hash.words;
// Swap endian
for (var i = 0; i < 4; i++) {
// Shortcut
var H_i = H[i];
H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
(((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
}
// Return final computed hash
return hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
}
});
function FF(a, b, c, d, x, s, t) {
var n = a + ((b & c) | (~b & d)) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
function GG(a, b, c, d, x, s, t) {
var n = a + ((b & d) | (c & ~d)) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
function HH(a, b, c, d, x, s, t) {
var n = a + (b ^ c ^ d) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
function II(a, b, c, d, x, s, t) {
var n = a + (c ^ (b | ~d)) + x + t;
return ((n << s) | (n >>> (32 - s))) + b;
}
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.MD5('message');
* var hash = CryptoJS.MD5(wordArray);
*/
C.MD5 = Hasher._createHelper(MD5);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacMD5(message, key);
*/
C.HmacMD5 = Hasher._createHmacHelper(MD5);
}(Math));
return CryptoJS.MD5;
}));
+199
View File
@@ -0,0 +1,199 @@
;(function (root, factory) {
if (typeof exports === "object") {
// CommonJS
module.exports = exports = factory(require("./core"));
}
else if (typeof define === "function" && define.amd) {
// AMD
define(["./core"], factory);
}
else {
// Global (browser)
factory(root.CryptoJS);
}
}(this, function (CryptoJS) {
(function (Math) {
// Shortcuts
var C = CryptoJS;
var C_lib = C.lib;
var WordArray = C_lib.WordArray;
var Hasher = C_lib.Hasher;
var C_algo = C.algo;
// Initialization and round constants tables
var H = [];
var K = [];
// Compute constants
(function () {
function isPrime(n) {
var sqrtN = Math.sqrt(n);
for (var factor = 2; factor <= sqrtN; factor++) {
if (!(n % factor)) {
return false;
}
}
return true;
}
function getFractionalBits(n) {
return ((n - (n | 0)) * 0x100000000) | 0;
}
var n = 2;
var nPrime = 0;
while (nPrime < 64) {
if (isPrime(n)) {
if (nPrime < 8) {
H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
}
K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
nPrime++;
}
n++;
}
}());
// Reusable object
var W = [];
/**
* SHA-256 hash algorithm.
*/
var SHA256 = C_algo.SHA256 = Hasher.extend({
_doReset: function () {
this._hash = new WordArray.init(H.slice(0));
},
_doProcessBlock: function (M, offset) {
// Shortcut
var H = this._hash.words;
// Working variables
var a = H[0];
var b = H[1];
var c = H[2];
var d = H[3];
var e = H[4];
var f = H[5];
var g = H[6];
var h = H[7];
// Computation
for (var i = 0; i < 64; i++) {
if (i < 16) {
W[i] = M[offset + i] | 0;
} else {
var gamma0x = W[i - 15];
var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^
((gamma0x << 14) | (gamma0x >>> 18)) ^
(gamma0x >>> 3);
var gamma1x = W[i - 2];
var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^
((gamma1x << 13) | (gamma1x >>> 19)) ^
(gamma1x >>> 10);
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
}
var ch = (e & f) ^ (~e & g);
var maj = (a & b) ^ (a & c) ^ (b & c);
var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));
var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));
var t1 = h + sigma1 + ch + K[i] + W[i];
var t2 = sigma0 + maj;
h = g;
g = f;
f = e;
e = (d + t1) | 0;
d = c;
c = b;
b = a;
a = (t1 + t2) | 0;
}
// Intermediate hash value
H[0] = (H[0] + a) | 0;
H[1] = (H[1] + b) | 0;
H[2] = (H[2] + c) | 0;
H[3] = (H[3] + d) | 0;
H[4] = (H[4] + e) | 0;
H[5] = (H[5] + f) | 0;
H[6] = (H[6] + g) | 0;
H[7] = (H[7] + h) | 0;
},
_doFinalize: function () {
// Shortcuts
var data = this._data;
var dataWords = data.words;
var nBitsTotal = this._nDataBytes * 8;
var nBitsLeft = data.sigBytes * 8;
// Add padding
dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
data.sigBytes = dataWords.length * 4;
// Hash final blocks
this._process();
// Return final computed hash
return this._hash;
},
clone: function () {
var clone = Hasher.clone.call(this);
clone._hash = this._hash.clone();
return clone;
}
});
/**
* Shortcut function to the hasher's object interface.
*
* @param {WordArray|string} message The message to hash.
*
* @return {WordArray} The hash.
*
* @static
*
* @example
*
* var hash = CryptoJS.SHA256('message');
* var hash = CryptoJS.SHA256(wordArray);
*/
C.SHA256 = Hasher._createHelper(SHA256);
/**
* Shortcut function to the HMAC's object interface.
*
* @param {WordArray|string} message The message to hash.
* @param {WordArray|string} key The secret key.
*
* @return {WordArray} The HMAC.
*
* @static
*
* @example
*
* var hmac = CryptoJS.HmacSHA256(message, key);
*/
C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
}(Math));
return CryptoJS.SHA256;
}));
+45 -45
View File
File diff suppressed because one or more lines are too long
-240
View File
@@ -1,240 +0,0 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (
typeof exports === 'object' &&
typeof exports.nodeName !== 'string'
) {
// CommonJS
factory(exports, require('echarts/lib/echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
})(this, function(exports, echarts) {
var log = function(msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);
}
};
if (!echarts) {
log('ECharts is not Loaded');
return;
}
var colorPalette = [
'#2ec7c9',
'#b6a2de',
'#5ab1ef',
'#ffb980',
'#d87a80',
'#8d98b3',
'#e5cf0d',
'#97b552',
'#95706d',
'#dc69aa',
'#07a2a4',
'#9a7fd1',
'#588dd5',
'#f5994e',
'#c05050',
'#59678c',
'#c9ab00',
'#7eb00a',
'#6f5553',
'#c14089'
];
var theme = {
color: colorPalette,
title: {
textStyle: {
fontWeight: 'normal',
color: '#008acd'
}
},
visualMap: {
itemWidth: 15,
color: ['#5ab1ef', '#e0ffff']
},
toolbox: {
iconStyle: {
normal: {
borderColor: colorPalette[0]
}
}
},
tooltip: {
backgroundColor: 'rgba(50,50,50,0.5)',
axisPointer: {
type: 'line',
lineStyle: {
color: '#008acd'
},
crossStyle: {
color: '#008acd'
},
shadowStyle: {
color: 'rgba(200,200,200,0.2)'
}
}
},
dataZoom: {
dataBackgroundColor: '#efefff',
fillerColor: 'rgba(182,162,222,0.2)',
handleColor: '#008acd'
},
grid: {
borderColor: '#eee'
},
categoryAxis: {
axisLine: {
lineStyle: {
color: '#008acd'
}
},
splitLine: {
lineStyle: {
color: ['#eee']
}
}
},
valueAxis: {
axisLine: {
lineStyle: {
color: '#008acd'
}
},
splitArea: {
show: true,
areaStyle: {
color: ['rgba(250,250,250,0.1)', 'rgba(200,200,200,0.1)']
}
},
splitLine: {
lineStyle: {
color: ['#eee']
}
}
},
timeline: {
lineStyle: {
color: '#008acd'
},
controlStyle: {
color: '#008acd',
borderColor: '#008acd'
},
symbol: 'emptyCircle',
symbolSize: 3
},
line: {
smooth: true,
symbol: 'emptyCircle',
symbolSize: 3
},
candlestick: {
itemStyle: {
color: '#d87a80',
color0: '#2ec7c9'
},
lineStyle: {
width: 1,
color: '#d87a80',
color0: '#2ec7c9'
},
areaStyle: {
color: '#2ec7c9',
color0: '#b6a2de'
}
},
scatter: {
symbol: 'circle',
symbolSize: 4
},
map: {
itemStyle: {
color: '#ddd'
},
areaStyle: {
color: '#fe994e'
},
label: {
color: '#d87a80'
}
},
graph: {
itemStyle: {
color: '#d87a80'
},
linkStyle: {
color: '#2ec7c9'
}
},
gauge: {
axisLine: {
lineStyle: {
color: [
[0.2, '#2ec7c9'],
[0.8, '#5ab1ef'],
[1, '#d87a80']
],
width: 10
}
},
axisTick: {
splitNumber: 10,
length: 15,
lineStyle: {
color: 'auto'
}
},
splitLine: {
length: 22,
lineStyle: {
color: 'auto'
}
},
pointer: {
width: 5
}
}
};
echarts.registerTheme('macarons', theme);
});
+7
View File
@@ -0,0 +1,7 @@
/**
* Minified by jsDelivr using Terser v5.10.0.
* Original file: /npm/echarts@5.3.2/theme/macarons.js
*
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
*/
!function(e,o){"function"==typeof define&&define.amd?define(["exports","echarts"],o):"object"==typeof exports&&"string"!=typeof exports.nodeName?o(exports,require("echarts/lib/echarts")):o({},e.echarts)}(this,(function(e,o){var l;if(!o)return l="ECharts is not Loaded",void("undefined"!=typeof console&&console&&console.error&&console.error(l));var r=["#2ec7c9","#b6a2de","#5ab1ef","#ffb980","#d87a80","#8d98b3","#e5cf0d","#97b552","#95706d","#dc69aa","#07a2a4","#9a7fd1","#588dd5","#f5994e","#c05050","#59678c","#c9ab00","#7eb00a","#6f5553","#c14089"],t={color:r,title:{textStyle:{fontWeight:"normal",color:"#008acd"}},visualMap:{itemWidth:15,color:["#5ab1ef","#e0ffff"]},toolbox:{iconStyle:{normal:{borderColor:r[0]}}},tooltip:{backgroundColor:"rgba(50,50,50,0.5)",axisPointer:{type:"line",lineStyle:{color:"#008acd"},crossStyle:{color:"#008acd"},shadowStyle:{color:"rgba(200,200,200,0.2)"}}},dataZoom:{dataBackgroundColor:"#efefff",fillerColor:"rgba(182,162,222,0.2)",handleColor:"#008acd"},grid:{borderColor:"#eee"},categoryAxis:{axisLine:{lineStyle:{color:"#008acd"}},splitLine:{lineStyle:{color:["#eee"]}}},valueAxis:{axisLine:{lineStyle:{color:"#008acd"}},splitArea:{show:!0,areaStyle:{color:["rgba(250,250,250,0.1)","rgba(200,200,200,0.1)"]}},splitLine:{lineStyle:{color:["#eee"]}}},timeline:{lineStyle:{color:"#008acd"},controlStyle:{color:"#008acd",borderColor:"#008acd"},symbol:"emptyCircle",symbolSize:3},line:{smooth:!0,symbol:"emptyCircle",symbolSize:3},candlestick:{itemStyle:{color:"#d87a80",color0:"#2ec7c9"},lineStyle:{width:1,color:"#d87a80",color0:"#2ec7c9"},areaStyle:{color:"#2ec7c9",color0:"#b6a2de"}},scatter:{symbol:"circle",symbolSize:4},map:{itemStyle:{color:"#ddd"},areaStyle:{color:"#fe994e"},label:{color:"#d87a80"}},graph:{itemStyle:{color:"#d87a80"},linkStyle:{color:"#2ec7c9"}},gauge:{axisLine:{lineStyle:{color:[[.2,"#2ec7c9"],[.8,"#5ab1ef"],[1,"#d87a80"]],width:10}},axisTick:{splitNumber:10,length:15,lineStyle:{color:"auto"}},splitLine:{length:22,lineStyle:{color:"auto"}},pointer:{width:5}}};o.registerTheme("macarons",t)}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
.katex,.katex-display{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}
.katex,.katex-display{-webkit-user-select:all;-moz-user-select:all;user-select:all}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
-22
View File
@@ -1,22 +0,0 @@
.page .mermaid {
width: 100%;
margin: 3% auto;
text-align: center;
& > svg {
max-width: 100%;
}
@import "themes/neutral/index";
[theme=dark] & {
@import "themes/dark/index";
}
[theme=black] & {
@import "themes/dark/index";
}
div.mermaidTooltip {
z-index: 50;
}
}
-91
View File
@@ -1,91 +0,0 @@
g.classGroup text {
fill: $nodeBorder;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
font-size: 10px;
.title {
font-weight: bolder;
}
}
g.clickable {
cursor: pointer;
}
g.classGroup rect {
fill: $nodeBkg;
stroke: $nodeBorder;
}
g.classGroup line {
stroke: $nodeBorder;
stroke-width: 1;
}
.classLabel .box {
stroke: none;
stroke-width: 0;
fill: $nodeBkg;
opacity: 0.5;
}
.classLabel .label {
fill: $nodeBorder;
font-size: 10px;
}
.relation {
stroke: $nodeBorder;
stroke-width: 1;
fill: none;
}
.dashed-line{
stroke-dasharray: 3;
}
@mixin composition {
fill: $nodeBorder;
stroke: $nodeBorder;
stroke-width: 1;
}
#compositionStart {
@include composition;
}
#compositionEnd {
@include composition;
}
@mixin aggregation {
fill: $nodeBkg;
stroke: $nodeBorder;
stroke-width: 1;
}
#aggregationStart {
@include aggregation;
}
#aggregationEnd {
@include aggregation;
}
#dependencyStart {
@include composition;
}
#dependencyEnd {
@include composition;
}
#extensionStart {
@include composition;
}
#extensionEnd {
@include composition;
}
-62
View File
@@ -1,62 +0,0 @@
$mainBkg: #BDD5EA;
$secondBkg: #6D6D65;
$mainContrastColor: lightgrey;
$darkTextColor: #323D47;
$lineColor: $mainContrastColor;
$border1: #81B1DB;
$border2: rgba(255, 255, 255, 0.25);
$arrowheadColor: $mainContrastColor;
/* Flowchart variables */
$nodeBkg: $mainBkg;
$nodeBorder: purple;
$clusterBkg: $secondBkg;
$clusterBorder: $border2;
$defaultLinkColor: $lineColor;
$titleColor: #F9FFFE;
$edgeLabelBackground: #e8e8e8;
/* Sequence Diagram variables */
$actorBorder: $border1;
$actorBkg: $mainBkg;
$actorTextColor: black;
$actorLineColor: $mainContrastColor;
$signalColor: $mainContrastColor;
$signalTextColor: $mainContrastColor;
$labelBoxBkgColor: $actorBkg;
$labelBoxBorderColor: $actorBorder;
$labelTextColor: $darkTextColor;
$loopTextColor: $mainContrastColor;
$noteBorderColor: $border2;
$noteBkgColor: #fff5ad;
$activationBorderColor: #666;
$activationBkgColor: #f4f4f4;
$sequenceNumberColor: white;
/* Gantt chart variables */
$sectionBkgColor: rgba(255, 255, 255, 0.3);
$altSectionBkgColor: white;
$sectionBkgColor2: #EAE8B9;
$taskBorderColor: rgba(255, 255, 255, 0.5);
$taskBkgColor: $mainBkg;
$taskTextColor: $darkTextColor;
$taskTextLightColor: $mainContrastColor;
$taskTextOutsideColor: $taskTextLightColor;
$taskTextClickableColor: #003163;
$activeTaskBorderColor: rgba(255, 255, 255, 0.5);
$activeTaskBkgColor: #81B1DB;
$gridColor: $mainContrastColor;
$doneTaskBkgColor: $mainContrastColor;
$doneTaskBorderColor: grey;
$critBorderColor: #E83737;
$critBkgColor: #E83737;
$taskTextDarkColor: $darkTextColor;
$todayLineColor: #DB5757;
/* state colors */
$labelColor: black;
@import '../mermaid';
@@ -1,60 +0,0 @@
$mainBkg: #ECECFF;
$secondBkg: #ffffde;
$lineColor: #333333;
$border1: #CCCCFF;
$border2: #aaaa33;
$arrowheadColor: #333333;
/* Flowchart variables */
$nodeBkg: $mainBkg;
$nodeBorder: #9370DB;
$clusterBkg: $secondBkg;
$clusterBorder: $border2;
$defaultLinkColor: $lineColor;
$titleColor: #333;
$edgeLabelBackground: #e8e8e8;
/* Sequence Diagram variables */
$actorBorder: $border1;
$actorBkg: $mainBkg;
$actorTextColor: black;
$actorLineColor: grey;
$signalColor: #333;
$signalTextColor: #333;
$labelBoxBkgColor: $actorBkg;
$labelBoxBorderColor: $actorBorder;
$labelTextColor: $actorTextColor;
$loopTextColor: $actorTextColor;
$noteBorderColor: $border2;
$noteBkgColor: #fff5ad;
$activationBorderColor: #666;
$activationBkgColor: #f4f4f4;
$sequenceNumberColor: white;
/* Gantt chart variables */
$sectionBkgColor: rgba(102, 102, 255, 0.49);
$altSectionBkgColor: white;
$sectionBkgColor2: #fff400;
$taskBorderColor: #534fbc;
$taskBkgColor: #8a90dd;
$taskTextLightColor: white;
$taskTextColor: $taskTextLightColor;
$taskTextDarkColor: black;
$taskTextOutsideColor: $taskTextDarkColor;
$taskTextClickableColor: #003163;
$activeTaskBorderColor: #534fbc;
$activeTaskBkgColor: #bfc7ff;
$gridColor: lightgrey;
$doneTaskBkgColor: lightgrey;
$doneTaskBorderColor: grey;
$critBorderColor: #ff8888;
$critBkgColor: red;
$todayLineColor: red;
/* state colors */
$labelColor: black;
@import '../mermaid';
-68
View File
@@ -1,68 +0,0 @@
.label {
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
color: #333;
}
.label text {
fill: #333;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: $mainBkg;
stroke: $nodeBorder;
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: $arrowheadColor;
}
.edgePath .path {
stroke: $lineColor;
stroke-width: 1.5px;
}
.edgeLabel {
background-color: $edgeLabelBackground;
rect {
opacity: 0.5;
}
text-align: center;
}
.cluster rect {
fill: $secondBkg;
stroke: $clusterBorder;
stroke-width: 1px;
}
.cluster text {
fill: $titleColor;
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
font-size: 12px;
background: $secondBkg;
border: 1px solid $border2;
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
@@ -1,61 +0,0 @@
$mainBkg: #cde498;
$secondBkg: #cdffb2;
$lineColor: #1a3318;
$lineColor: green;
$border1: #13540c;
$border2: #6eaa49;
$arrowheadColor: green;
/* Flowchart variables */
$nodeBkg: $mainBkg;
$nodeBorder: $border1;
$clusterBkg: $secondBkg;
$clusterBorder: $border2;
$defaultLinkColor: $lineColor;
$titleColor: #333;
$edgeLabelBackground: #e8e8e8;
/* Sequence Diagram variables */
$actorBorder: $border1;
$actorBkg: $mainBkg;
$actorTextColor: black;
$actorLineColor: grey;
$signalColor: #333;
$signalTextColor: #333;
$labelBoxBkgColor: $actorBkg;
$labelBoxBorderColor: #326932;
$labelTextColor: $actorTextColor;
$loopTextColor: $actorTextColor;
$noteBorderColor: $border2;
$noteBkgColor: #fff5ad;
$activationBorderColor: #666;
$activationBkgColor: #f4f4f4;
$sequenceNumberColor: white;
/* Gantt chart variables */
$sectionBkgColor: #6eaa49;
$altSectionBkgColor: white;
$sectionBkgColor2: #6eaa49;
$taskBorderColor: $border1;
$taskBkgColor: #487e3a;
$taskTextLightColor: white;
$taskTextColor: $taskTextLightColor;
$taskTextDarkColor: black;
$taskTextOutsideColor: $taskTextDarkColor;
$taskTextClickableColor: #003163;
$activeTaskBorderColor: $taskBorderColor;
$activeTaskBkgColor: $mainBkg;
$gridColor: lightgrey;
$doneTaskBkgColor: lightgrey;
$doneTaskBorderColor: grey;
$critBorderColor: #ff8888;
$critBkgColor: red;
$todayLineColor: red;
/* state colors */
$labelColor: black;
@import '../mermaid';
-259
View File
@@ -1,259 +0,0 @@
/** Section styling */
.mermaid-main-font {
font-family: "trebuchet ms", verdana, arial;
font-family: var(--mermaid-font-family);
}
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: $sectionBkgColor;
}
.section2 {
fill: $sectionBkgColor2;
}
.section1,
.section3 {
fill: $altSectionBkgColor;
opacity: 0.2;
}
.sectionTitle0 {
fill: $titleColor;
}
.sectionTitle1 {
fill: $titleColor;
}
.sectionTitle2 {
fill: $titleColor;
}
.sectionTitle3 {
fill: $titleColor;
}
.sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
/* Grid and axis */
.grid .tick {
stroke: $gridColor;
opacity: 0.8;
shape-rendering: crispEdges;
text {
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
fill: $taskTextOutsideColor;
}
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: $todayLineColor;
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
.taskText:not([font-size]) {
font-size: 11px;
}
.taskTextOutsideRight {
fill: $taskTextDarkColor;
text-anchor: start;
font-size: 11px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
.taskTextOutsideLeft {
fill: $taskTextDarkColor;
text-anchor: end;
font-size: 11px;
}
/* Special case clickable */
.task.clickable {
cursor: pointer;
}
.taskText.clickable {
cursor: pointer;
fill: $taskTextClickableColor !important;
font-weight: bold;
}
.taskTextOutsideLeft.clickable {
cursor: pointer;
fill: $taskTextClickableColor !important;
font-weight: bold;
}
.taskTextOutsideRight.clickable {
cursor: pointer;
fill: $taskTextClickableColor !important;
font-weight: bold;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: $taskTextColor;
}
.task0,
.task1,
.task2,
.task3 {
fill: $taskBkgColor;
stroke: $taskBorderColor;
}
.taskTextOutside0,
.taskTextOutside2
{
fill: $taskTextOutsideColor !important;
}
.taskTextOutside1,
.taskTextOutside3 {
fill: $taskTextOutsideColor !important;
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: $activeTaskBkgColor;
stroke: $activeTaskBorderColor;
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: $taskTextDarkColor;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: $doneTaskBorderColor;
fill: $doneTaskBkgColor;
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: $taskTextDarkColor;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: $critBorderColor;
fill: $critBkgColor;
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: $critBorderColor;
fill: $activeTaskBkgColor;
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: $critBorderColor;
fill: $doneTaskBkgColor;
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.milestone {
transform: rotate(45deg) scale(0.8,0.8);
}
.milestoneText {
font-style: italic;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: $taskTextDarkColor;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: $taskTextDarkColor;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: $taskTextOutsideColor;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
-8
View File
@@ -1,8 +0,0 @@
.commit-id,
.commit-msg,
.branch-label {
fill: lightgrey;
color: lightgrey;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
-19
View File
@@ -1,19 +0,0 @@
@import 'flowchart';
@import 'sequence';
@import 'gantt';
@import 'class';
@import 'git';
@import 'pie';
@import 'state';
// .composit {
// fill: white;
// border-bottom: 1px
// }
:root {
--mermaid-font-family: '"trebuchet ms", verdana, arial';
--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive;
// --mermaid-alt-font-family: '"Lucida Console", Monaco, monospace';
}
@@ -1,65 +0,0 @@
$mainBkg: #eee;
$contrast: #26a;
$secondBkg: lighten($contrast, 55%);
$lineColor: #666;
$border1: #999;
$border2: $contrast;
$note: #ffa;
$text: #333;
$critical: #d42;
$done: #bbb;
$arrowheadColor: #333333;
/* Flowchart variables */
$nodeBkg: $mainBkg;
$nodeBorder: $border1;
$clusterBkg: $secondBkg;
$clusterBorder: $border2;
$defaultLinkColor: $lineColor;
$titleColor: $text;
$edgeLabelBackground: white;
/* Sequence Diagram variables */
$actorBorder: $border1;
$actorBkg: $mainBkg;
$actorTextColor: $text;
$actorLineColor: $lineColor;
$signalColor: $text;
$signalTextColor: $text;
$labelBoxBkgColor: $actorBkg;
$labelBoxBorderColor: $actorBorder;
$labelTextColor: $text;
$loopTextColor: $text;
$noteBorderColor: darken($note, 60%);
$noteBkgColor: $note;
$activationBorderColor: #666;
$activationBkgColor: #f4f4f4;
$sequenceNumberColor: white;
/* Gantt chart variables */
$sectionBkgColor: lighten($contrast, 30%);
$altSectionBkgColor: white;
$sectionBkgColor2: lighten($contrast, 30%);
$taskBorderColor: darken($contrast, 10%);
$taskBkgColor: $contrast;
$taskTextLightColor: white;
$taskTextColor: $taskTextLightColor;
$taskTextDarkColor: $text;
$taskTextOutsideColor: $taskTextDarkColor;
$taskTextClickableColor: #003163;
$activeTaskBorderColor: $taskBorderColor;
$activeTaskBkgColor: $mainBkg;
$gridColor: lighten($border1, 30%);
$doneTaskBkgColor: $done;
$doneTaskBorderColor: $lineColor;
$critBkgColor: $critical;
$critBorderColor: darken($critBkgColor, 10%);
$todayLineColor: $critBkgColor;
/* state colors */
$labelColor: black;
@import '../mermaid';
-11
View File
@@ -1,11 +0,0 @@
.pieTitleText {
text-anchor: middle;
font-size: 25px;
fill: $taskTextDarkColor;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
.slice {
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
-97
View File
@@ -1,97 +0,0 @@
.actor {
stroke: $actorBorder;
fill: $actorBkg;
}
text.actor {
fill: $actorTextColor;
stroke: none;
}
.actor-line {
stroke: $actorLineColor;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: '2 2';
stroke: $signalColor;
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: '2 2';
stroke: $signalColor;
}
#arrowhead {
fill: $signalColor;
}
.sequenceNumber {
fill: $sequenceNumberColor;
}
#sequencenumber {
fill: $signalColor;
}
#crosshead path {
fill: $signalColor !important;
stroke: $signalColor !important;
}
.messageText {
fill: $signalTextColor;
stroke: none;
}
.labelBox {
stroke: $labelBoxBorderColor;
fill: $labelBoxBkgColor;
}
.labelText {
fill: $labelTextColor;
stroke: none;
}
.loopText {
fill: $loopTextColor;
stroke: none;
}
.loopLine {
stroke-width: 2;
stroke-dasharray: '2 2';
stroke: $labelBoxBorderColor;
}
.note {
//stroke: #decc93;
stroke: $noteBorderColor;
fill: $noteBkgColor;
}
.noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
font-size: 14px;
}
.activation0 {
fill: $activationBkgColor;
stroke: $activationBorderColor;
}
.activation1 {
fill: $activationBkgColor;
stroke: $activationBorderColor;
}
.activation2 {
fill: $activationBkgColor;
stroke: $activationBorderColor;
}
-132
View File
@@ -1,132 +0,0 @@
g.stateGroup text {
fill: $nodeBorder;
stroke: none;
font-size: 10px;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
g.stateGroup text {
fill: $nodeBorder;
stroke: none;
font-size: 10px;
}
g.stateGroup .state-title {
font-weight: bolder;
fill: $labelColor;
}
g.stateGroup rect {
fill: $nodeBkg;
stroke: $nodeBorder;
}
g.stateGroup line {
stroke: $nodeBorder;
stroke-width: 1;
}
.transition {
stroke: $nodeBorder;
stroke-width: 1;
fill: none;
}
.stateGroup .composit {
fill: white;
border-bottom: 1px
}
.stateGroup .alt-composit {
fill: #e0e0e0;
border-bottom: 1px
}
.state-note {
stroke: $noteBorderColor;
fill: $noteBkgColor;
text {
fill: black;
stroke: none;
font-size: 10px;
}
}
.stateLabel .box {
stroke: none;
stroke-width: 0;
fill: $nodeBkg;
opacity: 0.5;
}
.stateLabel text {
fill: $labelColor;
font-size: 10px;
font-weight: bold;
font-family: 'trebuchet ms', verdana, arial;
font-family: var(--mermaid-font-family);
}
.node circle.state-start {
fill: black;
stroke: black;
}
.node circle.state-end {
fill: black;
stroke: white;
stroke-width: 1.5
}
#statediagram-barbEnd {
fill: $nodeBorder
}
.statediagram-cluster rect {
fill: $nodeBkg;
stroke: $nodeBorder;
stroke-width: 1px;
}
.statediagram-cluster rect.outer {
rx: 5px;
ry: 5px;
}
.statediagram-state .divider {
stroke: $nodeBorder;
}
.statediagram-state .title-state {
rx: 5px;
ry: 5px;
}
.statediagram-cluster.statediagram-cluster .inner {
fill: white;
}
.statediagram-cluster.statediagram-cluster-alt .inner {
fill: #e0e0e0;
}
.statediagram-cluster .inner {
rx:0;
ry:0;
}
.statediagram-state rect.basic {
rx: 5px;
ry: 5px;
}
.statediagram-state rect.divider {
stroke-dasharray: 10,10;
fill: #efefef;
}
.note-edge {
stroke-dasharray: 5;
}
.statediagram-note rect {
fill: $noteBkgColor;
stroke: $noteBorderColor;
stroke-width: 1px;
rx: 0;
ry: 0;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+6 -6
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Bilibili icon</title><path d="M17.813 4.653h.854c1.51.054 2.769.578 3.773 1.574 1.004.995 1.524 2.249 1.56 3.76v7.36c-.036 1.51-.556 2.769-1.56 3.773s-2.262 1.524-3.773 1.56H5.333c-1.51-.036-2.769-.556-3.773-1.56S.036 18.858 0 17.347v-7.36c.036-1.511.556-2.765 1.56-3.76 1.004-.996 2.262-1.52 3.773-1.574h.774l-1.174-1.12a1.234 1.234 0 0 1-.373-.906c0-.356.124-.658.373-.907l.027-.027c.267-.249.573-.373.92-.373.347 0 .653.124.92.373L9.653 4.44c.071.071.134.142.187.213h4.267a.836.836 0 0 1 .16-.213l2.853-2.747c.267-.249.573-.373.92-.373.347 0 .662.151.929.4.267.249.391.551.391.907 0 .355-.124.657-.373.906zM5.333 7.24c-.746.018-1.373.276-1.88.773-.506.498-.769 1.13-.786 1.894v7.52c.017.764.28 1.395.786 1.893.507.498 1.134.756 1.88.773h13.334c.746-.017 1.373-.275 1.88-.773.506-.498.769-1.129.786-1.893v-7.52c-.017-.765-.28-1.396-.786-1.894-.507-.497-1.134-.755-1.88-.773zM8 11.107c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c0-.373.129-.689.386-.947.258-.257.574-.386.947-.386zm8 0c.373 0 .684.124.933.373.25.249.383.569.4.96v1.173c-.017.391-.15.711-.4.96-.249.25-.56.374-.933.374s-.684-.125-.933-.374c-.25-.249-.383-.569-.4-.96V12.44c.017-.391.15-.711.4-.96.249-.249.56-.373.933-.373Z"/></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
{{- /* https://img.shields.io/badge/$label-$version-$color?style=flat-square&labelColor=403c3d */ -}}
{{- /* https://img.shields.io/badge/$label-$version-$color?style=flat&labelColor=403c3d */ -}}
{{- $labelLength := strings.RuneCount .label | mul 64 | add 100 -}}
{{- $versionLength := strings.RuneCount .version | mul 60 -}}
{{- $width := add $labelLength $versionLength | add 200 -}}
+696
View File
@@ -0,0 +1,696 @@
# =====================================================================================
# It's recommended to use Alternate Theme Config to configure FixIt
# Modifying this file may result in merge conflict
# See: https://fixit.lruihao.cn/theme-documentation-basics/#site-configuration
# =====================================================================================
# -------------------------------------------------------------------------------------
# Menu Settings
# See: https://fixit.lruihao.cn/theme-documentation-basics/#menu-advanced-configuration
# -------------------------------------------------------------------------------------
[menu]
[[menu.main]]
identifier = "posts"
# you can add extra information before the name (HTML format is supported), such as icons
pre = ""
# you can add extra information after the name (HTML format is supported), such as icons
post = ""
name = "Posts"
url = "/posts/"
# title will be shown when you hover on this menu link
title = ""
weight = 1
[[menu.main]]
identifier = "categories"
pre = ""
post = ""
name = "Categories"
url = "/categories/"
title = ""
weight = 2
[[menu.main]]
identifier = "tags"
pre = ""
post = ""
name = "Tags"
url = "/tags/"
title = ""
weight = 3
# -------------------------------------------------------------------------------------
# Theme Core Configuration Settings
# -------------------------------------------------------------------------------------
[params]
# FixIt 0.2.15 | CHANGED FixIt theme version
version = "0.2.X" # e.g. "0.2.X", "0.2.15", "v0.2.15" etc.
# site description
description = "This is My New Hugo Site"
# site keywords
keywords = ["Theme", "Hugo"]
# site default theme ("light", "dark", "auto")
defaultTheme = "auto"
# public git repo url only then enableGitInfo is true
gitRepo = ""
# FixIt 0.1.1 | NEW which hash function used for SRI, when empty, no SRI is used
# ("sha256", "sha384", "sha512", "md5")
fingerprint = ""
# FixIt 0.2.0 | NEW date format
dateFormat = "2006-01-02"
# website images for Open Graph and Twitter Cards
images = ["/logo.png"]
# FixIt 0.2.12 | NEW enable PWA
enablePWA = true
# FixIt 0.2.14 | NEW whether to add external Icon for external links automatically
externalIcon = false
# FixIt 0.2.14 | NEW FixIt will, by default, inject a theme meta tag in the HTML head on the home page only.
# You can turn it off, but we would really appreciate if you dont, as this is a good way to watch FixIt's popularity on the rise.
disableThemeInject = false
# FixIt 0.2.0 | NEW App icon config
[params.app]
# optional site title override for the app when added to an iOS home screen or Android launcher
title = "FixIt"
# whether to omit favicon resource links
noFavicon = false
# modern SVG favicon to use in place of older style .png and .ico files
svgFavicon = ""
# Safari mask icon color
iconColor = "#5bbad5"
# Windows v8-10 tile color
tileColor = "#da532c"
# FixIt 0.2.12 | CHANGED Android browser theme color
[params.app.themeColor]
light = "#ffffff"
dark = "#252627"
# FixIt 0.2.0 | NEW Search config
[params.search]
enable = true
# type of search engine ("lunr", "algolia")
type = "lunr"
# max index length of the chunked content
contentLength = 4000
# placeholder of the search bar
placeholder = ""
# FixIt 0.2.1 | NEW max number of results length
maxResultLength = 10
# FixIt 0.2.3 | NEW snippet length of the result
snippetLength = 30
# FixIt 0.2.1 | NEW HTML tag name of the highlight part in results
highlightTag = "em"
# FixIt 0.2.4 | NEW whether to use the absolute URL based on the baseURL in search index
absoluteURL = false
[params.search.algolia]
index = ""
appID = ""
searchKey = ""
# Header config
[params.header]
# FixIt 0.2.13 | CHANGED desktop header mode ("sticky", "normal", "auto")
desktopMode = "sticky"
# FixIt 0.2.13 | CHANGED mobile header mode ("sticky", "normal", "auto")
mobileMode = "auto"
# FixIt 0.2.0 | NEW Header title config
[params.header.title]
# URL of the LOGO
logo = "/images/fixit.svg"
# title name
name = "My New Hugo Site"
# you can add extra information before the name (HTML format is supported), such as icons
pre = ""
# you can add extra information after the name (HTML format is supported), such as icons
post = ""
# FixIt 0.2.5 | NEW whether to use typeit animation for title name
typeit = false
# FixIt 0.2.12 | NEW Header subtitle config
[params.header.subtitle]
# subtitle name
name = ""
# whether to use typeit animation for subtitle name
typeit = false
# Footer config
[params.footer]
enable = true
# FixIt 0.2.0 | NEW Custom content (HTML format is supported)
custom = ''
# FixIt 0.2.0 | NEW whether to show Hugo and theme info
hugo = true
# FixIt 0.2.0 | NEW whether to show copyright info
copyright = true
# FixIt 0.2.0 | NEW whether to show the author
author = true
# Site creation year
since = 2019
# FixIt 0.2.14 | NEW Site creation time
siteTime = '' # e.g. '2019-02-03T19:30:34+08:00'
# FixIt 0.2.14 | NEW whether to show total word count of site content
wordCount = true
# FixIt 0.2.12 | NEW Public network security only in China (HTML format is supported)
gov = ""
# ICP info only in China (HTML format is supported)
icp = ""
# license info (HTML format is supported)
license = '<a rel="license external nofollow noopener noreferrer" href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank">CC BY-NC 4.0</a>'
# FixIt 0.2.0 | NEW Section (all posts) page config
[params.section]
# special amount of posts in each section page
paginate = 20
# date format (month and day)
dateFormat = "01-02"
# amount of RSS pages
rss = 10
# FixIt 0.2.13 | NEW recently updated posts settings
[params.section.recentlyUpdated]
enable = false
rss = false
days = 30
maxCount = 10
# FixIt 0.2.0 | NEW List (category or tag) page config
[params.list]
# special amount of posts in each list page
paginate = 20
# date format (month and day)
dateFormat = "01-02"
# amount of RSS pages
rss = 10
# Home page config
[params.home]
# FixIt 0.2.0 | NEW amount of RSS pages
rss = 10
# Home page profile
[params.home.profile]
enable = true
# FixIt 0.2.13 | NEW Gravatar mirror site domain, default: "www.gravatar.com"
# FixIt 0.2.14 | CHANGED FixIt 0.2.15 | DELETED The parameter `home.profile.gravatarSite` is deprecated since v0.2.14, use `gravatar.host` instead
# gravatarSite = ""
# Gravatar Email for preferred avatar in home page
gravatarEmail = ""
# URL of avatar shown in home page
avatarURL = ""
# FixIt 0.2.7 | CHANGED title shown in home page (HTML format is supported)
title = ""
# subtitle shown in home page
subtitle = "This is My New Hugo Site"
# whether to use typeit animation for subtitle
typeit = true
# whether to show social links
social = true
# FixIt 0.2.0 | NEW disclaimer (HTML format is supported)
disclaimer = ""
# Home page posts
[params.home.posts]
enable = true
# special amount of posts in each home posts page
paginate = 6
# Social config about the author
[params.social]
GitHub = ""
Linkedin = ""
Twitter = ""
Instagram = ""
Facebook = ""
Telegram = ""
Medium = ""
Gitlab = ""
Youtubelegacy = ""
Youtubecustom = ""
Youtubechannel = ""
Tumblr = ""
Quora = ""
Keybase = ""
Pinterest = ""
Reddit = ""
Codepen = ""
FreeCodeCamp = ""
Bitbucket = ""
Stackoverflow = ""
Weibo = ""
Odnoklassniki = ""
VK = ""
Flickr = ""
Xing = ""
Snapchat = ""
Soundcloud = ""
Spotify = ""
Bandcamp = ""
Paypal = ""
Fivehundredpx = ""
Mix = ""
Goodreads = ""
Lastfm = ""
Foursquare = ""
Hackernews = ""
Kickstarter = ""
Patreon = ""
Steam = ""
Twitch = ""
Strava = ""
Skype = ""
Whatsapp = ""
Zhihu = ""
Douban = ""
Angellist = ""
Slidershare = ""
Jsfiddle = ""
Deviantart = ""
Behance = ""
Dribbble = ""
Wordpress = ""
Vine = ""
Googlescholar = ""
Researchgate = ""
Mastodon = ""
Thingiverse = ""
Devto = ""
Gitea = ""
XMPP = ""
Matrix = ""
Bilibili = ""
# ORCID, ... , CSDN FixIt 0.2.13 | NEW
ORCID = ""
Liberapay = ""
Ko-Fi = ""
BuyMeaCoffee = ""
Linktree = ""
QQ = ""
QQGroup = "" # https://qun.qq.com/join.html
Diaspora = ""
CSDN = ""
Email = ""
RSS = true # FixIt 0.2.0 | NEW
# FixIt 0.2.0 | CHANGED Page config
[params.page]
# FixIt 0.2.0 | NEW whether to hide a page from home page
hiddenFromHomePage = false
# FixIt 0.2.0 | NEW whether to hide a page from search results
hiddenFromSearch = false
# FixIt 0.2.0 | NEW whether to enable twemoji
twemoji = false
# whether to enable lightgallery
lightgallery = false
# FixIt 0.2.0 | NEW whether to enable the ruby extended syntax
ruby = true
# FixIt 0.2.0 | NEW whether to enable the fraction extended syntax
fraction = true
# FixIt 0.2.0 | NEW whether to enable the fontawesome extended syntax
fontawesome = true
# license info (HTML format is supported)
license = '<a rel="license external nofollow noopener noreferrer" href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank">CC BY-NC 4.0</a>'
# whether to show link to Raw Markdown content of the content
linkToMarkdown = true
# FixIt 0.2.4 | NEW whether to show the full text content in RSS
rssFullText = false
# FixIt 0.2.13 | NEW Page style ("narrow", "normal", "wide", ...)
pageStyle = "normal"
# FixIt 0.2.14 | NEW Gravatar is force-used as the author's avatar
gravatarForce = false
# FixIt 0.2.15 | NEW Repost config
[params.page.repost]
enable = false
url = ""
# FixIt 0.2.0 | NEW Table of the contents config
[params.page.toc]
# whether to enable the table of the contents
enable = true
# FixIt 0.2.9 | NEW whether to keep the static table of the contents in front of the post
keepStatic = false
# whether to make the table of the contents in the sidebar automatically collapsed
auto = true
# FixIt 0.2.13 | NEW position of TOC ("left", "right")
position = "right"
# FixIt 0.2.13 | NEW Display a message at the beginning of an article to warn the reader that its content might be expired
[params.page.expirationReminder]
enable = false
# Display the reminder if the last modified time is more than 90 days ago
reminder = 90
# Display warning if the last modified time is more than 180 days ago
warning = 180
# If the article expires, close the comment or not
closeComment = false
# FixIt 0.2.0 | CHANGED KaTeX mathematical formulas (https://katex.org)
[params.page.math]
enable = true
# default block delimiter is $$ ... $$ and \\[ ... \\]
blockLeftDelimiter = ""
blockRightDelimiter = ""
# default inline delimiter is $ ... $ and \\( ... \\)
inlineLeftDelimiter = ""
inlineRightDelimiter = ""
# KaTeX extension copy_tex
copyTex = true
# KaTeX extension mhchem
mhchem = true
# FixIt 0.2.0 | NEW Code config
[params.page.code]
# whether to show the copy button of the code block
copy = true
# FixIt 0.2.13 | NEW whether to show the edit button of the code block
edit = true
# the maximum number of lines of displayed code by default
maxShownLines = 10
# FixIt 0.2.14 | NEW Post edit
[params.page.edit]
enable = false
# FixIt 0.2.15 | CHANGED Link for fork & edit
# url = "/edit/branch-name/subdirectory-name" # base on `params.gitRepo`
# url = "https://github.com/user-name/repo-name/edit/branch-name/subdirectory-name" # full url
url = ""
# FixIt 0.2.0 | NEW Mapbox GL JS config (https://docs.mapbox.com/mapbox-gl-js)
[params.page.mapbox]
# access token of Mapbox GL JS
accessToken = ""
# style for the light theme
lightStyle = "mapbox://styles/mapbox/light-v9"
# style for the dark theme
darkStyle = "mapbox://styles/mapbox/dark-v9"
# whether to add NavigationControl
navigation = true
# whether to add GeolocateControl
geolocate = true
# whether to add ScaleControl
scale = true
# whether to add FullscreenControl
fullscreen = true
# FixIt 0.2.0 | CHANGED social share links in post page
[params.page.share]
enable = true
Twitter = true
Facebook = true
Linkedin = false
Whatsapp = false
Pinterest = false
Tumblr = false
HackerNews = false
Reddit = false
VK = false
Buffer = false
Xing = false
Line = false
Instapaper = false
Pocket = false
Digg = false
Stumbleupon = false
Flipboard = false
Weibo = true
Renren = false
Myspace = false
Blogger = false
Baidu = false
Odnoklassniki = false
Evernote = false
Skype = false
Trello = false
Mix = false
# FixIt 0.2.15 | CHANGED Comment config
[params.page.comment]
enable = false
# FixIt 0.2.13 | NEW Artalk comment config (https://artalk.js.org/)
[params.page.comment.artalk]
enable = false
server = "https://yourdomain/api/"
site = "默认站点"
placeholder = ""
noComment = ""
sendBtn = ""
editorTravel = true
flatMode = 'auto'
maxNesting = 3
# It take effect when `params.page.lightgallery` is enabled
lightgallery = false
locale = "" # FixIt 0.2.15 | NEW
# FixIt 0.1.1 | NEW Disqus comment config (https://disqus.com)
[params.page.comment.disqus]
enable = false
# Disqus shortname to use Disqus in posts
shortname = ""
# FixIt 0.1.1 | NEW Gitalk comment config (https://github.com/gitalk/gitalk)
[params.page.comment.gitalk]
enable = false
owner = ""
repo = ""
clientId = ""
clientSecret = ""
# Valine comment config (https://github.com/xCss/Valine)
[params.page.comment.valine]
enable = false
appId = ""
appKey = ""
placeholder = ""
avatar = "mp"
meta= ""
pageSize = 10
lang = ""
visitor = true
recordIP = true
highlight = true
enableQQ = false
serverURLs = ""
# FixIt 0.2.6 | NEW emoji data file name, default is "google.yml"
# ("apple.yml", "google.yml", "facebook.yml", "twitter.yml")
# located in "themes/FixIt/assets/data/emoji/" directory
# you can store your own data files in the same path under your project:
# "assets/data/emoji/"
emoji = ""
commentCount = true # FixIt 0.2.13 | NEW
# FixIt 0.2.13 | NEW Waline comment config (https://waline.js.org)
[params.page.comment.waline]
enable = false
serverURL = ""
pageview = false # FixIt 0.2.15 | NEW
emoji = ['//unpkg.com/@waline/emojis@1.0.1/weibo']
meta = ['nick', 'mail', 'link']
requiredMeta = []
login = 'enable'
wordLimit = 0
pageSize = 10
imageUploader = false # FixIt 0.2.15 | NEW
highlighter = false # FixIt 0.2.15 | NEW
comment = false # FixIt 0.2.15 | NEW
# visitor = false # FixIt 0.2.15 | DELETED renamed to pageview
# uploadImage = false # FixIt 0.2.15 | DELETED renamed to imageUploader
# highlight = true # FixIt 0.2.15 | DELETED renamed to highlighter
# mathTagSupport = false FixIt 0.2.15 | DELETED
# commentCount = false FixIt 0.2.15 | DELETED renamed to comment
# Facebook comment config (https://developers.facebook.com/docs/plugins/comments)
[params.page.comment.facebook]
enable = false
width = "100%"
numPosts = 10
appId = ""
languageCode = ""
# FixIt 0.2.0 | NEW Telegram comments config (https://comments.app)
[params.page.comment.telegram]
enable = false
siteID = ""
limit = 5
height = ""
color = ""
colorful = true
dislikes = false
outlined = false
# FixIt 0.2.0 | NEW Commento comment config (https://commento.io)
[params.page.comment.commento]
enable = false
# FixIt 0.2.5 | NEW Utterances comment config (https://utteranc.es)
[params.page.comment.utterances]
enable = false
# owner/repo
repo = ""
issueTerm = "pathname"
label = ""
lightTheme = "github-light"
darkTheme = "github-dark"
# FixIt 0.2.13 | NEW Twikoo comment config (https://twikoo.js.org/)
[params.page.comment.twikoo]
enable = false
envId = ""
region = ""
path = ""
visitor = true
commentCount = true
# It take effect when `params.page.lightgallery` is enabled
lightgallery = false
# FixIt 0.2.14 | NEW Giscus comments config
[params.page.comment.giscus]
enable = false
repo = ""
repoId = ""
category = ""
categoryId = ""
mapping = ""
reactionsEnabled = "1"
emitMetadata = "0"
inputPosition = "bottom" # top, bottom
lightTheme = "light"
darkTheme = "dark"
lazyLoad = true
# FixIt 0.2.7 | NEW Third-party library config
[params.page.library]
[params.page.library.css]
# someCSS = "some.css"
# located in "assets/"
# Or
# someCSS = "https://cdn.example.com/some.css"
[params.page.library.js]
# someJavascript = "some.js"
# located in "assets/"
# Or
# someJavascript = "https://cdn.example.com/some.js"
# FixIt 0.2.10 | CHANGED Page SEO config
[params.page.seo]
# image URL
images = []
# Publisher info
[params.page.seo.publisher]
name = ""
logoUrl = ""
# FixIt 0.2.5 | NEW TypeIt config
[params.typeit]
# typing speed between each step (measured in milliseconds)
speed = 100
# blinking speed of the cursor (measured in milliseconds)
cursorSpeed = 1000
# character used for the cursor (HTML format is supported)
cursorChar = "|"
# cursor duration after typing finishing (measured in milliseconds, "-1" means unlimited)
duration = -1
# FixIt 0.2.15 | NEW Mermaid config
[params.mermaid]
# For values, see https://mermaid-js.github.io/mermaid/#/Setup?id=theme
themes = ['neutral', 'dark']
# FixIt 0.2.12 | NEW PanguJS config
[params.pangu]
# For Chinese writing
enable = false
# FixIt 0.2.12 | NEW Watermark config
# Detail config see https://github.com/Lruihao/watermark#readme
[params.watermark]
enable = false
# watermark's text (HTML format is supported)
content = ''
# watermark's transparency
opacity = 0.1
# parent of watermark's container
appendTo = '.wrapper>main'
# watermark's width. unit: px
width = 150
# watermark's height. unit: px
height = 20
# row spacing of watermarks. unit: px
rowSpacing = 60
# col spacing of watermarks. unit: px
colSpacing = 30
# watermark's tangent angle. unit: deg
rotate = 15
# watermark's fontSize. unit: rem
fontSize = 0.85
# FixIt 0.2.13 | NEW watermark's fontFamily
fontFamily = 'inherit'
# FixIt 0.2.12 | NEW Busuanzi count
[params.ibruce]
enable = false
# Enable in post meta
enablePost = false
# FixIt 0.2.14 | CHANGED FixIt 0.2.15 | DELETED Site creation time
# The parameter `ibruce.siteTime` is deprecated since v0.2.14, use `footer.siteTime` instead
# siteTime = '' # e.g. '2019-02-03T19:30:34+08:00'
# Site verification code config for Google/Bing/Yandex/Pinterest/Baidu/360/Sogou
[params.verification]
google = ""
bing = ""
yandex = ""
pinterest = ""
baidu = ""
so = ""
sogou = ""
# FixIt 0.2.10 | NEW Site SEO config
[params.seo]
# image URL
image = ""
# thumbnail URL
thumbnailUrl = ""
# FixIt 0.2.0 | NEW Analytics config
[params.analytics]
enable = false
# Google Analytics
[params.analytics.google]
id = ""
# whether to anonymize IP
anonymizeIP = true
# Fathom Analytics
[params.analytics.fathom]
id = ""
# server url for your tracker if you're self hosting
server = ""
# FixIt 0.2.7 | NEW Cookie consent config
[params.cookieconsent]
enable = true
# text strings used for Cookie consent banner
[params.cookieconsent.content]
message = ""
dismiss = ""
link = ""
# FixIt 0.2.7 | CHANGED CDN config for third-party library files
[params.cdn]
# CDN data file name, disabled by default
# ("jsdelivr.yml", "unpkg.yml")
# located in "themes/FixIt/assets/data/cdn/" directory
# you can store your own data files in the same path under your project:
# "assets/data/cdn/"
# data = "unpkg"
# FixIt 0.2.8 | NEW Compatibility config
[params.compatibility]
# whether to use Polyfill.io to be compatible with older browsers
polyfill = false
# whether to use object-fit-images to be compatible with older browsers
objectFit = false
# FixIt 0.2.12 | NEW Custom JS at last
# "_custom.js" located in "themes/FixIt/assets/js/"
# you can store your custom JS file in the same path under your project:
# "assets/js/_custom.js"
[params.customJS]
enable = true
# FixIt 0.2.14 | NEW GitHub banner in the top-right or top-left corner
[params.githubCorner]
enable = false
permalink = "https://github.com/hugo-fixit/FixIt"
title = "View source on GitHub"
position = "right" # left, right
# FixIt 0.2.14 | NEW Gravatar config
[params.gravatar]
# Gravatar host, default: "www.gravatar.com"
host = "www.gravatar.com" # "cn.gravatar.com", "gravatar.loli.net"
style = "" # "", mp, identicon, monsterid, wavatar, retro, blank, robohash
# FixIt 0.2.15 | NEW Developer options
[params.dev]
enable = false
# Check for updates
c4u = false
# Please do not expose to public!
githubToken = ""
# Mobile Devtools confi
[params.dev.mDevtools]
enable = false
# "vConsole", "eruda" supported
type = "vConsole"
+280
View File
@@ -0,0 +1,280 @@
# Contributors-Readme
## [Contributors](https://github.com/hugo-fixit/FixIt/graphs/contributors)
<!-- readme: contributors,d-baer -start -->
<table>
<tr>
<td align="center">
<a href="https://github.com/dillonzq">
<img src="https://avatars.githubusercontent.com/u/30786232?v=4" width="100;" alt="dillonzq"/>
<br />
<sub><b>Dillon</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Lruihao">
<img src="https://avatars.githubusercontent.com/u/33419593?v=4" width="100;" alt="Lruihao"/>
<br />
<sub><b>Cell</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Fastbyte01">
<img src="https://avatars.githubusercontent.com/u/16869546?v=4" width="100;" alt="Fastbyte01"/>
<br />
<sub><b>Giuseppe Pignataro</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Programazing">
<img src="https://avatars.githubusercontent.com/u/11393826?v=4" width="100;" alt="Programazing"/>
<br />
<sub><b>Christopher C. Johnson</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/astropenguin">
<img src="https://avatars.githubusercontent.com/u/13254278?v=4" width="100;" alt="astropenguin"/>
<br />
<sub><b>Akio Taniguchi</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/DaveA-W">
<img src="https://avatars.githubusercontent.com/u/6415842?v=4" width="100;" alt="DaveA-W"/>
<br />
<sub><b>Dave A-W</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/maxlefou">
<img src="https://avatars.githubusercontent.com/u/6705075?v=4" width="100;" alt="maxlefou"/>
<br />
<sub><b>JM Fergeau</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/realsangil">
<img src="https://avatars.githubusercontent.com/u/15508203?v=4" width="100;" alt="realsangil"/>
<br />
<sub><b>Sangil Park</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Fedomn">
<img src="https://avatars.githubusercontent.com/u/6177727?v=4" width="100;" alt="Fedomn"/>
<br />
<sub><b>Frank Ma</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ctj12461">
<img src="https://avatars.githubusercontent.com/u/42143810?v=4" width="100;" alt="ctj12461"/>
<br />
<sub><b>Justin Chen</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/edte">
<img src="https://avatars.githubusercontent.com/u/50194671?v=4" width="100;" alt="edte"/>
<br />
<sub><b>Edte</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/solarpowerinncr">
<img src="https://avatars.githubusercontent.com/u/37186560?v=4" width="100;" alt="solarpowerinncr"/>
<br />
<sub><b>Solarpowerinncr</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/youngxhui">
<img src="https://avatars.githubusercontent.com/u/16971804?v=4" width="100;" alt="youngxhui"/>
<br />
<sub><b>Youngxhui</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/dogukanerel">
<img src="https://avatars.githubusercontent.com/u/19349444?v=4" width="100;" alt="dogukanerel"/>
<br />
<sub><b>Doğukan Erel</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/yureiita">
<img src="https://avatars.githubusercontent.com/u/26035759?v=4" width="100;" alt="yureiita"/>
<br />
<sub><b>Abdul Halim Daud</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/devandreacarratta">
<img src="https://avatars.githubusercontent.com/u/46504271?v=4" width="100;" alt="devandreacarratta"/>
<br />
<sub><b>Andrea Carratta</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/cmpsoares91">
<img src="https://avatars.githubusercontent.com/u/4914211?v=4" width="100;" alt="cmpsoares91"/>
<br />
<sub><b>Carlos Manuel Soares</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/AutomationD">
<img src="https://avatars.githubusercontent.com/u/1790594?v=4" width="100;" alt="AutomationD"/>
<br />
<sub><b>Dmitry Kireev</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/thejayhaykid">
<img src="https://avatars.githubusercontent.com/u/9452325?v=4" width="100;" alt="thejayhaykid"/>
<br />
<sub><b>Jake Hayes</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/markdluethje">
<img src="https://avatars.githubusercontent.com/u/31922494?v=4" width="100;" alt="markdluethje"/>
<br />
<sub><b>Mark-Daniel Lüthje</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/nirgn975">
<img src="https://avatars.githubusercontent.com/u/3472902?v=4" width="100;" alt="nirgn975"/>
<br />
<sub><b>Nir Galon</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ramrodo">
<img src="https://avatars.githubusercontent.com/u/2797052?v=4" width="100;" alt="ramrodo"/>
<br />
<sub><b>Rodolfo Martínez Vega</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/SilkeHenderickx">
<img src="https://avatars.githubusercontent.com/u/28140438?v=4" width="100;" alt="SilkeHenderickx"/>
<br />
<sub><b>Silke Henderickx</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/tlereste">
<img src="https://avatars.githubusercontent.com/u/12964583?v=4" width="100;" alt="tlereste"/>
<br />
<sub><b>Thibault Le Reste</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/vanildosouto">
<img src="https://avatars.githubusercontent.com/u/1603028?v=4" width="100;" alt="vanildosouto"/>
<br />
<sub><b>Vanildo Souto Mangueira</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/victor-pogor">
<img src="https://avatars.githubusercontent.com/u/24962085?v=4" width="100;" alt="victor-pogor"/>
<br />
<sub><b>Victor Pogor</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/wtchangdm">
<img src="https://avatars.githubusercontent.com/u/1546333?v=4" width="100;" alt="wtchangdm"/>
<br />
<sub><b>W.T. Chang</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/anup92k">
<img src="https://avatars.githubusercontent.com/u/51033013?v=4" width="100;" alt="anup92k"/>
<br />
<sub><b>Anup</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/codedge">
<img src="https://avatars.githubusercontent.com/u/4409904?v=4" width="100;" alt="codedge"/>
<br />
<sub><b>Holger Lösken</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/hiifong">
<img src="https://avatars.githubusercontent.com/u/89133723?v=4" width="100;" alt="hiifong"/>
<br />
<sub><b>Hiifong</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/onisuly">
<img src="https://avatars.githubusercontent.com/u/8399827?v=4" width="100;" alt="onisuly"/>
<br />
<sub><b>Onisuly</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/quyleanh">
<img src="https://avatars.githubusercontent.com/u/9365035?v=4" width="100;" alt="quyleanh"/>
<br />
<sub><b>Quy Le Anh</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/sarathsp06">
<img src="https://avatars.githubusercontent.com/u/964542?v=4" width="100;" alt="sarathsp06"/>
<br />
<sub><b>Sarath Sadasivan Pillai</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/tomaja-linuxo">
<img src="https://avatars.githubusercontent.com/u/37209662?v=4" width="100;" alt="tomaja-linuxo"/>
<br />
<sub><b>Tomaja</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ziobron">
<img src="https://avatars.githubusercontent.com/u/4595135?v=4" width="100;" alt="ziobron"/>
<br />
<sub><b>Łukasz Ziobroń</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/d-baer">
<img src="https://avatars.githubusercontent.com/u/22482986?v=4" width="100;" alt="d-baer"/>
<br />
<sub><b>D-baer</b></sub>
</a>
</td></tr>
</table>
<!-- readme: contributors,d-baer -end -->
## Bots
<!-- readme: bots -start -->
<table>
<tr>
<td align="center">
<a href="https://github.com/dependabot[bot]">
<img src="https://avatars.githubusercontent.com/in/29110?v=4" width="100;" alt="dependabot[bot]"/>
<br />
<sub><b>dependabot[bot]</b></sub>
</a>
</td></tr>
</table>
<!-- readme: bots -end -->
Submodule
+1
Submodule docs added at 37a2149fd6
-4
View File
@@ -1,4 +0,0 @@
// ==============================
// Custom style
// 自定义样式
// ==============================
-4
View File
@@ -1,4 +0,0 @@
// ==============================
// Override Variables
// 覆盖变量
// ==============================
Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

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