Compare commits

..

1323 Commits

Author SHA1 Message Date
Cell c79badcf44 chore(release): 0.4.4 2026-03-19 14:15:16 +08:00
Cell ccf17c6444 fix(assets): enhance tablist-wrapper styles 2026-03-19 12:47:17 +08:00
Cell 9bac69b2ec fix: update print handling and improve file tree interactions 2026-03-19 11:42:15 +08:00
Cell 0bf5d3a49b docs(CONTRIBUTING): update commit message guidelines and examples 2026-03-18 17:29:08 +08:00
Cell 74b80bd94d chore(libs): update Twikoo from 1.6.44 to 1.7.3 (close #711) 2026-03-18 15:21:20 +08:00
Cell 789973da78 chore(dev-deps): update dev dependencies 2026-03-18 12:29:29 +08:00
Cell d51dfd35e8 refactor(responsive): enhance responsive styles and add media mixin support (#715)
* feat(responsive): add responsive breakpoints and mixin for media queries

* refactor: print styles and add media query support

* refactor(responsive): enhance responsive styles across various components
2026-03-18 11:22:51 +08:00
Cell 8534cddc7c chore(i): some some general updates 2026-03-13 11:18:21 +08:00
Cell 02ac3f5259 feat(code): add shadow effect for code blocks (#713) 2026-03-12 17:28:15 +08:00
Cell c8d028aa0e feat(tabs): enhance tab styles and improve active code tab handling (#712)
* feat(tabs): enhance tab styles with sliding indicators and hover effects

* feat(tabs): improve active code tab handling and initialization logic
2026-03-12 11:41:52 +08:00
Cell f2c112e402 feat(code): add tabbed codeblocks support (#710) 2026-03-10 17:33:28 +08:00
Cell 8bf2fea735 fix(typeit): restore cursor color variable definition for proper styling 2026-03-08 18:07:16 +08:00
Cell fe7105a38a fix: optimize TOC initialization with a timeout and clean up button spacing in decryptor 2026-03-08 17:57:41 +08:00
Cell fda650ad58 feat(MathJax): add dark mode adaptation for MathJax rendering 2026-03-08 02:17:14 +08:00
Cell d97e69ad0a feat(tooltip): add cell-tooltip integration for footnote references a… (#709)
* feat(tooltip): add cell-tooltip integration for footnote references and initialize tooltips

* fix(code-header): add data-ct-tooltip attribute to action buttons for better accessibility
2026-03-06 19:25:35 +08:00
Cell 98a82d845a refactor(Util): convert methods to static for better accessibility and usage 2026-03-06 10:46:47 +08:00
Cell 423a7ddbf7 fix(CSS): restore the definition of the $global-font-secondary-color variable; third-party components may reference it 2026-03-04 16:02:10 +08:00
Cell da297a71f8 feat(shortcodes): add store flags for aplayer, music, mapbox, and fixit-encryptor 2026-03-04 11:26:03 +08:00
Cell ba63d67a3c chore(release): 0.4.3 2026-03-03 16:17:30 +08:00
Cell 69d8e67c24 feat(code): add fullscreen functionality for code blocks (#707) 2026-03-03 16:15:01 +08:00
Cell 6196cd5edf feat(code): add download button for code blocks and related functionality (#706) 2026-03-02 17:34:57 +08:00
Cell 83a658ba25 fix(i): adjust background color and border color for fixed button 2026-03-02 14:56:09 +08:00
Cell 78a994b92b chore(lib): update json-viewer-element version to 1.0.4 (#705) 2026-03-02 11:42:17 +08:00
dependabot[bot] 8599d14976 chore(deps-dev): bump @antfu/eslint-config from 6.7.3 to 7.6.1 (#704)
Bumps [@antfu/eslint-config](https://github.com/antfu/eslint-config) from 6.7.3 to 7.6.1.
- [Release notes](https://github.com/antfu/eslint-config/releases)
- [Commits](https://github.com/antfu/eslint-config/compare/v6.7.3...v7.6.1)

---
updated-dependencies:
- dependency-name: "@antfu/eslint-config"
  dependency-version: 7.6.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 11:36:47 +08:00
dependabot[bot] 0928c72452 chore(deps-dev): bump the npm-development group with 2 updates (#703)
Bumps the npm-development group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [lint-staged](https://github.com/lint-staged/lint-staged).


Updates `@types/node` from 24.10.15 to 24.11.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `lint-staged` from 16.2.7 to 16.3.0
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.2.7...v16.3.0)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.11.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: lint-staged
  dependency-version: 16.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 11:34:00 +08:00
Cell c3ac728f04 feat(task-lists): update checked task item styles 2026-03-02 11:32:58 +08:00
Cell 93d0b52cd7 feat(UI): adjust border and separator colors to improve visual hierarchy 2026-02-28 20:11:20 +08:00
Cell 2199c7f125 fix(task-lists): regular expression matching for task list items containing extra spaces 2026-02-28 18:00:01 +08:00
Cell 3926cc0220 refactor: reorganize CSS structure and standardize CSS variable usage for improved maintainability (#690)
* refactor: CSS variables to use fixit-var for consistency across styles

* refactor: reorganize CSS structure and consolidate imports for improved maintainability

* refactor: unify CSS variable usage and improve structure across stylesheets

* refactor: standardize CSS variable usage for layout

* refactor: standardize CSS variable usage for archive and special pages

* refactor: standardize CSS variable usage for single page

* refactor: standardize CSS variable usage for widgets

* refactor(css): refactors the border-radius mixin and adds the .rounded-full utility class

* refactor: standardize z-index usage across components

* refactor(css): removes deprecated compatibility mixins and replaces them with native CSS properties

* feat: unify color variable naming and update theme color values

- Rename `global-font-secondary-color` to `global-placeholder-color` for more accurate description of its purpose
- Update multiple style references to use the new `secondary` theme color variable
- Update theme color mapping to the new color values ​​for improved visual consistency
- Fixed the use of search box placeholder colors and removed hard-coded transparency values
- Added color preview test documentation for easier verification of color rendering
- Cleaned up some duplicate dark mode styles and replaced them with unified CSS variables

* refactor: remove the `hr-background-color` variable and uses `global-border-color` uniformly

* feat(CSE): add dark theme style to Google CSE search box and results container

* fix(task-lists): fixed styling and rendering issues with nested task lists
2026-02-28 17:24:10 +08:00
Andreas Deininger 175cf888d5 fix: eliminate deprecation warnings with hugo version 0.156.0 (#702)
* Fix deprecation warning with latest hugo version 0.156.0

* fix: use `hugo.Data` to replace the discarded `.Site.Data`

* chore(hugo): update Hugo version requirements to 0.156.0

---------

Co-authored-by: Cell <1024@lruihao.cn>
2026-02-27 15:46:31 +08:00
dependabot[bot] 581d8373bf chore(deps-dev): bump @types/node in the npm-development group
Bumps the npm-development group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 24.10.4 to 24.10.9
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.10.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-27 11:28:01 +08:00
youfou@hotmail.com 98f337a545 chore: update waline to 3.12.1 2026-02-18 21:16:15 +08:00
Cell 9e946c6316 fix(i): missing widget styles 2026-01-30 12:23:48 +08:00
Cell e23a50d755 refactor(assets): refactors the SCSS file structure and adds styles for new components. 2026-01-23 16:07:55 +08:00
Cell 2a5bd268a3 chore(release): 0.4.2 2026-01-17 14:41:08 +08:00
Cell 5036111d11 fix(toc): update height to use 100dvh for better responsiveness (#688)
* fix(toc): update height to use 100dvh for better responsiveness

* fix(toc): adjust backdrop color and add blur effect for improved visibility
2026-01-17 14:27:58 +08:00
Cell 8367c13ebd fix(i): make change for FontAwesome v7
https://docs.fontawesome.com/upgrade/whats-changed/
2026-01-17 00:39:12 +08:00
Cell 536e0b171e fix: add HTMLEscape function to fix XSS attack in search feature (#687) 2026-01-16 20:02:22 +08:00
Cell 03f3500c35 fix(file-tree): improve item sorting logic
// ignore-for-release
2026-01-15 15:32:34 +08:00
Cell b4008081d7 feat(file-tree): enhance shortcode with name param and deprecated fullRootName param
// ignore-for-release
2026-01-14 18:18:26 +08:00
Cell fdfd772100 feat(File Tree): add file-tree shortcode support (#685)
* feat(File Tree): add `file-tree` shortcode support

* feat(file-tree): add ignoreList parameter to file-tree shortcode

* feat(file-tree): enhance file-tree shortcode with ignoreList and folderSlash options

* feat(file-tree): enhance file-tree shortcode to support data mode

* feat(file-tree): enhance file-tree shortcode to support file mode

* feat(file-tree): improve content parsing in file-tree shortcode

* feat(file-tree): improve root path validation and error handling in filesystem mode

* test(file-tree): add unit tests for `file-tree` shortcode

* feat(file-tree): add file-tree code block rendering support

* refactor(file-tree): extract filesystem scanning to get-file-tree partial

Move directory traversal and root path validation to a separate partial function,
consolidating all filesystem-related logic in one place. This simplifies the
shortcode implementation and ensures a unified data format for rendering.

* docs(readme): extend code fence and shortcode support for file tree in documentation

* feat(file-tree): add fullRootName parameter for root path display in file tree

* feat(file-tree): add language parameter to get-file-tree function

* feat(file-tree): add highlightList parameter for file-tree shortcode

* perf(file-tree): add level param for get-file-tree function to descend only level directories deep
2026-01-14 16:01:22 +08:00
Cell 0c1d074890 chore(deps): bump fontawesome version to 7.1.0 2026-01-09 22:15:15 +08:00
Cell b29368c3e6 fix(admonition): adjust styles for title-only and content-only admonitions
// ignore-for-release
2026-01-09 14:32:28 +08:00
Cell 50d27e0e5b feat(devtools): add template call stack for debugging 2026-01-09 12:29:43 +08:00
Cell 8b5315a141 chore: add .stash to ignore list
// ignore-for-release
2026-01-08 17:31:45 +08:00
Cell c257b9b10f feat(admonition): add support for content-only alerts without titles (#683)
* feat(admonition): add support for content-only alerts without titles

* fix(admonition): improve title-only alert handling and styling
2026-01-08 16:13:09 +08:00
Cell 12b7c65f80 chore(release): 0.4.1 2026-01-06 16:27:34 +08:00
Cell 4514affb78 fix(image): support avif format in image processing logic (#682) 2026-01-06 16:21:37 +08:00
Cell 6986044dbc chore: update release workflow to install fixit-cli and handle config files separately 2026-01-06 15:35:32 +08:00
Cell fb300f2b16 fix(code): code highlighting not styled for typeit shortcode (#681) 2026-01-05 14:58:52 +08:00
Cell 43ecb1bdd0 chore(dev): update recommended VSCode extensions for Hugo development 2026-01-05 14:18:26 +08:00
Cell dda0d1e3f5 docs(security): simplify supported versions section for clarity 2026-01-04 16:03:23 +08:00
Cell 4a3df3cbdb chore(release): 0.4.0 2026-01-04 15:30:37 +08:00
Cell 31e5b99f1f chore: update version and changelog scripts in package.json 2026-01-04 15:30:12 +08:00
Cell 296e86ad56 style(i): markdown lint 2026-01-04 15:19:09 +08:00
Cell 572382b5ad fix(i): remove debug 2026-01-04 14:27:12 +08:00
Cell 84c1358ecb fix(code): adjust max-width of code block titles for better layout 2026-01-04 14:22:31 +08:00
Cell a79213969f feat: add option to show last modified time in post layout (#678) 2026-01-04 12:45:49 +08:00
Cell 2c2b25d8fc refactor: move the expiration reminder outside the content (#677) 2026-01-04 11:38:36 +08:00
Cell 5b8ea64d77 docs(archetypes): update markdown syntax and remove uncommon front matter in templates (#676) 2026-01-04 11:22:38 +08:00
Cell d637c8b22f fix(img): remove lazy loading background style from img
Transparent images cannot cover loading images
2026-01-03 20:56:37 +08:00
Cell 00870fda7e chore(release): 0.4.0-rc 2026-01-03 20:22:02 +08:00
Cell 81f867d0cd fix(code-block): code block header sticky top error inside admonition content 2026-01-03 19:55:15 +08:00
Cell fcbd8938c2 feat(post-chat-ai): add podcast support and enhance post summary configuration 2026-01-03 16:59:22 +08:00
dependabot[bot] 44b1271229 chore(deps-dev): bump fs-extra in the npm-development group (#674) 2026-01-01 10:24:44 +08:00
dependabot[bot] c1071077ae chore(deps): bump peter-evans/create-pull-request from 7 to 8 (#673) 2026-01-01 10:23:12 +08:00
Cell 7ffaca013c chore(release): 0.4.0-beta 2025-12-31 16:45:48 +08:00
Cell e87060f707 perf(search): enable anchorify for headings in search results (#672) 2025-12-31 16:43:04 +08:00
Cell 825d458222 fix(tabs): add support for Mermaid diagrams within tabs (#671) 2025-12-31 15:15:11 +08:00
Cell b4d5859b2b chore(deps-dev): update a group of dev dependencies 2025-12-31 12:43:21 +08:00
Cell 1dcc2ecf1f chore(release): 0.4.0-alpha.3 2025-12-30 16:46:10 +08:00
Cell 3865162f6d fix(i): error calling merge: destination must be a map, got <nil> 2025-12-30 16:39:59 +08:00
Cell 721c9d9b10 docs: update FixIt theme version to 0.4.X 2025-12-30 16:32:36 +08:00
Cell 0ae4f63595 chore(workflow): add step to split theme configuration and package it for release 2025-12-30 12:25:54 +08:00
Cell d55d53741d fix: dict type page parameters fall back to site parameters using merge behavior (#670)
> The `Param` method on a `Page` object looks for the given `KEY` in page parameters, and returns the corresponding value. If it cannot find the `KEY `in page parameters, it looks for the `KEY` in site parameters. If it cannot find the `KEY` in either location, the Param method returns `nil`.
>
> See: https://gohugo.io/methods/page/param/

So `.Page.Param` is only suitable for simple types.
2025-12-30 11:23:25 +08:00
Cell 26dc22ba16 docs: update menu configuration syntax in hugo.toml 2025-12-29 16:38:16 +08:00
Cell 74ed94bec9 feat: enhance sticky behavior for TOC and code headers in responsive design (#669) 2025-12-26 17:12:17 +08:00
Cell 37a799b2cb refactor: use CSS variables for global colors and improve theme support (#668) 2025-12-26 14:16:59 +08:00
Cell 3f5d0e0583 perf: adjust toc-dialog width and margin for better layout
// ignore-for-release
2025-12-25 18:11:12 +08:00
Cell 8ffb9a9563 fix: update TOC handling logic to use showToc flag 2025-12-25 17:16:07 +08:00
Cell 3482b8bf08 fix: typo 2025-12-25 17:03:01 +08:00
Cell dcc5e32cba perf: update card backdrop background to utilize dynamic logo image 2025-12-25 16:57:34 +08:00
Cell 06273f725d fix: if content/_index.md exist, config error 2025-12-25 16:42:20 +08:00
github-actions[bot] e501477398 docs(readme): update hugo-fixit component list (#667) 2025-12-25 09:58:37 +08:00
Cell 35526b7410 docs: update image optimisation setting to indicate potential impact on build speed 2025-12-24 15:40:55 +08:00
Cell 4fec1cdaa2 fix: ensure URL parameter is validated before processing remote JSON 2025-12-23 18:07:06 +08:00
Cell 1039e3280e fix: the missing space before the link target attribute 2025-12-23 17:06:19 +08:00
Cell 8635841c80 fix: adjust margins and padding for tab-container to improve layout consistency 2025-12-23 16:48:56 +08:00
Cell 0978234bf6 fix: update image processing configurations for improved performance and quality 2025-12-23 14:45:17 +08:00
Cell 7efb9fc3ac perf: add bluesky shortcode with remote JSON retrieval and styling 2025-12-23 11:10:38 +08:00
Cell a78c07f782 fix: ensure max-width is applied to aside element for consistent layout 2025-12-22 17:49:06 +08:00
Cell 1bb21fcbd1 fix: improve warning messages for remote image retrieval failures
You can suppress the warning by adding the following to your site configuration:
ignoreLogs = ['warning-remote-image']
2025-12-22 16:38:39 +08:00
Cell fdcc20af26 fix: update image dimensions for featured image preview in summary layout 2025-12-22 16:37:28 +08:00
Cell 9bcdbe3325 feat: add env shortcode for conditional content rendering based on Hugo environment 2025-12-22 14:53:37 +08:00
Cell 4cd9a6940e feat: enable profile display on home page and add option to show content only on the first page 2025-12-22 11:48:22 +08:00
Cell c76cb4c8be feat: implement Gravatar functionality and refactor avatar handling in profile 2025-12-22 11:35:40 +08:00
Cell 3c7babb5ea fix(i): some minor style updates 2025-12-22 00:13:24 +08:00
Cell 3f14576073 feat: add blacklist option for image optimisation and adapt Hugo 0.153.0+ (#666)
* feat: add blacklist option for image optimisation and enhance shortcode parameters

To ensure compatibility with Hugo 0.153.0, converting GIFs to WebP is prohibited. (gohugoio/hugo#14282)

* feat: enhance image plugin with Matches parameter for better resource handling and improve featured image rendering
2025-12-21 23:42:15 +08:00
Cell 88dfed5486 fix: update echarts and mermaid pre containers styles
// ignore-for-release
2025-12-20 23:20:54 +08:00
Cell 051f45a73c feat: update version shortcode with deprecated type 2025-12-20 20:29:41 +08:00
Cell 10b355bdee refactor: enhance code/diagram copy button functionality and styling 2025-12-20 16:10:50 +08:00
Cell 4d95fd8d30 refactor: add code block render hooks for xml feed content (#651) 2025-12-20 14:38:12 +08:00
Cell f2b6218edc refactor: consolidate code block rendering and enhance styling features (#665)
reference issues: #312, #476
2025-12-19 23:31:18 +08:00
Cell 0a614e1763 fix: improve code block handling and compatibility for non-Chromium browsers
fixes #312
// ignore-for-release
2025-12-19 17:34:53 +08:00
Cell 4d3b556684 feat: add code block render hook for RSS page (#651) 2025-12-19 15:38:55 +08:00
Cell c35dce56d0 refactor: table wrapper via table render hook
resolve #503
2025-12-19 14:10:33 +08:00
Cell ebfa5ad741 fix!: remove deprecated legacy plugin and update image handling 2025-12-19 10:53:13 +08:00
Cell a96a76abf4 refactor: migrate partial SCSS variables to CSS variables 2025-12-18 15:17:33 +08:00
Cell e600d047da fix: code block mac mode and gist shortcode styles 2025-12-18 14:30:13 +08:00
Cell 93478b47e1 refactor: code block wrapper (#665)
* feat: optimize code highlighting for diff language

* refactor: update codeblock configuration and enhance code wrapper functionality

* fix: extra blank lines would appear when copying lines containing code highlighting

* refactor: enhance code block wrapper functionality and add new styles (mac style)

* refactor: enhance code block normal mode

* feat: do noting for code block simple mode

* feat: add copy btn for code block modes mac and simple

* refactor: add code-related variables and update styles for code blocks and gist layout

* feat: update code copy button visibility on hover for larger screens

* feat: update code block mode attribute and remove mac wrapper

* feat!: code block parameters accurate to a single

Remove the `data-open` attribute and use `.open` instead.

* refactor: enhance initCopyCode method to accept optional button parameter

* feat: improve code/diagram copy button styles and transitions for better visibility

* fix: disable copy buttons for simple/mac mode code blocks when copyable set to false

* chore: rename normal partial to code-header

* feat: add preview and expand feature for code blocks (close #312)

* fix: adjust transition timing for code header and fade-out animation

* test: update code block test case

* docs: update comments for code highlight and markup configurations

* feat: adjust code header background color darkening for light and dark themes

* fix: hide aside and breadcrumb pseudo-elements on small screens

* perf: change the code copy button and code expand button to server-side rendering

* fix: the code expand button obscured the code content

* fix: update code background and header colors for improved visibility

* fix: ensure code copy button is only added for copyable code blocks

* feat(code block): add lineNosToggler and lineWrapToggler params and feature for code blocks

* refactor: code syntax highlighting styles

* fix: update background color for line numbers and ensure proper sticky effect

* feat(code block): add support for code file names in code blocks

* fix: code review for PR #665

* feat(i18n): add Japanese and Korean translations; update toggle options in multiple languages

* docs: update configurations and comments
2025-12-17 16:56:52 +08:00
dependabot[bot] 053e5b4bd0 chore(deps-dev): bump the npm-development group with 2 updates (#663)
Bumps the npm-development group with 2 updates: [lint-staged](https://github.com/lint-staged/lint-staged) and [tsx](https://github.com/privatenumber/tsx).


Updates `lint-staged` from 16.2.6 to 16.2.7
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.2.6...v16.2.7)

Updates `tsx` from 4.20.6 to 4.21.0
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.6...v4.21.0)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 16.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
- dependency-name: tsx
  dependency-version: 4.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-01 14:54:38 +08:00
dependabot[bot] d1c016269a chore(deps): bump actions/checkout from 5 to 6 (#662) 2025-12-01 09:29:56 +08:00
Cell f771f6acb3 test: migrate tests from docs repo 2025-11-28 16:53:42 +08:00
Cell 9ce1da104f fix: add margin between consecutive boxed json-viewer elements 2025-11-28 15:14:58 +08:00
Cell b209022ba0 perf(i): optimizes on-demand loading of third-party resources 2025-11-28 14:55:35 +08:00
Cell 6d00e42b03 feat(i): update TOC dialog logic to use 'hasToc' instead of 'enableTocDialog' 2025-11-28 14:38:26 +08:00
Cell ffe0c3bd67 fix: config.js was not working on multilingual sites (#658) 2025-11-24 18:06:09 +08:00
Cell 99fd4fb709 perf: optimizes on-demand loading of third-party resources 2025-11-24 17:44:35 +08:00
Cell 9c98f2142f fix(MathJax): parsing error after decrypting encrypted articles 2025-11-24 15:14:14 +08:00
Cell efeb70e19f feat: enhance breadcrumb and media styles for improved layout and responsiveness 2025-11-24 14:38:59 +08:00
Cell 7d530c9f32 feat: only show profile and content on first home page 2025-11-22 01:25:17 +08:00
Cell 6f99565f0d feat: adjust header styles for improved layout and accessibility (close #471) 2025-11-21 20:43:15 +08:00
Cell 2cbf7aadd4 feat: add styles to hide empty aside and expand article for better layout on medium screens (#659) 2025-11-21 16:24:07 +08:00
Cell 3f809345ff fix: update button colors for improved theme consistency 2025-11-21 11:00:28 +08:00
Cell 32627dc060 fix: update asset paths to use unique file IDs for better resource management (#658) 2025-11-20 23:10:29 +08:00
Cell af3be7a692 fix: update reading progress bar colors and improve default values 2025-11-20 16:37:01 +08:00
Cell 0630497968 fix: update back-to-top button styles for better compatibility and performance 2025-11-20 16:21:07 +08:00
Cell 9c05109181 fix: adjust margins and widths in TOC styles for better layout 2025-11-20 12:53:34 +08:00
Cell afc8c07511 fix: update TOC drawer button visibility logic 2025-11-19 16:56:08 +08:00
Cell 237c2f3d13 feat: update TOC styles and improve active state handling in dialog 2025-11-19 16:29:58 +08:00
Cell b78f22b698 fix: remove redundant ESC key event listener for dialog 2025-11-19 14:43:43 +08:00
Cell c8223a756b fix: hide back-to-top button by default in widgets 2025-11-19 14:26:31 +08:00
Cell 3045374786 chore(release): 0.4.0-alpha.2 2025-11-19 12:39:02 +08:00
Cell 0aac71430d chore(deps-dev): update packageManager and auto-changelog-plus version in package.json and pnpm-lock.yaml 2025-11-19 12:38:00 +08:00
Cell ea20bdb82d chore(deps-dev): update group of dev dependencies 2025-11-19 11:23:23 +08:00
Cell aad75044e9 feat: implement TOC drawer feature (#657)
* feat: add toc drawer button

* feat: add TOC dialog functionality and related styles

* feat: change back-to-top button with scroll progress indicator

* feat: update color-scheme handling in theme switcher

* fix: code review for checking mistakes and optimization

* fix: the issue where the TOC was still clickable even when it was hidden.
2025-11-18 12:35:34 +08:00
Cell 44d68d9a5b fix: theme configuration failed to be retrieved for articles with Chinese paths
resolve #656
2025-11-17 14:43:52 +08:00
Cell 63655b30a8 feat(instant.page): preload links as soon as they’re visible 2025-11-17 10:54:17 +08:00
Cell de3b234033 docs: corrected the parameter format for the German link 2025-11-14 16:16:03 +08:00
Cell f23f7933eb fix: a form field element should have an id or name attribute 2025-11-14 15:58:36 +08:00
Cell 113ad247de fix: add missing 'const' keyword for CACHE_VERSION declaration 2025-11-14 10:49:31 +08:00
Cell 1ba0303572 feat: enhance search functionality with additional attributes and improved anchor handling 2025-11-13 16:19:13 +08:00
Copilot 96b2f5f8ae refactor: Refactor duplicated code in theme.js (#655)
* Initial plan

* Refactor duplicated code in theme.js

- Extract highlight text logic into _applyHighlightToText helper method
- Extract search UI reset logic into _resetSearchUI helper method
- Extract content initialization logic into _initContentComponents helper method
- Extract encrypted class toggling into _toggleEncryptedClass helper method
- Reduce code duplication in initSearch, initFixItDecryptor, and init methods

Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>

* Simplify _toggleEncryptedClass with boolean parameter

- Replace fromClass and toClass parameters with a single show boolean
- Hardcode class names 'encrypted-hidden' and 'decrypted-shown' in function body
- More semantic API: true to show decrypted content, false to hide
- Simplifies all 3 call sites with clearer intent

Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>

* refactor: remove redundant DOMContentLoaded checks in aplayer and mermaid initialization

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Lruihao <33419593+Lruihao@users.noreply.github.com>
Co-authored-by: Cell <1024@lruihao.cn>
2025-11-13 14:46:47 +08:00
Cell 066c82cc78 fix: normalize language class names in code titles for consistency 2025-11-13 11:49:15 +08:00
Cell 6f27a2b215 feat: update code type map with additional languages and improved documentation
Feedback from QQ group 814031017
2025-11-13 11:04:06 +08:00
dependabot[bot] 4bf8b5abeb chore(deps-dev): bump @antfu/eslint-config from 5.4.1 to 6.2.0 (#654)
Bumps [@antfu/eslint-config](https://github.com/antfu/eslint-config) from 5.4.1 to 6.2.0.
- [Release notes](https://github.com/antfu/eslint-config/releases)
- [Commits](https://github.com/antfu/eslint-config/compare/v5.4.1...v6.2.0)

---
updated-dependencies:
- dependency-name: "@antfu/eslint-config"
  dependency-version: 6.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 14:36:54 +08:00
dependabot[bot] 956649b2f7 chore(deps-dev): bump the npm-development group with 4 updates (#653)
Bumps the npm-development group with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [auto-changelog-plus](https://github.com/Lruihao/auto-changelog-plus), [eslint](https://github.com/eslint/eslint) and [lint-staged](https://github.com/lint-staged/lint-staged).


Updates `@types/node` from 24.7.2 to 24.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `auto-changelog-plus` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/Lruihao/auto-changelog-plus/releases)
- [Changelog](https://github.com/Lruihao/auto-changelog-plus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Lruihao/auto-changelog-plus/compare/v1.2.1...v1.2.2)

Updates `eslint` from 9.37.0 to 9.39.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.37.0...v9.39.0)

Updates `lint-staged` from 16.2.4 to 16.2.6
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.2.4...v16.2.6)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.9.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: auto-changelog-plus
  dependency-version: 1.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
- dependency-name: eslint
  dependency-version: 9.39.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: lint-staged
  dependency-version: 16.2.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 14:33:55 +08:00
Cell dba83f8ddd refactor: add xml-content partial for enhanced content processing in RSS/Atom feeds 2025-10-23 12:03:38 +08:00
Cell 924d72f5f0 feat: enhance RSS feed content processing by removing unnecessary wrappers and converting JSON viewer components to code blocks (#651) 2025-10-22 20:37:20 +08:00
Cell f984fc6de4 fix: hide line number column in code block for RSS feed (#652) 2025-10-22 16:33:18 +08:00
Cell dd877f8041 fix: ensure that the config of each page is unique 2025-10-22 11:47:47 +08:00
Cell fe129dd207 feat: add APlayer shortcode and audio support (#650)
* docs: improve error message clarity for shortcode parent block validation

* feat: add APlayer shortcode and audio support

* feat: support both APlayer and MetingJS

* feat: initialize APlayer when content decrypted
2025-10-21 15:47:04 +08:00
Cell 6907fd03dc docs: update Acknowledgements sections 2025-10-17 11:03:24 +08:00
Cell 486e8758ac test: update JSON Viewer Test cases 2025-10-14 16:25:34 +08:00
Cell 5c74d4318a fix: enhance diagram copy button functionality and ensure Echarts visibility on home page 2025-10-14 15:26:01 +08:00
dependabot[bot] c6f6a6c296 chore(deps-dev): bump the npm-development group with 2 updates (#646)
Bumps the npm-development group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [lint-staged](https://github.com/lint-staged/lint-staged).


Updates `@types/node` from 24.7.1 to 24.7.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `lint-staged` from 16.2.3 to 16.2.4
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.2.3...v16.2.4)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
- dependency-name: lint-staged
  dependency-version: 16.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 15:08:42 +08:00
dependabot[bot] 5fc14ff16f chore(deps): bump actions/setup-node from 5 to 6 (#645)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 15:08:07 +08:00
dependabot[bot] 70c3124e98 chore(deps): bump github/codeql-action from 3 to 4 (#644)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 15:07:22 +08:00
Cell fa94e69877 feat: add JSON Viewer support and related configurations (#643)
* feat: add JSON Viewer support and related configurations

* feat: add JSON Viewer initialization and theme switching support
2025-10-14 15:03:45 +08:00
Cell 55a9cc7671 revert: remove redundant judgment logic (revert #639) 2025-10-12 14:00:35 +08:00
Cell b4cb5a5ac1 fix(i): correct favicon URL handling in link.html 2025-10-12 13:49:43 +08:00
Cell 11b485b6c4 chore(app): remove unnecessary comments in params section of hugo.toml 2025-10-12 13:22:23 +08:00
Cell 664e9f0e16 fix: improve relative URL handling for subdirectory deployments (#642)
* fix: correct URL handling in assets partial for language support

* feat: update JavaScript config paths for assets and post-chat integration

* fix: update favicon and manifest links to use relURL for correct path resolution
2025-10-12 13:09:03 +08:00
Cell 94968bbbe1 feat: add support for center-aligned alerts in admonition syntax (#640) 2025-10-11 17:45:43 +08:00
Cell 969d0cc090 style: eslint enable for toml files 2025-10-11 15:13:35 +08:00
dependabot[bot] 1c95aef348 chore(deps-dev): bump the npm-development group with 9 updates (#638)
Bumps the npm-development group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@antfu/eslint-config](https://github.com/antfu/eslint-config) | `5.2.1` | `5.4.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.3.0` | `24.6.1` |
| [auto-changelog-plus](https://github.com/Lruihao/auto-changelog-plus) | `1.1.0` | `1.2.1` |
| [eslint](https://github.com/eslint/eslint) | `9.34.0` | `9.36.0` |
| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.1.5` | `16.2.3` |
| [serve](https://github.com/vercel/serve) | `14.2.4` | `14.2.5` |
| [tsx](https://github.com/privatenumber/tsx) | `4.20.5` | `4.20.6` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.9.2` | `5.9.3` |
| [fs-extra](https://github.com/jprichardson/node-fs-extra) | `11.3.1` | `11.3.2` |


Updates `@antfu/eslint-config` from 5.2.1 to 5.4.1
- [Release notes](https://github.com/antfu/eslint-config/releases)
- [Commits](https://github.com/antfu/eslint-config/compare/v5.2.1...v5.4.1)

Updates `@types/node` from 24.3.0 to 24.6.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `auto-changelog-plus` from 1.1.0 to 1.2.1
- [Release notes](https://github.com/Lruihao/auto-changelog-plus/releases)
- [Changelog](https://github.com/Lruihao/auto-changelog-plus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Lruihao/auto-changelog-plus/compare/v1.1.0...v1.2.1)

Updates `eslint` from 9.34.0 to 9.36.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.34.0...v9.36.0)

Updates `lint-staged` from 16.1.5 to 16.2.3
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.1.5...v16.2.3)

Updates `serve` from 14.2.4 to 14.2.5
- [Release notes](https://github.com/vercel/serve/releases)
- [Commits](https://github.com/vercel/serve/compare/14.2.4...v14.2.5)

Updates `tsx` from 4.20.5 to 4.20.6
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.5...v4.20.6)

Updates `typescript` from 5.9.2 to 5.9.3
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3)

Updates `fs-extra` from 11.3.1 to 11.3.2
- [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jprichardson/node-fs-extra/compare/11.3.1...11.3.2)

---
updated-dependencies:
- dependency-name: "@antfu/eslint-config"
  dependency-version: 5.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: "@types/node"
  dependency-version: 24.6.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: auto-changelog-plus
  dependency-version: 1.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: eslint
  dependency-version: 9.36.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: lint-staged
  dependency-version: 16.2.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development
- dependency-name: serve
  dependency-version: 14.2.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
- dependency-name: tsx
  dependency-version: 4.20.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
- dependency-name: typescript
  dependency-version: 5.9.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
- dependency-name: fs-extra
  dependency-version: 11.3.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-10 10:00:47 +08:00
dawnkylin 5c07b3724d fix: improve fuse search config for multilingual support (#639)
Refactored fuse search configuration logic to dynamically resolve fuseIndexURL based on current language context.
Replaced static .RelPermalink assignment with conditional logic that handles translated pages.

Introduced logic to determine config.js path based on whether the current page is a regular content page or a language root.
- For regular pages: config.js is placed under the page's permalink.
- For non-regular pages: config.js is resolved using the language prefix.

This ensures correct search index loading in multilingual Hugo sites.
2025-10-10 09:53:37 +08:00
Cell 42a5ebdc71 fix: xypic diagram color at dark theme and update MathJax script loading options 2025-09-19 17:20:43 +08:00
Cell 50488dfb51 refactor: adjust the loading order and output path of theme resources (#635)
* refactor: update config script handling to support dynamic target paths

* refactor: refactor the output paths of the script and style shortcodes, and add test cases

* fix: remove redundant console log in script-style-test.md and update MathJax and Mermaid plugin configurations in assets.html
2025-09-19 11:37:21 +08:00
Cell b850cfc70e fix: simplify pagination condition in home layout 2025-09-16 12:38:49 +08:00
Cell a228cce083 fix: remove paginate setting and update mainSections comment in hugo.toml 2025-09-16 10:42:17 +08:00
Cell 5d03f558dd fix: support KaTeX and MathJax in home scope 2025-09-15 23:13:32 +08:00
Cell 4abf68bd38 test: add KaTex and MathJax test files for rendering examples 2025-09-15 21:32:40 +08:00
Cell 8cc38f6ca3 fix: update MathJax options to disable menu when explicitly set to false 2025-09-15 21:02:07 +08:00
Cell 81c333ca63 chore(deps-dev): bump auto-changelog-plus from 1.0.0 to 1.1.0 2025-09-13 04:23:36 +08:00
Cell c430a012c0 chore(release): 0.4.0-alpha.1 2025-09-13 01:55:49 +08:00
Cell 944295052b chore: update release workflow and changelog generation command 2025-09-13 01:53:47 +08:00
Cell 56836eb077 feat: add tabs and tab shortcodes support (#634)
* feat: add tabs and tab shortcodes support

Powered by https://github.com/github/tab-container-element

* fix: adjust tab-container styles for improved layout and responsiveness

- [x] Underline Style (Default)
- [x] Pill Style
- [x] Card Style
- [x] Segment Style

* test: add tabs comprehensive test cases

* style: code optimization

* fix: add tabs support in home scope

* docs: add `<tab-container>` element reference to README files

* feat: enhance tab-container with loading mixin and simplify code

* refactor: update variable references to use root prefix in styles

* docs: add tabs shortcode support to README files

* fix: ensure shortcode is enclosed within a tabs block

* feat: add responsive design for tab-container on smaller screens

* test: remove unnecessary placement attribute for segment tabs

* refactor: remove unused vertical attribute from tabs shortcode

* fix: set default tab type to 'underline' for consistency

* refactor: update tab-button and tab-panel selectors for improved specificity
2025-09-11 22:59:33 +08:00
Cell 210a43eaff docs: reorder description section in pull request template for clarity 2025-09-10 22:38:07 +08:00
Cell da7569b1e7 fix: update mermaid script options to use correct template and production minification 2025-09-08 16:56:34 +08:00
Cell fde7e1cf38 fix: Params configurations case insensitive for mathjax and watermark (#633)
* refactor: set watermark config in template, change the default content to author name or site title

* fix: case insensitive for mathjax options param

* chore: fix typo
2025-09-08 16:28:08 +08:00
Cell f5fb989ad1 docs: use present for copyright range
Add onlyBuiltDependencies to pnpm workspace by the way
2025-09-06 14:42:46 +08:00
Cell f5dd25858d test: add comprehensive tests for Alerts Markdown syntax and Admonition shortcode 2025-09-06 01:21:14 +08:00
Cell f3053330bf chore(deps-dev): replace fixit-releaser with auto-changelog-plus (#631) 2025-09-05 15:47:01 +08:00
dependabot[bot] 1c1ec7e2ed chore(deps): bump actions/checkout from 4 to 5 (#630)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-31 15:11:32 +08:00
Cell d8624386c7 chore: structure refactor, linting, and monorepo setup (#629)
* chore: use monorepo to manage demo, test and other applications and internal packages

* style: add eslint support and lint code

* chore: refactor project structure and add versioning package replace of fixit-releaser

* chore(deps-dev): replace husky with simple-git-hooks

* Potential fix for code scanning alert no. 13: Shell command built from environment values

* chore(deps-dev): update the final fixit-releaser version

* docs: update contributing guidelines for new structure and commands

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-08-31 15:07:00 +08:00
Cell c923116b9b chore: standardize GitHub templates and add copilot instructions
- Refactor issue templates to English-only format for better international accessibility
- Simplify bug report and feature request templates with clearer structure
- Add standardized pull request template with contribution guidelines
- Disable blank issues and update documentation links in issue config
- Add comprehensive copilot instructions with coding standards and best practices
2025-08-27 15:16:11 +08:00
Cell 0cc7882d22 ci: standardize commit message format for component list updates 2025-08-27 10:54:03 +08:00
Cell 64cc597d17 chore: update homepage URL in package.json 2025-08-25 17:59:45 +08:00
Cell e9366b5ab2 feat: add height transitions for detail content and code block content (#628)
- [interpolate-size](https://developer.mozilla.org/en-US/docs/Web/CSS/interpolate-size)
- [calc-size()](https://developer.mozilla.org/en-US/docs/Web/CSS/calc-size)
2025-08-24 16:08:06 +08:00
Cell c174646bb2 chore(deps): update @hugo-fixit/fixit-releaser to v1.3.2 2025-08-23 16:46:42 +08:00
Cell 0f68046afa docs: update contributing guidelines to follow Conventional Commits 2025-08-23 04:19:55 +08:00
Cell a3d9e474ea 📝 Docs: add build status badges and Gitee stars to README files 2025-08-21 16:27:30 +08:00
Cell afde1ce578 🔒 Fix: resolve on-headers security vulnerability
- Add pnpm overrides to force on-headers >= 1.1.0
- Fix HTTP response header manipulation vulnerability (GHSA-76c9-3jph-rj3q)
- Upgrade on-headers from 1.0.2 to 1.1.0 in dependency chain
2025-08-21 16:11:25 +08:00
Cell 2d581efbc2 Feat: add layout loaders and layout configuration for Mermaid diagrams (#627) 2025-08-21 16:01:27 +08:00
Cell 841eb3d20f 🐛 Fix: add Mermaid support in home scope 2025-08-20 11:37:10 +08:00
Cell d4305d9bb2 Test: add Mermaid diagram test cases and fix configuration missing 2025-08-20 11:01:20 +08:00
Cell 93acf8ea79 🚀 Chore(ci/cd): improve the joint construction and deployment of Demo and Test content
- Demo: https://demo.fixit.lruihao.cn/
- Test: https://demo.fixit.lruihao.cn/test/
2025-08-19 17:40:25 +08:00
Cell cc2ef7bf70 Feat: add enableTranslationMerge parameter for merging missing translations from other languages (#626)
- Add enableTranslationMerge parameter to control translation merging
- Default to false for better performance, especially for single-language sites
- Update comments to reflect the new default behavior
- Implement conditional translation merging in global.html"

- Add enableTranslationMerge parameter to control translation merging
- Default to false for better performance, especially for single-language sites
- Update comments to reflect the new default behavior
- Implement conditional translation merging in global.html"

> [!NOTE]
> This won't create new pages, if you need empty placeholder pages, you might need [shortcode-missing-translation](https://github.com/hugo-fixit/shortcode-missing-translation).
2025-08-19 12:27:14 +08:00
Cell 9c294816bb 📝 Docs: update the security policy document
// ignore-for-release
2025-08-18 18:10:46 +08:00
Cell a459d2dfb8 📝 Docs: fix typo 2025-08-18 15:50:48 +08:00
Cell 57d920244b 🔧 Chore: update CodeQL configuration, add Hugo test build workflow (#625) 2025-08-18 12:51:47 +08:00
Cell c6e31682c3 📝 Docs: update contribution guide, add prerequisites, development workflow and pull request guide 2025-08-18 11:07:52 +08:00
Cell 6297849227 Test: add test cases site 2025-08-18 11:05:47 +08:00
Cell c890f61359 🎉 Feat: add color preview models support (#624)
http://fixit.lruihao.cn/documentation/content-management/markdown-syntax/extended/#color-preview
2025-08-17 18:45:13 +08:00
Cell 014e1fa67c Feat: add page param decreaseH1 to decrease the H1 heading level in content 2025-08-17 15:13:14 +08:00
Cell 77fcd7fa93 ♻️ Refactor: Mermaid theme switching again (#623) 2025-08-17 14:32:51 +08:00
Cell 3c3f6084cc 🐛 Fix: dirty hack for Mermaid loading 2025-08-14 21:29:12 +08:00
Cell e04bb611dc Feat: enhance Mermaid configuration and fix initialization bug (#617)
* 🐛 Fix: Mermaid initialization conflict error

*  Feat: enhance Mermaid configuration with security level, look, and font family options
2025-08-14 15:29:23 +08:00
Cell ba6cc4ed8e 🚚 Feat(i): rename load-mathjax.js to mathjax.js 2025-08-14 09:53:09 +08:00
Cell 08d3c62b31 🐛 Fix: ZenUML intersection height error 2025-08-13 17:53:55 +08:00
Cell 7b9c3e62c7 Feat: add diagram copy button support for Mermaid and ECharts (#616) 2025-08-13 17:14:52 +08:00
Cell 590b8f47b2 💄 Style: add lazy loading background for images 2025-08-13 15:15:32 +08:00
Cell 311501ad6e 💄 Style: add Mermaid loading style 2025-08-13 14:06:47 +08:00
Cell 59bea1e518 ♻️ Refactor: update CSS variable prefixes to use rootPrefix for consistency 2025-08-13 12:58:59 +08:00
Cell fe034a2a40 🔧 Chore(i): Mermaid ZenUML is not enabled by default 2025-08-13 10:20:23 +08:00
Cell bf3fe68378 ♻️ Refactor: improve Mermaid initialize (#615) 2025-08-12 18:06:02 +08:00
Cell b27a3098ac Perf: enhance forEach method in Util class to handle asynchronous handlers 2025-08-12 17:48:52 +08:00
Cell 45f101a456 ♻️ Refactor: update layout and media styles to use fi-container class, improve Mermaid script handling (#614)
docs: https://fixit.lruihao.cn/documentation/content-management/diagrams-support/mermaid/#cdn
2025-08-12 12:04:15 +08:00
Cell a37eeecd79 💄 Style: add bold style in admonition title 2025-08-12 11:20:12 +08:00
Cell fe351c7e38 Feat: add shortTitle front matter param for breadcrumb and collection navigation titles to use 2025-08-05 12:14:23 +08:00
Cell 57ccd47083 Docs(i): add changelog template and remove broken badges in README 2025-08-04 15:53:53 +08:00
Cell c3cba949c0 Feat: update the homepage README format to include links and the current year 2025-07-21 10:46:00 +08:00
github-actions[bot] 5101841fd6 📝 Docs: update hugo-fixit component list (#613) 2025-07-09 09:49:39 +08:00
Cell a1cd700b54 🥚 Chore(i): print FixIt version in console panel 2025-07-04 16:27:33 +08:00
Cell 193fd1933d 🔖 Chore(release): 0.4.0-alpha 2025-07-04 11:43:19 +08:00
Cell c9a3a6f899 ⬆️ Chore(deps-dev): bump @hugo-fixit/fixit-releaser from 1.2.2 to 1.2.3 2025-07-04 11:42:53 +08:00
Cell c9e01dd090 ⬆️ Chore(deps-dev): bump @hugo-fixit/fixit-releaser from 1.2.0 to 1.2.2 2025-07-03 17:34:42 +08:00
Cell 9293ee27f3 💥 BREAKING CHANGE: rename directory layouts/_partials/scratch to layouts/_partials/store 2025-07-03 17:31:22 +08:00
Cell 92d0a857c1 🔧 Chore(i): add conditional check for repository in component list generation workflow 2025-07-03 14:33:37 +08:00
Cell 3e8bdfd8f9 ♻️ Refactor: global/site/page scope state management (#610)
*  Perf: adjust global/site scope state management

*  Perf: adjust page scope state management
2025-07-03 12:48:32 +08:00
Cell d9043280fe 📝 Docs: update README to include MathJax support for mathematical formulas 2025-06-30 14:50:47 +08:00
Cell 3408f1596a 💄 Style: add MathJax overflow styles 2025-06-30 14:15:40 +08:00
Cell 89f9373bae ⬆️ Chore: update Hugo version to 0.147.7 in configuration files 2025-06-30 13:46:12 +08:00
Cell fb4f1f7389 ⬆️ Chore: update @hugo-fixit/fixit-releaser to version 1.2.0 2025-06-30 13:45:34 +08:00
Cell 0ce74d82f8 ♻️ Refactor: mathematical formula render (#609)
*  Feat: add support for math passthrough render hook

*  Feat: enable copy-tex extension for KaTeX server-side render

*  Feat: enhance mathematical rendering support with KaTeX and MathJax configurations

*  Feat: add KaTeX error handling and custom macros map config

*  Feat: add MathJax client-side rendering as an alternative math engine

*  Feat: update MathJax CDN configuration and enhance asset loading parameters

* 🔥 Feat: remove unused KaTeX math rendering scripts and update KaTex

*  Feat: make \KaTeX command work in MathJax

*  Feat: update KaTeX CDN links for Twikoo integration

*  Perf: Math in content encryption

* 🐛 Fix: update class name from 'fi-row' to 'fi-raw' in raw.html shortcode

* 🐛 Fix: correct MathJax math delimiters in load-mathjax.js

*  Feat: enhance MathJax configuration with additional tex parameters and update asset handling

* 🐛 Fix: adjust KaTeX display overflow behavior
2025-06-30 12:58:48 +08:00
Cell a5614505bc ♻️ Refactor: add underscore to partials and shortcodes directory names (#608) 2025-06-19 12:29:30 +08:00
Cell 6123eaac2c ♻️ Refactor: move all files in layouts/_default up to the layouts/ root (#607)
The `_default` folder is removed.
2025-06-19 11:51:52 +08:00
Cell ad092e7f72 💄 Style: fix gist and code block style
fixes 7788eded
2025-06-12 14:53:26 +08:00
Cell b2e6f70a81 ⬆️ Chore(libs): update Twikoo from 1.6.22 to 1.6.44 (#606) 2025-06-12 11:33:20 +08:00
Cell c4a1c79972 Feat: update PostChat AI link and add hotwords feature support 2025-06-05 15:05:53 +08:00
dependabot[bot] 87ca54d024 ⬆️ Chore(deps-dev): bump @hugo-fixit/fixit-releaser from 1.1.5 to 1.1.6 (#605)
Bumps [@hugo-fixit/fixit-releaser](https://github.com/hugo-fixit/fixit-releaser) from 1.1.5 to 1.1.6.
- [Release notes](https://github.com/hugo-fixit/fixit-releaser/releases)
- [Commits](https://github.com/hugo-fixit/fixit-releaser/compare/v1.1.5...v1.1.6)

---
updated-dependencies:
- dependency-name: "@hugo-fixit/fixit-releaser"
  dependency-version: 1.1.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Cell <1024@lruihao.cn>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-04 14:02:12 +08:00
Cell cfe1d7a601 💄 Style: fix heading mark style of details element inner 2025-05-25 22:08:12 +08:00
ych817 7788eded58 💄 Style: update code element style for headings and toc items 2025-05-25 22:04:41 +08:00
Lruihao 6a1ed440df 📝 Docs: update hugo-fixit component list 2025-05-21 11:00:42 +08:00
Cell 5b0a27125c 🔧 Feat(workflow): replace auto commit with pull request in actions 2025-05-21 10:46:44 +08:00
Cell 2cb4bb2966 🐛 Fix: invalid Mastodon configuration and icon function param error (#601)
* 🐛 Fix: parameter case exception in icon function

* 🐛 Fix: invalid Mastodon configuration
2025-05-09 11:51:49 +08:00
Cell 74f999995f 🐛 Fix(func): trim suffix zero in format-number function 2025-05-08 17:34:04 +08:00
Cell a85a665530 🔖 Chore(release): 0.3.20 2025-04-30 13:43:00 +08:00
Cell 35413d613f Perf: add I18n support for echarts and timeline data param 2025-04-29 16:50:09 +08:00
Cell d1d3ed2954 Feat: add data and file params support for timeline shortcode (#595) 2025-04-29 16:26:03 +08:00
Cell 9c8c0b6dee Perf: optimize echarts plugin warnf content 2025-04-29 15:39:54 +08:00
ych817 0cf0d4f4e7 💄 Style: hide scrollbar in print media (#594)
Make sure that the scrollbar will not appear in the printed PDF
确保打印出的 PDF 中没有 scrollbar
2025-04-29 09:43:06 +08:00
Cell e663ebbd45 Feat: add file params for echarts shortcode 2025-04-28 17:26:29 +08:00
Cell 6eb582fef7 Feat: add async and data params for echarts shortcode (#592) 2025-04-28 14:57:58 +08:00
Cell 3053d889e2 💄 Style: update post chat widget style 2025-04-27 16:57:55 +08:00
Cell f7a9c52aac ♻️ Refactor: taxonomy templates lookup order 2025-04-27 15:32:31 +08:00
Cell 78971cdedb Feat: add JS code support for echarts (#582) 2025-04-26 02:56:16 +08:00
Cell d41e53bba4 Feat: add related content list in aside (#591) 2025-04-25 17:15:58 +08:00
Cell cb0d63717b 🐛 Fix(ignore): hide link to editor in content adapter posts 2025-04-25 14:04:36 +08:00
Cell b45ab833d5 Feat: add hugo.mainSections param support (#590)
https://gohugo.io/methods/site/mainsections/
2025-04-25 12:55:03 +08:00
Cell 450e774d3c ♻️ Refactor: change templates lookup order (#589) 2025-04-25 11:27:11 +08:00
Cell a93f67762f Feat: improve the display of Git information in the post 2025-04-24 18:06:59 +08:00
Cell c21914dd49 Feat: add page param linkToVscode to show link to view the post in VSCode 2025-04-24 17:13:51 +08:00
Cell 1360438540 Perf: support all markdown .Attributes for headings 2025-04-24 15:44:01 +08:00
Cell 669f836488 💄 Style: update SVG height to be compatible with Safari browser 2025-04-22 17:58:50 +08:00
Cell e62c0f2409 💄 Style: optimize PostChat widget style 2025-04-22 16:54:23 +08:00
Cell de72a8c802 🔖 Chore(release): 0.3.19 2025-04-22 15:06:18 +08:00
Cell f5b867d717 Feat: add echarts shortcode and code fences support JS object literal (#587) 2025-04-22 12:38:07 +08:00
Cell 5ba4a8145b Feat: deprecated image-legacy.html 2025-04-16 10:10:06 +08:00
Cell 80e4d07294 🐛 Fix: lookup rules of RSS templates (#585) 2025-04-16 10:03:06 +08:00
Cell c2dc17e9e0 🔖 Chore(release): 0.3.18 2025-04-15 10:25:49 +08:00
Cell b7edbf3e49 ⬆️ Chore: update Hugo min version to 0.146.0 2025-04-15 10:17:38 +08:00
Cell adeecfb69d 🐛 Fix: deprecated layouts/page directory at Hugo 0.146.0+ (#581) 2025-04-15 10:03:41 +08:00
Cell 64378cb9c0 🔖 Chore(release): 0.3.17 2025-04-14 11:09:28 +08:00
Cell 12c64431cb 🔧 Chore: add workspace suggestions and replace package manager to pnpm 2025-04-14 11:06:38 +08:00
Cell 142e933fa2 🐛 Fix: change template lookup order to fit Hugo 0.146.0 (#579)
fixed found no layout file for "html" kind "section" and "term"
2025-04-11 11:52:30 +08:00
github-actions[bot] 1a43881170 📝 Docs: update hugo-fixit component list 2025-04-10 01:27:00 +00:00
Cell b0170f55f0 🐛 Fix: fetch icon from link error 2025-04-09 16:32:25 +08:00
Cell 40c5dcb8c2 Feat: get link favicon from remote by google api 2025-04-09 16:08:23 +08:00
Cell ed14126001 🐛 Fix: that using music shortcode can cause toc freezing
Resolved #577
2025-04-08 11:01:44 +08:00
Cell 22c3353dde Feat: add hiddenAdapters param and front matter for recently updated list 2025-04-07 14:34:40 +08:00
Cell 2b936cb6ad Feat: add gist shortcode embed in theme
The gist shortcode was deprecated in hugo v0.143.0
2025-04-02 16:11:55 +08:00
Cell e2afa113be Feat: support bluesky shortcode (#576) 2025-03-12 15:01:31 +08:00
Cell 6c7145c311 Feat: get link favicon from remote by https://favicon.im/ 2025-03-12 12:31:11 +08:00
Cell 8212d6fd02 ♻️ Refactor: image rendering aaa~again (#575) 2025-03-07 12:18:40 +08:00
dependabot[bot] ad01016092 chore(deps-dev): bump @hugo-fixit/fixit-releaser from 1.1.1 to 1.1.4 (#573)
Bumps [@hugo-fixit/fixit-releaser](https://github.com/hugo-fixit/fixit-releaser) from 1.1.1 to 1.1.4.
- [Release notes](https://github.com/hugo-fixit/fixit-releaser/releases)
- [Commits](https://github.com/hugo-fixit/fixit-releaser/compare/v1.1.1...v1.1.4)

---
updated-dependencies:
- dependency-name: "@hugo-fixit/fixit-releaser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 11:50:11 +08:00
github-actions[bot] 7d41c8af85 📝 Docs: update hugo-fixit component list 2025-03-05 01:23:50 +00:00
github-actions[bot] 3f66669581 📝 Docs: update hugo-fixit component list 2025-01-21 01:18:25 +00:00
Cell e0523a15d1 ⬆️ Chore(deps-dev): update @hugo-fixit/fixit-releaser to 1.1.1 2025-01-20 12:23:15 +08:00
Cell 8b4021295f 💥 Feat: default branch has been renamed to main 2025-01-19 04:34:24 +08:00
Cell cf04ad3593 🐛 Fix: adapted to hugo v0.141.0 for try function 2025-01-19 04:13:10 +08:00
github-actions[bot] 015610b7e8 📝 Docs: update hugo-fixit component list 2025-01-18 14:09:06 +00:00
Cell d6bd1ce697 🔧 Chore: use hugo-fixit/action-component-list to generate content 2025-01-18 22:07:56 +08:00
Cell 1739d6937b 📝 Docs: organize README content 2025-01-14 16:49:52 +08:00
Cell 2f564429de Feat: improve details shortcode 2025-01-10 10:56:05 +08:00
Cell 07816709b5 📝 Docs: update README for usage 2025-01-09 16:05:14 +08:00
Cell b124218350 ⬆️ Chore(deps-dev): update fixit-releaser from 1.0.1 to 1.0.4 2025-01-09 15:13:27 +08:00
Cell a58d15e140 🔧 Chore: make *.toml and *.md detectable in GitHub 2025-01-09 15:11:22 +08:00
Cell 409d6c8894 🔧 Chore(CI): update release workflow 2025-01-05 18:19:55 +08:00
Cell 53149ad6d2 📄 Docs: update LICENSE 2025-01-05 18:19:11 +08:00
Cell 1e59a684a6 🐛 Fix: giscus default theme maybe set error 2024-12-30 11:32:33 +08:00
Cell 30a67c4b52 Feat: open more custom blocks for posts page 2024-12-27 15:38:12 +08:00
Cell 469af95f10 🍱 Feat: add default favicon.ico 2024-12-26 10:43:22 +08:00
Cell 21750077ba 🐛 Fix: giscus default theme maybe set error 2024-12-26 10:24:07 +08:00
Cell 54675a61d5 Merge pull request #564 from hugo-fixit/fix-alert
🐛 Fix: blockquote render hook text parsing (#519)
2024-12-25 11:19:53 +08:00
Cell 72baedd5f5 Perf: add loadingText params for AI summary 2024-12-25 11:03:38 +08:00
Cell 03b3bfbd09 🐛 Fix(PostChat): AI summary wordLimit type error 2024-12-25 10:41:32 +08:00
Cell 33a8861ec6 Perf(PostChat): disable auto load content in 404 kind pages 2024-12-24 19:20:06 +08:00
Cell d3cb08f56f 📝 Docs: update README 2024-12-19 17:26:35 +08:00
Cell f537b808cf ✏️ Docs: fix typo 2024-12-19 17:21:31 +08:00
Cell 45ce8679ad 🐛 Fix(PostChat): null pointer rrror 2024-12-19 17:07:43 +08:00
Cell 036cbb415b Merge branch 'feat-post-chat'
* feat-post-chat:
  📝 Docs: change default PostChat config
2024-12-19 14:20:55 +08:00
Cell d816b1c836 📝 Docs: change default PostChat config 2024-12-19 14:20:20 +08:00
Cell 2e96060d41 Merge pull request #563 from hugo-fixit/feat-post-chat
🎉 Feat: add PostChat AI support
2024-12-19 14:19:10 +08:00
Cell 10b46284a1 📝 Chore: remove todo comment 2024-12-19 12:42:15 +08:00
Cell 3e210af76a Feat: add post-chat search engine powered by PostChat 2024-12-19 12:22:48 +08:00
Cell fcd72c9d66 Perf(postChat): auto switch dark/light theme mode 2024-12-19 10:59:55 +08:00
Cell 68b028e9b6 🐛 Fix(ignore): private posts disable upLoadWeb always 2024-12-19 10:05:48 +08:00
Cell e2eeaf9632 📝 Docs(ignore): update todo list 2024-12-18 21:25:17 +08:00
Cell 91f3ad7471 🐛 Fix(ignore): PostChat and PostSummary config merge error 2024-12-18 21:20:31 +08:00
Cell 041d5e2517 Perf: PostChat support all types page and PostSummary only for public posts 2024-12-18 17:56:42 +08:00
Cell 1d09297784 Perf: add embed blockDoms for PostChat only 2024-12-18 17:17:12 +08:00
Cell 5931bf3786 🎉 Feat: add PostChat AI support 2024-12-18 16:39:39 +08:00
Cell 0e7dc99319 🔧 Chore: use environment variable HUGO_VERSION to control Hugo version 2024-12-17 18:11:37 +08:00
Cell 9614598f07 🐛 Fix: switch to pollyfill.io on cdnjs 2024-12-17 11:46:02 +08:00
Cell 637c4641cb 🐛 Fix: the default value type error of some valine params 2024-12-16 16:05:05 +08:00
Cell d2c4d7c18f 🐛 Fix: blockquote render hook text parsing (#519) 2024-12-13 15:29:03 +08:00
Cell 99f51de9f9 📝 Chore: add ignore class for language-switch in README 2024-12-13 11:34:50 +08:00
Cell 9faf1ac1a8 Revert: "🐛 Fix: resolve the aspect ratio issue temporarily" 2024-12-13 10:25:07 +08:00
Cell 393a1393c3 📝 Docs: README adds support for various languages 2024-12-10 17:52:31 +08:00
Cell 5e587a13a2 💄 Style: use title attr to set collection translation 2024-12-06 10:16:20 +08:00
Cell 5712ea5a0d 🔖 Chore(release): 0.3.16 2024-12-04 21:57:54 +08:00
Cell a30c683582 Chore: simplify judgment 2024-12-04 16:03:05 +08:00
Cell ac4418e24e Merge branch 'dev'
* dev:
  💄 Style: update sub menu overflow to auto scroll
   Feat: open custom blocks: custom-menu:desktop and custom-menu:mobile
2024-12-03 17:30:28 +08:00
Cell c3d63475b8 💄 Style: update sub menu overflow to auto scroll 2024-12-03 17:30:10 +08:00
Ali Sajid Imami c0115f6d94 🎉Feat: add automatic generation of mastodon verification links
Signed-off-by: Ali Sajid Imami <395482+AliSajid@users.noreply.github.com>
2024-12-03 17:28:49 +08:00
Cell fda3fa66ef Feat: open custom blocks: custom-menu:desktop and custom-menu:mobile 2024-12-02 17:08:19 +08:00
dependabot[bot] 83d25c36b8 chore(deps-dev): bump husky from 9.1.6 to 9.1.7
Bumps [husky](https://github.com/typicode/husky) from 9.1.6 to 9.1.7.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.1.6...v9.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-01 11:03:19 +08:00
Abdul Halim Daud d7788e962f ⬆️ Chore(libs): update Waline from 2.15.8 to 3.4.1 2024-11-30 21:43:22 +08:00
Cell 582b96b8ef 🐛 Fix: resolve the aspect ratio issue temporarily 2024-11-29 14:53:12 +08:00
Cell f66dc32ec2 Feat: add Bluesky social link 2024-11-29 14:29:48 +08:00
Cell f0af975663 ⬆️ Feat(libs): update fontawesome-free from 6.4.2 to 6.7.1
Close #555
2024-11-29 14:21:16 +08:00
Cell 54298bed8c 📝 Docs: update README 2024-11-29 12:18:59 +08:00
Cell c06afaba20 Merge pull request #551 from hugo-fixit/google-cse
 Feat: add Google CSE support
2024-11-28 14:11:39 +08:00
Cell 4c06eeffac Merge pull request #553 from hugo-fixit/i18n
🌐 Feat: fill in missing translations
2024-11-28 12:55:44 +08:00
Cell b77d209136 🌐 Feat: fill in missing translations
by Copilot
2024-11-28 12:53:59 +08:00
Cell decb259ee1 🌐 Feat: add search related translations 2024-11-28 11:29:52 +08:00
Cell ec9a544f04 Feat: add Google CSE support 2024-11-28 11:23:35 +08:00
Cell 03db8d32a2 Merge pull request #552 from teodororo/dev 2024-11-28 09:30:50 +08:00
Giovanna Souza Teodoro eca4fa4057 🚧 Fix: add content in pt-BR.toml 2024-11-27 20:19:46 -04:00
Cell 46edabd81a 📝 Chore: add todo comments 2024-11-27 17:55:43 +08:00
Cell 6a04876258 📝 Docs: add search archetype
command: hugo new content search/index.md
2024-11-27 17:53:29 +08:00
Cell 4886c05395 💄 Style: update search layout page style 2024-11-27 17:02:06 +08:00
Cell 168f1babc3 Feat: add page layout "search" 2024-11-27 16:20:21 +08:00
Cell 38b681cdfe 📝 Docs: update README 2024-11-27 14:34:08 +08:00
Cell fb80b8b3dc Feat: add Baidu, Umami, Plausible, Cloudflare and Splitbee analytics support
resolved #549
2024-11-22 17:45:23 +08:00
Cell f1ba78efa1 🔧 Chore: update package name and mini node version 2024-11-21 10:40:15 +08:00
Cell 3c96081689 🐛 Fix: katex-display height overflow 2024-11-20 15:14:02 +08:00
Cell fd000ad6b3 🐛 Fix: table-wrapper and katex-display overflow-x error 2024-11-20 12:48:13 +08:00
Cell 35cc57e64d 🔧 Chore: add "-O" flag to hugo server command 2024-11-19 17:21:40 +08:00
Cell 453ed31df0 💄 Style: update task list style 2024-11-19 11:09:15 +08:00
Cell 0af0b136ba 🔧 Chore: update build command 2024-11-19 09:55:44 +08:00
Cell a073b0e9f2 📝 Docs: update hugo.toml 2024-11-18 10:56:33 +08:00
Cell 9913731705 💄 Style: update summary delimiter style 2024-11-15 19:51:18 +08:00
Cell aa1709fbdd Feat: always show collection list and navigation 2024-11-15 14:24:08 +08:00
Cell fcb0f1efd5 🔖 Chore(release): 0.3.15 2024-11-11 12:35:41 +08:00
Cell 59ee34b710 Revert: "refactor reading progress with css animation"
I hate safari just like IE.

Close #542
2024-11-11 12:26:33 +08:00
Cell 5518053a26 🐛 Fix: image rendering not support base64 syntax (#540)
Close #540
2024-11-07 11:15:10 +08:00
Cell 2a0821f531 Feat: open version shortcode, support custom repository 2024-11-07 00:31:42 +08:00
Cell ad45d89098 🐛 Fix: reading progress not support safari 2024-11-06 21:53:32 +08:00
Cell 261f7b66ef 🐛 Fix: inaccurate task lists regular expression 2024-11-06 19:41:42 +08:00
Cell fd15415b9a 🔖 Chore(release): 0.3.14 2024-11-05 13:56:45 +08:00
Cell ec0663668e ♻️ Refactor: refactor reading progress with css animation 2024-11-05 11:50:16 +08:00
Cell 712cf2a868 🎉 Feat: add more type marked text support 2024-11-04 12:52:19 +08:00
Cell 41014f7f5b 🐛 Fix: pangu adds extra spaces for extended Markdown syntax fraction in Chinese 2024-11-03 00:28:29 +08:00
Cell 85d91b8527 Merge pull request #533 from hugo-fixit/feat/task-lists
🎉 Feat: support Obsidian style task lists

Closes #532
2024-11-02 12:17:13 +08:00
Cell 3a5d0dee65 🚧 Docs: fix typo 2024-11-01 18:01:06 +08:00
Cell f98ca2197a 🚧 WIP: modify translations for task lists 2024-11-01 17:29:56 +08:00
Cell db77d49afb 🚧 WIP: add params.taskList to support custom task lists 2024-11-01 15:45:01 +08:00
Cell 4df8fd023e 🚧 WIP: add translations task lists 2024-11-01 15:02:37 +08:00
Cell 8fa3538725 🚧 WIP: add six extended formats to the task lists 2024-11-01 15:02:01 +08:00
Cell 867984fda2 🎉 Feat: support Obsidian style task lists 2024-11-01 11:12:30 +08:00
Cell 8d10880b35 Feat: menu link support empty url
Close #531
2024-10-31 14:39:08 +08:00
Cell 894c512b1d 🐛 Fix: solve the problem that navigator.clipboard is unavailable under http 2024-10-29 11:31:18 +08:00
Cell 64f954ccf7 Feat: update mermaid to 11.3.0 to support more diagrams 2024-10-25 14:12:40 +08:00
Cell c08671dedf 🐛 Fix: RSS rendering issues caused by XML escape
Co-authored-by: Cell <1024@lruihao.cn>
Co-authored-by: Tim <yangzair@outlook.com>
2024-10-24 15:27:39 +08:00
Cell 28759d5020 💄 Style: update summary style at home page 2024-10-13 17:08:44 +08:00
Cell 0c0fb03a8d 🔖 Chore(release): 0.3.13 2024-10-13 16:04:51 +08:00
Cell 39ccc51610 Chore: code optimization 2024-10-13 12:27:22 +08:00
Cell 581466fd25 Feat: refactor summary and headings render, add summaryPlainify param and front matter
See http://fixit.lruihao.cn/documentation/content-management/introduction/#content-summaries
2024-10-12 17:59:07 +08:00
Cell 9471b94b09 📝 Docs: update README 2024-10-11 14:49:52 +08:00
Cell c974c905e5 Feat: add recently updated pages support for archives, section and term list
and remove recentlyUpdated.rss
2024-10-11 13:57:07 +08:00
Cell 3edabbef89 Feat: optionally exclude content from sitemap 2024-10-11 10:36:10 +08:00
Cell f738e4a926 Merge pull request #519 from hugo-fixit/obsidian-callouts
🎉 Feat: support extended alert syntax compatible with Obsidian Callouts

min hugo version 0.134.1
2024-10-10 10:57:01 +08:00
Cell 12cc5f7e60 Feat: add custom admonitions support
hugo 0.134.1
2024-10-10 10:06:22 +08:00
Cell 39a48f35f0 Perf: if .AlertType not in basic types, rendering to extended alert syntax 2024-10-09 11:13:11 +08:00
Cell f7670a714b 🐛 Fix(ignore): resolves Hugo lost closing tag in .AlertTitle 2024-10-09 10:42:37 +08:00
Cell cf71f1e289 ⬆️ Chore: update min hugo version to 0.134.0 2024-10-08 16:08:20 +08:00
Cell bd40c85586 🎉 Feat: support alert foldable title for blockquote compatible with Obsidian Callouts
refactor admonition shortcode: add todo type and aliases type
change min hugo version: 0.134.0
2024-10-08 15:12:01 +08:00
Cell 19ceeb2e99 💄 Style: update footnotes style 2024-10-06 11:57:41 +08:00
Cell 95436c11ac Feat: add HTML&MD render for single subtitle 2024-10-04 01:40:54 +08:00
dependabot[bot] b66fd37057 chore(deps-dev): bump husky from 9.1.5 to 9.1.6
Bumps [husky](https://github.com/typicode/husky) from 9.1.5 to 9.1.6.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-02 13:07:21 +08:00
Cell 58cfa55e65 🐛 Fix: toc data patch 2024-10-02 13:04:00 +08:00
Cell 9c440df3d0 Feat: add param.capitalizeTitles, default is true 2024-10-02 01:54:19 +08:00
Cell 53f221b77a 💄 Style: change summary content style since hugo 0.134.0 2024-10-01 21:19:07 +08:00
Cell 729c2c394a Merge pull request #511 from Xm798/dev
 Feat: Add Follow site challenge support in RSS feed
2024-10-01 21:15:19 +08:00
Xm798 566a87c791 Feat: Add Follow site challenge support in RSS feed 2024-10-01 21:12:14 +08:00
Cell e9edbba217 Feat: add params.sourceURL and params.editURL for special pages 2024-10-01 19:50:42 +08:00
Cell 9e9bc9effd Feat(ignore): add data-adapters attribute
It is helpful to identify whether the content originated from a content adapters.
2024-10-01 18:10:48 +08:00
Cell b44555d403 🐛 Fix: don's show emtpy toc 2024-10-01 16:12:26 +08:00
Cell ed8cf316a5 Feat: add separator and capitalize options for breadcrumb config 2024-10-01 14:59:29 +08:00
Cell f9dde8fd2c 🔖 Chore(release): 0.3.12 2024-09-28 14:28:55 +08:00
Cell 27a7605b49 🐛 Fix(ignore): fix typo
#505 #508
2024-09-27 17:34:21 +08:00
Cell 456db3851b 🚚 Feat: supersede markup.tableOfContents settings with params.page.toc 2024-09-27 17:10:17 +08:00
Cell c36d87fd84 ♻️ Refactor: color scheme checking and move data-theme to document element 2024-09-27 12:52:29 +08:00
Cell 954d86432f Feat: add custom partials options params.customPartials 2024-09-25 18:28:35 +08:00
Cell fabe057f61 🐛 Fix: mapbox page parameters do not take effect 2024-09-23 16:25:18 +08:00
Tim Yang 185c68035a Feat: more markers can be added to mapbox (#506)
* feat:  More markers can be added to mapbox

* 🐛 Fix: move mapbox param `markers` to **seventh** positional parameter

---------

Co-authored-by: Cell <1024@lruihao.cn>
2024-09-23 15:52:33 +08:00
Cell 9d0518eb85 📝 Docs: update hugo.toml 2024-09-14 11:31:09 +08:00
Chris Weyl b727c382bb 🎉 Add Credly as a "social"
...to make it easier to link people to all those delicious badges.
2024-09-14 08:57:39 +08:00
Cell 849d7d486d Revert "📝 Chore: update .gitattributes"
This reverts commit 72594d9612.
2024-09-12 15:00:14 +08:00
Cell 72594d9612 📝 Chore: update .gitattributes 2024-09-11 02:00:47 +08:00
Cell fad3c988de ⬆️ Chore(deps-dev): bump husky from 9.1.4 to 9.1.5
Co-authored-by: Lruihao <1024@lruihao.cn>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 17:49:00 +08:00
Cell b76e6af972 🐛 Fix: typo in typeit initialization
Oops! O><O||| 🍻
2024-09-10 17:39:35 +08:00
Cell 617e2df2e6 🔧 Chore: update typeit to v8.8.4 2024-09-10 17:36:19 +08:00
Cell dafc2665c3 Feat: add HTML support for profile subtitle 2024-09-10 14:23:00 +08:00
Cell de0dae97c1 🚀 Chore: migrate build scripts to fixit-releaser dev dependency 2024-09-06 20:36:30 +08:00
Cell b64908c9e2 🐛 Fix: RSS link target error in social links 2024-09-04 14:48:47 +08:00
Cell 1ca9fdb760 ♻️ Refactor: javascript output for inline scripts 2024-09-01 00:37:16 +08:00
Cell 9e67e259fb 🐛 Fix: style and script shortcodes missing values in page Scratch 2024-08-31 16:30:31 +08:00
Cell c2bcccc996 🚀 Chore: after running npm version or manually modifying the version number, skip the update FixIt internal version 2024-08-30 13:41:56 +08:00
Cell 4203b573cb 🔖 Chore(release): 0.3.11 2024-08-30 12:57:57 +08:00
Cell 5991958bca 🐛 Fix: FixIt theme internal version number error 2024-08-30 12:57:09 +08:00
Cell afc504e33a 🔖 Chore(release): 0.3.10 2024-08-30 11:19:23 +08:00
Cell c8081affa6 ⬆️ Chore(libs): update Valine from 1.5.1 to 1.5.2 2024-08-30 10:53:19 +08:00
Cell 1f22b538b5 Chore: simplified code 2024-08-30 10:42:51 +08:00
Cell 442ec84049 ⬆️ Chore: update min hugo version to 0.132.0 2024-08-29 22:45:00 +08:00
Cell 52184d96d4 💄 Style: update center-quote shortcode style 2024-08-29 22:37:31 +08:00
Cell 5dac03a90d 🌐 Feat: add translations for alerts 2024-08-29 22:30:06 +08:00
Cell e2cf5fe31d 💄 Style: add alert stylesheet 2024-08-29 22:30:06 +08:00
Cell 8798f5b51f 🎉 Feat: add blockquote render hook to support GitHub alerts markdown syntax
simpler callouts or admonitions sytax
2024-08-29 22:30:06 +08:00
Cell 3b99838980 ♻️ Refactor: icon plugin 2024-08-29 17:52:56 +08:00
Cell 5aaacec004 🐛 Fix: resources get match error for page images 2024-08-29 14:47:02 +08:00
Cell 349de54009 🐛 Fix: featuredimagepreview error in summary and RSS 2024-08-29 14:05:40 +08:00
Cell 312b6363dc Merge pull request #494 from hugo-fixit/content-encryption
🔒 Perf: enhance content encryption security
2024-08-29 11:20:34 +08:00
Cell a67efe41be 🔧 Chore: update version automatic update script 2024-08-29 11:17:38 +08:00
Cell 64529c99c8 📝 Docs(ignore): update memo 2024-08-29 10:54:50 +08:00
Cell ede47a2bae ♻️ Refactor: convert FixItDecryptor to ES6 Class 2024-08-29 10:49:51 +08:00
Cell b7ed9cac69 ♻️ Refactor: refactor content encryption 2024-08-29 10:24:16 +08:00
Cell ccce5b52fd 📈 Feat: remove noreferrer from friend links and version shortcode 2024-08-26 14:49:43 +08:00
Cell e7dd4c838c Chore: unified content encryption function 2024-08-26 11:22:45 +08:00
Cell 18643271f8 📝 Docs: update default outputs config 2024-08-26 11:03:28 +08:00
Cell 91f3c7c3cf 🐛 Fix: fix fixit-encryptor shortcode duplicate binding events 2024-08-26 10:58:34 +08:00
Cell 466bb7b7e9 🔒 Perf: use xxHash instead of md5 to calculate the hash value of a password
Update min hugo version to 0.129.0 for using xxHash function
2024-08-25 13:48:28 +08:00
Cell 3ffef8acb0 ♻️ Refactor: refactor the feed and search features (#490)
* 🔍 Refactor: add JSON feed support and refactor output formats build in FixIt

Close #475

* 🚚 Feat: migrate index templates to layouts/_default folder and home.[name].html

* 📝 Style(ignore): fix typo

* 🚚 Chore: migrate index templates to default home templates

* 🚚 Chore: migrate section templates to layouts/section folder

*  Feat: add JSON feed support for section pages (#475)

* 🚧 Feat: add common template for JSON feed (#475)

* 🚧 Feat: add JSON feed support for section and term list pages

* 🚀 Chore: fix git stage error in update-version script

*  Perf: add front matter hiddenFromFeed for JSON feed (#475)

* 🔍 Feat: add tags attribute for JSON feed (#475)

* ♻️ Refactor: refactor RSS feed templates

Close #488

* 🚧 WIP: rename json-feed.html to json.html

* 🚧 Feat: revert single.md

*  Perf: enhance JSON feed 1.1 compatibility

* ♻️ Refactor: refactor post author map getting

*  WIP: add featured image support in feed

* 📝 Docs: update README and screenshot

* 🔧 Chore: update changelog template

* 🚧 WIP: add feed scoped config for section and list

* 🔥 Feat: migrate JSON feed to hugo-fixit/hugo-json-feed

Close hugo-fixit/hugo-json-feed#1

* 🚚 Feat: remove front matter hiddenFromRss and rssFullText,  add  front matter hiddenFromFeed
2024-08-24 17:30:31 +08:00
Cell 6a83650506 Feat: add post navigation config and remove params.Site.Params.navigationReverse
Closes #480
2024-08-11 16:30:01 +08:00
Cell 1c84791db9 🔥 Feat: migrate mobile devtools to a single compenent (#474) 2024-08-10 11:49:36 +08:00
Cell 24873c5e99 🚸 Chore: update FixIt theme version detection in dev mode 2024-08-09 10:40:09 +08:00
Cell 51d64cb152 📝 Docs(ignore): update README 2024-08-08 10:17:11 +08:00
Cell 94553e9b8e 📝 Docs: update CONTRIBUTING.md 2024-08-06 17:30:47 +08:00
Cell 656f00b6a4 🚀 Chore: optimize development process: automatically update FixIt version 2024-08-06 17:30:32 +08:00
Cell 9a1b4570a7 💄 Style: update common style 2024-08-05 15:48:47 +08:00
Cell 976db36bc8 Feat: add more params for typeit shortcodes
resolves #483
2024-08-04 12:30:06 +08:00
Cell c0942a92b9 Feat: open more custom blocks (#479)
- custom-comment
- custom-post__footer:before
- custom-post__footer:after
2024-08-03 12:20:29 +08:00
Cell 0a5007921a 🍱 Chore: update screenshot and thumbnail 2024-08-01 15:12:54 +08:00
Cell a482e14bd5 🐛 Fix(ignore): fix bug in dev ed2f5f6d 2024-08-01 10:05:18 +08:00
Cell 9109ef22e2 Perf(ignore): remove busuanzi.core and add busuanzi.source (#472) 2024-07-30 16:40:41 +08:00
Cell ed2f5f6d10 ♻️ Refactor: refactor page style with CSS round function
Resolved #482
2024-07-29 20:10:40 +08:00
Cell 4065ce606a Perf: disable PWA in the built-in development server 2024-07-28 23:12:48 +08:00
Cell 72a77c2fc5 Perf(ignore): disable busuanzi in dev environment 2024-07-28 23:09:16 +08:00
Navjot Singh 291364255c Block AI Bots and crawlers 2024-07-28 17:24:16 +08:00
Cell 66b86d97cf 💄 Style: change font size of the Collection List and TOC 2024-07-28 17:11:45 +08:00
Cell 16c903fac9 🐛 Fix: fix rendering errors caused by decimal points in page width styles
Closes giscus/giscus#1426
2024-07-28 16:18:23 +08:00
Cell 7c85205519 :bug :Fix: heading front matter is not effective 2024-07-28 14:25:45 +08:00
Cell 7c67b90acf ♻️ Refactor: deprecate params.ibruce in favor of params.busuanzi powered by Vercount
Resolve #472
Close EvanNotFound/vercount#10
2024-07-28 13:34:53 +08:00
Cell 6c752c1bbd 📝 Docs(ignore): update zsxq link 2024-07-26 16:25:19 +08:00
Cell b8ecfc1127 💄 Style: revert timeline animation to fade style 2024-07-25 11:33:23 +08:00
Tim a0b4b81fd6 style: 💄 change the icon of edit button in code block header to fa-pen-to-square 2024-07-25 09:34:56 +08:00
Cell 25e358d920 🔖 Chore(release): 0.3.9 2024-07-24 16:31:13 +08:00
Cell 6cbb89875a 🐛 Fix: fix cookieconsent init error
Resolved #314
2024-07-24 16:11:14 +08:00
Cell bcd6987910 🐛 Fix(ignore): TypeError: Cannot read properties of null (reading 'cloneNode') 2024-07-24 15:39:57 +08:00
Cell dd33cabe16 🐛 Fix: take a dirty hack to fix the bug of APlayer and smoothScroll
Fixed #292
2024-07-24 15:31:06 +08:00
Cell 99dc099939 📝 Docs(ignore): rename function initHighlight to initCodeWrapper 2024-07-24 14:05:13 +08:00
Cell de18e91146 Feat: add param to hide single code block header (#462) 2024-07-24 12:28:39 +08:00
Cell 537ad1df3f Feat: add config whether to enable the code wrapper
Resolved #462
2024-07-24 10:59:24 +08:00
Cell 7c836776c0 ✏️ Docs: fix typo 2024-07-23 11:36:15 +08:00
Cell 9894d9900c 💄 Style: update timeline animation 2024-07-23 11:31:43 +08:00
Cell 9d32ba9d9e 📝 Docs: update hugo.toml 2024-07-23 09:59:13 +08:00
Cell affaea7ecb 🐛 Fix: password runecount calc error 2024-07-22 15:40:29 +08:00
Cell 03e9b119cc Feat(igonre): Timeline feature enhancement 2024-07-22 15:12:55 +08:00
Cell 3e2484e69b 🔧 Chore(ignore): change giscus default comment order 2024-07-22 10:52:20 +08:00
Cell 44b63ca817 💄 Style: add title for friends avatar 2024-07-22 00:56:33 +08:00
Cell f44d89a52a ♻️ Refactor: mermaid shortcode and codeblock render 2024-07-21 20:20:39 +08:00
Cell 2a53dbac37 Feat: add echarts support for code blocks 2024-07-21 19:02:11 +08:00
Cell 9925af0808 Chore(ignore): remove FUNDING.yml 2024-07-21 13:28:04 +08:00
Cell 07c40dbc3e 📝 Docs(ignore): update README 2024-07-21 13:08:31 +08:00
Cell ec1debab38 🐛 Fix: the content of the code block in the details shortcode cannot be copied 2024-07-21 12:42:34 +08:00
Cell ee4441c3ea 🎉 Feat: add extended shortcode - Timeline support 2024-07-21 11:31:13 +08:00
Cell 42f811de22 🐛 Fix(ignore): timeline background color invaild in dark mod 2024-07-21 03:27:25 +08:00
Cell f6911c4fd2 Feat: add open and center params for details shortcode 2024-07-21 00:59:05 +08:00
Cell 9bacfa92f4 🎉 Feat: add timeline support for code blocks 2024-07-21 00:58:01 +08:00
Cell b3b0e6a4e0 ✏️ Feat: update Markdown code block type 2024-07-18 15:45:51 +08:00
Cell df7c7b9e18 Chore(ignore): update ISSUE_TEMPLATE and README 2024-07-16 17:50:23 +08:00
Cell 419ade9c73 Feat: add data-open attribute for code block
See http://fixit.lruihao.cn/documentation/content-management/markdown-syntax/extended/#custom-attribute
2024-07-16 15:15:53 +08:00
Cell 632243e60c 🐛 Style: fix Gist code highlight error in dark mod 2024-07-14 21:10:31 +08:00
Cell dc279b4346 🐛 Fix: fix code block scrollbar color error 2024-07-12 14:59:27 +08:00
Cell 26051115cd 💬 Docs: update Hugo Fixit demo site 2024-07-12 10:13:11 +08:00
Cell f9a09e4610 Feat: add submenu param divided and change submenu border color 2024-07-11 22:06:45 +08:00
Cell 2b2bde7ba8 🐛 Fix: collection nav and list can not show in posts that have password 2024-07-11 09:45:32 +08:00
Cell 6d9c6f5b93 💡 Feat: use the original title after archiving the articles 2024-07-10 17:59:09 +08:00
Cell 45c71ef58e 🐛 Fix: .hiddenFormRss not taking effect 2024-07-10 12:40:15 +08:00
Cell e39d78965f ♻️ Refactor: refactor breadcrumb translations with .TranslationKey 2024-07-09 16:10:19 +08:00
Cell 3dcb3b1a98 📝 Docs: update hugo.toml 2024-07-09 16:08:52 +08:00
Cell 906f3463ba 📝 Docs: fix typo in translations 2024-07-09 16:08:17 +08:00
Cell adf2acd22c 💄 Style: update bilibili and douyin shortcode style 2024-07-07 18:27:06 +08:00
Cell c021a53d15 📝 Docs: update embed archetypes 2024-07-07 12:20:08 +08:00
Cell b067289648 🐛 Fix: fix footnote style error 2024-07-05 00:39:08 +08:00
Cell c18aac486b 🐛 Fix: fix admontion overflow error 2024-07-05 00:37:24 +08:00
Cell 4f56a40653 🐛 Fix: fix code block scrollbar color error 2024-07-05 00:36:45 +08:00
Cell 061a3e3e2b ♻️ Refactor: deprecate .Site.IsMultiLingual in favor of hugo.IsMultilingual
.Site.IsMultiLingual was deprecated in Hugo v0.124.0 and will be removed in a future release. Use hugo.IsMultilingual
2024-07-04 23:40:08 +08:00
Cell 44d0c7611d ♻️ Refactor: deprecate .Sites.First in favor of .Sites.Default
.Sites.First was deprecated in Hugo v0.127.0 and will be removed in a future release. Use .Sites.Default instead.
2024-07-04 23:37:29 +08:00
Cell cf91f230e8 📝 Docs: update default hugo.toml 2024-07-04 23:07:31 +08:00
Cell 052d128922 🐛 Fix: fix code title overflow in code header 2024-06-30 13:33:21 +08:00
Cell 91b583817a 🐛 Fix: fix custom-assets block postion 2024-06-29 18:44:25 +08:00
Cell 9d1ab1a578 🔖 Chore(release): 0.3.8 2024-06-25 12:23:54 +08:00
Cell ca73ca2066 💄 Style: scrollbar styles compatible with modern and legacy browsers 2024-06-25 12:23:21 +08:00
Cell 678e2c0053 Feat: add spotify shortcode support (resolve #450) 2024-06-08 12:27:04 +08:00
Cell 7e2e1006f1 💄 Style: show link icon when target heading element 2024-06-06 23:12:26 +08:00
Cell 256f491244 📝 Docs: update README 2024-06-06 20:50:38 +08:00
Cell 6eaae74708 🔒 Chore: upgrade katex to fix 3 Dependabot alert in katex.min.js 2024-06-06 11:06:04 +08:00
Cell 5c4de3ae21 🔒 Chore: upgrade crypto-js to fix 1 Dependabot alert in crypto-js 2024-06-06 11:00:21 +08:00
Cell 8db70c5829 📝 Docs: update hugo.toml 2024-06-06 10:11:06 +08:00
Cell b4940f46ea Feat: avoid using :has to be compatible with older browsers 2024-06-06 10:03:18 +08:00
Cell cbde3f0898 🚸 Feat: replace localStorage with sessionStorage for FixIt auto bookmark 2024-06-04 15:23:29 +08:00
Cell 4c9e20b377 💄 Style: add border radius for icon of card link 2024-06-04 11:15:26 +08:00
Cell 1a454de9d2 💄 Style: use default style for typeit 2024-06-04 11:13:23 +08:00
Abdul Halim Daud b998371564 Feat: add turnstileKey to waline 2024-05-27 17:56:13 +08:00
Abdul Halim Daud 9679c3442a 🐛 Fix: waline source map error 2024-05-27 17:56:13 +08:00
Cell d908af0a27 📝 Docs: update README 2024-05-23 12:40:20 +08:00
Cell b1f5515beb 📝 Docs(ignore): update README 2024-05-23 12:23:35 +08:00
Cell 069355cc70 📝 Docs: repalce of contributos workflow with GitHub contributors link 2024-05-23 12:18:48 +08:00
Tim Yang 6cc4d44ef4 💄 Style: upgrade the name and icon of "twitter" to "X" in share and social part (#443) 2024-05-23 11:43:09 +08:00
Cell 3c4284eb21 💄 Style: update douyin shortcode style in mobile 2024-05-22 12:20:34 +08:00
Cell a985b0e789 🔥 Feat: remove params.customFilePath 2024-05-22 11:45:14 +08:00
Cell 70afe3e883 💄 Style: update douyin shortcode style in mobile 2024-05-22 11:42:34 +08:00
Cell efd7b86b67 🔖 Chore(release): 0.3.7 2024-05-21 22:31:10 +08:00
Cell d7c06360c2 🎉 Feat: add douyin shortcode support 2024-05-20 14:08:30 +08:00
Cell aa68514546 🔍 Feat: add default size for images 2024-05-17 17:37:59 +08:00
Cell 6b65ca8946 🌐 Docs: update I18n transitions 2024-05-17 14:07:03 +08:00
Cell 3e6dfc337b Merge pull request #442 from LoongmaSpirit/loongma-2024-5-13
 Feat: Add a custom domain setting option for Giscus, configured at `params.page.comment.giscus.origin`
2024-05-13 17:53:14 +08:00
loongma d82fefa7dd Feat: Add a custom domain setting option for Giscus, configured at params.page.comment.giscus.origin 2024-05-13 17:47:10 +08:00
Cell f13e95950a 📝 Docs(ignore): update README 2024-05-09 17:01:00 +08:00
Cell df7443951b 🔧 Chore(ignore): add ignoreCommitPattern config for auto changelog 2024-05-09 16:34:16 +08:00
Cell 71e855ab08 🚚 Feat: the parameter params.customFilePath and params.footer.custom is deprecated since v0.3.7, use layouts/partials/custom.html instead 2024-05-09 16:14:20 +08:00
Cell eb0acca980 Feat: add unified custom template entry file layouts/partials/custom.html 2024-05-09 15:44:57 +08:00
Cell f32402dcdf 🔖 Chore(release): 0.3.6 2024-05-07 17:17:26 +08:00
Cell 3e60685d5a ⬆️ Chore: update min hugo version to 0.123.0 2024-05-07 17:06:48 +08:00
Cell 3682a2a1d3 💄 Style: update card link image style 2024-05-07 17:06:01 +08:00
Cell 4d07d872d5 Revert " Perf: use zhihu API to get shortcut image from a link (#391)"
This reverts commit a1e123ac02.
2024-05-07 16:37:47 +08:00
Cell a1e123ac02 Perf: use zhihu API to get shortcut image from a link (#391) 2024-05-07 15:40:12 +08:00
Cell 6c3c3d7a9a 🐛 Fix: get remote image error in link shortcode (#391) 2024-05-07 12:38:52 +08:00
Cell a66bc4e0d1 📝 Docs: update hugo.toml config order 2024-05-07 10:31:24 +08:00
Cell b7e9c6166b Feat: add capitalize automatic headings config at params.page.heading.capitalize (#421) 2024-05-07 10:25:52 +08:00
Cell df47c49726 🔧 Chore: update auto changelog template 2024-05-06 16:44:03 +08:00
dependabot[bot] c881715c2a ⬆️ Chore(deps): bump peaceiris/actions-hugo from 2 to 3 (#441)
Bumps [peaceiris/actions-hugo](https://github.com/peaceiris/actions-hugo) from 2 to 3.
- [Release notes](https://github.com/peaceiris/actions-hugo/releases)
- [Changelog](https://github.com/peaceiris/actions-hugo/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-hugo/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 16:43:27 +08:00
Cell b32370803b 🔖 Chore(release): 0.3.5 2024-05-06 16:32:51 +08:00
Cell 020a8fdbcc Feat: add titleIcon font matter (#421) 2024-05-06 16:32:33 +08:00
Cell b06b89cc11 🔥 Feat: the type:friends in front matter is removed. use layout:friends instead. 2024-05-06 16:02:22 +08:00
Cell ba4b506b2f Feat: use strings.Title for post title and other titles (#421)
Closes #421
2024-05-06 16:00:29 +08:00
Cell 51bffc18b5 📝 Docs: fix typo 2024-05-06 11:06:29 +08:00
Cell 87f0fe68ae 🔥 Feat: remove params.dev.githubtoken adn replace with environment variable HUGO_PARAMS_GHTOKEN 2024-04-30 15:54:13 +08:00
Cell c2d168c6d1 Feat: add card-icon parameter for link shortcode (#391) 2024-04-30 13:01:00 +08:00
Cell c1b61c7997 📝 Docs: update Security Policy 2024-04-30 00:24:15 +08:00
Cell 5098685763 🔧 Chore: update Gravatar host list 2024-04-29 23:53:21 +08:00
Cell 3c886553db 💄 Style: add fontawesome icon for reward button 2024-04-29 22:53:11 +08:00
Cell 84bca1af4f 🔧 Chore: remove unnecessary parameters in package.json
replace with: `npm run server -- --bind 0.0.0.0`
2024-04-29 22:33:32 +08:00
Cell 851b8e48cb 💄 Style: refactor common text color classes 2024-04-29 22:28:43 +08:00
Cell 89beb8fe4f 💄 Style: refactor hr tag style and add awesome hr style 2024-04-29 22:19:45 +08:00
Cell 462506cb92 💄 Style: refactor heading style 2024-04-29 17:08:07 +08:00
Cell f6ed1ce8fe Revert: use .Title at summary to show post title 2024-04-29 15:14:42 +08:00
Cell b52b31a0cd 🚨 Chore: avoid code scanning alerts 2024-04-26 11:05:28 +08:00
William Wang 12ada20fb8 feat: support lang in giscus config
(cherry picked from commit 1c7a5b01b167d8bcbea422535dc1faf36a480cce)
2024-04-26 10:26:31 +08:00
Cell 39e6466d78 📝 Docs: update REAMDE 2024-04-26 10:06:40 +08:00
Cell fd0b171e5f 🔖 Chore(release): 0.3.4 2024-04-25 17:33:49 +08:00
Cell 7ceed732d2 🔧 Chore: update npm scripts 2024-04-25 17:33:25 +08:00
Cell e07904b0f6 🔖 Chore(release): 0.3.3 2024-04-25 13:12:25 +08:00
Cell 5f5d019f09 🔧 Chore: update release workflow 2024-04-25 13:12:02 +08:00
Cell f4e8babd12 🐛 Fix: unencoded Content in Search Leads to JavaScript Execution Risk in autocomplete-js
Fixes #416
2024-04-25 10:46:55 +08:00
Cell 1ed0acdf35 🐛 Fix: fix echarts and mermaid theme switch error 2024-04-24 20:14:17 +08:00
Cell 3b89a4eaab Feat: refactor FixItDecryptor and add confirm btn
Resolved #437
2024-04-24 17:39:17 +08:00
Cell 20433ed50d 🐛 Fix: using fixit-encryptor shortcode in an unencrypted article caused other styles of the article to not take effect
Fixes #410
2024-04-24 10:35:13 +08:00
Cell 6c83d0630c 🐛 Fix: fix fixit-encryptor shortcode invalid
Fixes #410
Fixes #429
Caused by #420
2024-04-24 09:52:03 +08:00
Cell 79b5c27ed8 🐛 Fix: fix syntax error 2024-04-24 08:59:36 +08:00
asaraog dfeaf0e9a7 🎉 Feat: add Hindi language 2024-04-24 08:59:36 +08:00
Cell 1e493fef48 ⬆️ Fix: update Artalk comments to the latest version and and useBackendConf param
Fixes #415
2024-04-23 17:42:53 +08:00
Cell 7f19569336 🔧 Chore: improve auto changelog configuration
Resolved #434
2024-04-22 21:58:06 +08:00
Cell 429698a096 🔧 Chore: add changelog template and workflow 2024-04-22 17:38:56 +08:00
Cell 09440190aa 🐛 Fix: fix image llightgallery render error (#420) 2024-04-22 12:15:51 +08:00
Cell 1217640d40 🍻 Chore: add random staging id for staging element 2024-04-22 11:31:11 +08:00
Cell 300bbe9a44 🔥 Chore: remove data store in id partials function 2024-04-22 11:23:25 +08:00
Cell 7ec41cdb00 ♻️ Refactor: refactor echarts shortcode data store way (#420) 2024-04-22 11:06:58 +08:00
Cell fd13ca782b ♻️ Refactor: refactor mapbox shortcode data store way (#420) 2024-04-22 10:11:05 +08:00
Cell bae1678c59 🐛 Fix: fix typeit shotrcode miss space when build with --minify param 2024-04-20 17:06:08 +08:00
Cell 72bd72f5ed ♻️ Refactor: refactor typeit shortcode and feature (#420) 2024-04-20 16:30:16 +08:00
Cell c09f141034 ♻️ Refactor: refactor code block rendering 2024-04-19 00:33:35 +08:00
Cell a2d8eaa249 🐛 Fix: fix encrypted-hidden invaild in mobile 2024-04-19 00:31:51 +08:00
Cell ff8e5fc7bf 💄 Style: update comment iframe width 2024-04-13 11:11:43 +08:00
Cell 84e9eea483 Feat: add partial function get-remote-json, and deprecated getJSON function 2024-04-10 15:39:54 +08:00
Cell 5705048952 Feat: add githubTokenHeader into Scratch 2024-04-10 14:34:19 +08:00
Cell d379911220 Feat: add new partial function format-number 2024-04-10 11:04:44 +08:00
Cell 773a8a7eb9 Perf: code optimization 2024-04-08 17:47:57 +08:00
Cell 6ab33ff7bf Feat: add onlyMainSection option for page auto heading numbering 2024-04-08 17:46:31 +08:00
Cell dc0b96210a 📝 Docs: update README 2024-04-06 13:41:37 +08:00
Cell 4dc8d0f7d7 💄 Style: use the same proportions as the cover image of https://dev.to/ 2024-03-27 17:38:34 +08:00
Cell 76fec05da2 🐛 Fix: fix search config read error 2024-03-26 16:38:48 +08:00
Cell 54c773368e Feat: improve readme template 2024-03-26 16:37:35 +08:00
Cell 05693d8b4c 🔧 Chore: update giscus.json 2024-03-26 12:16:11 +08:00
Cell 38cf4ee0de 🐛 Fix: mermaid init error 2024-03-23 21:42:10 +08:00
Cell 3df577cb0d ⬆️ Fix: bump Mermaid from 9.x to 10.x and fix error (#420) 2024-03-08 16:23:37 +08:00
Cell 063d8fa219 🐛 Fix: fix shortcode render error (#420)
mermaid, echarts, music
2024-03-07 22:09:36 +08:00
Cell 7f38d99ae4 💄 Style: update define list style 2024-03-07 15:41:22 +08:00
Cell c771bce957 Docs: update license 2024-03-01 14:43:48 +08:00
Cell 2ea592b4a3 🐛 Fix: use function to get params replace of .Scatch (#420) 2024-02-23 20:50:52 +08:00
Cell a9fd15e47d 🔧 Chore: update custom.js.example to ES6 style 2024-02-23 17:27:49 +08:00
Cell d6be3c1fc2 🔧 Chore: expose theme version number to theme.js 2024-02-23 17:03:19 +08:00
Cell c9af0b9018 🔖 Chore(release): 0.3.2 2024-02-23 10:48:02 +08:00
Cell b2b47095eb 🐛 Fix: to create a scratch pad that is not reset on server rebuilds, use the Store method instead of Scratch method (fixes #417) 2024-02-23 10:33:08 +08:00
Cell 002ebda06f 🐛 Fix: remove symbolic links of themes
fixed #419
2024-02-22 11:24:04 +08:00
Cell 551938f0b4 Revert "🐛 Fix: to create a scratch pad that is not reset on server rebuilds, use the Store method instead of Scratch method (fixes #417)"
This reverts commit 9d6ee9feef.
2024-02-21 14:32:05 +08:00
Cell 9d6ee9feef 🐛 Fix: to create a scratch pad that is not reset on server rebuilds, use the Store method instead of Scratch method (fixes #417) 2024-02-21 14:20:25 +08:00
Cell 1bd56105b7 🐛 Fix: remove sizes="auto" prop what was used for lazysizes.js in old FixIt version (resolve #411)
refer to https://github.com/whatwg/html/issues/9448
2024-01-28 23:18:23 +08:00
Cell b7dba0713e 🐛 Fix: fix regular page in post navigation 2024-01-16 16:04:57 +08:00
Cell dd4f422dba 📝 Docs: update contributing file 2024-01-16 15:54:09 +08:00
Cell aaebdfb02c 🙈 Chore: add .gitattributes 2024-01-16 10:22:56 +08:00
Cell 9eb18b9e75 🔖 Chore(release): 0.3.1 2024-01-11 14:40:18 +08:00
Cell 594c89eb1e 🔧 Chore: remove atomic-algolia (#404) 2024-01-11 11:13:35 +08:00
Cell 976d1ea82a 📝 Chore: remove the docs Git submodule and add the demo directory (resolve #404) 2024-01-10 15:40:42 +08:00
Cell b16a06893c 🐛 Fix: comment the theme field in the default theme configuration
Fix the bug that the theme cannot be loaded through hugo modules
2024-01-10 14:05:58 +08:00
Cell 32711ff29c 🐛 Fix: heading style in terms and list page 2024-01-03 11:39:26 +08:00
Cell 38eb829194 Revert: "Chore: replace git submodule with hugo module to load theme components" 2024-01-02 10:29:09 +08:00
Cell 4c9b5b6773 🔧 Chore: update default menus 2024-01-01 19:40:06 +08:00
Cell 8b2dd976e6 🔖 Chore(release): 0.3.0 2024-01-01 14:54:19 +08:00
dependabot[bot] 8789f6eaff chore(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

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

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

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

* 🔧 Chore: set site home relative permalink globally

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

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

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

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

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

* 🐛 Fix: donate images without lazy loading

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

with this fix, the following works with markdown when unsafe = false:
```
{{< center-quote >}}
**hello** *world*
this is a center-quote shortcode example.
{{< /center-quote >}}
```
2022-08-27 20:01:10 +08:00
Cell cd49374911 🐛 Fix: link shortcode newline 2022-08-27 18:52:05 +08:00
Cell e4ba7a346e Feat(accessibility): using aria-hidden=true on an icon font that AT should ignore 2022-08-27 14:46:34 +08:00
Cell 4608f96ad3 💄 Style: modify single-title and single-subtitle styles 2022-08-27 14:28:30 +08:00
Cell 88a6b0e37d Feat(math): add more block delimiter support for math
import from https://github.com/dillonzq/LoveIt/commit/264dd5b9d5079d4fe2f29bc3ffa7b43fbf937336
2022-08-27 14:05:19 +08:00
Cell 5af5e44e10 ✏️ Docs: fix typo 2022-08-27 13:04:42 +08:00
Cell 3e80259a07 ⬆️ Chore(libs): update simple-icons from 6.3.0 to 7.8.0 2022-08-27 12:53:09 +08:00
Cell 447f832a58 🔧 Chore(deps-dev): remove dependencies: babel-preset-minify 2022-08-27 12:44:29 +08:00
Cell 1359995948 🎨 Style: add single newline at end of the file 2022-08-27 12:37:57 +08:00
Cell d27a42dab2 🐛 Fix: attribute media not allowed on element meta in [name=theme-color]
🐛 Fix: support smooth migration from LoveIt to FixIt (#174 #182)
2022-08-27 01:43:54 +08:00
Cell 913a82fe18 Perf: simplify theme switching logic 2022-08-27 01:11:00 +08:00
Cell e19b71cc6a 🎨 Style: format code 2022-08-26 23:57:42 +08:00
Cell 19f7746516 🐛 Fix: element div not allowed as child of element h2 and avoid empty heading in .home-subtitle 2022-08-26 17:46:18 +08:00
Cell 2efcf947a7 🐛 Fix: the “type” attribute is unnecessary for JavaScript resources
The default `type` for `<script>` tags is `JavaScript`, so you don’t need to include the type for JS resources.
2022-08-26 17:16:20 +08:00
Cell 55e747e5f1 🐛 Fix: the itemprop attribute was specified, but the element is not a property of any item 2022-08-26 17:00:26 +08:00
Cell 0edd185b39 🐛 Fix: use data attributes or class replace for custom attributes 2022-08-26 16:48:11 +08:00
Cell dfbffa2ad5 🐛 Fix: remove unneeded meta tag
This was only needed for IE10 and lower (which are no longer supported) and chromeframe which was a Google plugin for IE8 and lower and was discontinued many years ago. So this meta tag can be safely removed.
2022-08-26 15:48:16 +08:00
Cell 3f3d5aee37 🐛 Fix(footer): define itemtype property
The properties copyrightYear and copyrightHolder refer to the nearest parent CreativeWork.
https://schema.org/CreativeWork
2022-08-26 15:42:02 +08:00
Cell 84d781d6a4 Perf: init search-dropdown dom if search is enabled 2022-08-26 15:21:21 +08:00
Cell d051dbd9c0 📝 Docs: add acknowledgements 2022-08-24 23:26:46 +08:00
Cell 3dbb46a6ec 🎨 Style: change the default icon of social link "Stack Overflow" 2022-08-14 23:28:37 +08:00
Cell 5dbb3e290e 🌐 Docs(i18n): update de in i18n
https://github.com/dillonzq/LoveIt/pull/405
2022-08-14 23:22:40 +08:00
Cell 504b4916d9 Merge branch 'master' into v0.2.16-RC 2022-08-14 23:06:19 +08:00
Cell 1fcb1e6504 Merge branch 'pr/xueweiwujxw/176' 2022-08-14 23:04:02 +08:00
Cell 4e81224052 docs(contributor): contrib-readme-action has updated readme 2022-08-14 23:00:59 +08:00
xueweiwujxw 33395f3e15 📃 Docs: add site: wlanxww's blog 2022-08-14 23:00:17 +08:00
Cell 2007fe5297 🐛 Fix(post-footer): guard post-info-license
https://github.com/dillonzq/LoveIt/pull/544
2022-08-14 22:38:01 +08:00
xueweiwujxw 7ba6611825 📃 Docs: add site: wlanxww's blog 2022-08-14 22:32:27 +08:00
Cell b575d23fe0 🌐 Docs(i18n): update pt-br in i18n
https://github.com/dillonzq/LoveIt/pull/637
2022-08-14 22:26:40 +08:00
Cell 87156110a6 🐛 Fix: author display error in post and markdown file 2022-08-14 14:45:13 +08:00
Cell 806572a817 🔍 Feat(seo): update robots.txt 2022-08-13 16:25:35 +08:00
Cell 07dcccae16 ✏️ Docs: add official website link 2022-08-13 15:57:03 +08:00
Cell 83a1f075ab Style: fontawesome use version 6 format 2022-08-13 15:36:32 +08:00
Cell 993cd26413 ✏️ Docs: update commit message format 2022-08-12 15:51:28 +08:00
Cell 84db100d99 🎨 Style: change the default icon of social link "知乎" 2022-08-07 17:19:56 +08:00
Cell 0054c28934 🔧 Chore: simplify scripts 2022-08-07 15:55:10 +08:00
Cell 267a21675d Feat: add custom aside template in post page (#172) 2022-08-06 14:11:19 +08:00
Cell a4cae812a8 Chore(deps-dev): remove minimist 2022-08-06 13:34:48 +08:00
Cell 08c995a295 🎨 Style: format source code 2022-08-06 13:02:39 +08:00
Cell 243706ebfb 🐛 Fix: add function doc2unix to unify new lines symbol between Windows and Unix/Mac OS 2022-08-05 23:57:36 +08:00
Cell 41a638def9 🔧 Chore: update algolia index only on push to path 'docs' 2022-08-05 20:19:59 +08:00
Cell dce144e4b6 🔧 Chore: modify babel config and optimize theme.js compilation and loading 2022-08-05 17:20:05 +08:00
Cell 08374c06e8 📝 Docs: update changelog and update version to v0.2.16-RC 2022-08-04 10:40:30 +08:00
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
1632 changed files with 46989 additions and 52146 deletions
-11
View File
@@ -1,11 +0,0 @@
{
"presets": [
[
"@babel/preset-env",
{
"targets": "> 0.25%, not dead"
}
],
"minify"
]
}
+3
View File
@@ -0,0 +1,3 @@
assets/lib/**/* linguist-vendored
*.toml linguist-detectable
*.md linguist-detectable
-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...
配置文件或者前置参数的代码...
+55
View File
@@ -0,0 +1,55 @@
name: Bug Report
description: Create a report to help us improve
title: '[Bug report] '
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: bug-description
attributes:
label: Description
description: A clear and concise description of what the bug is. If applicable, add screenshots to help explain your problem. If you intend to submit a PR for this issue, tell us in the description. Thanks!
placeholder: Bug description
validations:
required: true
- type: input
id: reproduction
attributes:
label: Reproduction
description: Please provide a link to a repo that can reproduce the problem you ran into. A [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) is required.
placeholder: Reproduction
validations:
required: true
- type: dropdown
id: installation-method
attributes:
label: Installation Method
description: Select the installation method you used.
options:
- Hugo Module
- Git Submodule
- Git Clone
- Manual
- Other
validations:
required: true
- type: textarea
id: environment
attributes:
label: Build Environment
description: |
Please try to use Hugo **extended** version before opening the issue.
placeholder: |
- Theme version/commit [e.g. 0.2.0, 2ccba79]
- Hugo version [e.g. 0.147.0]
- OS: [e.g. Windows 10, macOS, Ubuntu]
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional Information
description: |
Configuration files or front matter code snippets that may help us understand the issue.
+6 -3
View File
@@ -1,5 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Theme Documentation 主题文档
url: https://fixit.lruihao.cn/categories/documentation/
about: Please read the documentation carefully. 请先仔细阅读主题文档.
- name: Questions
url: https://github.com/hugo-fixit/FixIt/discussions/new
about: Please ask questions in Discussion.
- name: Theme Documentation
url: https://fixit.lruihao.cn/
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,35 @@
name: Feature Request
description: Suggest an idea for this project
title: '[Feature request] '
body:
- type: markdown
attributes:
value: |
Thanks for your interest in the project and taking the time to fill out this feature request!
- type: textarea
id: feature-description
attributes:
label: Clear and concise description of the problem
description: As a user or developer using FixIt, what feature your want in details. If you intend to submit a PR for this issue, tell us in the description. Thanks!
placeholder: Feature description
validations:
required: true
- type: textarea
id: suggested-solution
attributes:
label: Suggested solution
description: We could provide following implementation...
placeholder: Suggested solution
validations:
required: true
- type: textarea
id: alternative
attributes:
label: Alternative
description: Clear and concise description of any alternative solutions or features you've considered.
placeholder: Alternative solution
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Any other context or screenshots about the feature request here.
+24
View File
@@ -0,0 +1,24 @@
<!-- Thank you for contributing! -->
### Description
<!-- Please insert your description here and provide especially info about the "what" this PR is solving -->
### Before submitting the PR, please make sure you do the following <!-- (put an "X" next to an item) -->
- [ ] Read the [Contributing Guidelines](https://github.com/hugo-fixit/FixIt/blob/main/CONTRIBUTING.md).
- [ ] Provide a description in this PR that addresses **what** the PR is solving. If this PR is going to solve an existing issue, please reference the issue (e.g. `close #123`).
### What is the purpose of this pull request? <!-- (put an "X" next to an item) -->
- [ ] Bug fix
- [ ] New feature
- [ ] Other
### Screenshots
<!-- If your PR includes UI changes, please provide before/after screenshots. If there are any other images that add context to the PR, add them here as well -->
**Before**
**After**
+4
View File
@@ -0,0 +1,4 @@
name: CodeQL config
paths-ignore:
- assets/lib/**
+315
View File
@@ -0,0 +1,315 @@
# FixIt 编码标准和指导原则
本文档定义了 FixIt 主题项目的编码标准、最佳实践和开发指导原则。所有贡献者和 AI 助手在参与项目开发时都应遵循这些规范。
## 项目概述
FixIt 是一个面向 Hugo 静态网站生成器的现代化、响应式主题。项目基于以下技术栈:
- **Hugo**: 静态网站生成器(≥ 0.156.0)
- **SCSS**: CSS 预处理器,用于样式开发
- **JavaScript**: ES6+ 标准,用于前端交互功能
- **Go Templates**: Hugo 模板引擎
- **Node.js**: 开发环境和构建工具
- **pnpm**: 包管理器
## 目录结构约定
```
FixIt/
├── apps/ # 最小化站点
│ ├── demo/ # 演示站点
│ └── test/ # 测试站点
├── archetypes/ # 内容模板
├── assets/ # 主题资源文件
│ ├── css/ # SCSS 样式文件
│ ├── js/ # JavaScript 文件
│ ├── images/ # 图像资源
│ └── lib/ # 第三方库
├── i18n/ # 国际化翻译文件
├── layouts/ # Hugo 模板文件
│ ├── _markup/ # Hugo 渲染钩子
│ ├── _partials/ # 可复用模板组件
│ └── _shortcodes/ # 自定义短代码
├── packages/ # 主题相关包
├── static/ # 静态文件
├── hugo.toml # 主题默认配置
└── package.json # npm 脚本和依赖
```
## SCSS/CSS 编码规范
### 文件组织结构
1. **主入口文件**: `assets/css/style.scss`
2. **变量文件**: `assets/css/_variables.scss` - 全局变量定义
3. **覆写文件**: `assets/css/_override.scss` - 用户自定义覆写
4. **组织结构**:
- `_core/`: 核心样式(基础、布局、媒体查询等)
- `_mixin/`: SCSS mixins 和函数
- `_page/`: 页面特定样式
- `_partials/`: 组件样式
- `_shortcodes/`: 短代码样式
### 命名约定
1. **CSS 类名**: 使用 BEM 方法论或语义化命名
```scss
.header-desktop {}
.menu-item {}
.single-title {}
.post-tag {}
```
2. **SCSS 变量**: 使用连字符分隔,语义化命名
```scss
$global-font-family: system-ui, sans-serif;
$code-background-color: #f6f8fa;
$header-height: 3.5rem;
```
3. **CSS 自定义属性**: 使用前缀约定
```scss
$prefix: fi-;
$rootPrefix: --fi-;
```
### 样式组织原则
1. **主题切换支持**: 使用 CSS 变量实现主题切换
```scss
.element {
color: var(#{$rootPrefix}global-font-color);
}
```
2. **Mixin 使用**: 提高代码复用性
```scss
@include border-radius;
@include transition(all 0.2s ease);
@include blur;
```
### 代码质量要求
1. **缩进**: 使用 2 个空格
2. **注释**: 为复杂逻辑添加注释
3. **颜色**: 使用变量而非硬编码颜色值
4. **单位**: 优先使用相对单位(rem、em、%)
## JavaScript 编码规范
### 代码风格
1. **ES6+ 标准**: 使用现代 JavaScript 语法
2. **模块化**: 使用 ES6 模块系统
### 文件组织
1. **主题核心**: `assets/js/theme.js` - 主题核心逻辑
2. **工具函数**: `assets/js/util.js` - 通用工具函数
3. **特定功能**: 按功能划分独立模块
### 编码实例
```javascript
// 使用 ES6 类
export default class Util {
static copyText(text) {
// ...
}
}
// 主题类组织
class FixIt {
constructor() {
this.config = window.config
this.scrollTop = Util.getScrollTop()
}
init() {
this.initTheme()
this.initComponents()
}
}
```
### 最佳实践
1. **错误处理**: 使用 try-catch 处理异常
2. **异步操作**: 优先使用 async/await
3. **事件处理**: 合理使用事件委托
4. **性能优化**: 避免不必要的 DOM 操作
## Hugo 模板规范
### 模板组织
1. **布局模板**: `layouts/` 目录下的主要模板
2. **局部模板**: `layouts/_partials/` 下的可复用组件
3. **短代码**: `layouts/_shortcodes/` 下的内容短代码
### 编码约定
1. **变量命名**: 使用驼峰命名法
```go-html-template
{{- $footerConfig := .Site.Params.footer -}}
{{- $fingerprint := .Site.Store.Get "fingerprint" -}}
```
2. **注释规范**: 使用 Hugo 注释语法
```go-html-template
{{- /* 这是模板注释 */ -}}
{{- /*
多行注释
可以跨越多行
*/ -}}
```
3. **条件判断**: 清晰的条件结构
```go-html-template
{{- if ne $config.enable false -}}
<!-- 内容 -->
{{- end -}}
```
4. **循环遍历**: 合理使用 range
```go-html-template
{{- range $index, $value := .Pages -}}
<!-- 处理逻辑 -->
{{- end -}}
```
### 国际化处理
1. **翻译函数**: 使用 `T` 函数
```go-html-template
{{ T "header.switchTheme" }}
```
2. **多语言支持**: 考虑多语言环境
```go-html-template
{{- if hugo.IsMultilingual -}}
<!-- 多语言逻辑 -->
{{- end -}}
```
## 开发工作流程
### 环境设置
1. **前置要求**:
- Node.js (≥ 20.0.0)
- Hugo Extended (≥ 0.156.0)
- pnpm (包管理器)
2. **开发命令**:
```bash
pnpm dev:demo # 启动 demo 站点开发服务器
pnpm dev:test # 启动 test 站点开发服务器
pnpm dev:docs # 启动文档开发服务器(需有 fixit-docs 作为同级目录)
pnpm build:demo # 构建 demo 站点
pnpm build:test # 构建 test 站点
pnpm build # 一键构建所有站点
pnpm preview # 预览构建后的站点(需先构建)
```
### 代码质量
1. **代码审查**: 提交前进行自我审查
2. **测试验证**: 在多个环境中测试功能
3. **文档更新**: 必要时更新相关文档
4. **向后兼容**: 确保更改不破坏现有功能
### Git 提交规范
遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
```
feat: 新增功能
fix: 修复 bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试相关
chore: 构建过程或工具相关
```
## 性能优化指导
### CSS 性能
1. **选择器优化**: 避免过深的嵌套
2. **媒体查询**: 合理组织响应式断点
3. **动画优化**: 使用 transform 和 opacity
4. **资源压缩**: 生产环境启用压缩
### JavaScript 性能
1. **延迟加载**: 非关键脚本使用 defer
2. **事件优化**: 合理使用防抖和节流
3. **内存管理**: 及时清理事件监听器
4. **模块化**: 按需加载功能模块
### Hugo 模板性能
1. **缓存策略**: 合理使用 Hugo 缓存机制
2. **资源处理**: 优化图片和静态资源
3. **构建优化**: 减少不必要的模板处理
## 可访问性要求
1. **语义化 HTML**: 使用正确的 HTML 标签
2. **ARIA 属性**: 为复杂组件添加 ARIA 支持
3. **键盘导航**: 确保键盘可访问性
4. **颜色对比**: 满足 WCAG 对比度要求
5. **屏幕阅读器**: 提供适当的文本替代
## 浏览器兼容性
1. **目标浏览器**: 支持现代浏览器
2. **渐进增强**: 基础功能向下兼容
3. **特性检测**: 使用特性检测而非浏览器检测
4. **Polyfill**: 必要时提供 polyfill 支持
## 安全考虑
1. **XSS 防护**: 正确处理用户输入
2. **CSRF 保护**: 表单提交安全
3. **内容安全**: 合理设置 CSP 策略
4. **依赖安全**: 定期更新依赖包
## 文档要求
1. **代码注释**: 复杂逻辑必须注释
2. **API 文档**: 公共方法需要文档
3. **使用示例**: 提供清晰的使用示例
4. **更新日志**: 重要更改记录在 CHANGELOG
## 第三方库管理
1. **依赖选择**: 优先选择轻量、维护活跃的库
2. **版本管理**: 及时更新安全补丁
3. **许可证**: 确保许可证兼容性
4. **定制化**: 必要时进行本地化修改
## 贡献指导
1. **讨论优先**: 重大更改前先讨论
2. **小步迭代**: 避免大规模重构
3. **测试覆盖**: 新功能需要充分测试
4. **文档同步**: 功能和文档同时更新
遵循这些编码标准将有助于维护代码质量,提高开发效率,并确保项目的长期可维护性。
+40 -4
View File
@@ -1,12 +1,48 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
- package-ecosystem: npm # See documentation for possible values
directory: / # Location of package manifests
schedule:
interval: "monthly"
interval: monthly
open-pull-requests-limit: 1000
assignees:
- Lruihao
labels:
- dependencies
ignore:
- dependency-name: '@types/node'
update-types:
- 'version-update:semver-major'
groups:
npm-development:
dependency-type: development
update-types:
- minor
- patch
npm-production:
dependency-type: production
update-types:
- patch
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
open-pull-requests-limit: 1000
assignees:
- Lruihao
labels:
- dependencies
- package-ecosystem: gitsubmodule
directory: /
schedule:
interval: weekly
open-pull-requests-limit: 1000
assignees:
- Lruihao
labels:
- dependencies
+19
View File
@@ -0,0 +1,19 @@
changelog:
exclude:
labels:
- ignore-for-release
authors:
- dependabot
categories:
- title: New features
labels:
- feature
- title: Enhancement
labels:
- enhancement
- title: Fixes
labels:
- bug
- title: Other Changes
labels:
- '*'
-45
View File
@@ -1,45 +0,0 @@
name: Update Algolia Search Index
on:
push:
branches:
- master
workflow_dispatch:
jobs:
algolia-atomic:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
extended: true
- name: Build
run: |
npm install
npm run build
- name: Update Algolia Index (en)
env:
ALGOLIA_APP_ID: YKOM6PKLUY
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
ALGOLIA_INDEX_NAME: 'index.en'
ALGOLIA_INDEX_FILE: './exampleSite/public/index.json'
run: |
npm run algolia
- name: Update Algolia Index (zh-cn)
env:
ALGOLIA_APP_ID: YKOM6PKLUY
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
ALGOLIA_INDEX_NAME: 'index.zh-cn'
ALGOLIA_INDEX_FILE: './exampleSite/public/zh-cn/index.json'
run: |
npm run algolia
-21
View File
@@ -1,21 +0,0 @@
name: Hugo build check
on:
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
Actions-Hugo-Check:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
with:
submodules: recursive # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: latest
extended: true
- name: Build Hugo static files
run: hugo -v --source=exampleSite --themesDir ../.. --gc
+34 -27
View File
@@ -9,14 +9,17 @@
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
name: CodeQL
on:
push:
branches:
- main
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches:
- main
schedule:
- cron: '45 0 * * 1'
- cron: '30 18 * * 5'
jobs:
analyze:
@@ -26,40 +29,44 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
language: [javascript]
# CodeQL supports [ "cpp", "csharp", "go", "java", "javascript", "python" ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check out repository code
uses: actions/checkout@v6
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
config-file: ./.github/configs/codeql.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v4
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
# - run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
@@ -0,0 +1,40 @@
name: Generate hugo-fixit component list
on:
schedule: # Run workflow automatically
- cron: '0 0 * * *' # Runs every day at 00:00 UTC
workflow_dispatch: # Run workflow manually (without waiting for the cron to be called), through the GitHub Actions Workflow page directly
permissions:
contents: write # To write the generated contents to the readme
pull-requests: write # To create a pull request
jobs:
generate-component-list:
if: github.repository == 'hugo-fixit/FixIt'
name: Update this repo's README with the list of hugo-fixit theme components
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Generate hugo-fixit component list
uses: hugo-fixit/action-component-list@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
comment_tag_name: HUGO_FIXIT_COMPONENTS
readme_path: 'README.md,README.zh-cn.md'
template: "- [{$repo.name}]({$repo.html_url})\\\n {$repo.description}"
# - name: Commit changes
# uses: stefanzweifel/git-auto-commit-action@v5
# with:
# commit_message: 'docs(readme): update hugo-fixit component list'
# commit_author: 'github-actions[bot] <github-actions[bot]@users.noreply.github.com>'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v8
with:
title: Update hugo-fixit component list
commit-message: 'docs(readme): update hugo-fixit component list'
body: This PR updates the hugo-fixit component list in the README.
base: main
branch: update-component-list
labels: documentation
reviewers: Lruihao
+49
View File
@@ -0,0 +1,49 @@
name: Release for new tag
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0 # Fetch all history for generating release notes
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: pnpm
- name: Install fixit-cli
run: pnpm install -g fixit-cli
- name: Split theme configuration
run: |
fixit split
tar -zcvf config_toml.tar.gz config
rm -rf config
fixit split -y
tar -zcvf config_yaml.tar.gz config
rm -rf config
- name: Generate release notes
run: |
pnpm install --frozen-lockfile
pnpm changelog --starting-version ${{ github.ref_name }}
sed -i '1,4d' CHANGELOG.md
- name: GitHub Release
uses: softprops/action-gh-release@v2
with:
draft: true
body_path: CHANGELOG.md
files: |
config_toml.tar.gz
config_yaml.tar.gz
+19 -11
View File
@@ -1,24 +1,32 @@
# Hugo default output directory
public/
/exampleSite/resources/
node_modules/
build/
resources/
## OS Files
# Windows
# Hugo
.hugo_build.lock
jsconfig.json
# NPM
node_modules/
.eslintcache
# VSCode
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
# OS Files
## Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
# OSX
## OSX
.DS_Store
# Linux
## Linux
.directory
# Hugo
.hugo_build.lock
jsconfig.json
CHANGELOG.md
.stash/
+3
View File
@@ -0,0 +1,3 @@
tag-version-prefix="v"
ignore-workspace-root-check=true
message="chore(release): %s"
+1
View File
@@ -0,0 +1 @@
v20
+8
View File
@@ -0,0 +1,8 @@
{
"recommendations": [
"budparr.language-hugo-vscode",
"kaellarkin.hugo-shortcode-syntax",
"lruihao.hugo-partials-refs",
"tamasfe.even-better-toml"
]
}
+85
View File
@@ -0,0 +1,85 @@
{
"todo-tree.tree.scanMode": "workspace only",
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"tsconfig.json": "tsconfig.*.json, env.d.ts",
"package.json": "package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .oxlint*, oxlint*, .prettier*, prettier*, .editorconfig"
},
// Disable the default formatter, use eslint instead
"prettier.enable": false,
"editor.formatOnSave": false,
// Auto fix
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "never"
},
// Silent the stylistic rules in you IDE, but still auto fix them
"eslint.rules.customizations": [
{
"rule": "style/*",
"severity": "off",
"fixable": true
},
{
"rule": "format/*",
"severity": "off",
"fixable": true
},
{
"rule": "*-indent",
"severity": "off",
"fixable": true
},
{
"rule": "*-spacing",
"severity": "off",
"fixable": true
},
{
"rule": "*-spaces",
"severity": "off",
"fixable": true
},
{
"rule": "*-order",
"severity": "off",
"fixable": true
},
{
"rule": "*-dangle",
"severity": "off",
"fixable": true
},
{
"rule": "*-newline",
"severity": "off",
"fixable": true
},
{
"rule": "*quotes",
"severity": "off",
"fixable": true
},
{
"rule": "*semi",
"severity": "off",
"fixable": true
}
],
// Enable eslint for all supported languages
"eslint.validate": [
"go-html-template",
"javascript",
"typescript",
"html",
"markdown",
"json",
"json5",
"jsonc",
"yaml",
"toml",
"xml",
"css",
"scss"
]
}
-76
View File
@@ -1,76 +0,0 @@
# Changelog
All notable changes to this project will be documented in this file.
<!-- Releases see https://github.com/Lruihao/FixIt/releases -->
## 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))
- :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))
- 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))
- :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))
- :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)
## v0.2.12 [2022-1-27]
- :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))
- :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))
- :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))
- :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)
## v0.2.11 [2021-12-19]
> :tada: The beginning of FixIt to fix the theme LoveIt.
- :sparkles: Feat: add cardlink shortcode ([Lruihao/hugo-blog@`df9eca2`](https://github.com/Lruihao/hugo-blog/commit/df9eca26af43287748fd8d4654014357a8269b0b))
- :tada: Feat: add friends layout template
- :wrench: Chore(i18n): add translations for Traditional Chinese ([Lruihao/hugo-blog@`df9eca2`](https://github.com/Lruihao/hugo-blog/commit/b86157d8b84830bda415ab2488580afd843acac2))
- :bug: Fix: mobile style ([Lruihao/hugo-blog#19](https://github.com/Lruihao/hugo-blog/issues/19))
- :bug: Style: fix content h1 style ([Lruihao/hugo-blog#8](https://github.com/Lruihao/hugo-blog/issues/8))
- :bug: Fix: `.params.author` should be `$params.author` ([Lruihao/hugo-blog#1](https://github.com/Lruihao/hugo-blog/issues/1))
- **Full Changelog:** [`v0.2.10...v0.2.11`](https://github.com/Lruihao/FixIt/compare/v0.2.10...v0.2.11)
## v0.2.10 :arrow_down: [2020-5-29 before]
Thanks [dillonzq/LoveIt](https://github.com/dillonzq/LoveIt/releases)
+10 -10
View File
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
+136 -47
View File
@@ -1,74 +1,163 @@
# CONTRIBUTING
Make sure that you follow [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) while contributing and engaging in the discussions.
## Prerequisites
Before you start contributing, make sure you have the following tools installed:
- **Node.js** (>= 20.0.0) - Required for package management and build tools
- **Hugo Extended** (>= 0.156.0) - The static site generator
- **pnpm** - Package manager (recommended)
You can check your installed versions:
```bash
node --version
hugo version
pnpm --version
```
## How to contribute to this project
First, fork this repository by clicking the fork button.
Next, clone your forked repo.
```
git clone https://github.com/example/FixIt.git
cd FixIt
```bash
git clone https://github.com/hugo-fixit/FixIt.git && cd FixIt
```
Then, install the dev dependencies.
```
npm install
```bash
pnpm install
```
And now you are ready to go!
Here are some useful commands.
Here are some useful commands for development:
```
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
### Development
```bash
# Start demo site development server
pnpm dev:demo
# Start test site development server
pnpm dev:test
# Start documentation development server (requires fixit-docs as sibling directory)
pnpm dev:docs
```
Finally, create a new pull request at https://github.com/Lruihao/FixIt/pulls to submit your contribution 🎉
> [!TIP]
>
> - Add `-e production` to the development command to check the production environment, e.g. `pnpm dev:test -e production`.
> - For documentation-related theme changes, it is recommended to clone both `FixIt` and `fixit-docs` as sibling directories.
## Git standard for developers
### Building
### Branches
```bash
# Build demo site
pnpm build:demo
# Build test site
pnpm build:test
# Build all sites
pnpm build
```
| Branch | Description |
| :-- | :-- |
| master | _The branch open to the public and release versions_ |
| RC branch | _The development branch of the next version, e.g. v0.2.12-RC_ |
| single feature | _The branch to enhancements or fixes_ |
### Preview
### Merge events
```bash
# Preview the built site locally (requires build first)
pnpm preview
```
| event | merge |
| :-- | :-- |
| release | **RC branch => master:** `--rebase` |
| PR | **others:master => master:** `--rebase` |
| single feature| **feature branch => RC branch:** `--merge` |
## Project Structure
### Commit message
Understanding the project structure will help you contribute more effectively:
#### Format
> {emoji} {type}: {subject within 50 words} (#{issue/pull request})
```
FixIt/
├── apps/ # Minimal sites
│ ├── demo/ # Demo site
│ └── test/ # Test site
├── archetypes/ # Content templates
├── assets/ # Theme assets
│ ├── css/ # SCSS stylesheets
│ ├── js/ # JavaScript files
│ ├── images/ # Image assets
│ └── lib/ # Third-party libraries
├── i18n/ # Internationalization files
├── layouts/ # Hugo template files
│ ├── _markup/ # Hugo render hooks
│ ├── _partials/ # Reusable template components
│ └── _shortcodes/ # Custom shortcodes
├── packages/ # Theme-related packages
├── static/ # Static files
├── hugo.toml # Default theme configuration
└── package.json # npm scripts and dependencies
```
#### Emoji
- https://gitmoji.dev
- [vscode plugin](https://github.com/maixiaojie/git-emoji-zh.git)
- utools plugin `GitEmoji`
## Development Workflow
#### Message
1. **Make your changes** in the appropriate directories
2. **Test locally** using `pnpm dev` or `pnpm test`
3. **Check different environments** with production builds
4. **Verify documentation** changes with `pnpm dev:docs` (if applicable)
5. **Commit your changes** following the commit message format below
| Emoji | Type | Example | Description (No Ambiguous) |
| :-------------------------------------------- | :------- | :----------------------------------------------------------- | :----------------------------------------------------------- |
| :tada: <br>:sparkles: | Feat | Feat: add {feature} | new feature |
| :truck: | | Feat: adjust/migrate {feature name}{change details} | For the adjustment feature, it is necessary to describe the current situation (before) and after adjustment (after) |
| :fire: | | Feat: delete {feature name}, {deletion reason} | If the feature is deleted, the reason for deletion must be explained |
| :bug: <br>:construction: <br>:rotating_light: | Fix | Fix: fix {bug description} | Fix known bugs |
| :art: <br>:lipstick: <br>:pencil2: | Style | Style: Typesetting/CSS style {optimizing content} | Changes that do not affect code operation, such as code layout and style change |
| :recycle: | Refactor | Refactor: override {feature name} | It is neither a new function nor a code change to fix a bug. Simply rewriting the code of a function does not affect the function result |
| :zap: | Perf | Perf: improve performance {function name}, {improve content} | Optimize code performance |
| :rewind: | Revert | Revert: restore version {commit message of restore version} | Restore the version of one commit |
| :pencil: <br>:pencil2: | Docs | Docs: revise comments/update documents | Adjustment of documents and notes |
| :wrench: | Chore | Chore: update plugin version | Changes in the construction process or auxiliary tools |
## Pull Request Guidelines
- Create a feature branch from `main`
- Make your changes with clear, focused commits
- Test your changes thoroughly
- Update documentation if needed
- Submit a pull request with a clear description
Finally, create a new pull request at <https://github.com/hugo-fixit/FixIt/pulls> to submit your contribution 🎉
## Git Commit Guidelines
We follow the [Conventional Commits](https://www.conventionalcommits.org/) specification for commit messages. This enables automatic changelog generation using our custom template: [conventional.hbs](https://github.com/Lruihao/auto-changelog-plus/blob/main/settings/conventional.hbs).
> [!NOTE]
>
> Commits in a PR will normally be squashed into one commit, so you don't need to rebase locally.
### Commit Message Format
```
<type>(<scope>): <subject>
^ ^ ^
| | |__ Subject: Concise description of the change (imperative mood, lowercase).
| |____________ Scope: The specific part of the codebase affected (optional but recommended).
|___________________ Type: Indicates the kind of change.
```
### Allowed Types
- `feat`: A new feature.
- `fix`: A bug fix.
- `refactor`: Code changes that neither fix a bug nor add a feature.
- `chore`: Changes to the build process, auxiliary tools, libraries, documentation generation etc.
- `docs`: Documentation only changes.
- Other conventional types like `perf`, `style`, `test`, `ci`, `build` are also acceptable.
### Allowed Scopes
- `workflow`: CI/CD workflow changes (`.github/workflows/`)
- `archetypes`: Content templates (`archetypes/`)
- `assets`: Changes to theme assets like CSS, JS (`assets/`)
- `i18n`: Internationalization and translation files (`i18n/`)
- `layouts`: Root-level Hugo template files (`layouts/*.html`)
- `config`: Theme configuration (`hugo.toml`, `theme.toml`)
- _(All top-level directories in the layouts and packages directories)_
- _(Consider adding other scopes as needed for better granularity)_
### Examples
- `feat(_shortcodes): add mapbox zoom control options`
- `fix(_partials): avoid duplicate canonical link tags`
- `docs(i18n): update translation key naming guidelines`
- `ci(workflow): optimize preview deployment cache`
- `refactor(assets): split theme initialization into smaller modules`
+1 -1
View File
@@ -2,7 +2,7 @@ The MIT License (MIT)
Copyright (c) 2018 LIUZHICHAO.COM
Copyright (c) 2019-2020 DILLONZQ.COM
Copyright (c) 2021-2022 LRUIHAO.CN
Copyright (c) 2021-present Lruihao (https://lruihao.cn)
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
+278 -187
View File
@@ -1,235 +1,326 @@
# FixIt Theme | Hugo
<!-- markdownlint-disable-file MD033 MD041 -->
![Hugo Theme FixIt](https://fixit.lruihao.cn/images/apple-devices-preview.png)
[![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)
<div align="center" class="ignore">
<p>
FixIt is a clean, elegant but advanced blog theme for <a href="https://gohugo.io/">Hugo</a>.<br>
<em><sub>Don't forget to leave a ⭐️ if you like this theme, thanks!</sub></em>
</p>
English |
<a href="/README.zh-cn.md">简体中文</a> |
<a href="https://fixit.lruihao.cn/zh-cn/ecosystem/hugo-fixit/fixit/?lang=chinese_traditional">繁體中文</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=french">Français</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=russian">Русский язык</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=spanish">Español</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=hindi">हिन्दी</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=deutsch">deutsch</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=korean">한국어</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=japanese">しろうと</a>
</div>
English README | [简体中文说明](https://github.com/Lruihao/FixIt/blob/master/README.zh-cn.md)
<a title="FixIt website" href="https://fixit.lruihao.cn"><img align="right" alt="FixIt logo" width="70" height="70" src="https://avatars.githubusercontent.com/u/110414864?s=200&v=4"></a>
> **FixIt** is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/).
# FixIt
It is based on the original [LoveIt Theme](https://github.com/dillonzq/LoveIt), [LeaveIt Theme](https://github.com/liuzc/LeaveIt) and [KeepIt Theme](https://github.com/Fastbyte01/KeepIt).
> It is based on the original [LoveIt](https://github.com/dillonzq/LoveIt) Theme, [KeepIt](https://github.com/Fastbyte01/KeepIt) Theme and [LeaveIt](https://github.com/liuzc/LeaveIt) Theme.
[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.
[![Build](https://img.shields.io/github/deployments/hugo-fixit/FixIt/Production?style=flat&label=Build&logo=vercel)](https://demo.fixit.lruihao.cn/)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/hugo-fixit/FixIt?style=flat&label=Release&logo=github&include_prereleases)](https://github.com/hugo-fixit/FixIt/releases)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.156.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat&label=License)](/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/hugo-fixit/FixIt?style=social)](https://github.com/hugo-fixit/FixIt)
[![Gitee star of FixIt](https://gitee.com/lruihao/FixIt/badge/star.svg)](https://gitee.com/lruihao/FixIt/stargazers)
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.
## Live Preview
![Hugo Theme FixIt](https://github.com/Lruihao/FixIt/raw/master/images/Apple-Devices-Preview.png)
<p align="center">
💟 <a href="https://fixit.lruihao.cn">Docs</a> | ❇️ <a href="https://demo.fixit.lruihao.cn/test/">Test</a> | 🚼 <a href="https://demo.fixit.lruihao.cn">Demo</a> | 🆕 <a href="https://hugo-fixit.github.io/hugo-fixit-starter/">Starter</a>
<br>
<br>
More FixIt examples <a href="https://fixit.lruihao.cn/showcase/">here</a>.
</p>
## 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.
## Usage
### [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
### [Documentation](https://fixit.lruihao.cn/categories/documentation/)
Build Documentation Locally:
Head to the [Quick Start](https://fixit.lruihao.cn/documentation/getting-started/quick-start/) page for a step-by-step guide on how to create a new website with FixIt.
Outline: [Installation](https://fixit.lruihao.cn/documentation/installation/) ➜ [Getting Started](https://fixit.lruihao.cn/documentation/getting-started/) ➜ [Content Management](https://fixit.lruihao.cn/documentation/content-management/) ➜ [Advanced Usage](https://fixit.lruihao.cn/documentation/advanced/)
### Starter Wizard
We provided a CLI tool to help you create a new project with FixIt by a single command.
```bash
hugo server --source=exampleSite
pnpx fixit-cli create my-blog
```
Of course, you can also read the [FixIt wiki](https://github.com/Lruihao/FixIt/wiki) directly.
[![asciicast](https://asciinema.org/a/697494.svg)](https://asciinema.org/a/697494)
## Migrate from LoveIt
### Templates
If you are currently using the LoveIt theme (or some other themes), it is very easy to migrate to FixIt.
Click the following links to generate a new repository with template:
You can add this repo as a submodule of your site directory.
| Template | repository | Generate link |
| :-------------------------------------------- | :-------------------------------- | :----------------------------: |
| A quick-start template base on Hugo Modules. | [hugo-fixit-starter][starter] | [Click][starter:generate] |
| A quick-start template base on Git submodule. | [hugo-fixit-starter1][starter1] | [Click][starter1:generate] |
| Build multilingual sites using Fixit theme. | [docs][docs] | [Click][docs:generate] |
| Customize with FixIt theme. | [Lruihao/hugo-blog][lruihao-blog] | [Click][lruihao-blog:generate] |
```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
```
Next, go to the `config.toml` and change the default theme to `FixIt`.
```diff
- theme = "LoveIt"
+ theme = "FixIt"
```
Now the migration is finished and everything is ready 🎉
## 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
* ...
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.
[starter]: https://github.com/hugo-fixit/hugo-fixit-starter
[starter:generate]: https://github.com/hugo-fixit/hugo-fixit-starter/generate
[starter1]: https://github.com/hugo-fixit/hugo-fixit-starter1
[starter1:generate]: https://github.com/hugo-fixit/hugo-fixit-starter1/generate
[docs]: https://github.com/hugo-fixit/docs
[docs:generate]: https://github.com/hugo-fixit/docs/generate
[lruihao-blog]: https://github.com/Lruihao/hugo-blog
[lruihao-blog:generate]: https://github.com/Lruihao/hugo-blog/generate
## Features
<details>
<summary>Click to view.</summary>
### Performance and SEO
* Optimized for **performance**: 99/100 on mobile and 100/100 on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights)
* Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD
* **[Google Analytics](https://analytics.google.com/analytics)** supported
* **[Fathom Analytics](https://usefathom.com/)** supported
* Search engine **verification** supported (Google, Bind, Yandex and Baidu)
* **CDN** for third-party libraries supported
* Automatically converted images with **Lazy Load** by [lazysizes](https://github.com/aFarkas/lazysizes)
- Optimized for **performance**: 99/100 on mobile and 100/100 on desktop in [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights)
- Optimized SEO performance with a correct **SEO SCHEMA** based on JSON-LD
- **[Google Analytics](https://analytics.google.com/analytics)** supported
- **[Fathom Analytics](https://usefathom.com/)** supported
- **[Baidu Analytics](https://tongji.baidu.com/)** supported
- **[Umami Analytics](https://umami.is/)** supported
- **[Plausible Analytics](https://plausible.io/)** supported
- **[Cloudflare Web Analytics](https://www.cloudflare.com/web-analytics)** supported
- **[Splitbee Analytics](https://splitbee.io)** supported
- Search engine **verification** supported (Google, Bing, Yandex, Pinterest, Baidu, 360 and Sogou)
- **CDN** for third-party libraries supported
### Appearance and Layout
* **Responsive** layout
* **Light/Dark** mode
* Globally consistent **design language**
* **Pagination** supported
* Easy-to-use and self-expanding **table of contents**
* **Multilanguage** supported and i18n ready
* Beautiful **CSS animation**
- **Responsive** layout
- **Light/Dark** mode
- Globally consistent **design language**
- **Pagination** supported
- Easy-to-use and self-expanding **table of contents**
- **Multilanguage** supported and i18n ready
- Beautiful **CSS animation**
### Social and Comment Systems
* **Gravatar** supported by [Gravatar](https://gravatar.com)
* Local **Avatar** supported
* Up to **73** social links supported
* Up to **28** share sites supported
* **Disqus** comment system supported by [Disqus](https://disqus.com)
* **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk)
* **Valine** comment system supported by [Valine](https://valine.js.org/)
* **Waline** comment system supported by [Waline](https://waline.js.org/)
* **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/)
* **Telegram comments** system supported by [Telegram Comments](https://comments.app/)
* **Commento** comment system supported by [Commento](https://commento.io/)
* **Utterances** comment system supported by [Utterances](https://utteranc.es/)
* **Artalk** comment system supported by [Artalk](https://artalk.js.org/)
* **Twikoo** comment system supported by [Twikoo](https://twikoo.js.org/)
- **Gravatar** supported by [Gravatar](https://gravatar.com)
- Local **Avatar** supported
- Up to **87** social links supported
- Up to **28** share sites supported
- **Disqus** comment system supported by [Disqus](https://disqus.com)
- **Gitalk** comment system supported by [Gitalk](https://github.com/gitalk/gitalk)
- **Valine** comment system supported by [Valine](https://valine.js.org/)
- **Waline** comment system supported by [Waline](https://waline.js.org/)
- **Facebook comments** system supported by [Facebook](https://developers.facebook.com/docs/plugins/comments/)
- **Telegram comments** system supported by [Telegram Comments](https://comments.app/)
- **Commento** comment system supported by [Commento](https://commento.io/)
- **Utterances** comment system supported by [Utterances](https://utteranc.es/)
- **Artalk** comment system supported by [Artalk](https://artalk.js.org/)
- **Twikoo** comment system supported by [Twikoo](https://twikoo.js.org/)
- **giscus** comment system supported by [giscus](https://giscus.app/)
### Extended Features
* **Search** supported by [Lunr.js](https://lunrjs.com/) or [algolia](https://www.algolia.com/)
* **Twemoji** supported
* Automatically **highlighting** code
* **Copy code** to clipboard with one click
* **Images gallery** supported by [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons**
* Extended Markdown syntax for **ruby annotation**
* Extended Markdown syntax for **fraction**
* **Mathematical formula** supported by [KaTeX](https://katex.org/)
* **Diagrams** shortcode supported by [mermaid](https://github.com/knsv/mermaid)
* **Interactive data visualization** shortcode supported by [ECharts](https://echarts.apache.org/)
* **Mapbox** shortcode supported by [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
* **Music player** shortcode supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS)
* **Bilibili player** shortcode
* Kinds of **admonitions** shortcode
* **Custom style** shortcode
* **Custom script** shortcode
* **Animated typing** supported by [TypeIt](https://typeitjs.com/)
* **Cookie consent banner** supported by [cookieconsent](https://github.com/osano/cookieconsent)
* **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
* ...
- **AI Summary**, **AI Search** and **AI Chatbot** supported by [PostChat](https://ai.zhheo.com/console/login?InviteID=85041330)
- **PWA (Progressive Web App)** supported
- **Sub Menu** supported
- **Content Encryption** supported (Pages, Partial)
- **Friends** page embedded template
- **Search** supported by [algolia](https://www.algolia.com/), [Fuse.js](https://fusejs.io/), CSE or [PostChat](https://ai.zhheo.com/console/login?InviteID=85041330)
- **Custom Search Engine (CSE)** supported by [Google](https://programmablesearchengine.google.com/)
- **Twemoji** supported
- Automatically **highlighting** code
- **Copy code** to clipboard with one click
- **Images gallery** supported by [lightgallery](https://github.com/sachinchoolur/lightgallery)
- Extended Markdown syntax for **[Font Awesome](https://fontawesome.com/) icons**
- Extended Markdown syntax for **ruby annotation**
- Extended Markdown syntax for **fraction**
- Multiple **admonitions** shortcode or **alerts** extended Markdown syntax
- **Tabs** and **Tab** shortcode with multiple design styles
- **Mathematical formula** supported by [KaTeX](https://katex.org/) or [MathJax](https://www.mathjax.org)
- **Diagrams** code fences extended and shortcode supported by [mermaid](https://github.com/knsv/mermaid)
- **Interactive data visualization** shortcode and code fences extended supported by [ECharts](https://echarts.apache.org/)
- **Timeline** code fences extended and shortcode supported
- **File tree** code fences extended and shortcode supported
- **Mapbox** shortcode supported by [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
- **Music player** shortcode supported by [APlayer](https://github.com/MoePlayer/APlayer) and [MetingJS](https://github.com/metowolf/MetingJS)
- **Bilibili player** and **Douyin player** shortcode
- **Custom style** shortcode
- **Custom script** shortcode
- Open more **custom blocks**
- **Animated typing** supported by [TypeIt](https://typeitjs.com/)
- **Cookie consent banner** supported by [cookieconsent](https://github.com/osano/cookieconsent)
- **Web Watermark** supported by [cell-watermark](https://github.com/Lruihao/watermark)
- **Chinese typesetting** supported by [pangu.js](https://github.com/vinta/pangu.js)
- Options to **cache remote image** locally
- ...
</details>
## Multilingual and i18n
FixIt supports the following languages:
FixIt supports multilingual and i18n. For more information, see the [Content Management](https://fixit.lruihao.cn/documentation/content-management/introduction#multilingual) documentation. You are welcome to [contribute with a new language](https://github.com/hugo-fixit/FixIt/pulls).
* English
* Simplified Chinese
* French
* Polish
* Brazilian Portuguese
* Italian
* Spanish
* German
* Serbian
* Russian
* Romanian
* Vietnamese
* Traditional Chinese
* [Contribute with a new language](https://github.com/Lruihao/FixIt/pulls)
[Languages Compatibility](https://fixit.lruihao.cn/theme-documentation-basics/#language-compatibility)
<details>
<summary>FixIt supports the following languages.</summary>
## [Roadmap](https://github.com/Lruihao/FixIt/projects/1)
- English
- Simplified Chinese
- Traditional Chinese
- French
- Polish
- Brazilian Portuguese
- Italian
- Spanish
- German
- Serbian
- Russian
- Romanian
- Vietnamese
- Hindi
- Japanese
- Korean
## [Changelog](https://github.com/Lruihao/FixIt/blob/master/CHANGELOG.md)
</details>
## Questions, ideas, bugs, pull requests
## Theme Components
All feedback is welcome! Head over to the [issue tracker](https://github.com/Lruihao/FixIt/issues).
The FixIt theme balances **simplicity** and **extensibility** with extra [Hugo theme components](https://fixit.lruihao.cn/ecosystem/#-components) for customization.
<details>
<summary>Click to view.</summary>
<!-- HUGO_FIXIT_COMPONENTS:START -->
- [fixit-bundle](https://github.com/hugo-fixit/fixit-bundle)\
🌲 Bundles the FixIt core theme and all hugo-fixit components into a single component.
- [cmpt-flyfish](https://github.com/hugo-fixit/cmpt-flyfish)\
🐟 A canvas implemented animation effect of small fish swimming.
- [cmpt-mdevtools](https://github.com/hugo-fixit/cmpt-mdevtools)\
Mobile devtools component powered by vConsole and eruda.
- [cmpt-santa-hat](https://github.com/hugo-fixit/cmpt-santa-hat)\
A Christmas Easter Egg by JavaScript.
- [cmpt-translate](https://github.com/hugo-fixit/cmpt-translate)\
🌐 A component for site automatic translation.
- [component-projects](https://github.com/hugo-fixit/component-projects)\
🐙 Display your GitHub projects in the FixIt theme and generate blog posts from readme.
- [hugo-atom-feed](https://github.com/hugo-fixit/hugo-atom-feed)\
Hugo theme component for ATOM feed custom Output Format.
- [hugo-json-feed](https://github.com/hugo-fixit/hugo-json-feed)\
Hugo theme component for JSON feed custom Output Format.
- [shortcode-asciinema](https://github.com/hugo-fixit/shortcode-asciinema)\
A Hugo theme component with asciinema-embed shortcode.
- [shortcode-caniuse](https://github.com/hugo-fixit/shortcode-caniuse)\
A Hugo theme component with caniuse shortcode.
- [shortcode-docs-bookmark](https://github.com/hugo-fixit/shortcode-docs-bookmark)\
🔖 Embed bookmark of FixIt Docs.
- [shortcode-missing-translation](https://github.com/hugo-fixit/shortcode-missing-translation)\
A Hugo theme component with missing-translation shortcode.
- [shortcode-mmt-netease](https://github.com/hugo-fixit/shortcode-mmt-netease)\
🎶 A Hugo theme component with a NetEase Cloud random comment shortcode.
- [shortcode-rewards](https://github.com/hugo-fixit/shortcode-rewards)\
A Hugo theme component with reward-log or sponsor-log shortcode.
<!-- HUGO_FIXIT_COMPONENTS:END -->
</details>
## Community
All feedback is welcome! Head over to the [discussions][discussions], [Pull requests][pulls] and [issues][issues] tracker.
| Official Community | Description |
| :-------------------------- | :------------------------------ |
| [Discussions][discussions] | GitHub discussion forum |
| [FixIt WeChat group][wx-mp] | Follow and reply "FixIt" to get |
| [FixIt QQ group][qq-group] | QQ group: `814031017` |
| [Hugo FixIt Planet][zsxq] | Paid knowledge Planet |
[discussions]: https://github.com/hugo-fixit/FixIt/discussions
[pulls]: https://github.com/hugo-fixit/FixIt/pulls
[issues]: https://github.com/hugo-fixit/FixIt/issues
[qq-group]: https://qm.qq.com/cgi-bin/qm/qr?k=awbwdTtSQ_-H5QGzeJxdWgv6JMbNehNM&jump_from=webapi
[zsxq]: https://t.zsxq.com/GgKEW
[wx-mp]: https://lruihao.cn/images/qr-wx-mp.webp
## Contributing
We welcome you to join the development of FixIt. Please see [contributing document](/CONTRIBUTING.md). 🤗
Also, we welcome Issue or PR to our [official-components](https://github.com/hugo-fixit).
> [!note]
> When contributing, please first discuss the change you wish to make via a discussion on this repository before making the actual change.
## Acknowledgements
Thanks to the support of [all contributors](https://github.com/hugo-fixit/FixIt/graphs/contributors)!
Thanks to the [Hugo DoIt](https://github.com/HEIGE-PCloud/DoIt) theme and [Hexo NexT](https://github.com/next-theme/hexo-theme-next) theme for inspiration and reference.
<details>
<summary>Thanks to all the open source projects used in the FixIt theme.</summary>
- [normalize.css](https://github.com/necolas/normalize.css)
- [Font Awesome](https://fontawesome.com/)
- [Simple Icons](https://github.com/simple-icons/simple-icons)
- [Animate.css](https://daneden.github.io/animate.css/)
- [autocomplete-js](https://github.com/algolia/autocomplete)
- [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
- [Fuse.js](https://fusejs.io/)
- [object-fit-images](https://github.com/fregante/object-fit-images)
- [Twemoji](https://github.com/twitter/twemoji)
- [emoji-data](https://github.com/iamcal/emoji-data)
- [lightgallery](https://github.com/sachinchoolur/lightgallery)
- [Sharer.js](https://github.com/ellisonleao/sharer.js)
- [TypeIt](https://typeitjs.com/)
- [KaTeX](https://katex.org/)
- [MathJax](https://www.mathjax.org)
- [mermaid](https://github.com/mermaid-js/mermaid)
- [ECharts](https://echarts.apache.org/)
- [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
- [APlayer](https://github.com/MoePlayer/APlayer)
- [MetingJS](https://github.com/metowolf/MetingJS)
- [Gitalk](https://github.com/gitalk/gitalk)
- [Valine](https://valine.js.org/)
- [cookieconsent](https://github.com/osano/cookieconsent)
- [cell-watermark](https://github.com/Lruihao/watermark)
- [不蒜子](http://busuanzi.ibruce.info/)
- [Vercount](https://github.com/EvanNotFound/vercount)
- [pangu.js](https://github.com/vinta/pangu.js)
- [Artalk](https://artalk.js.org/)
- [Waline](https://waline.js.org/)
- [Twikoo](https://twikoo.js.org/)
- [github-corners](https://github.com/tholman/github-corners)
- [giscus](https://giscus.app/zh-CN)
- [crypto-js](https://github.com/brix/crypto-js)
- [pace](https://github.com/CodeByZach/pace)
- [xxhash-wasm](https://github.com/jungomi/xxhash-wasm)
- [`<tab-container>` element](https://github.com/github/tab-container-element)
- [`<json-viewer>` element](https://github.com/Lruihao/json-viewer-element)
</details>
## License
FixIt is licensed under the **MIT** license. Check the [LICENSE file](https://github.com/Lruihao/FixIt/blob/master/LICENSE) for details.
FixIt is licensed under the **MIT** license. Check the [LICENSE file](/LICENSE) for details.
Thanks to the authors of following resources included in the theme:
## Sponsor Support
* [normalize.css](https://github.com/necolas/normalize.css)
* [Font Awesome](https://fontawesome.com/)
* [Simple Icons](https://github.com/simple-icons/simple-icons)
* [Animate.css](https://daneden.github.io/animate.css/)
* [autocomplete.js](https://github.com/algolia/autocomplete.js)
* [Lunr.js](https://lunrjs.com/)
* [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
* [lazysizes](https://github.com/aFarkas/lazysizes)
* [object-fit-images](https://github.com/fregante/object-fit-images)
* [Twemoji](https://github.com/twitter/twemoji)
* [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* [clipboard.js](https://github.com/zenorocha/clipboard.js)
* [Sharer.js](https://github.com/ellisonleao/sharer.js)
* [TypeIt](https://typeitjs.com/)
* [KaTeX](https://katex.org/)
* [mermaid](https://github.com/knsv/mermaid)
* [ECharts](https://echarts.apache.org/)
* [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
* [APlayer](https://github.com/MoePlayer/APlayer)
* [MetingJS](https://github.com/metowolf/MetingJS)
* [Gitalk](https://github.com/gitalk/gitalk)
* [Valine](https://valine.js.org/)
* [cookieconsent](https://github.com/osano/cookieconsent)
* [cell-watermark](https://github.com/Lruihao/watermark)
* [pangu.js](https://github.com/vinta/pangu.js)
* [Artalk](https://artalk.js.org/)
* [Waline](https://waline.js.org/)
* [Twikoo](https://twikoo.js.org/)
If you enjoy the theme, please consider buying me a cup of coffee ☕️. Thanks!
- [WeChat Pay](/images/wechatpay.jpg)
- [Alipay](/images/alipay.jpg)
- [PayPal](https://paypal.me/Lruihao)
Thanks to the following sponsors for their great support:
- [translate.js](https://github.com/xnx3/translate) sponsored [Enterprise Translation Channel](https://translate.zvo.cn/4087.html).
## Author
[Lruihao](https://lruihao.cn)
[Lruihao](https://github.com/Lruihao "Follow me on GitHub")
+275 -183
View File
@@ -1,234 +1,326 @@
# FixIt 主题 | Hugo
<!-- markdownlint-disable-file MD033 MD041 -->
![Hugo Theme FixIt](https://fixit.lruihao.cn/images/apple-devices-preview.png)
[![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)
<div align="center" class="ignore">
<p>
FixIt 是一个简洁、优雅且高效的 <a href="https://gohugo.io/">Hugo</a> 博客主题。<br>
<em><sub>如果你喜欢这个主题,别忘了留下一颗 ⭐️ 哦,谢谢!</sub></em>
</p>
<a href="/README.md">English</a> |
简体中文 |
<a href="https://fixit.lruihao.cn/zh-cn/ecosystem/hugo-fixit/fixit/?lang=chinese_traditional">繁體中文</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=french">Français</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=russian">Русский язык</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=spanish">Español</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=hindi">हिन्दी</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=deutsch">deutsch</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=korean">한국어</a> |
<a href="https://fixit.lruihao.cn/ecosystem/hugo-fixit/fixit/?lang=japanese">しろうと</a>
</div>
[English README](https://github.com/Lruihao/FixIt/blob/master/README.md) | 简体中文说明
<a title="FixIt 官网" href="https://fixit.lruihao.cn/zh-cn/"><img align="right" alt="FixIt logo" width="70" height="70" src="https://avatars.githubusercontent.com/u/110414864?s=200&v=4"></a>
> [FixIt](https://github.com/Lruihao/FixIt) 是一个**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。
# FixIt
它的原型基于 [LoveIt 主题](https://github.com/dillonzq/LoveIt), [LeaveIt 主题](https://github.com/liuzc/LeaveIt) 和 [KeepIt 主题](https://github.com/Fastbyte01/KeepIt)
> 它的原型基于 [LoveIt](https://github.com/dillonzq/LoveIt) 主题,[KeepIt](https://github.com/Fastbyte01/KeepIt) 主题和 [LeaveIt](https://github.com/liuzc/LeaveIt) 主题
[LoveIt 主题](https://github.com/dillonzq/LoveIt) 对我们来说是一个很棒的 Hugo 主题,很抱歉的是它的存储库已经停止维护很长一段时间了,所以我重建了一个名为 FixIt 的新主题,这样我可以更好地 **Fix It** 并使它用户体验更好。
[![Build](https://img.shields.io/github/deployments/hugo-fixit/FixIt/Production?style=flat&label=Build&logo=vercel)](https://demo.fixit.lruihao.cn/)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/hugo-fixit/FixIt?style=flat&label=Release&logo=github&include_prereleases)](https://github.com/hugo-fixit/FixIt/releases)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.156.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat&label=License)](/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/hugo-fixit/FixIt?style=social)](https://github.com/hugo-fixit/FixIt)
[![Gitee star of FixIt](https://gitee.com/lruihao/FixIt/badge/star.svg)](https://gitee.com/lruihao/FixIt/stargazers)
FixIt 主题继承了这些主题的优秀功能,并在此基础上添加了新的功能与优化,请阅读 [为什么选择 FixIt](#为什么选择-FixIt) 来了解更多。
## 即时预览
![Hugo Theme FixIt](https://github.com/Lruihao/FixIt/raw/master/images/Apple-Devices-Preview.png)
<p align="center">
💟 <a href="https://fixit.lruihao.cn">Docs</a> | ❇️ <a href="https://demo.fixit.lruihao.cn/test/">Test</a> | 🚼 <a href="https://demo.fixit.lruihao.cn">Demo</a> | 🆕 <a href="https://hugo-fixit.github.io/hugo-fixit-starter/">Starter</a>
<br>
<br>
更多 FixIt 的例子参见 <a href="https://fixit.lruihao.cn/zh-cn/showcase/">这里</a>。
</p>
## 立即开始
前往这篇 [文档](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/categories/documentation/)
在本地构建文档:
```bash
hugo server --source=exampleSite
```
前往 [快速上手](https://fixit.lruihao.cn/zh-cn/documentation/getting-started/quick-start/) 页面,了解如何使用 FixIt 主题创建一个新网站的详细步骤。
当然,你也可以直接阅读 [FixIt 主题维基](https://github.com/Lruihao/FixIt/wiki)
大纲:[安装篇](https://fixit.lruihao.cn/zh-cn/documentation/installation/) ➜ [入门篇](https://fixit.lruihao.cn/zh-cn/documentation/getting-started/) ➜ [内容管理](https://fixit.lruihao.cn/zh-cn/documentation/content-management/) ➜ [进阶篇](https://fixit.lruihao.cn/zh-cn/documentation/advanced/)
## 从 LoveIt 迁移
### 快速开始
如果你现在正在使用 LoveIt 主题(或者一些其他的主题),你可以很容易地迁移至 FixIt。
你可以将这个主题仓库添加为你的网站目录的子模块。
我们提供了一个 CLI 工具,可以通过一个命令来创建一个新的 FixIt 项目
```bash
git submodule add https://github.com/Lruihao/FixIt.git themes/FixIt
pnpx fixit-cli create my-blog
```
之后,你可以在站点目录通过这条命令来将主题更新至最新版本:
[![asciicast](https://asciinema.org/a/697494.svg)](https://asciinema.org/a/697494)
```bash
git submodule update --remote --merge
```
### 模板
或者在主题目录中使用 shell 命令 `fixit_checker.sh` 将主题更新至最新版本
点击以下链接使用模板生成一个新的仓库
```bash
sh fixit_checker.sh
```
| 模板 | 仓库 | 生成链接 |
| :---------------------------------- | :-------------------------------- | :-------------------------------: |
| 基于 Hugo Modules 的快速入门模板。 | [hugo-fixit-starter][starter] | [点击生成][starter:generate] |
| 基于 Git submodule 的快速入门模板。 | [hugo-fixit-starter1][starter1] | [点击生成][starter1:generate] |
| 使用 Fixit 主题构建多语言网站。 | [docs][docs] | [点击生成][docs:generate] |
| 基于 FixIt 主题进行自定义设置。 | [Lruihao/hugo-blog][lruihao-blog] | [点击生成][lruihao-blog:generate] |
接着,前往 `config.toml` 并将默认主题更改为 `FixIt`
[starter]: https://github.com/hugo-fixit/hugo-fixit-starter
[starter:generate]: https://github.com/hugo-fixit/hugo-fixit-starter/generate
[starter1]: https://github.com/hugo-fixit/hugo-fixit-starter1
[starter1:generate]: https://github.com/hugo-fixit/hugo-fixit-starter1/generate
[docs]: https://github.com/hugo-fixit/docs
[docs:generate]: https://github.com/hugo-fixit/docs/generate
[lruihao-blog]: https://github.com/Lruihao/hugo-blog
[lruihao-blog:generate]: https://github.com/Lruihao/hugo-blog/generate
```diff
- theme = "LoveIt"
+ theme = "FixIt"
```
## 特色
这样就完成了迁移工作,现在一切准备就绪 🎉
## 为什么选择 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 主题的设计语言和自由度,
如果你想便捷地使用扩展的 Font Awesome 图标,
如果你想在文章内嵌数学公式、流程图、音乐或是 Bilibili 视频,
那么,FixIt 主题可能是更适合你。
## 特性
<details>
<summary>点击展开</summary>
### 性能和 SEO
* **性能**优化:在 [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) 中, 99/100 的移动设备得分和 100/100 的桌面设备得分
* 使用基于 JSON-LD 格式 的 **SEO SCHEMA** 文件进行 SEO 优化
* 支持 **[Google Analytics](https://analytics.google.com/analytics)**
* 支持 **[Fathom Analytics](https://usefathom.com/)**
* 支持搜索引擎的**网站验证** (Google, Bind, Yandex and Baidu)
* 支持所有第三方库的 **CDN**
* 基于 [lazysizes](https://github.com/aFarkas/lazysizes) 自动转换图片为**懒加载**
- **性能**优化:在 [Google PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) 中,99/100 的移动设备得分和 100/100 的桌面设备得分
- 使用基于 JSON-LD 格式 的 **SEO SCHEMA** 文件进行 SEO 优化
- 支持 **[Google Analytics](https://analytics.google.com/analytics)**
- 支持 **[Fathom Analytics](https://usefathom.com/)**
- 支持 **[百度统计](https://tongji.baidu.com/)**
- 支持 **[Umami Analytics](https://umami.is/)**
- 支持 **[Plausible Analytics](https://plausible.io/)**
- 支持 **[Cloudflare Web Analytics](https://www.cloudflare.com/web-analytics)**
- 支持 **[Splitbee Analytics](https://splitbee.io)**
- 支持搜索引擎的**网站验证** (Google, Bing, Yandex, Pinterest, Baidu, 360 and Sogou)
- 支持所有第三方库的 **CDN**
### 外观和布局
* **响应式**布局
* **浅色/深色** 主题模式
* 全局一致的**设计语言**
* 支持**分页**
* 易用和自动展开的**文章目录**
* 支持**多语言**和国际化
* 美观的 **CSS 动画**
- **响应式**布局
- **浅色/深色** 主题模式
- 全局一致的**设计语言**
- 支持**分页**
- 易用和自动展开的**文章目录**
- 支持**多语言**和国际化
- 美观的 **CSS 动画**
### 社交和评论系统
* 支持 **[Gravatar](https://gravatar.com)** 头像
* 支持本地**头像**
* 支持多达 **73** 种社交链接
* 支持多达 **28** 种网站分享
* 支持 **[Disqus](https://disqus.com)** 评论系统
* 支持 **[Gitalk](https://github.com/gitalk/gitalk)** 评论系统
* 支持 **[Valine](https://valine.js.org/)** 评论系统
* 支持 **[Waline](https://waline.js.org/)** 评论系统
* 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统
* 支持 **[Telegram comments](https://comments.app/) 评论**系统
* 支持 **[Commento](https://commento.io/)** 评论系统
* 支持 **[Utterances](https://utteranc.es/)** 评论系统
* 支持 **[Artalk](https://artalk.js.org/)** 评论系统
* 支持 **[Twikoo](https://twikoo.js.org/)** 评论系统
- 支持 **[Gravatar](https://gravatar.com)** 头像
- 支持本地**头像**
- 支持多达 **87** 种社交链接
- 支持多达 **28** 种网站分享
- 支持 **[Disqus](https://disqus.com)** 评论系统
- 支持 **[Gitalk](https://github.com/gitalk/gitalk)** 评论系统
- 支持 **[Valine](https://valine.js.org/)** 评论系统
- 支持 **[Waline](https://waline.js.org/)** 评论系统
- 支持 **[Facebook](https://developers.facebook.com/docs/plugins/comments/) 评论**系统
- 支持 **[Telegram comments](https://comments.app/) 评论**系统
- 支持 **[Commento](https://commento.io/)** 评论系统
- 支持 **[Utterances](https://utteranc.es/)** 评论系统
- 支持 **[Artalk](https://artalk.js.org/)** 评论系统
- 支持 **[Twikoo](https://twikoo.js.org/)** 评论系统
- 支持 **[giscus](https://giscus.app/zh-CN/)** 评论系统
### 扩展功能
* 支持基于 [Lunr.js](https://lunrjs.com/) 或 [algolia](https://www.algolia.com/) 的**搜索**
* 支持 **Twemoji**
* 支持**代码高亮**
* 一键**复制代码**到剪贴板
* 支持基于 [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js) 的**图片画廊**
* 支持 **[Font Awesome](https://fontawesome.com/) 图标**的扩展 Markdown 语法
* 支持**上标注释**的扩展 Markdown 语法
* 支持**分数**的扩展 Markdown 语法
* 支持基于 [KaTeX](https://katex.org/) 的**数学公式**
* 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** shortcode
* 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** shortcode
* 支持基于 [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) 的 **Mapbox** shortcode
* 支持基于 [APlayer](https://github.com/MoePlayer/APlayer) 和 [MetingJS](https://github.com/metowolf/MetingJS) 的**音乐播放器** shortcode
* 支持 **Bilibili 视频** shortcode
* 支持多种**注释** shortcode
* 支持**自定义样式**的 shortcode
* 支持**自定义脚本**的 shortcode
* 支持基于 [TypeIt](https://typeitjs.com/) 的**打字动画** shortcode
* 支持基于 [cookieconsent](https://github.com/osano/cookieconsent) 的 **Cookie 许可横幅**
* 支持**渐进式网页应用**
* 支持基于 [cell-watermark](https://github.com/Lruihao/watermark) 的**网页水印**
* 支持基于 [pangu.js](https://github.com/vinta/pangu.js) 的**中文排版**
* 支持**卡片式链接** shortcode
* 支持**友情链接**的页面模板
* ...
- 支持基于 [PostChat](https://ai.zhheo.com/console/login?InviteID=85041330) 的 **AI 摘要**、**AI 搜索** 和 **AI 智能客服**
- 支持**渐进式网页应用**
- 支持**二级菜单**
- 支持**内容加密**(页面、局部)
- 支持**友情链接**的页面模板
- 支持基于 [algolia](https://www.algolia.com/)、[Fuse.js](https://fusejs.io/)、 **CSE** 或 [PostChat](https://ai.zhheo.com/console/login?InviteID=85041330) 的**搜索**
- 支持基于 [Google](https://programmablesearchengine.google.com/) 的**自定义搜索引擎 (CSE)**
- 支持 **Twemoji**
- 支持**代码高亮**
- 一键**复制代码**到剪贴板
- 支持基于 [lightgallery](https://github.com/sachinchoolur/lightgallery) 的**图片画廊**
- 支持 **[Font Awesome](https://fontawesome.com/) 图标**的 Markdown 扩展语法
- 支持**上标注释**的 Markdown 扩展语法
- 支持**分数**的 Markdown 扩展语法
- 支持多种 **admonitions** shortcode**alerts** 的 Markdown 扩展语法
- 支持**标签页**的 shortcode,提供多种设计样式
- 支持基于 [KaTeX](https://katex.org/) 或 [MathJax](https://www.mathjax.org) 的**数学公式**
- 支持基于 [mermaid](https://github.com/knsv/mermaid) 的**图表** 代码块扩展语法和 shortcode
- 支持基于 [ECharts](https://echarts.apache.org/) 的**交互式数据可视化** 代码块扩展语法和 shortcode
- 支持 **Timeline** 的代码块扩展语法和 shortcode
- 支持 **文件树** 的代码块扩展语法和 shortcode
- 支持基于 [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js) 的 **Mapbox** shortcode
- 支持基于 [APlayer](https://github.com/MoePlayer/APlayer) 和 [MetingJS](https://github.com/metowolf/MetingJS) 的**音乐播放器** shortcode
- 支持 **Bilibili 视频****抖音视频** shortcode
- 支持**自定义样式**的 shortcode
- 支持**自定义脚本**的 shortcode
- 支持**自定义模板块**
- 支持基于 [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) 的**中文排版**
- 支持本地**缓存远程图床图片**
- ……
</details>
## 多语言和国际化
FixIt 支持下列语言:
FixIt 主题多语言基本配置及自动翻译等详见 [内容管理](https://fixit.lruihao.cn/zh-cn/documentation/content-management/introduction#multilingual) 文档,欢迎 [贡献一种新的语言](https://github.com/hugo-fixit/FixIt/pulls)。
* 英语
* 简体中文
* 法语
* 波兰语
* 巴西葡萄牙语
* 意大利语
* 西班牙语
* 德语
* 塞尔维亚语
* 俄语
* 罗马尼亚语
* 越南语
* 繁体中文
* [贡献一种新的语言](https://github.com/Lruihao/FixIt/pulls)
[语言兼容性](https://fixit.lruihao.cn/zh-cn/theme-documentation-basics/#language-compatibility)
<details>
<summary>FixIt 支持下列语言。</summary>
## [路线图](https://github.com/Lruihao/FixIt/projects/1)
- 英语
- 简体中文
- 繁体中文
- 法语
- 波兰语
- 巴西葡萄牙语
- 意大利语
- 西班牙语
- 德语
- 塞尔维亚语
- 俄语
- 罗马尼亚语
- 越南语
- 印地语
- 日语
- 韩语
## [更新日志](https://github.com/Lruihao/FixIt/blob/master/CHANGELOG.md)
</details>
## 问题、想法、 bugs 和 PRs
## 主题组件
所有的反馈都是欢迎的!详见 [issue tracker](https://github.com/Lruihao/FixIt/issues)
FixIt 主题旨在在**简洁性**和**可扩展性**之间取得平衡。为此,我们开发了一系列额外的 [Hugo 主题组件](https://fixit.lruihao.cn/zh-cn/ecosystem/#-组件) 供用户选择
<details>
<summary>点击展开</summary>
<!-- HUGO_FIXIT_COMPONENTS:START -->
- [fixit-bundle](https://github.com/hugo-fixit/fixit-bundle)\
🌲 Bundles the FixIt core theme and all hugo-fixit components into a single component.
- [cmpt-flyfish](https://github.com/hugo-fixit/cmpt-flyfish)\
🐟 A canvas implemented animation effect of small fish swimming.
- [cmpt-mdevtools](https://github.com/hugo-fixit/cmpt-mdevtools)\
Mobile devtools component powered by vConsole and eruda.
- [cmpt-santa-hat](https://github.com/hugo-fixit/cmpt-santa-hat)\
A Christmas Easter Egg by JavaScript.
- [cmpt-translate](https://github.com/hugo-fixit/cmpt-translate)\
🌐 A component for site automatic translation.
- [component-projects](https://github.com/hugo-fixit/component-projects)\
🐙 Display your GitHub projects in the FixIt theme and generate blog posts from readme.
- [hugo-atom-feed](https://github.com/hugo-fixit/hugo-atom-feed)\
Hugo theme component for ATOM feed custom Output Format.
- [hugo-json-feed](https://github.com/hugo-fixit/hugo-json-feed)\
Hugo theme component for JSON feed custom Output Format.
- [shortcode-asciinema](https://github.com/hugo-fixit/shortcode-asciinema)\
A Hugo theme component with asciinema-embed shortcode.
- [shortcode-caniuse](https://github.com/hugo-fixit/shortcode-caniuse)\
A Hugo theme component with caniuse shortcode.
- [shortcode-docs-bookmark](https://github.com/hugo-fixit/shortcode-docs-bookmark)\
🔖 Embed bookmark of FixIt Docs.
- [shortcode-missing-translation](https://github.com/hugo-fixit/shortcode-missing-translation)\
A Hugo theme component with missing-translation shortcode.
- [shortcode-mmt-netease](https://github.com/hugo-fixit/shortcode-mmt-netease)\
🎶 A Hugo theme component with a NetEase Cloud random comment shortcode.
- [shortcode-rewards](https://github.com/hugo-fixit/shortcode-rewards)\
A Hugo theme component with reward-log or sponsor-log shortcode.
<!-- HUGO_FIXIT_COMPONENTS:END -->
</details>
## 社区支持
所有的反馈都是欢迎的!详见 [Discussions][discussions]、[Pull requests][pulls] 和 [Issues][issues]。
| 官方社区 | 说明 |
| :--------------------------------- | :------------------------------ |
| [Discussions][discussions] | GitHub 讨论区 |
| [FixIt 主题交流群(微信)][wx-mp] | 关注「菠菜眾長」回复“FixIt”获取 |
| [FixIt 主题交流群(QQ][qq-group] | QQ 群:`814031017` |
| [Hugo FixIt 星球][zsxq] | 付费知识星球 |
[discussions]: https://github.com/hugo-fixit/FixIt/discussions
[pulls]: https://github.com/hugo-fixit/FixIt/pulls
[issues]: https://github.com/hugo-fixit/FixIt/issues
[qq-group]: https://qm.qq.com/cgi-bin/qm/qr?k=awbwdTtSQ_-H5QGzeJxdWgv6JMbNehNM&jump_from=webapi
[zsxq]: https://t.zsxq.com/GgKEW
[wx-mp]: https://lruihao.cn/images/qr-wx-mp.webp
## 参与贡献
我们欢迎你加入 FixIt 的开发,贡献出你的一份力量。请看开源 [贡献指南](/CONTRIBUTING.md)。 🤗
你也可以随时向我们的 [官方插件](https://github.com/hugo-fixit) 提交 Issue 或 Pull Request。
> [!note]
> 在贡献时,请先通过此存储库上的讨论来讨论你希望进行的更改,然后再进行实际更改。
## 致谢
感谢 [所有贡献者](https://github.com/hugo-fixit/FixIt/graphs/contributors) 的支持!
感谢 [Hugo DoIt](https://github.com/HEIGE-PCloud/DoIt) 主题和 [Hexo NexT](https://github.com/next-theme/hexo-theme-next) 主题给予的灵感和借鉴。
<details>
<summary>感谢 FixIt 主题中使用的所有开源项目。</summary>
- [normalize.css](https://github.com/necolas/normalize.css)
- [Font Awesome](https://fontawesome.com/)
- [Simple Icons](https://github.com/simple-icons/simple-icons)
- [Animate.css](https://daneden.github.io/animate.css/)
- [autocomplete-js](https://github.com/algolia/autocomplete)
- [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
- [Fuse.js](https://fusejs.io/)
- [object-fit-images](https://github.com/fregante/object-fit-images)
- [Twemoji](https://github.com/twitter/twemoji)
- [emoji-data](https://github.com/iamcal/emoji-data)
- [lightgallery](https://github.com/sachinchoolur/lightgallery)
- [Sharer.js](https://github.com/ellisonleao/sharer.js)
- [TypeIt](https://typeitjs.com/)
- [KaTeX](https://katex.org/)
- [MathJax](https://www.mathjax.org)
- [mermaid](https://github.com/mermaid-js/mermaid)
- [ECharts](https://echarts.apache.org/)
- [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
- [APlayer](https://github.com/MoePlayer/APlayer)
- [MetingJS](https://github.com/metowolf/MetingJS)
- [Gitalk](https://github.com/gitalk/gitalk)
- [Valine](https://valine.js.org/)
- [cookieconsent](https://github.com/osano/cookieconsent)
- [cell-watermark](https://github.com/Lruihao/watermark)
- [不蒜子](http://busuanzi.ibruce.info/)
- [Vercount](https://github.com/EvanNotFound/vercount)
- [pangu.js](https://github.com/vinta/pangu.js)
- [Artalk](https://artalk.js.org/)
- [Waline](https://waline.js.org/)
- [Twikoo](https://twikoo.js.org/)
- [github-corners](https://github.com/tholman/github-corners)
- [giscus](https://giscus.app/zh-CN)
- [crypto-js](https://github.com/brix/crypto-js)
- [pace](https://github.com/CodeByZach/pace)
- [xxhash-wasm](https://github.com/jungomi/xxhash-wasm)
- [`<tab-container>` element](https://github.com/github/tab-container-element)
- [`<json-viewer>` element](https://github.com/Lruihao/json-viewer-element)
</details>
## 许可协议
FixIt 根据 **MIT** 许可协议授权。 更多信息请查看 [LICENSE 文件](https://github.com/Lruihao/FixIt/blob/master/LICENSE)。
FixIt 根据 **MIT** 许可协议授权。更多信息请查看 [LICENSE 文件](/LICENSE)。
FixIt 主题中用到了以下项目,感谢它们的作者:
## 赞助支持
* [normalize.css](https://github.com/necolas/normalize.css)
* [Font Awesome](https://fontawesome.com/)
* [Simple Icons](https://github.com/simple-icons/simple-icons)
* [Animate.css](https://daneden.github.io/animate.css/)
* [autocomplete.js](https://github.com/algolia/autocomplete.js)
* [Lunr.js](https://lunrjs.com/)
* [algoliasearch](https://github.com/algolia/algoliasearch-client-javascript)
* [lazysizes](https://github.com/aFarkas/lazysizes)
* [object-fit-images](https://github.com/fregante/object-fit-images)
* [Twemoji](https://github.com/twitter/twemoji)
* [lightgallery.js](https://github.com/sachinchoolur/lightgallery.js)
* [clipboard.js](https://github.com/zenorocha/clipboard.js)
* [Sharer.js](https://github.com/ellisonleao/sharer.js)
* [TypeIt](https://typeitjs.com/)
* [KaTeX](https://katex.org/)
* [mermaid](https://github.com/knsv/mermaid)
* [ECharts](https://echarts.apache.org/)
* [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js)
* [APlayer](https://github.com/MoePlayer/APlayer)
* [MetingJS](https://github.com/metowolf/MetingJS)
* [Gitalk](https://github.com/gitalk/gitalk)
* [Valine](https://valine.js.org/)
* [cookieconsent](https://github.com/osano/cookieconsent)
* [cell-watermark](https://github.com/Lruihao/watermark)
* [pangu.js](https://github.com/vinta/pangu.js)
* [Artalk](https://artalk.js.org/)
* [Waline](https://waline.js.org/)
* [Twikoo](https://twikoo.js.org/)
如果你喜爱这个主题,请考虑给我买杯咖啡 ☕️,谢谢!
- [微信支付](/images/wechatpay.jpg)
- [支付宝](/images/alipay.jpg)
- [PayPal](https://paypal.me/Lruihao)
感谢以下赞助商提供大力支持:
- [translate.js](https://github.com/xnx3/translate) 赞助[企业级翻译通道](https://translate.zvo.cn/4087.html)
## 作者
[Lruihao](https://lruihao.cn)
[Lruihao](https://github.com/Lruihao "在 GitHub 上关注我")
+73
View File
@@ -0,0 +1,73 @@
# Security Policy
## Supported Versions
Only the latest version receives active maintenance and security updates:
| Version | Hugo Version | LoveIt Compat | Supported |
| :-----: | :---------------: | :----------------: | :----------------: |
| 0.4.x | 0.147.7 ~ latest | N/A | :white_check_mark: |
| 0.3.x | 0.112.0 ~ 0.146.0 | N/A | :x: |
| 0.2.x | 0.62.0 ~ 0.110.0 | :white_check_mark: | :x: |
| 0.1.x | Unknown | :white_check_mark: | :x: |
## Security Considerations
### Theme Security Features
- **Content Security Policy (CSP)** support
- **Subresource Integrity (SRI)** for external resources
- **XSS protection** through Hugo's built-in escaping
- **Safe HTML rendering** with configurable markup
- **Secure defaults** for all theme configurations
### Best Practices
1. **Keep Hugo Updated**: Always use the latest stable Hugo version
2. **Regular Updates**: Update the theme regularly to get security patches
3. **Content Validation**: Validate user-generated content before publishing
4. **HTTPS Only**: Always deploy sites with HTTPS enabled
### Known Security Considerations
- External CDN resources should be reviewed before enabling
- User-generated content requires proper sanitization
- Third-party integrations (comments, analytics) should be configured securely
## Reporting a Vulnerability
We take security seriously and appreciate your help in keeping FixIt secure.
### How to Report
1. **Create an Issue**: Report vulnerabilities at https://github.com/hugo-fixit/FixIt/issues
2. **Private Disclosure**: For sensitive security issues, email the maintainers directly
3. **Include Details**: Provide clear steps to reproduce the vulnerability
### What to Include
- **Description**: Clear description of the vulnerability
- **Impact**: Potential impact and severity
- **Reproduction**: Step-by-step instructions to reproduce
- **Environment**: Hugo version, theme version, and platform details
- **Solution**: Suggested fix if you have one
### Response Timeline
- **Acknowledgment**: Within 48 hours
- **Initial Assessment**: Within 1 week
- **Status Updates**: Weekly updates on progress
- **Resolution**: Security fixes are prioritized and released as soon as possible
### Disclosure Policy
- We follow responsible disclosure practices
- We will coordinate with you on the disclosure timeline
## Security Resources
- [Hugo Security Model](https://gohugo.io/about/security/)
- [OWASP Web Security Testing Guide](https://owasp.org/www-project-web-security-testing-guide/)
- [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP)
<!-- This security policy was enhanced and generated with assistance from GitHub Copilot AI -->
+13
View File
@@ -0,0 +1,13 @@
---
title: My First Post
date: 2023-02-20T20:14:22+08:00
draft: false
categories:
- blog
collections:
- blog
tags:
- blog
---
A blog (a truncation of "weblog") is an informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order so that the most recent post appears first, at the top of the web page. Until 2009, blogs were usually the work of a single individual,[citation needed] occasionally of a small group, and often covered a single subject or topic. In the 2010s, "multi-author blogs" (MABs) emerged, featuring the writing of multiple authors and sometimes professionally edited. MABs from newspapers, other media outlets, universities, think tanks, advocacy groups, and similar institutions account for an increasing quantity of blog traffic. The rise of Twitter and other "microblogging" systems helps integrate MABs and single-author blogs into the news media. Blog can also be used as a verb, meaning to maintain or add content to a blog.
+36
View File
@@ -0,0 +1,36 @@
# =====================================================================================
# The following is a necessary configuration for the FixIt theme.
# =====================================================================================
# -------------------------------------------------------------------------------------
# Hugo Configuration
# See: https://gohugo.io/getting-started/configuration/
# -------------------------------------------------------------------------------------
title = "Hugo FixIt Demo"
baseURL = "https://demo.fixit.lruihao.cn/"
# theme = "FixIt"
[markup]
_merge = "shallow"
[outputs]
_merge = "shallow"
# -------------------------------------------------------------------------------------
# Taxonomies Configuration
# See: https://gohugo.io/content-management/taxonomies/#configure-taxonomies
# -------------------------------------------------------------------------------------
[taxonomies]
_merge = "shallow"
# -------------------------------------------------------------------------------------
# Theme Core Configuration
# See: https://fixit.lruihao.cn/documentation/basics/#theme-configuration
# -------------------------------------------------------------------------------------
[params]
# FixIt theme version
version = "0.3.X" # e.g. "0.2.X", "0.2.15", "v0.2.15" etc.
# ...
+8
View File
@@ -0,0 +1,8 @@
{
"name": "@hugo-fixit/demo",
"private": true,
"scripts": {
"build": "hugo --themesDir ../../.. --theme $PWD/../.. --gc --minify --logLevel info",
"dev": "hugo server --themesDir ../../.. --theme $PWD/../.. -D --disableFastRender --navigateToChanged --ignoreCache -O"
}
}
+72
View File
@@ -0,0 +1,72 @@
[
{
"name": "src-json",
"type": "dir",
"children": [
{
"name": "index.ts",
"type": "file"
},
{
"name": "components",
"type": "dir",
"children": [
{
"name": "Header.tsx",
"type": "file"
},
{
"name": "Footer.tsx",
"type": "file"
}
]
},
{
"name": "utils",
"type": "dir",
"children": [
{
"name": "helper.ts",
"type": "file"
},
{
"name": "validator.ts",
"type": "file"
}
]
}
]
},
{
"name": "public",
"type": "dir",
"children": [
{
"name": "favicon.ico",
"type": "file"
},
{
"name": "images",
"type": "dir",
"children": [
{
"name": "logo.png",
"type": "file"
}
]
}
]
},
{
"name": "package.json",
"type": "file"
},
{
"name": "README.md",
"type": "file"
},
{
"name": "tsconfig.json",
"type": "file"
}
]
+4
View File
@@ -0,0 +1,4 @@
---
title: All Tests
titleIcon: fa-solid fa-flask
---
@@ -0,0 +1,165 @@
---
title: Alerts and Admonition Syntax Test
date: 2025-09-05T16:57:58+08:00
collections:
- Tests
categories:
- Markdown
- Shortcodes
tags:
- Alerts
- Admonition
---
This article comprehensively tests the **Alerts** Markdown syntax extension and **Admonition** shortcode functionality in the FixIt theme.
<!--more-->
## Basic Alerts Syntax
> [!NOTE]
> Highlights information that users should take into account, even when skimming.
> [!TIP]
> Optional information to help a user be more successful.
> [!IMPORTANT]
> Crucial information necessary for users to succeed.
> [!WARNING]
> Critical content demanding immediate user attention due to potential risks.
> [!CAUTION]
> Negative potential consequences of an action.
## Extended Alerts Syntax
### Custom Titles
> [!NOTE] FixIt
> A clean, elegant but advanced Hugo theme.
> [!TIP] This is a title-only alert.
### Foldable Alerts
Create foldable alerts by adding a plus (+) or minus (-) directly after the type identifier:
> [!WARNING]+ Radiation Hazard
> Do not approach or handle without protective gear.
> [!QUESTION]- Are alerts foldable?
> Yes! In a foldable alert, the contents are hidden when collapsed.
### Nested Alerts
Alerts can be nested in multiple levels:
> [!question] Can alerts be nested?
> > [!todo] Yes! They can be nested.
> > > [!example] You can even use multiple layers of nesting.
### Content-only Alerts
> [!TIP]~
> This is a content-only alert without a title.
### Supported types
> [!note]+
> This is a note type alert example.
> [!abstract]-
> This is an abstract type alert example. Aliases: `summary`, `tldr`
> [!info]-
> This is an info type alert example.
> [!todo]-
> This is a todo type alert example.
> [!tip]-
> This is a tip type alert example. Aliases: `hint`, `important`
> [!success]-
> This is a success type alert example. Aliases: `check`, `done`
> [!question]-
> This is a question type alert example. Aliases: `help`, `faq`
> [!warning]-
> This is a warning type alert example. Aliases: `caution`, `attention`
> [!failure]-
> This is a failure type alert example. Aliases: `fail`, `missing`
> [!danger]-
> This is a danger type alert example. Aliases: `error`
> [!bug]-
> This is a bug type alert example.
> [!example]-
> This is an example type alert example.
> [!quote]-
> This is a quote type alert example. Aliases: `cite`
## Admonition Shortcode
{{< admonition >}}
This is the default note type admonition.
{{< /admonition >}}
{{< admonition abstract "" false >}}
This is the default abstract type admonition. Aliases: `summary`, `tldr`
{{< /admonition >}}
{{< admonition info "" false >}}
This is the default info type admonition.
{{< /admonition >}}
{{< admonition todo "" false >}}
This is the default todo type admonition.
{{< /admonition >}}
{{< admonition tip "" false >}}
This is the default tip type admonition. Aliases: `hint`, `important`
{{< /admonition >}}
{{< admonition success "" false >}}
This is the default success type admonition. Aliases: `check`, `done`
{{< /admonition >}}
{{< admonition question "" false >}}
This is the default question type admonition. Aliases: `help`, `faq`
{{< /admonition >}}
{{< admonition warning "" false >}}
This is the default warning type admonition. Aliases: `caution`, `attention`
{{< /admonition >}}
{{< admonition failure "" false >}}
This is the default failure type admonition. Aliases: `fail`, `missing`
{{< /admonition >}}
{{< admonition danger "" false >}}
This is the default danger type admonition. Aliases: `error`
{{< /admonition >}}
{{< admonition bug "" false >}}
This is the default bug type admonition.
{{< /admonition >}}
{{< admonition example "" false >}}
This is the default example type admonition.
{{< /admonition >}}
{{< admonition quote "" false >}}
This is the default quote type admonition. Aliases: `cite`
{{< /admonition >}}
## Special Types
> [!center]
> This paragraph is **center-aligned**.
@@ -0,0 +1,3 @@
[00:00.00]APlayer audio1
[00:04.01]is
[00:08.02]amazing
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

@@ -0,0 +1,28 @@
---
title: APlayer Test
date: 2025-10-21T11:00:04+08:00
collections:
- Tests
categories:
- Shortcodes
tags:
- APlayer
---
Testing APlayer shortcode in FixIt theme.
<!--more-->
{{< aplayer fixed=false mini=false autoplay=false theme="#b7daff" loop="all" order="list" preload="auto" volume=0.7 mutex=true lrcType=3 listFolded=false listMaxHeight="" storageName="aplayer-setting" >}}
{{< audio name="Wavelength1" artist="oldmanyoung1" url="Wavelength.mp3" cover="Wavelength.webp" lrc="Wavelength.lrc" />}}
{{< audio name="Wavelength2" artist="oldmanyoung2" url="Wavelength.mp3" cover="Wavelength.webp" />}}
{{< /aplayer >}}
{{< aplayer fixed=false mini=false autoplay=false theme="#b7daff" loop="all" order="list" preload="auto" volume=0.7 mutex=true lrcType=1 listFolded=false listMaxHeight="" storageName="aplayer-setting" >}}
{{< audio name="Wavelength1" artist="oldmanyoung1" url="Wavelength.mp3" cover="Wavelength.webp" />}}
{{< audio name="Wavelength2" artist="oldmanyoung2" url="Wavelength.mp3" cover="Wavelength.webp" >}}
[00:00.00]APlayer audio2
[00:04.01]is
[00:08.02]amazing
{{< /audio >}}
{{< /aplayer >}}
+166
View File
@@ -0,0 +1,166 @@
---
title: Code Tabs Test
date: 2026-01-25T07:50:22+08:00
collections:
- Tests
categories:
- Markdown
tags:
- Code Tabs
---
Code tabs test cases for grouped code blocks.
<!--more-->
## Default Name
```python {group=tab2}
print("Python")
```
```go {group=tab2}
fmt.Println("Go")
```
## Custom Name
```js {group=tab-actions name="[JavaScript]"}
function sum(a, b) {
return a + b
}
console.log(sum(1, 2))
```
```python {group=tab-actions name="[Python]"}
def sum(a, b):
return a + b
print(sum(1, 2))
```
## Active Tab
```js {group=tab-active name="Inactive Tab"}
function greet(name) {
return `Hello, ${name}!`
}
```
```python {group=tab-active name="Active Tab" .active}
def greet(name):
return f"Hello, {name}!"
```
## Shadow
```js {group=tab-shadow name="Always" shadow="always"}
function greet(name) {
return `Hello, ${name}!`
}
```
```python {group=tab-shadow name="Hover" shadow="hover"}
def greet(name):
return f"Hello, {name}!"
```
```go {group=tab-shadow name="Never" shadow="never"}
func greet(name string) string {
return fmt.Sprintf("Hello, %s!", name)
}
```
## Mode
```ts {group=tab-mode name="Classic"}
interface User {
id: number
name: string
}
```
```ts {group=tab-mode name="Mac" mode="mac"}
interface User {
id: number
name: string
}
```
```ts {group=tab-mode name="Simple" mode="simple"}
interface User {
id: number
name: string
}
```
## Actions
```bash {group=tab-actions name="lineNos=true" lineNos=true}
echo "line 1"
echo "line 2"
echo "line 3"
```
```bash {group=tab-actions name="lineNos=false" lineNos=false}
echo "line 1"
echo "line 2"
echo "line 3"
```
```bash {group=tab-actions name="wrapping" .line-wrapping}
printf "this is a very very very very very very very very very very very very very very very very long line"
```
```js {group=tab-actions name="editable" editable=true}
function greet(name) {
return `Hello, ${name}!`
}
```
## Expanded/Collapsed
```js {group=tab-expand name="Expanded"}
function longFunction() {
console.log('This is a long function.')
console.log('It has many lines of code.')
console.log('The code block should be expanded by default.')
console.log('Lorem ipsum dolor sit amet, consectetur adipiscing elit.')
console.log('Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.')
console.log('Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.')
console.log('Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.')
console.log('Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.')
console.log('The end of the long function.')
}
```
```js {group=tab-expand name="Collapsed" .is-collapsed}
function shortFunction() {
console.log('This is a short function.')
}
```
## Code tabs inside other blocks
> [!NOTE]+
>
> ```python {group=tab-nested}
> print("Python")
> ```
>
> ```go {group=tab-nested}
> fmt.Println("Go")
> ```
{{< details open=true >}}
```python {group=tab2}
print("Python")
```
```go {group=tab2}
fmt.Println("Go")
```
{{< /details >}}
+259
View File
@@ -0,0 +1,259 @@
---
title: Code Block Test
date: 2025-11-28T15:16:35+08:00
collections:
- Tests
categories:
- Markdown
tags:
- Code Block
---
Testing code block in FixIt theme.
<!--more-->
<!-- markdownlint-disable-file blanks-around-lists ul-style ul-indent code-block-style -->
```fixit
🎉🥚 in development mode!
```
## Multiple modes
```js {mode="classic"}
// Classic mode
function add(a, b) {
return a + b
}
```
```js {mode="mac"}
// Mac mode
function add(a, b) {
return a + b
}
```
```js {mode="simple"}
// Simple mode
function add(a, b) {
return a + b
}
```
## Code title
```{title="Quine Clock"}
(r=()=>setInterval(t=>{for(j=o="\n",y=5;y--;document.body["inn"
+"erHTML"]="<pre>&lt"+(S="script>\n")+o+"\n\n&lt/"+S)for(x=-01;
63-!y>x++;o+=`(r=${r})()`[j++].fontcolor(c?'#FF0':"#444"))c=x/2
%4<3&&parseInt("odRFacb67o2vi5gmOZmwFNteohbOh3sw".slice(i="9"<(
D=Date()[16+(x/8|0)])?30:D*3,i+3),36)&1<<(x/2|0)%4+3*y},100))()
```
## Code File Name
```js {name="hello.js"}
function hello(x = 'world') {
console.log(`Hello, ${x}!`)
}
hello()
// Hello, world!
hello('FixIt')
// Hello, FixIt!
```
## Shadow
{{< tabs >}}
{{% tab title="Always" %}}
```js {shadow="always"}
function hello(x = 'world') {
console.log(`Hello, ${x}!`)
}
```
{{% /tab %}}
{{% tab title="Hover" %}}
```js {shadow="hover"}
function hello(x = 'world') {
console.log(`Hello, ${x}!`)
}
```
{{% /tab %}}
{{% tab title="Never" %}}
```js {shadow="never"}
function hello(x = 'world') {
console.log(`Hello, ${x}!`)
}
```
{{% /tab %}}
{{< /tabs >}}
## Collapsed/Expanded
```
eval(z = 'p="<"+"pre>"/* ,.oq#+ ,._, */;for(y in n="zw24l6k\
4e3t4jnt4qj24xh2 x/* =<,m#F^ A W###q. */42kty24wrt413n243n\
9h243pdxt41csb yz/* #K q##H######Am */43iyb6k43pk7243nm\
r24".split(4)){/* dP cpq#q##########b, */for(a in t=pars\
eInt(n[y],36)+/* p##@###YG=[#######y */(e=x=r=[]))for\
(r=!r,i=0;t[a/* d#qg `*PWo##q#######D */]>i;i+=.05)wi\
th(Math)x-= /* aem1k.com Q###KWR#### W[ */.05,0>cos(o=\
new Date/1e3/* .Q#########Md#.###OP A@ , */+x/PI)&&(e[~\
~(32*sin(o)*/* , (W#####Xx######.P^ T % */sin(.5+y/7))\
+60] =-~ r);/* #y `^TqW####P###BP */for(x=0;122>\
x;)p+=" *#"/* b. OQ####x#K */[e[x++]+e[x++\
]]||(S=("eval"/* l `X#####D , */+"(z=\'"+z.spl\
it(B = "\\\\")./* G####B" # */join(B+B).split\
(Q="\'").join(B+Q/* VQBP` */)+Q+")//m1k")[x/2\
+61*y-1]).fontcolor/* TP */(/\\w/.test(S)&&"#\
03B");document.body.innerHTML=p+=B+"\\n"}setTimeout(z)')//
```
````md
```lang {.is-collapsed}
// This code block will be collapsed by default.
```
````
````md
```lang {.is-expanded}
// This code block will be expanded regardless of its length.
```
````
## No wrapper
Set `wrapper=false` to disable code wrapper.
```js {wrapper=false}
function add(a, b) {
return a + b
}
```
```js {wrapper=false, lineNos=false}
function add(a, b) {
return a + b
}
```
## lineNos=false
```js {lineNos=false}
function add(a, b) {
return a + b
}
```
## lineNumbersInTable=false
> [!WARNING]
> Not recommended!
```js {lineNumbersInTable=false}
function add(a, b) {
return a + b
}
```
## Diff Code
```diff
- theme = "LoveIt"
+ theme = "FixIt"
! enhancements and fixes
```
## Long Code
```html
<p>Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.</p>
```
<p>Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.</p>
## Code block inside other blocks
> [!NOTE]+
>
> ```js {mode="classic"}
> function add(a, b) {
> return a + b
> }
> ```
{{< typeit code=java >}}
public class HelloWorld {
public static void main(String []args) {
System.out.println("Hello World");
}
}
{{< /typeit >}}
{{< details "Code Block inside Details" >}}
```js {mode="classic"}
function add(a, b) {
return a + b
}
```
{{< /details >}}
## Highlighting
Highlighting in code fences is enabled by default.
```js {linenostart=287,hl_lines=[2,"8-10"]}
/**
* check if a string is a JS object string
* @example isObjectLiteral("{a:1,b:2}") // true
* @param {string} str string to check
* @returns {boolean} whether the string is a JS object string
*/
function isObjectLiteral(str) {
if (typeof str !== 'string') {
return false
}
str = str.replace(/\s+/g, ' ').trim().replace(/;$/, '')
if (str.startsWith('{') && str.endsWith('}')) {
return true
}
return false
}
```
Highlighting in shortcode highlight.
{{< highlight javascript "hl_lines=2 8-10,linenostart=287" >}}
/**
* check if a string is a JS object string
* @example isObjectLiteral("{a:1,b:2}") // true
* @param {string} str string to check
* @returns {boolean} whether the string is a JS object string
*/
function isObjectLiteral(str) {
if (typeof str !== 'string') {
return false
}
str = str.replace(/\s+/g, ' ').trim().replace(/;$/, '')
if (str.startsWith('{') && str.endsWith('}')) {
return true
}
return false
}
{{< /highlight >}}
## Gist Embed
{{< env "production" >}}
{{< gist Lruihao fb8b2d0353465c4d40bf74818db80710 >}}
{{< /env >}}
@@ -0,0 +1,60 @@
---
title: Color Preview Test
date: 2025-08-17T17:20:00+08:00
collections:
- Tests
categories:
- Markdown
tags:
- Color Preview
---
This post is a test post to preview the color syntax in Markdown.
<!--more-->
## 📝 Syntax
| Color | Syntax | Example | Output |
| ----- | ------------------ | -------------------------- | -------------------- |
| HEX | `` `#RRGGBB` `` | `` `#0969DA` `` | `#0969DA` |
| RGB | `` `rgb(R,G,B)` `` | `` `rgb(9, 105, 218)` `` | `rgb(9, 105, 218)` |
| HSL | `` `hsl(H,S,L)` `` | `` `hsl(212, 92%, 45%)` `` | `hsl(212, 92%, 45%)` |
e.g. The background color is `#ffffff` for light mode and `#000000` for dark mode.
## ✅ Color Preview
Pure color values (no leading/trailing characters):
- `#0969DA`
- `#096`
- `#FF0000`
- `#00FF00`
- `rgb(255, 0, 0)`
- `rgb(0, 255, 0)`
- `hsl(240, 100%, 50%)`
- `hsl(120, 100%, 50%)`
Theme colors:
| Type | Light | Dark |
| :-------: | :-------: | :-------: |
| Primary | `#1677ff` | `#0069fc` |
| Secondary | `#8b949e` | `#7d8792` |
| Success | `#52c41a` | `#49ad17` |
| Info | `#13c2c2` | `#11abab` |
| Warning | `#faad14` | `#efa105` |
| Danger | `#ff4d4f` | `#ff3436` |
## ❌ Regular Code
With leading or trailing characters:
- `test #0969DA`
- `#0969DA test`
- `color: #0969DA`
- ` #0969DA` (leading space)
- `#0969DA ` (trailing space)
- `background-color: rgb(255, 0, 0)`
- `using hsl(240, 100%, 50%) color`
@@ -0,0 +1,179 @@
---
title: Encryption Test
date: 2022-05-21T22:31:22+08:00
description: Test for encrypting content.
password: 1212
message: Password is 1212
collections:
- Tests
categories:
- Features
tags:
- Encryption
---
<!--more-->
I was shy, so I hid.
## Ruby
[Hugo]^(An open-source static site generator)
## Math
$$ \ce{CO2 + C -> 2 CO} $$
$$ \ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-} $$
## style
{{< style "text-align:right; strong{color:#00b1ff;}" >}}
This is a **right-aligned** paragraph.
{{< /style >}}
## Script
{{< script >}}
console.log('before decrypting');
document.addEventListener('DOMContentLoaded', () => {
fixit.decryptor.addEventListener('decrypted', function() {
console.log('after decrypting')
})
});
{{< /script >}}
## Mermaid
```mermaid
graph LR;
A[Hard edge] -->|Link text| B(Round edge)
B --> C{Decision}
C -->|One| D[Result one]
C -->|Two| E[Result two]
```
## Echarts
```echarts
title:
text: Summary Line Chart
top: 2%
left: center
tooltip:
trigger: axis
legend:
data:
- Email Marketing
- Affiliate Advertising
- Video Advertising
- Direct View
- Search Engine
top: 10%
grid:
left: 5%
right: 5%
bottom: 5%
top: 20%
containLabel: true
toolbox:
feature:
saveAsImage:
title: Save as Image
xAxis:
type: category
boundaryGap: false
data:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
yAxis:
type: value
series:
- name: Email Marketing
type: line
stack: Total
data:
- 120
- 132
- 101
- 134
- 90
- 230
- 210
- name: Affiliate Advertising
type: line
stack: Total
data:
- 220
- 182
- 191
- 234
- 290
- 330
- 310
- name: Video Advertising
type: line
stack: Total
data:
- 150
- 232
- 201
- 154
- 190
- 330
- 410
- name: Direct View
type: line
stack: Total
data:
- 320
- 332
- 301
- 334
- 390
- 330
- 320
- name: Search Engine
type: line
stack: Total
data:
- 820
- 932
- 901
- 934
- 1290
- 1330
- 1320
```
## Typeit
{{< typeit code=javascript >}}
console.log('before decrypting');
document.addEventListener('DOMContentLoaded', () => {
fixit.decryptor.addEventListener('decrypted', function() {
console.log('after decrypting')
})
});
{{< /typeit >}}
## fixit-encryptor
All the following shortcodes passwords are `1212`.
{{% fixit-encryptor "1212" %}}
{{< typeit >}}如果你愿意一层一层一层地剥开我的心{{< /typeit >}}
{{% fixit-encryptor "1212" %}}
{{< typeit >}}你会发现 你会讶异{{< /typeit >}}
{{% fixit-encryptor "1212" %}}
{{< typeit >}}你是我最压抑最深处的秘密{{< /typeit >}}
{{% /fixit-encryptor %}}
{{% /fixit-encryptor %}}
{{% /fixit-encryptor %}}
@@ -0,0 +1,59 @@
[[filetree]]
name = "src-toml"
type = "dir"
[[filetree.children]]
name = "index.ts"
type = "file"
[[filetree.children]]
name = "components"
type = "dir"
[[filetree.children.children]]
name = "Header.tsx"
type = "file"
[[filetree.children.children]]
name = "Footer.tsx"
type = "file"
[[filetree.children]]
name = "utils"
type = "dir"
[[filetree.children.children]]
name = "helper.ts"
type = "file"
[[filetree.children.children]]
name = "validator.ts"
type = "file"
[[filetree]]
name = "public"
type = "dir"
[[filetree.children]]
name = "favicon.ico"
type = "file"
[[filetree.children]]
name = "images"
type = "dir"
[[filetree.children.children]]
name = "logo.png"
type = "file"
[[filetree]]
name = "package.json"
type = "file"
[[filetree]]
name = "README.md"
type = "file"
[[filetree]]
name = "tsconfig.json"
type = "file"
@@ -0,0 +1,273 @@
---
title: File Tree Test
date: 2026-01-10T03:00:48+08:00
collections:
- Tests
categories:
- Shortcodes
tags:
- file-tree
---
This article tests the **File Tree** shortcode functionality in the FixIt theme.
<!--more-->
<!-- markdownlint-disable-file MD007 MD024 MD032 -->
## Content Modes
### Shortcode body
#### JSON format
{{< file-tree >}}
[
{
"name": "src",
"type": "dir",
"children": [
{
"name": "index.ts",
"type": "file"
},
{
"name": "app.ts",
"type": "file"
}
]
},
{
"name": "README.md",
"type": "file"
},
{
"name": ".gitignore",
"type": "file"
}
]
{{< /file-tree >}}
#### YAML format
{{< file-tree folderSlash=true >}}
- name: project-root
type: dir
children:
- name: src
type: dir
children:
- name: index.ts
type: file
- name: config.ts
type: file
- name: tests
type: dir
children:
- name: unit.test.ts
type: file
- name: package.json
type: file
- name: tsconfig.json
type: file
{{< /file-tree >}}
#### TOML format
{{< file-tree >}}
[[filetree]]
name = "src"
type = "dir"
[[filetree.children]]
name = "index.ts"
type = "file"
[[filetree.children]]
name = "app.ts"
type = "file"
[[filetree]]
name = "README.md"
type = "file"
{{< /file-tree >}}
### File data
#### TOML format
{{< file-tree file="data/example.toml" />}}
TOML with folder slash and level 3:
{{< file-tree file="data/example.toml" level=3 folderSlash=true />}}
#### JSON format
{{< file-tree file="filetree/example.json" />}}
JSON with folder slash and level 2:
{{< file-tree file="filetree/example.json" level=2 folderSlash=true />}}
#### YAML format
Trying the file not found case (should fallback to next mode):
{{< file-tree file="data/nonexistent.yaml" data="example" />}}
### Hugo data
#### Basic usage
{{< file-tree data="example" />}}
#### Fully expanded
{{< file-tree data="example" level=-1 />}}
#### Limited expansion
{{< file-tree data="example" level=1 />}}
#### With folder slash
{{< file-tree data="example" folderSlash=true />}}
#### With level and folder slash
{{< file-tree data="example" level=2 folderSlash=true />}}
#### Collapsed with ignore
{{< file-tree data="example" level=0 ignoreList="README.md" />}}
## Filesystem Mode
### Basic paths
{{< file-tree />}}
{{< file-tree "." />}}
{{< file-tree "content" />}}
{{< file-tree name="{path}" />}}
{{< file-tree name="FixIt/apps/test" />}}
{{< file-tree path="posts" name="{path}" />}}
### Named parameters
{{< file-tree path="data" level=2 />}}
### Expansion levels
{{< file-tree "assets" 0 />}}
{{< file-tree path="assets" level=2 folderSlash=true />}}
{{< file-tree "assets" -1 />}}
### With ignore lists
{{< file-tree ignoreList=".hugo_build.lock, public, resources, node_modules" level=2 folderSlash=true />}}
### root not exist
path="nonexistent/path"
{{< file-tree "nonexistent/path" />}}
## Code Block Rendering
### Basic code block
YAML format:
```file-tree
- name: my-project
type: dir
children:
- name: src
type: dir
children:
- name: main.js
type: file
- name: utils.js
type: file
- name: package.json
type: file
- name: README.md
type: file
```
### TOML format
```file-tree
[[filetree]]
name = "src"
type = "dir"
[[filetree.children]]
name = "index.ts"
type = "file"
[[filetree]]
name = "README.md"
type = "file"
```
### With parameters
```file-tree {level=2 folderSlash=true ignoreList="config.local.js"}
- name: project
type: dir
children:
- name: config
type: dir
children:
- name: config.js
type: file
- name: config.local.js
type: file
- name: src
type: dir
children:
- name: index.js
type: file
- name: .gitignore
type: file
```
### Fully expanded
```file-tree {level=-1 folderSlash=true}
- name: backend
type: dir
children:
- name: api
type: dir
children:
- name: routes
type: dir
children:
- name: users.js
type: file
- name: posts.js
type: file
- name: controllers
type: dir
children:
- name: userController.js
type: file
- name: database
type: dir
children:
- name: models
type: dir
- name: migrations
type: dir
- name: app.js
type: file
```
@@ -0,0 +1,79 @@
---
title: Font Awesome Test
date: 2025-11-28T08:30:39+08:00
collections:
- Tests
categories:
- Markdown
tags:
- Font Awesome
---
Test for rendering Font Awesome icons.
<!--more-->
## Size
:(fa-solid fa-camera fa-xs):
:(fa-solid fa-camera fa-sm):
:(fa-solid fa-camera fa-lg):
:(fa-solid fa-camera fa-1x):
:(fa-solid fa-camera fa-2x):
:(fa-solid fa-camera fa-3x):
:(fa-solid fa-camera fa-5x):
:(fa-solid fa-camera fa-7x):
:(fa-solid fa-camera fa-10x):
## Fixed width
:(fa-solid fa-skating fa-2x): Skating\
:(fa-solid fa-skiing fa-2x): Skiing\
:(fa-solid fa-skiing-nordic fa-2x): Nordic Skiing
## List icon
:(fa-regular fa-check-square): Eat a hamburger\
:(fa-regular fa-square): Get a girlfriend
:(fa-regular fa-check-circle): Go to beach\
:(fa-regular fa-circle): Go to Tibet
## Rotate
:(fa-solid fa-snowboarding):
:(fa-solid fa-snowboarding fa-rotate-90):
:(fa-solid fa-snowboarding fa-rotate-180):
:(fa-solid fa-snowboarding fa-rotate-270):
## Flip
:(fa-solid fa-snowboarding):
:(fa-solid fa-snowboarding fa-flip-horizontal):
:(fa-solid fa-snowboarding fa-flip-vertical):
:(fa-solid fa-snowboarding fa-flip-both):
## Animation
:(fa-solid fa-spinner):
:(fa-solid fa-spinner fa-spin):
:(fa-solid fa-spinner fa-pulse):
:(fa-solid fa-circle-notch fa-spin):
:(fa-solid fa-circle-notch fa-pulse):
:(fa-solid fa-sync fa-spin):
:(fa-solid fa-sync fa-pulse):
:(fa-solid fa-cog fa-spin):
:(fa-solid fa-cog fa-pulse):
## Float
:(fa-solid fa-quote-left fa-pull-left):
hey guys!
{.text-center}
:(fa-solid fa-quote-right fa-pull-right):
## Border
:(fa-brands fa-apple fa-border fa-10x):
@@ -0,0 +1,84 @@
---
title: JSON Viewer Test
date: 2025-10-14T12:29:06+08:00
collections:
- Tests
categories:
- Markdown
tags:
- json
---
Testing JSON viewer in FixIt theme.
```json {boxed=false}
{
"foo": "bar"
}
```
<!--more-->
## JSON Viewer
```json
{
"name": "John Doe",
"age": 30,
"isEmployed": true,
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA",
"postalCode": "12345"
},
"phoneNumbers": [
{
"type": "home",
"number": "555-1234"
},
{
"type": "work",
"number": "555-5678"
}
],
"children": [],
"spouse": null
}
```
disabled copy:
```json {copyable=false}
{
"foo": "bar"
}
```
## JSON Code
```json {enable=false}
{
"name": "John Doe",
"age": 30,
"isEmployed": true,
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA",
"postalCode": "12345"
},
"phoneNumbers": [
{
"type": "home",
"number": "555-1234"
},
{
"type": "work",
"number": "555-5678"
}
],
"children": [],
"spouse": null
}
```
+81
View File
@@ -0,0 +1,81 @@
---
title: KaTeX Test
date: 2025-09-15T21:05:17+08:00
collections:
- Tests
categories:
- Markdown
tags:
- Math
---
Testing $\KaTeX$ rendering in FixIt theme.
<!--more-->
## Inline Formulas
$c = \pm\sqrt{a^2 + b^2}$ and \(f(x)=\int_{-\infty}^{\infty} \hat{f}(\xi) e^{2 \pi i \xi x} d \xi\)
## Formula Blocks
$$ c = \pm\sqrt{a^2 + b^2} $$
\[f(x)=\int_{-\infty}^{\infty} \hat{f}(\xi) e^{2 \pi i \xi x} d \xi\]
$$
\begin{equation*}
\rho \frac{\mathrm{D} \mathbf{v}}{\mathrm{D} t}=\nabla \cdot \mathbb{P}+\rho \mathbf{f}
\end{equation*}
$$
$$
\begin{equation}
\mathbf{E}=\sum_{i} \mathbf{E}\_{i}=\mathbf{E}\_{1}+\mathbf{E}\_{2}+\mathbf{E}_{3}+\cdots
\end{equation}
$$
$$
\begin{align}
a&=b+c \\
d+e&=f
\end{align}
$$
$$
\begin{alignat}{2}
10&x+&3&y = 2 \\
3&x+&13&y = 4
\end{alignat}
$$
$$
\begin{gather}
a=b \\
e=b+c
\end{gather}
$$
$$
\begin{CD}
A @>a>> B \\
@VbVV @AAcA \\
C @= D
\end{CD}
$$
## Chemical Equations
$$ \ce{CO2 + C -> 2 CO} $$
$$ \ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-} $$
$$C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}$$
## $\KaTeX$ in headings
This is a bug:
```latex
## $\KaTeX$ in headings
```
+145
View File
@@ -0,0 +1,145 @@
---
title: MathJax Test
date: 2025-09-15T21:05:17+08:00
collections:
- Tests
categories:
- Markdown
tags:
- Math
math:
type: mathjax
mathjax:
macros:
bold: ["{\\bf #1}", 1] # usage: $\bold{math}$
loader:
load: ["ui/safe", "[tex]/physics", "[custom]/xypic.js"]
paths:
custom: "https://cdn.jsdelivr.net/gh/sonoisa/XyJax-v3@3.0.1/build/"
packages:
"[+]": ["physics", "xypic"]
tex:
physics:
italicdiff: false
arrowdel: false
---
Testing $\text{MathJax}$ rendering in FixIt theme.
<!--more-->
## Inline Formulas
$c = \pm\sqrt{a^2 + b^2}$ and \(f(x)=\int_{-\infty}^{\infty} \hat{f}(\xi) e^{2 \pi i \xi x} d \xi\)
## Formula Blocks
$$ x = {-b \pm \sqrt{b^2-4ac} \over 2a} $$
\[ f(a) = \frac{1}{2\pi i} \oint\frac{f(z)}{z-a}dz \]
$$
\cos(\theta+\phi)=\cos(\theta)\cos(\phi)\sin(\theta)\sin(\phi)
$$
\[
\int_D ({\nabla\cdot} F)dV=\int_{\partial D} F\cdot ndS
\]
$$
\vec{\nabla} \times \vec{F} =
\left( \frac{\partial F_z}{\partial y} - \frac{\partial F_y}{\partial z} \right) \mathbf{i}
+ \left( \frac{\partial F_x}{\partial z} - \frac{\partial F_z}{\partial x} \right) \mathbf{j}
+ \left( \frac{\partial F_y}{\partial x} - \frac{\partial F_x}{\partial y} \right) \mathbf{k}
$$
$$
\sigma = \sqrt{ \frac{1}{N} \sum_{i=1}^N (x_i -\mu)^2}
$$
$$
(\nabla_X Y)^k = X^i (\nabla_i Y)^k =
X^i \left( \frac{\partial Y^k}{\partial x^i} + \Gamma_{im}^k Y^m \right)
$$
## Chemical Equations
$$C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}$$
$$ \ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-} $$
$$C_p[\ce{H2O(l)}] = \pu{75.3 J // mol K}$$
## Custom Macros
$\bold{Custom}$ macro $\KaTeX$ in $\text{MathJax}$
$$
\def\RR{{\bf R}}
\def\bolda#1{{\bf #1}}
\RR = \bolda{R}
$$
$$
\newcommand{\water}{{\rm H_{2}O}}
\water = \text{H}_2\text{O}
$$
$$
\newcommand{\hello}[1][World]{Hello, #1!}
\hello \quad \hello[FixIt]
$$
$$
\let\oldphi=\phi
\let\oldtheta=\theta
\renewcommand{\phi}{\varphi}
\renewcommand{\theta}{\vartheta}
\phi, \oldphi, \theta, \oldtheta
$$
## Custom Extensions
A `physics` package example:
$$
\mqty(a & b \\ c & d) = \begin{pmatrix} a & b \\ c & d \end{pmatrix}
$$
An `xypic` package example:
$$
\begin{xy}
\xymatrix {
U \ar@/_/[ddr]_y \ar@{.>}[dr]|{\langle x,y \rangle} \ar@/^/[drr]^x \\
& X \times_Z Y \ar[d]^q \ar[r]_p & X \ar[d]_f \\
& Y \ar[r]^g & Z
}
\end{xy}
$$
## \$\\text{MathJax}\$ in headings
```latex
## \$\\text{MathJax}\$ in headings
```
## More
### Dark Mode Adaptation
Use `.auto-dark-mode` class to automatically adapt to dark mode by inverting the color and hue:
For inline formula:
$\bbox[border: solid .4pt magenta, pink]{x^2=4}$
{.auto-dark-mode}
For formula blocks:
{{< style "[data-theme=dark] & { filter: invert(1) hue-rotate(0.5turn); }" >}}
$$
\bbox[border: solid .4pt magenta, pink]{x^2=4}
$$
{.auto-dark-mode}
{{< /style >}}
@@ -0,0 +1,550 @@
---
title: Mermaid Diagrams Test
date: 2025-08-20T10:00:00+08:00
collections:
- Tests
categories:
- Markdown
- Shortcodes
tags:
- Mermaid
- Diagrams
---
The FixIt theme supports two ways to use Mermaid: code block syntax and shortcode syntax.
## Flowchart
```mermaid
flowchart TD
A[Start] --> B{Is it?}
B -->|Yes| C[OK]
C --> D[Rethink]
D --> B
B ---->|No| E[End]
```
<!--more-->
## Sequence Diagram
```mermaid
sequenceDiagram
participant Alice
participant Bob
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
## Gantt Chart
{{< mermaid >}}
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1 , 20d
section Another
Task in sec :2014-01-12 , 12d
another task : 24d
{{< /mermaid >}}
## Class Diagram
```mermaid
classDiagram
Animal <|-- Duck
Animal <|-- Fish
Animal <|-- Zebra
Animal : +int age
Animal : +String gender
Animal: +isMammal()
Animal: +mate()
class Duck{
+String beakColor
+swim()
+quack()
}
class Fish{
-int sizeInFeet
-canEat()
}
class Zebra{
+bool is_wild
+run()
}
```
## State Diagram
```mermaid
stateDiagram-v2
[_] --> Still
Still --> [_]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
```
## Entity Relationship Diagram
```mermaid
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
CUSTOMER {
string name
string custNumber
string sector
}
ORDER {
int orderNumber
string deliveryAddress
}
LINE-ITEM {
string productCode
int quantity
float pricePerUnit
}
```
## User Journey
{{< mermaid >}}
journey
title My working day
section Go to work
Make tea: 5: Me
Go upstairs: 3: Me
Do work: 1: Me, Cat
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
{{< /mermaid >}}
## Git Graph
```mermaid
gitGraph
commit
branch hotfix
checkout hotfix
commit
branch develop
checkout develop
commit id:"ash" tag:"abc"
branch featureB
checkout featureB
commit type:HIGHLIGHT
checkout main
checkout hotfix
commit type:NORMAL
checkout develop
commit type:REVERSE
checkout featureB
commit
checkout main
merge hotfix
checkout featureB
commit
checkout develop
branch featureA
commit
checkout develop
merge hotfix
checkout featureA
commit
checkout featureB
commit
checkout develop
merge featureA
branch release
checkout release
commit
checkout main
commit
checkout release
merge main
checkout develop
merge release
```
## Pie Chart
{{< mermaid >}}
pie title What Voldemort doesn't have?
"FRIENDS" : 2
"FAMILY" : 3
"NOSE" : 45
{{< /mermaid >}}
## Quadrant Chart
```mermaid
quadrantChart
title Reach and influence
x-axis Low Reach --> High Reach
y-axis Low Influence --> High Influence
quadrant-1 We should expand
quadrant-2 Need to promote
quadrant-3 Re-evaluate
quadrant-4 May be improved
Campaign A: [0.3, 0.6]
Campaign B: [0.45, 0.23]
Campaign C: [0.57, 0.69]
Campaign D: [0.78, 0.34]
Campaign E: [0.40, 0.34]
```
## Timeline
```mermaid
timeline
title History of Social Media Platform
2002 : LinkedIn
2003 : MySpace
: Skype
2004 : Facebook
: Gmail
2005 : Youtube
2006 : Twitter
2007 : FourSquare
2008 : Github
2010 : Instagram
2011 : Snapchat
2012 : Discord
```
## Mindmap
```mermaid
mindmap
root((mindmap))
Origins
Long history
::icon(fa fa-book)
Popularisation
British popular psychology author Tony Buzan
Research
On effectiveness<br/>and features
On Automatic creation
Uses
Creative techniques
Strategic planning
Argument mapping
Tools
Pen and paper
Mermaid
```
## XY Chart
{{< mermaid >}}
xychart-beta
title "Sales Revenue"
x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]
y-axis "Revenue (in $)" 4000 --> 11000
bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]
line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]
{{< /mermaid >}}
## Requirement Diagram
```mermaid
requirementDiagram
requirement test_req {
id: 1
text: the test text.
risk: high
verifymethod: test
}
element test_entity {
type: simulation
}
test_entity - satisfies -> test_req
```
## C4 Architecture
```mermaid
C4Context
title System Context diagram for Internet Banking System
Enterprise_Boundary(b0, "BankBoundary0") {
Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")
Person(customerB, "Banking Customer B")
Person_Ext(customerC, "Banking Customer C", "desc")
Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")
System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")
Enterprise_Boundary(b1, "BankBoundary") {
SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
System_Boundary(b2, "BankBoundary2") {
System(SystemA, "Banking System A")
System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts. next line.")
}
System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")
SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.")
Boundary(b3, "BankBoundary3", "boundary") {
SystemQueue(SystemF, "Banking System F Queue", "A system of the bank.")
SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.")
}
}
}
BiRel(customerA, SystemAA, "Uses")
BiRel(SystemAA, SystemE, "Uses")
Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
Rel(SystemC, customerA, "Sends e-mails to")
UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red")
UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5")
UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10")
UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50")
UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20")
UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")
```
## ZenUML
{{< mermaid >}}
zenuml
title Demo
Alice->John: Hello John, how are you?
John->Alice: Great!
Alice->John: See you later!
{{< /mermaid >}}
## Sankey Diagram
```mermaid
---
config:
sankey:
showValues: false
---
sankey-beta
Agricultural 'waste',Bio-conversion,124.729
Bio-conversion,Liquid,0.597
Bio-conversion,Losses,26.862
Bio-conversion,Solid,280.322
Bio-conversion,Gas,81.144
Biofuel imports,Liquid,35
Biomass imports,Solid,35
Coal imports,Coal,11.606
Coal reserves,Coal,63.965
Coal,Solid,75.571
District heating,Industry,10.639
District heating,Heating and cooling - commercial,22.505
District heating,Heating and cooling - homes,46.184
Electricity grid,Over generation / exports,104.453
Electricity grid,Heating and cooling - homes,113.726
Electricity grid,H2 conversion,27.14
Electricity grid,Industry,342.165
Electricity grid,Road transport,37.797
Electricity grid,Agriculture,4.412
Electricity grid,Heating and cooling - commercial,40.858
Electricity grid,Losses,56.691
Electricity grid,Rail transport,7.863
Electricity grid,Lighting & appliances - commercial,90.008
Electricity grid,Lighting & appliances - homes,93.494
Gas imports,Ngas,40.719
Gas reserves,Ngas,82.233
Gas,Heating and cooling - commercial,0.129
Gas,Losses,1.401
Gas,Thermal generation,151.891
Gas,Agriculture,2.096
Gas,Industry,48.58
Geothermal,Electricity grid,7.013
H2 conversion,H2,20.897
H2 conversion,Losses,6.242
H2,Road transport,20.897
Hydro,Electricity grid,6.995
Liquid,Industry,121.066
Liquid,International shipping,128.69
Liquid,Road transport,135.835
Liquid,Domestic aviation,14.458
Liquid,International aviation,206.267
Liquid,Agriculture,3.64
Liquid,National navigation,33.218
Liquid,Rail transport,4.413
Marine algae,Bio-conversion,4.375
Ngas,Gas,122.952
Nuclear,Thermal generation,839.978
Oil imports,Oil,504.287
Oil reserves,Oil,107.703
Oil,Liquid,611.99
Other waste,Solid,56.587
Other waste,Bio-conversion,77.81
Pumped heat,Heating and cooling - homes,193.026
Pumped heat,Heating and cooling - commercial,70.672
Solar PV,Electricity grid,59.901
Solar Thermal,Heating and cooling - homes,19.263
Solar,Solar Thermal,19.263
Solar,Solar PV,59.901
Solid,Agriculture,0.882
Solid,Thermal generation,400.12
Solid,Industry,46.477
Thermal generation,Electricity grid,525.531
Thermal generation,Losses,787.129
Thermal generation,District heating,79.329
Tidal,Electricity grid,9.452
UK land based bioenergy,Bio-conversion,182.01
Wave,Electricity grid,19.013
Wind,Electricity grid,289.366
```
## Block Diagram
{{< mermaid >}}
block-beta
columns 1
db(("DB"))
blockArrowId6<["&nbsp;&nbsp;&nbsp;"]>(down)
block:ID
A
B["A wide one in the middle"]
C
end
space
D
ID --> D
C --> D
style B fill:#969,stroke:#333,stroke-width:4px
{{< /mermaid >}}
## Packet Diagram
```mermaid
packet-beta
title Sample packet
0-15: "Source Port"
16-31: "Destination Port"
32-63: "Sequence Number"
64-95: "Acknowledgment Number"
96-99: "Data Offset"
100-105: "Reserved"
106: "URG"
107: "ACK"
108: "PSH"
109: "RST"
110: "SYN"
111: "FIN"
112-127: "Window"
128-143: "Checksum"
144-159: "Urgent Pointer"
160-191: "Options and Padding"
192-223: "Data (variable length)"
```
## Kanban
```mermaid
kanban
Todo
[Create a git repository]
[Write some code]
[Commit the code]
In Progress
[Push to main]
Done
[Merge PR]
```
## Architecture Diagram
```mermaid
architecture-beta
group api(cloud)[API]
service db(database)[Database] in api
service disk1(disk)[Storage] in api
service disk2(disk)[Storage] in api
service server(server)[Server] in api
db:L -- R:server
disk1:T -- B:server
disk2:T -- B:db
```
## Radar Chart
```mermaid
---
title: "Grades"
---
radar-beta
axis m["Math"], s["Science"], e["English"]
axis h["History"], g["Geography"], a["Art"]
curve a["Alice"]{85, 90, 80, 70, 75, 90}
curve b["Bob"]{70, 75, 85, 80, 90, 85}
max 100
min 0
```
## Treemap
```mermaid
---
config:
treemap:
valueFormat: '$0,0'
---
treemap-beta
"Budget"
"Operations"
"Salaries": 700000
"Equipment": 200000
"Supplies": 100000
"Marketing"
"Advertising": 400000
"Events": 100000
```
---
The above test cases cover the main Mermaid diagram types, including:
**Core Diagrams:**
- Flowcharts, Sequence Diagrams, Gantt Charts
- Class Diagrams, State Diagrams, Entity Relationship Diagrams
- User Journey, Git Graph, Pie Charts
**Advanced Diagrams:**
- Quadrant Charts, Timeline, Mindmaps
- XY Charts, Requirement Diagrams, C4 Architecture
- ZenUML, Sankey, Block Diagrams
**Experimental Diagrams (🔥):**
- Packet, Kanban, Architecture
- Radar Charts, Treemap
Each diagram type provides examples using both code block and shortcode syntax.
@@ -0,0 +1,29 @@
---
title: Custom Script & Style Test
date: 2025-09-16T09:57:28+08:00
collections:
- Tests
categories:
- Shortcodes
tags:
- Script
- Style
---
Testing custom script and style by shortcode in FixIt theme.
<!--more-->
## Script
{{< script >}}
console.log('Hello FixIt!');
{{< /script >}}
See the output in the console of the developer tool.
## Style
{{< style "text-align:right; strong{color:#00b1ff;}" >}}
This is a **right-aligned** paragraph.
{{< /style >}}
@@ -0,0 +1,218 @@
---
title: Tabs Comprehensive Test Cases
date: 2025-09-09T10:00:00+08:00
collections:
- Tests
categories:
- Shortcodes
tags:
- Tabs
- UI Components
---
Testing various configurations and nested scenarios for the Tabs shortcode.
{{< tabs >}}
{{% tab title="Test Cases" %}}See Types section for various test cases.{{% /tab %}}
{{% tab title="Nested Tabs" %}}See Nested Tabs section for examples.{{% /tab %}}
{{< /tabs >}}
<!--more-->
## Types
### Underline (Default)
<!-- placement: top, bottom, left, right -->
{{< tabs placement="top" >}}
{{% tab title="Tab 1" %}}Content for underline style tab 1{{% /tab %}}
{{% tab title="Tab 2" %}}Content for underline style tab 2{{% /tab %}}
{{% tab title="Tab 3" %}}Content for underline style tab 3{{% /tab %}}
{{< /tabs >}}
### Pill
<!-- placement: top, bottom, left, right -->
{{< tabs type="pill" placement="top" >}}
{{% tab title="Tab 1" %}}Content for pill style tab 1{{% /tab %}}
{{% tab title="Tab 2" %}}Content for pill style tab 2{{% /tab %}}
{{% tab title="Tab 3" %}}Content for pill style tab 3{{% /tab %}}
{{< /tabs >}}
### Card
<!-- placement: top, bottom, left, right -->
{{< tabs type="card" placement="top" >}}
{{% tab title="Tab 1" %}}Content for card style tab 1{{% /tab %}}
{{% tab title="Tab 2" %}}Content for card style tab 2{{% /tab %}}
{{% tab title="Tab 3" %}}Content for card style tab 3{{% /tab %}}
{{< /tabs >}}
### Segment
{{< tabs type="segment" >}}
{{% tab title="Tab 1" %}}Content for segment style tab 1{{% /tab %}}
{{% tab title="Tab 2" %}}Content for segment style tab 2{{% /tab %}}
{{% tab title="Tab 3" %}}Content for segment style tab 3{{% /tab %}}
{{< /tabs >}}
## Nested Tabs
{{< tabs defaultTab=0 >}}
{{% tab title="Outer Tab 1" %}}
This is the first outer tab with simple content.
**Features:**
- Basic text content
- No nested components
- Simple layout
{{% /tab %}}
{{% tab title="Outer Tab 2" %}}
This outer tab contains nested tabs inside:
{{< tabs type="pill" defaultTab=1 >}}
{{% tab title="Inner A" %}}
Nested tab A content with **bold text** and _italic text_.
```javascript
console.log('Hello from nested tab A!')
```
{{% /tab %}}
{{% tab title="Inner B" %}}
Nested tab B content with a list:
1. First item
2. Second item
3. Third item
> This is a blockquote inside a nested tab.
{{% /tab %}}
{{% tab title="Inner C" %}}
Nested tab C with a table:
| Feature | Status | Notes |
| :--------- | :----- | :--------------------- |
| Responsive | ✅ | Works on all devices |
| Accessible | ✅ | Screen reader friendly |
| Fast | ✅ | Optimized performance |
{{% /tab %}}
{{< /tabs >}}
{{% /tab %}}
{{% tab title="Outer Tab 3" %}}
This tab contains vertical nested tabs:
{{< tabs type="card" vertical=true >}}
{{% tab title="Vertical A" %}}
Content for vertical nested tab A.
- Feature 1
- Feature 2
- Feature 3
{{% /tab %}}
{{% tab title="Vertical B" %}}
Content for vertical nested tab B.
```css
.example {
color: #333;
background: #f5f5f5;
padding: 1rem;
}
```
{{% /tab %}}
{{< /tabs >}}
{{% /tab %}}
{{< /tabs >}}
## Others
### Mermaid Diagram inside Tabs
{{< tabs >}}
{{% tab title="Flowchart" %}}
```mermaid
flowchart TD
A[Start] --> B{Is it?}
B -->|Yes| C[OK]
C --> D[Rethink]
D --> B
B ---->|No| E[End]
```
{{% /tab %}}
{{% tab title="Gantt Chart" %}}
```mermaid
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1 , 20d
section Another
Task in sec :2014-01-12 , 12d
another task : 24d
```
{{% /tab %}}
{{< /tabs >}}
### File Tree inside Tabs
{{< tabs >}}
{{% tab title="File Tree Shortcode" %}}
{{< file-tree >}}
[[filetree]]
name = "src"
type = "dir"
[[filetree.children]]
name = "index.ts"
type = "file"
[[filetree]]
name = "README.md"
type = "file"
{{< /file-tree >}}
{{% /tab %}}
{{% tab title="File Tree Code Block" %}}
```file-tree
[[filetree]]
name = "src"
type = "dir"
[[filetree.children]]
name = "index.ts"
type = "file"
[[filetree]]
name = "README.md"
type = "file"
```
{{% /tab %}}
{{< /tabs >}}
+50
View File
@@ -0,0 +1,50 @@
---
title: Task List Rendering Test
date: 2026-02-28T08:54:02+08:00
collections:
- Tests
categories:
- Markdown
tags:
- Task List
---
This post tests the rendering of task lists in Markdown.
<!--more-->
## Basic Task Lists
- [ ] Unchecked Task
- [x] Checked Task
- Regular list item
## Nested Task Lists (Bug Fix Verification)
- [ ] Parent Task 1
- [ ] Child Task 1.1
- [x] Child Task 1.2
- Regular list item
- [x] Parent Task 2
- [ ] Child Task 2.1
- [ ] Grandchild Task 2.1.1
- [x] Grandchild Task 2.1.2
## Extended Task Lists (Custom Icons)
- [-] Cancelled Task
- [/] In Progress Task
- [<] Scheduled Task
- [>] Rescheduled Task
- [!] Important Task
- [?] Question Task
- Regular list item
## Mixed Content in List Items
- [ ] Task with **bold** and _italic_ text
- [x] Task with `inline code`
- [ ] Task with [some link](https://github.com/hugo-fixit/FixIt)
- [ ] Multi-line task
that spans across multiple lines
and still renders correctly as a single list item.
+38
View File
@@ -0,0 +1,38 @@
- name: my-project
type: dir
children:
- name: src
type: dir
children:
- name: index.ts
type: file
- name: components
type: dir
children:
- name: Header.tsx
type: file
- name: Footer.tsx
type: file
- name: utils
type: dir
children:
- name: helper.ts
type: file
- name: validator.ts
type: file
- name: public
type: dir
children:
- name: favicon.ico
type: file
- name: images
type: dir
children:
- name: logo.png
type: file
- name: package.json
type: file
- name: README.md
type: file
- name: tsconfig.json
type: file
+51
View File
@@ -0,0 +1,51 @@
# -------------------------------------------------------------------------------------
# Hugo Configuration
# See: https://gohugo.io/configuration/all/
# -------------------------------------------------------------------------------------
title = "Hugo FixIt TEST"
baseURL = "https://demo.fixit.lruihao.cn/test/"
ignoreLogs = [ "warning-file-tree" ]
[permalinks]
[permalinks.page]
posts = "/units/:slugorcontentbasename"
[permalinks.section]
posts = "/units/"
[markup]
_merge = "shallow"
[outputs]
_merge = "shallow"
# -------------------------------------------------------------------------------------
# Taxonomies Configuration
# See: https://gohugo.io/content-management/taxonomies/#configure-taxonomies
# -------------------------------------------------------------------------------------
[taxonomies]
_merge = "shallow"
# -------------------------------------------------------------------------------------
# Theme Core Configuration
# See: https://fixit.lruihao.cn/documentation/basics/#theme-configuration
# -------------------------------------------------------------------------------------
[params]
version = "0.3.X"
[params.page]
collectionList = true
collectionNavigation = true
[params.author]
name = "Lruihao"
email = ""
link = "https://lruihao.cn"
avatar = "https://lruihao.cn/images/avatar.jpg"
[params.mermaid]
zenuml = "https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-zenuml/dist/mermaid-zenuml.esm.min.mjs"
+8
View File
@@ -0,0 +1,8 @@
{
"name": "@hugo-fixit/test",
"private": true,
"scripts": {
"build": "hugo --themesDir ../../.. --theme $PWD/../.. --gc --minify --logLevel info",
"dev": "hugo server --themesDir ../../.. --theme $PWD/../.. -D --disableFastRender --navigateToChanged --ignoreCache -O"
}
}
+6 -5
View File
@@ -1,8 +1,9 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
date: {{ .Date }}
description: ""
keywords: ""
comment: false
slug: {{ substr .File.UniqueID 0 7 }}
description:
keywords:
draft: true
---
+31 -18
View File
@@ -1,31 +1,44 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
type: "friends"
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
layout: friends
date: {{ .Date }}
description: "{{ .Site.Author.name }}'s friends"
keywords:
- Hugo
- friends tempalate
description: "{{ .Site.Params.author.name }}'s friends"
keywords:
- 'Hugo FixIt'
- 'friends template'
- 友情链接
comment: false
---
<!-- When you set data `friends.yml` in `yourProject/data/` directory, it will be automatically loaded here. -->
<!-- The `friends.yml` file placed in the `yourProject/data/` directory will be loaded automatically here. -->
---
<!-- You can define additional content below for this page. -->
## Base info
```yaml
- nickname: Lruihao
avatar: https://lruihao.cn/images/avatar.jpg
url: https://lruihao.cn
description: Lruihao's Note
```
- avatar: https://lruihao.cn/images/avatar.jpg
- url: https://lruihao.cn
- description: Lruihao's Note
## Friendly Reminder
{{< 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!
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 >}}
Comment like this:
````markdown {mode=mac}
```yaml
- nickname: <your nickname>
avatar: <your avatar>
url: <your site link>
description: <description of your site>
```
````
> [!NOTE]
>
> 1. If you want to exchange link, please leave a comment as the above format. (personal non-commercial blogs / websites only)
> 2. :(fa-solid fa-exclamation-triangle): Website failure, stop maintenance and improper content may be unlinked!
> 3. Those websites that do not respect other people's labor achievements, reprint without source, or malicious acts, please do not come to exchange.
-10
View File
@@ -1,10 +0,0 @@
---
type: "offline"
description: "{{ T "offlineTitle" }} - {{ .Site.Title }}"
keywords:
- PWA
- offline
- 离线
---
<!-- You need do nothing for this page. -->
+27 -26
View File
@@ -1,40 +1,41 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
date: {{ .Date }}
slug: {{ substr .File.UniqueID 0 7 }}
draft: true
author: ""
authorLink: ""
description: ""
keywords: ""
license: ""
author:
name:
link:
email:
avatar:
description:
keywords:
comment: false
weight: 0
tags:
- draft
- draft
categories:
- draft
- draft
hiddenFromHomePage: false
hiddenFromSearch: false
summary: ""
hiddenFromRelated: false
hiddenFromFeed: false
summary:
resources:
- name: featured-image
src: featured-image.jpg
- name: featured-image-preview
src: featured-image-preview.jpg
toc:
enable: true
math:
- name: featured-image
src: featured-image.jpg
- name: featured-image-preview
src: featured-image-preview.jpg
password:
message:
repost:
enable: false
lightgallery: false
seo:
images: []
url:
# See details front matter: /theme-documentation-content/#front-matter
# See details front matter: https://fixit.lruihao.cn/documentation/content-management/introduction/#front-matter
---
<!--more-->
<!--more-->
<!-- Place resource files in the current article directory and reference them using relative paths, like this: `![alt](images/screenshot.jpg)`. -->
+22 -26
View File
@@ -1,40 +1,36 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
subtitle: ""
title: {{ replace .TranslationBaseName "-" " " | title }}
subtitle:
date: {{ .Date }}
slug: {{ substr .File.UniqueID 0 7 }}
draft: true
author: ""
authorLink: ""
description: ""
keywords: ""
license: ""
author:
name:
link:
email:
avatar:
description:
keywords:
comment: false
weight: 0
tags:
- draft
- draft
categories:
- draft
- draft
hiddenFromHomePage: false
hiddenFromSearch: false
summary: ""
resources:
- name: featured-image
src: featured-image.jpg
- name: featured-image-preview
src: featured-image-preview.jpg
toc:
enable: true
math:
hiddenFromRelated: false
hiddenFromFeed: false
summary:
featuredImagePreview:
featuredImage:
password:
message:
repost:
enable: false
lightgallery: false
seo:
images: []
url:
# See details front matter: /theme-documentation-content/#front-matter
# See details front matter: https://fixit.lruihao.cn/documentation/content-management/introduction/#front-matter
---
<!--more-->
+7
View File
@@ -0,0 +1,7 @@
---
title: {{ T "assets.search" }}
layout: search
date: {{ .Date }}
description:
keywords:
---
+62 -49
View File
@@ -1,69 +1,82 @@
@import "../../lib/normalize/normalize";
html {
font-family: $global-font-family;
font-weight: $global-font-weight;
font-family: fixit-var(global-font-family);
font-weight: fixit-var(global-font-weight);
font-display: swap;
font-size: $global-font-size;
line-height: $global-line-height;
font-size: fixit-var(global-font-size);
line-height: fixit-var(global-line-height);
width: 100%;
scroll-behavior: smooth;
overflow: overlay;
}
overflow: auto;
@media screen and (prefers-reduced-motion: reduce) {
html {
@include media('reduce-motion') {
scroll-behavior: auto;
}
}
/* scrollbar, only support webkit */
::-webkit-scrollbar {
width: 0.5rem;
height: 0.5rem;
}
::-webkit-scrollbar-thumb {
background-color: $scrollbar-color;
@include border-radius($global-border-radius);
&:hover {
background-color: $scrollbar-hover-color;
}
}
::selection {
background-color: $selection-color;
[theme='dark'] & {
background-color: $selection-color-dark;
}
background-color: fixit-var(selection-color);
}
body {
background-color: $global-background-color;
color: $global-font-color;
background-color: fixit-var(global-background-color);
color: fixit-var(global-font-color);
@include overflow-wrap(break-word);
scrollbar-color: auto;
&[theme='dark'] {
color: $global-font-color-dark;
background-color: $global-background-color-dark;
}
}
img {
@include object-fit(contain);
@include border-radius($global-border-radius/2);
}
iframe {
@include border-radius($global-border-radius);
border: 0;
@include border-radius;
}
@include ms;
@include link(true, true);
[role='button'] {
cursor: pointer;
}
@import '../_partial/mask';
@import '../_partial/icon';
@import '../_partial/details';
@import '../_partial/fixed-button';
@import '../_partial/cookieconsent';
summary {
cursor: pointer;
}
abbr[title] {
cursor: help;
text-decoration-skip-ink: none;
}
img {
object-fit: cover;
}
img,
video {
max-width: 100%;
height: auto;
@include border-radius;
}
dialog {
padding: 0;
}
details {
&.center {
summary {
text-align: center;
}
}
}
%code {
padding: 0.2em 0.4em;
margin: 0;
font-size: fixit-var(code-font-size);
line-height: fixit-var(code-font-size);
font-family: fixit-var(code-font-family);
color: fixit-var(code-color);
background-color: fixit-var(code-inline-background-color);
text-decoration: inherit;
@include border-radius;
@include overflow-wrap(break-word);
}
@include link(true, true);
+99
View File
@@ -0,0 +1,99 @@
// ==============================
// 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;
}
.ms-1,
.mx-1 {
margin-left: 0.25em !important;
}
.me-1,
.mx-1 {
margin-right: 0.25em !important;
}
.ps-1,
.px-1 {
padding-left: 0.25em !important;
}
.pe-1,
.px-1 {
padding-right: 0.25em !important;
}
@each $color, $value in $theme-colors {
.text-#{$color} {
color: fixit-var(#{$color}) !important;
}
}
@each $key, $value in $orders {
.order-#{$key} {
order: #{$value} !important;
}
}
.variant-numeric {
font-variant-numeric: tabular-nums lining-nums;
}
.rounded-full {
@include border-radius(full);
}
// auto adapt to dark mode by inverting the color and hue
.auto-dark-mode {
[data-theme=dark] & {
filter: invert(1) hue-rotate(0.5turn);
}
}
// print view helper
.page-break-before {
break-before: page;
}
.page-break-after {
break-after: page;
}
@include media('xs', 'up') {
.d-none-desktop {
display: none;
}
}
@include media('xs') {
.d-none-mobile {
display: none !important;
}
}
@include media('print') {
@page {
size: A4 portrait;
margin: 1.27cm;
}
.d-none-print {
display: none !important;
}
}
+6
View File
@@ -0,0 +1,6 @@
@import "_mixin";
@import "_base";
@import "_common";
@import "_root";
@import "_layout";
@import '_widgets';
-27
View File
@@ -1,27 +0,0 @@
/** Layout **/
.wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%;
main {
flex: 1 0 auto;
aside:first-child {
order: 2;
}
&.container {
display: flex;
align-items: flex-start;
justify-content: center;
padding: 0 1rem;
}
&.container-reverse {
@extend .container;
flex-direction: row-reverse;
}
}
}
+77
View File
@@ -0,0 +1,77 @@
.breadcrumb-container {
padding-inline: 1rem;
font-size: 0.75rem;
background-color: fixit-var(global-background-color);
display: flex;
gap: 0.5rem;
@include z-index(sticky);
&:has(~ main[data-reverse]) {
flex-direction: row-reverse;
}
&::before,
&::after {
content: '';
flex: 1;
padding-inline: 0.5rem;
@include media('sm', 'down') {
display: none;
}
}
&.sticky {
position: sticky;
top: fixit-var(header-height);
@include media('sm', 'up') {
body:not([data-header-desktop='sticky']) & {
top: 0;
}
// adjust the scroll margin top of the content anchors on the page
body:not([data-header-desktop='auto']) &+.fi-container .content [id] {
scroll-margin-top: calc(#{fixit-var(scroll-mt)} + #{fixit-var(breadcrumb-height)});
}
}
@include media('xs') {
body:not([data-header-mobile='sticky']) & {
top: 0;
}
// adjust the scroll margin top of the content anchors on the page
body:not([data-header-mobile='auto']) &+.fi-container .content [id] {
scroll-margin-top: calc(#{fixit-var(scroll-mt)} + #{fixit-var(breadcrumb-height)});
}
}
}
.breadcrumb {
display: flex;
flex-wrap: wrap;
padding: 0.5rem 0;
margin: 0 auto;
list-style: none;
border-bottom: 1px inset fixit-var(global-border-color);
@extend %page-style;
.breadcrumb-item {
display: flex;
+ .breadcrumb-item::before {
content: attr(data-separator);
display: inline-block;
padding-inline: 0.5rem;
color: fixit-var(global-placeholder-color);
}
&.active {
color: fixit-var(secondary);
}
}
}
@include media('print') {
display: none !important;
}
}
@@ -6,33 +6,35 @@ footer {
padding: 1rem 0;
.footer-container {
display: flex;
flex-direction: column;
font-size: 0.875rem;
.footer-line {
width: 100%;
.footer-divider::before {
.footer-divider:not(:first-child)::before {
content: '|';
margin-left: 0.25rem;
margin-right: 0.25rem;
}
.fixit-icon {
top: 0.25em;
}
.animate-icon {
color: #dc143c;
animation: icon-animate 1.33s ease-in-out infinite;
}
}
.run-times {
font-variant-numeric: tabular-nums lining-nums;
}
@include media('xs') {
font-size: 0.618rem;
}
}
@include blur;
@include media('print') {
display: none !important;
}
}
@keyframes icon-animate {
+613
View File
@@ -0,0 +1,613 @@
header {
width: 100%;
background-color: fixit-var(header-background-color);
transition: box-shadow 0.3s ease;
@include z-index(fixed);
&:hover {
box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.1);
[data-theme=dark] & {
box-shadow: 0 0 1.5rem 0 rgba(255, 255, 255, 0.1);
}
}
@include media('print') {
display: none !important;
}
}
.header-wrapper {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
width: 100%;
}
.header-title {
font-size: fixit-var(header-title-font-size);
font-family: fixit-var(header-title-font-family);
font-weight: bold;
margin-right: 0.5rem;
min-width: 10%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
flex: 10;
.logo {
min-height: 1.5em;
height: 1.5em;
width: auto;
vertical-align: top;
transform: translateY(calc(#{fixit-var(header-height)} / 2 - 50%));
}
.header-title-text {
margin-left: 0.25rem;
margin-right: 0.25rem;
}
.header-subtitle {
margin-left: 0.25rem;
font-size: 0.6em;
}
}
.menu {
margin: 0;
padding: 0;
.menu-item-divider {
list-style: none;
margin: 0.25rem 0.5rem;
height: 1px;
background-color: fixit-var(menu-border-color);
}
.menu-item {
list-style: none;
.dropdown-icon {
margin-left: 0.25rem;
font-size: .875em;
color: fixit-var(global-font-color);
&.open::before {
content: "\f078";
}
}
&.active {
>.menu-link,
>.nested-item>.menu-link {
font-weight: bold;
color: fixit-var(menu-active-color);
}
}
.menu-link[href="javascript:void(0);"] {
color: inherit;
}
.menu-link i {
transform: perspective(1rem);
transition: transform 0.4s ease;
}
.menu-link:hover i {
transform: perspective(1rem) translateZ(0.2rem);
}
}
}
.menu .search {
position: relative;
input {
color: transparent;
box-sizing: border-box;
height: 2.5rem;
width: 1.25rem;
border: none;
outline: none;
background-color: transparent;
vertical-align: baseline !important;
transition: width 0.3s ease;
@include border-radius(0.5rem);
}
@include placeholder(transparent);
.search-button {
margin: 0;
position: absolute;
left: auto;
right: 1rem;
}
.search-toggle {
left: 0.5rem;
right: auto;
#header-desktop.open & {
left: 1rem;
}
}
.search-loading {
display: none;
}
.search-clear {
display: none;
}
.open &,
&.mobile {
input {
color: fixit-var(global-font-color);
background-color: fixit-var(search-background-color);
padding: 0 2rem 0 2rem;
}
@include placeholder;
.search-button {
color: fixit-var(global-placeholder-color);
}
.search-clear:hover {
color: #ff6b6b;
}
.search-toggle:hover {
cursor: default;
}
}
}
.theme-switch {
i {
transform: rotate(225deg);
transition: all 0.4s ease;
}
}
#header-desktop {
display: block;
position: sticky;
top: 0;
height: fixit-var(header-height);
line-height: fixit-var(header-height);
box-sizing: border-box;
[data-header-desktop='normal'] & {
position: static;
}
nav {
overflow: hidden;
white-space: nowrap;
}
.header-wrapper {
// use css native function to calculate max value
padding: 0 2rem 0 MAX(10vh, fixit-var(header-height));
height: 100%;
&[data-github-corner='right'] {
padding-right: fixit-var(header-height);
}
.header-title {
height: 100%;
}
.menu {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
float: right;
> .menu-item {
&:hover .sub-menu {
display: block;
transform: translateX(-0.5rem);
}
&.theme-switch {
&:hover i {
transform: rotate(45deg);
}
}
&.language-switch:hover .sub-menu {
transform: translateX(calc(1.75rem - 100%));
}
}
.menu-item {
padding: 0 0.5rem;
&.delimiter {
width: 0;
margin: 0.125rem 0.25rem;
padding: 0;
border-left: 1px dashed fixit-var(global-border-color-weight);
}
}
.sub-menu {
position: absolute;
margin: 0;
padding: 0.25rem 0;
display: none;
top: calc(#{fixit-var(header-height)} - 0.75rem);
border: 1px solid fixit-var(menu-border-color);
background-color: fixit-var(header-background-color);
max-height: 60vh;
overflow-y: auto;
@include border-radius;
transition: box-shadow 0.3s ease;
box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.1);
[data-theme=dark] & {
box-shadow: 0 0 1.5rem 0 rgba(255, 255, 255, 0.1);
}
.menu-item {
height: fixit-var(submenu-height);
line-height: fixit-var(submenu-height);
max-width: 15rem;
white-space: nowrap;
text-overflow: ellipsis;
overflow-x: hidden;
}
}
}
@include media('md', 'down') {
padding-inline-end: 1rem;
}
@include media('sm', 'down') {
padding-inline-start: 1rem;
}
}
&.open .header-wrapper .menu .menu-item.search {
input {
width: 24rem;
}
}
@include media('xs') {
display: none;
}
}
#header-mobile {
display: none;
position: sticky;
top: 0;
min-height: fixit-var(header-height);
line-height: fixit-var(header-height);
[data-header-mobile='normal'] & {
position: static;
}
.header-container {
padding: 0;
margin: 0;
.header-wrapper {
padding: 0 1rem;
font-size: 1.125rem;
transition: margin-top 0.3s ease;
.header-title {
max-width: 80%;
}
.theme-switch {
line-height: 1.25em;
}
.menu-toggle {
span {
display: block;
background-color: fixit-var(global-font-color);
width: 20px;
height: 2px;
@include border-radius(full);
transition: all 0.3s ease-in-out;
}
span:not(:last-child) {
margin-bottom: 6px;
}
&.active {
span:nth-child(1) {
transform: translateY(8px) rotate(45deg);
}
span:nth-child(2) {
opacity: 0;
}
span:nth-child(3) {
transform: translateY(-8px) rotate(-45deg);
}
}
}
}
.menu {
background-color: fixit-var(header-background-color);
border-top: 2px solid fixit-var(global-border-color-light);
display: none;
overflow-y: auto;
max-height: 70vh;
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
@include scrollbar-width(none, 0);
[data-theme=dark] & {
box-shadow: 0 0.125rem 0.25rem rgba(255, 255, 255, 0.1);
}
.search-wrapper {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
padding: 0.5rem 1rem;
line-height: 2.5rem;
position: sticky;
top: 0;
background-color: fixit-var(header-background-color);
@include z-index(sticky);
}
.search {
flex-grow: 10;
.algolia-autocomplete,
input {
width: 100%;
}
}
.search-loading,
.search-clear {
right: 0.5rem;
}
.search-button {
top: 0;
}
.search-cancel {
display: none;
margin-left: 0.75rem;
}
.menu-item {
display: block;
position: relative;
line-height: 2.5rem;
padding: 0 1rem;
&:not(.menu-system):hover {
background-color: #f2f2f3;
[data-theme=dark] & {
background-color: #535355;
}
}
.menu-link {
display: block;
white-space: nowrap;
text-overflow: ellipsis;
overflow-x: hidden;
flex: 4;
}
& .nested-item {
display: flex;
justify-content: space-between;
align-items: center;
.menu-link {
max-width: 80%;
}
}
}
.menu-system {
display: flex;
justify-content: center;
gap: 0.25rem;
position: sticky;
bottom: 0;
line-height: 2.5rem;
padding: 0 1rem;
background-color: fixit-var(header-background-color);
.menu-system-item {
padding-inline: 0.5rem;
}
.language-switch {
position: relative;
.language-select {
position: absolute;
opacity: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
}
}
.sub-menu {
padding-left: 0;
display: none;
&.open {
display: block;
}
.menu-item:hover {
background-color: #e7e7ea;
[data-theme=dark] & {
background-color: #5d5d5f;
}
}
}
&.active {
display: block;
}
}
}
&.open {
.header-wrapper {
margin-top: calc(#{fixit-var(header-height)} * -1);
}
.menu {
padding-top: 0;
border-top: none;
.menu-item {
display: none;
}
.search-cancel {
display: inline;
}
}
}
@include media('xs') {
display: block;
}
}
.search-dropdown {
position: fixed;
top: fixit-var(header-height);
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
@include z-index(fixed);
[data-theme=dark] & {
box-shadow: 0 0.125rem 0.25rem rgba(255, 255, 255, 0.1);
}
&.desktop {
right: 2rem;
width: 30rem;
@include media('md', 'down') {
right: 1rem;
}
}
&.mobile {
right: 0;
width: 100%;
}
.dropdown-menu {
right: 0 !important;
background-color: fixit-var(global-background-color);
.suggestions {
overflow-y: auto;
// 41px is the height of the search-footer
max-height: calc(100dvh - #{fixit-var(header-height)} - 41px);
.suggestion {
padding: 0.75rem 1rem;
.suggestion-title {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 1rem;
font-weight: bold;
max-width: 75%;
}
.suggestion-date {
font-size: 0.875rem;
float: right;
text-align: right;
color: fixit-var(secondary);
}
.suggestion-context {
display: -webkit-box;
line-height: 1.25rem;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
color: fixit-var(global-placeholder-color);
@include overflow-wrap(break-word);
}
em {
font-style: normal;
background-color: fixit-var(selection-color);
}
&.cursor {
background: darken($code-background-color, 5%);
[data-theme=dark] & {
background: lighten($code-background-color-dark, 5%);
}
}
&:hover {
cursor: pointer;
}
}
}
.search-empty {
padding: 1rem;
text-align: center;
.search-query {
font-weight: bold;
[data-theme=dark] & {
color: #ddd;
}
}
}
.search-footer {
padding: 0.5rem 1rem;
float: right;
font-size: 0.8rem;
color: fixit-var(secondary);
@include link(false, false);
a {
font-size: 1rem;
}
}
}
}
+82
View File
@@ -0,0 +1,82 @@
// Responsive layout
.wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%;
main {
flex: 1 0 auto;
aside {
flex: 1;
padding: 0.5rem;
max-width: 500px;
&:not(:has(~ aside)) {
display: none;
}
@include media('sm', 'down') {
display: none !important;
}
}
&.fi-container {
display: flex;
align-items: flex-start;
justify-content: center;
padding-inline: 1rem;
gap: 0.5rem;
&[data-reverse] {
flex-direction: row-reverse;
}
&:has(.home:not(.posts)) {
align-items: center;
}
}
}
@include media('md') {
main {
// hide empty aside and expand article when only one aside is empty
aside:first-child:empty:has(~ aside:not(:empty)),
aside:first-child:not(:empty) ~ aside#toc-auto:empty {
display: none;
}
aside:first-child:empty:has(~ aside:not(:empty)) ~ article,
aside:first-child:not(:empty) ~ article:has(~ aside:empty) {
flex: 3;
}
}
// adjust breadcrumb flex when asides are empty
&:has(main > aside:first-child:empty ~ aside:not(:empty)) .breadcrumb-container {
.breadcrumb {
flex: 3;
}
&::before {
display: none;
}
}
&:has(main > aside:first-child:not(:empty) ~ aside#toc-auto:empty) .breadcrumb-container {
.breadcrumb {
flex: 3;
}
&::after {
display: none;
}
}
}
}
@import "header";
@import "breadcrumb";
@import "page-style";
@import "pagination";
@import "footer";
+47
View File
@@ -0,0 +1,47 @@
%page-style {
@include media('xl') {
width: ROUND(60%, 2px);
max-width: 1200px;
}
@include media('lg') {
width: ROUND(56%, 2px);
}
@include media('md') {
width: ROUND(52%, 2px);
}
@include media('sm') {
width: ROUND(80%, 2px);
}
@include media('xs') {
width: 100%;
}
}
[data-page-style='wide'] {
%page-style {
@include media('xl') {
width: ROUND(64%, 2px);
max-width: 1600px;
}
@include media('lg') {
width: ROUND(60%, 2px);
}
@include media('md') {
width: ROUND(56%, 2px);
}
}
}
[data-page-style='narrow'] {
%page-style {
@include media('xl') {
max-width: 800px;
}
}
}
+77
View File
@@ -0,0 +1,77 @@
.pagination {
display: flex;
flex-direction: row;
justify-content: center;
flex-wrap: wrap;
list-style: none;
white-space: nowrap;
width: 100%;
padding: 1rem 0;
a {
font-size: 0.8rem;
color: fixit-var(pagination-link-color);
letter-spacing: 0.1rem;
font-weight: 700;
padding: 5px 5px;
text-decoration: none;
transition: 0.3s;
}
li {
padding: 5px;
margin: 0 10px;
box-sizing: border-box;
position: relative;
display: inline;
&.disabled {
display: none;
}
&:hover a {
color: fixit-var(pagination-link-hover-color);
}
&::before,
&::after {
position: absolute;
content: '';
width: 0;
height: 3px;
background: fixit-var(pagination-link-hover-color);
bottom: 0px;
transition: 0.3s;
}
&::before {
left: 50%;
}
&::after {
right: 50%;
}
&:hover {
&::before,
&::after {
width: 50%;
}
}
&.active {
a {
color: fixit-var(pagination-link-hover-color);
}
&::before,
&::after {
width: 50%;
}
}
@include media('xs') {
margin: 0 5px;
}
}
}
-160
View File
@@ -1,160 +0,0 @@
@media only screen and (min-width: 1441px) {
.page {
width: 60%;
[page-style='wide'] & {
width: 64%;
}
[page-style='narrow'] & {
max-width: 800px;
}
}
aside {
width: 20%;
[page-style='wide'] & {
width: 18%;
}
[page-style='narrow'] & {
width: calc(50% - 400px);
}
}
}
@media only screen and (max-width: 1440px) {
.page {
width: 56%;
[page-style='wide'] & {
width: 60%;
}
}
aside {
width: 22%;
[page-style='wide'] & {
width: 20%;
}
}
}
@media only screen and (max-width: 1200px) {
.page {
width: 52%;
[page-style='wide'] & {
width: 56%;
}
}
aside {
width: 24%;
[page-style='wide'] & {
width: 22%;
}
}
#header-desktop .header-wrapper {
padding-right: 1rem;
}
.search-dropdown.desktop {
right: 1rem;
}
}
@media only screen and (max-width: 960px) {
aside {
display: none !important;
}
#toc-static {
display: block;
}
.page {
width: 80% !important;
}
#header-desktop .header-wrapper {
padding-left: 1rem;
}
}
@media only screen and (max-width: 680px) {
#header-desktop {
display: none;
}
#header-mobile {
display: block;
}
.page {
width: 100% !important;
.content {
[id] {
[header-mobile='normal'] & {
scroll-margin-top: 0;
}
}
}
.categories-card {
.card-item {
width: 100%;
}
}
}
footer {
.footer-container {
font-size: 0.618rem;
}
}
}
@media only print {
@page {
size: A4 portrait;
margin: 1.27cm;
}
.page {
width: 100% !important;
padding-top: 0 !important;
.single-title,
.single-subtitle,
.post-meta {
text-align: center;
}
h1:not(.single-title),
.page-break-before {
page-break-before: always;
}
.page-break-after {
page-break-after: always;
}
}
.print-d-none,
header,
footer .footer-line:not(.powered):not(.copyright),
#toc-auto,
.post-info-share,
.post-info-more section:last-child,
.post-nav,
#fixed-buttons,
#comments {
display: none !important;
}
}
+6
View File
@@ -0,0 +1,6 @@
@mixin blur {
// TODO refactor blur with backdrop-filter
.blur & {
filter: blur(1.5px);
}
}
@@ -0,0 +1,26 @@
/// Mixin to set border-radius
/// @param {String|Number|List} $value - The value of the border-radius, position (top, bottom, left, right) or keyword (full)
/// @param {Number} $radius - The radius of the border (only for position)
/// @example
/// @include border-radius;
/// @include border-radius(full);
/// @include border-radius(top);
/// @include border-radius(top, 10px);
/// @include border-radius(10px 20px 10px 20px);
@mixin border-radius($value: fixit-var(global-border-radius), $radius: null) {
$r: if($radius, $radius, fixit-var(global-border-radius));
@if $value == full {
border-radius: calc(infinity * 1px);
} @else if $value == top {
border-radius: $r $r 0 0;
} @else if $value == bottom {
border-radius: 0 0 $r $r;
} @else if $value == left {
border-radius: $r 0 0 $r;
} @else if $value == right {
border-radius: 0 $r $r 0;
} @else {
border-radius: $value;
}
}
+26
View File
@@ -0,0 +1,26 @@
/// Mixin to apply box-shadow with timing control
/// @param {String} $when - When to show shadow: always | hover | never (default: always)
/// @param {List} $shadow - The box-shadow value
/// @example
/// @include box-shadow;
/// @include box-shadow(hover);
/// @include box-shadow(never);
/// @include box-shadow(always, 0 4px 8px rgba(0, 0, 0, 0.15));
@mixin box-shadow(
$when: always,
$shadow: (0 1px 2px -2px rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.06), 0 5px 12px 4px rgba(0, 0, 0, 0.04))
) {
@if $when == always {
box-shadow: $shadow;
} @else if $when == hover {
transition: box-shadow 0.3s fixit-var(bezier);
&:hover {
box-shadow: $shadow;
}
} @else if $when == never {
box-shadow: none;
} @else {
@warn "box-shadow mixin: unknown $when value '#{$when}'. Expected always, hover, or never.";
}
}
@@ -0,0 +1,33 @@
@mixin placeholder($color: fixit-var(global-placeholder-color)) {
input::-webkit-input-placeholder {
color: $color;
}
input:-moz-placeholder {
color: $color;
}
input::-moz-placeholder {
color: $color;
}
input:-ms-input-placeholder {
color: $color;
}
input::placeholder {
color: $color;
}
}
// TODO Superseded by text-wrap: wrap; in modern browsers
@mixin overflow-wrap($value) {
word-wrap: $value;
overflow-wrap: $value;
}
@mixin user-select($value) {
-webkit-user-select: $value !important;
-moz-user-select: $value !important;
user-select: $value !important;
}
+10
View File
@@ -0,0 +1,10 @@
@import 'blur';
@import 'border-radius';
@import 'box-shadow';
@import 'compatibility';
@import 'link';
@import 'loading';
@import 'media';
@import 'scrollbar-width';
@import 'theme-vars';
@import 'z-index';
+50
View File
@@ -0,0 +1,50 @@
/// Link mixin
/// @param {Boolean} $light use global link color
/// @param {Boolean} $dark use global link color dark
/// @param {String} $decoration text-decoration, default none
@mixin link($light, $dark, $decoration: none) {
a,
a::before,
a::after {
text-decoration: $decoration;
@if $light {
color: $global-link-color;
}
@else {
color: $single-link-color;
}
[data-theme=dark] & {
@if $dark {
color: $global-link-color-dark;
}
@else {
color: $single-link-color-dark;
}
}
}
a:active,
a:hover {
@if $light {
color: $global-link-hover-color;
}
@else {
color: $single-link-hover-color;
}
[data-theme=dark] & {
@if $dark {
color: $global-link-hover-color-dark;
}
@else {
color: $single-link-hover-color-dark;
}
}
}
}
+15
View File
@@ -0,0 +1,15 @@
// Loading Mixin for before/after pseudo element
@mixin loading {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
backdrop-filter: blur(1rem);
background-position: center;
background-repeat: no-repeat;
background-image: fixit-var(loading-img);
background-size: 60px;
@include z-index(loading);
}
+100
View File
@@ -0,0 +1,100 @@
// Responsive breakpoints matching the project's media query design
// ┌──────────────────────────────────────────────────────┐
// │ xs │ sm │ md │ lg │ xl │
// │ ≤680 │ 681960 │ 9611200 │ 12011440 │ ≥1441 │
// └──────────────────────────────────────────────────────┘
$breakpoints: (
'xs': (
'min': null,
'max': 680px,
),
'sm': (
'min': 681px,
'max': 960px,
),
'md': (
'min': 961px,
'max': 1200px,
),
'lg': (
'min': 1201px,
'max': 1440px,
),
'xl': (
'min': 1441px,
'max': null,
),
) !default;
/// Apply styles within a named media target.
/// @param {String} $target - Target name: xs | sm | md | lg | xl | print | reduce-motion
/// @param {String} $direction - Range direction: only | up | down [default: only]
///
/// @example
/// // xs: ≤ 680px
/// @include media('xs') { ... }
/// // sm: 681px 960px
/// @include media('sm') { ... }
/// // md and above: ≥ 961px
/// @include media('md', 'up') { ... }
/// // lg and below: ≤ 1440px
/// @include media('lg', 'down') { ... }
/// // print media
/// @include media('print') { ... }
/// // reduced motion
/// @include media('reduce-motion') { ... }
@mixin media($target, $direction: 'only') {
@if $target == 'print' {
@media only print {
@content;
}
} @else if $target == 'reduce-motion' {
@media screen and (prefers-reduced-motion: reduce) {
@content;
}
} @else {
$range: map-get($breakpoints, $target);
$min: if($range != null, map-get($range, 'min'), null);
$max: if($range != null, map-get($range, 'max'), null);
@if $range == null {
@warn "Unknown media target `#{$target}`. Expected: xs, sm, md, lg, xl, print, reduce-motion.";
} @else if $direction == 'only' {
@if $min == null {
// xs: max-width only, no lower bound
@media only screen and (max-width: $max) {
@content;
}
} @else if $max == null {
// xl: min-width only, no upper bound
@media only screen and (min-width: $min) {
@content;
}
} @else {
@media only screen and (min-width: $min) and (max-width: $max) {
@content;
}
}
} @else if $direction == 'up' {
@if $min == null {
// xs-up: no lower bound, always applies
@content;
} @else {
@media only screen and (min-width: $min) {
@content;
}
}
} @else if $direction == 'down' {
@if $max == null {
// xl-down: no upper bound, always applies
@content;
} @else {
@media only screen and (max-width: $max) {
@content;
}
}
} @else {
@warn "Unknown direction `#{$direction}`. Expected: only, up, down.";
}
}
}
@@ -0,0 +1,6 @@
@mixin scrollbar-width($width: thin, $widthLegacy: 12px) {
@include set-fixit-vars((
scrollbar-width: $width,
scrollbar-width-legacy: $widthLegacy,
));
}
+80
View File
@@ -0,0 +1,80 @@
// ========================================
// Theme Variable Mixins and Functions
// ========================================
/// Get CSS variable with prefix
/// @param {String} $name - CSS variable name (without prefix)
/// @param {*} $fallback - Optional fallback value
/// @return {String} - Complete CSS variable reference
/// @example
/// color: fixit-var(global-font-color);
/// background: fixit-var(custom-bg, #fff);
@function fixit-var($name, $fallback: null) {
@if $fallback {
@return var(#{$rootPrefix}#{$name}, #{$fallback});
} @else {
@return var(#{$rootPrefix}#{$name});
}
}
/// Set a single CSS variable
/// @param {String} $name - CSS variable name (without prefix)
/// @param {*} $value - Variable value
/// @example
/// @include set-fixit-var(custom-color, #ff0000);
@mixin set-fixit-var($name, $value) {
#{$rootPrefix}#{$name}: #{$value};
}
/// Batch set CSS variables
/// @param {Map} $vars - Variable map, key is CSS variable name (without prefix), value is variable value
/// @example
/// @include set-fixit-vars((
/// custom-color: #ff0000,
/// custom-bg: #00ff00,
/// ));
@mixin set-fixit-vars($vars) {
@each $name, $value in $vars {
#{$rootPrefix}#{$name}: #{$value};
}
}
/// Batch set theme color variables using global $theme-colors
/// Generates light theme (in :root) and dark theme ([data-theme=dark]) variables
@mixin set-theme-colors() {
// Light theme (in :root)
@at-root :root {
@each $name, $value in $theme-colors {
#{$rootPrefix}#{$name}: #{$value};
}
}
// Dark theme
@at-root [data-theme=dark] {
@each $name, $value in $theme-colors {
#{$rootPrefix}#{$name}: #{darken($value, 5%)};
}
}
}
/// Define dual-theme variables (generate definitions for both light and dark simultaneously)
/// @param {Map} $vars - Variable map, key is CSS variable name, value is Map(light: $light-val, dark: $dark-val)
/// @example
/// @include define-theme-vars((
/// global-background-color: (light: $global-background-color, dark: $global-background-color-dark)
/// ));
@mixin define-theme-vars($vars) {
// Light theme (in :root)
@at-root :root {
@each $name, $values in $vars {
#{$rootPrefix}#{$name}: #{map-get($values, light)};
}
}
// Dark theme
@at-root [data-theme=dark] {
@each $name, $values in $vars {
#{$rootPrefix}#{$name}: #{map-get($values, dark)};
}
}
}
+25
View File
@@ -0,0 +1,25 @@
$z-indexes: (
"hide": -1,
"auto": auto,
"base": 1,
"loading": 10,
"sticky": 100,
"fixed": 200
) !default;
/// Mixin to set z-index
/// @param {String|Number} $key - The key of the z-index map or a raw number
/// @param {Number} $diff - The difference to add to the z-index
/// @example
/// @include z-index(base);
/// @include z-index(base, 1);
@mixin z-index($key, $diff: 0) {
$z-index: map-get($z-indexes, $key);
@if $z-index {
z-index: $z-index + $diff;
} @else {
@warn "Unknown z-index key: `#{$key}`.";
z-index: $key + $diff;
}
}
+140
View File
@@ -0,0 +1,140 @@
// ================================================================================
// CSS Custom Properties (CSS Variables)
// ================================================================================
// This file defines all CSS custom properties for the FixIt theme.
// Variables are organized into two main categories:
// 1. Theme-independent variables: fixed values (fonts, sizes, etc.)
// 2. Theme-dependent variables: color values that support light/dark themes
//
// Theme-dependent variables are further categorized into:
// - Core: Global layout and navigation colors
// - Page Content: Article and post content colors
// - Third-party: Extension and plugin colors
//
// These CSS variables enable runtime theme switching and customization.
// ================================================================================
:root {
interpolate-size: allow-keywords;
// ----------------------------------------
// Theme-Independent Variables
// ----------------------------------------
@include set-fixit-vars((
// Global Typography
global-font-family: $global-font-family,
global-font-size: $global-font-size,
global-font-weight: $global-font-weight,
global-line-height: $global-line-height,
global-scroll-margin-top: $global-scroll-margin-top,
global-border-radius: $global-border-radius,
// Header
header-height: $header-height,
header-title-font-family: $header-title-font-family,
header-title-font-size: $header-title-font-size,
submenu-height: $submenu-height,
// Single Content
toc-title-font-size: $toc-title-font-size,
toc-content-font-size: $toc-content-font-size,
collection-title-font-size: $collection-title-font-size,
collection-list-font-size: $collection-list-font-size,
related-title-font-size: $related-title-font-size,
related-list-font-size: $related-list-font-size,
reward-img-width: $reward-img-width,
// Code
code-font-size: $code-font-size,
code-block-font-size: $code-block-font-size,
code-font-family: $code-font-family,
code-error-color: $code-error-color,
// Scrollbar
scrollbar-track-color: transparent,
scrollbar-width: thin,
scrollbar-width-legacy: 12px,
// Animations
bezier: cubic-bezier(.4, 0, .2, 1),
// Other utilities
breadcrumb-height: 0px,
divider-edge-weak: linear-gradient(to right, transparent, fixit-var(divider-bg, #d0d0d5), transparent),
scroll-mt: calc(#{fixit-var(header-height)} + #{fixit-var(global-scroll-margin-top)}),
));
}
// ----------------------------------------
// Theme-Dependent Color Variables
// ----------------------------------------
// Theme colors variables
@include set-theme-colors;
// Core theme colors (global layout)
@include define-theme-vars((
// Global
global-background-color: (light: $global-background-color, dark: $global-background-color-dark),
global-font-color: (light: $global-font-color, dark: $global-font-color-dark),
global-font-secondary-color: (light: $global-font-secondary-color, dark: $global-font-secondary-color-dark),
global-placeholder-color: (light: $global-placeholder-color, dark: $global-placeholder-color-dark),
global-link-color: (light: $global-link-color, dark: $global-link-color-dark),
global-link-hover-color: (light: $global-link-hover-color, dark: $global-link-hover-color-dark),
global-border-color: (light: $global-border-color, dark: $global-border-color-dark),
global-border-color-light: (light: lighten($global-border-color, 5%), dark: darken($global-border-color-dark, 5%)),
global-border-color-weight: (light: darken($global-border-color, 5%), dark: lighten($global-border-color-dark, 5%)),
// Header
header-background-color: (light: $header-background-color, dark: $header-background-color-dark),
menu-active-color: (light: $menu-active-color, dark: $menu-active-color-dark),
menu-border-color: (light: $menu-border-color, dark: $menu-border-color-dark),
search-background-color: (light: $search-background-color, dark: $search-background-color-dark),
// Selection
selection-color: (light: $selection-color, dark: $selection-color-dark),
// Scrollbar
scrollbar-color: (light: $scrollbar-color, dark: $scrollbar-color),
scrollbar-hover-color: (light: $scrollbar-hover-color, dark: $scrollbar-hover-color),
scrollbar-thumb-color: (light: $scrollbar-color, dark: $scrollbar-color),
scrollbar-thumb-hover-color: (light: $scrollbar-hover-color, dark: $scrollbar-hover-color),
// Tag Cloud
tag-cloud-start: (light: $tag-cloud-start, dark: $tag-cloud-start-dark),
tag-cloud-end: (light: $tag-cloud-end, dark: $tag-cloud-end-dark),
// Pagination
pagination-link-color: (light: $pagination-link-color, dark: $pagination-link-color-dark),
pagination-link-hover-color: (light: $pagination-link-hover-color, dark: $pagination-link-hover-color-dark),
));
// Page content theme colors
@include define-theme-vars((
// Single Content
single-link-color: (light: $single-link-color, dark: $single-link-color-dark),
single-link-hover-color: (light: $single-link-hover-color, dark: $single-link-hover-color-dark),
table-background-color: (light: $table-background-color, dark: $table-background-color-dark),
table-thead-color: (light: $table-thead-color, dark: $table-thead-color-dark),
blockquote-color: (light: $blockquote-color, dark: $blockquote-color-dark),
reward-color: (light: $reward-color, dark: $reward-color-dark),
// Divider
hr-active-color: (light: lighten($single-link-hover-color, 4%), dark: darken($global-link-hover-color-dark, 4%)),
// Code
code-color: (light: $code-color, dark: $code-color-dark),
code-inline-background-color: (light: rgba(175, 184, 193, 0.2), dark: rgba(99, 110, 123, 0.4)),
code-block-background-color: (light: $code-background-color, dark: $code-background-color-dark),
code-header-color: (light: $code-header-color, dark: $code-header-color-dark),
code-header-background-color: (light: darken($code-background-color, 5%), dark: darken($code-background-color-dark, 5%)),
code-highlight-color: (light: $code-highlight-color, dark: $code-highlight-color-dark),
gist-meta-background-color: (light: darken($code-background-color, 5%), dark: darken($code-background-color-dark, 5%)),
));
// Third-party component theme colors (extensions and plugins)
@include define-theme-vars((
// GitHub Corners
github-corner-color: (light: $github-corner-color, dark: $github-corner-color-dark),
github-corner-fill: (light: $github-corner-fill, dark: $github-corner-fill-dark),
));
@@ -0,0 +1,11 @@
body {
.cell-tooltip {
--tooltip-bg: #ffffff;
--tooltip-color: #0f172a;
[data-theme=dark] & {
--tooltip-bg: #39393c;
--tooltip-color: #e2e2e6;
}
}
}
@@ -0,0 +1,15 @@
.cc-window.cc-banner {
.cc-btn {
color: fixit-var(global-font-color);
background-color: fixit-var(global-background-color);
&:hover,
&:focus {
background-color: #ccc;
[data-theme=dark] & {
background-color: #444;
}
}
}
}
+47
View File
@@ -0,0 +1,47 @@
.details {
> .details-summary {
transition: border-radius 0.2s ease 0.2s;
@include border-radius;
&:hover {
cursor: pointer;
}
i.details-icon {
color: fixit-var(secondary);
transition: all 0.2s ease;
&:hover {
color: fixit-var(global-font-color);
}
}
}
> .details-content {
height: 0;
overflow-y: hidden;
transition: height 0.5s ease-out;
}
&.open {
> .details-summary {
transition: border-radius 0s;
@include border-radius(top);
i.details-icon {
transform: rotate(90deg);
}
}
> .details-content {
height: auto;
@include border-radius(bottom);
}
}
&.disabled {
> .details-summary {
cursor: default;
}
}
}
@@ -0,0 +1,86 @@
.fixed-buttons {
position: fixed;
right: 1.5rem;
bottom: 1.5rem;
display: flex;
flex-direction: column;
gap: 0.5rem;
@include z-index(fixed, -10);
}
.fixed-button {
font-size: 1rem;
line-height: 1.5rem;
padding: 0.5rem 0.625rem;
color: fixit-var(secondary);
background-color: darken($header-background-color, 3%);
transition: color 0.4s ease;
@include border-radius(full);
@include blur;
[data-theme=dark] & {
background-color: darken($header-background-color-dark, 3%);
}
&:hover,
&:active {
color: fixit-var(global-font-color);
cursor: pointer;
}
&:active,
&:focus,
&:hover {
outline: none;
}
@include media('print') {
display: none !important;
}
}
.back-to-top {
overflow: hidden;
position: relative;
@include set-fixit-vars((
// Ring stroke width
b2t-stroke: 0.5rem,
// Progress color
b2t-prog: fixit-var(success),
// dasharray = circumference = 2πr
// dashoffset = circumference * (1 - scrollPercent / 100)
b2t-dasharray: 314.15
));
[data-theme=dark] & {
@include set-fixit-var(b2t-prog, fixit-var(global-font-color));
}
// SVG circular progress ring
svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
// Rotate to start from top
transform: rotate(-90deg);
}
.bg {
fill: none;
stroke: fixit-var(global-border-color-light);
stroke-width: fixit-var(b2t-stroke);
}
// Progress ring
.progress {
fill: none;
stroke: fixit-var(b2t-prog);
stroke-width: fixit-var(b2t-stroke);
stroke-linecap: round;
stroke-dasharray: fixit-var(b2t-dasharray);
stroke-dashoffset: calc(#{fixit-var(b2t-dasharray)} * (1 - #{fixit-var(b2t-progress, 0)} / 100));
transition: stroke-dashoffset .1s linear;
}
}
@@ -0,0 +1,48 @@
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
.github-corner {
position: fixed;
top: 0;
@include z-index(fixed);
:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
svg {
width: fixit-var(header-height);
height: fixit-var(header-height);
border: 0;
color: fixit-var(github-corner-color);
fill: fixit-var(github-corner-fill);
}
&.left {
left: 0;
svg {
transform: scale(-1, 1);
}
}
&.right {
right: 0;
}
@include media('print') {
display: none !important;
}
}
@@ -10,17 +10,19 @@ svg.icon {
}
img.emoji {
display: inline-block;
height: 1em;
width: 1em;
margin: 0 0.05em 0 0.1em;
vertical-align: -0.1em;
}
.hugo-icon,
.fixit-icon {
display: inline-block;
height: 1.5em;
width: 1.5em;
line-height: 1.5em;
height: 1.2em;
width: 1.2em;
line-height: 1.2em;
position: relative;
vertical-align: text-bottom;
}
+12
View File
@@ -0,0 +1,12 @@
@import 'cell-tooltip';
@import 'cookieconsent';
@import 'details';
@import 'fixed-button';
@import 'github-corner';
@import 'icon';
@import 'mask';
@import 'noscript-warning';
@import 'post-chat';
@import 'reading-progress';
@import 'scrollbar';
@import 'typeit';
@@ -6,11 +6,11 @@
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background-color: rgba(0, 0, 0, 0);
@include z-index(hide);
.blur & {
z-index: 100;
@include z-index(fixed, -1);
background-color: rgba(0, 0, 0, 0.25);
}
}
@@ -0,0 +1,12 @@
.noscript-warning {
background-color: fixit-var(danger);
color: white;
font-size: 1rem;
font-weight: bold;
position: fixed;
text-align: center;
left: 0;
bottom: 0;
width: 100%;
@include z-index(fixed);
}
@@ -0,0 +1,6 @@
#postChat_button,
.post-TianliGPT {
@include media('print') {
display: none !important;
}
}
@@ -0,0 +1,15 @@
.reading-progress-bar {
height: fixit-var(progress-h, 2px);
width: fixit-var(progress, 0);
background-color: fixit-var(bg-progress, fixit-var(success));
position: fixed;
@include z-index(fixed);
[data-theme=dark] & {
background-color: fixit-var(bg-progress-dark, fixit-var(global-font-color));
}
@include media('print') {
display: none !important;
}
}
+44
View File
@@ -0,0 +1,44 @@
/* Modern browsers with `scrollbar-*` support (high priority) */
@supports (scrollbar-width: auto) {
* {
scrollbar-color: fixit-var(scrollbar-thumb-color) fixit-var(scrollbar-track-color);
scrollbar-width: fixit-var(scrollbar-width);
@include media('print') {
scrollbar-width: none;
}
}
}
/* Legacy browsers with `::-webkit-scrollbar-*` support */
::-webkit-scrollbar {
height: fixit-var(scrollbar-width-legacy);
width: fixit-var(scrollbar-width-legacy);
overflow: visible;
@include media('print') {
display: none;
}
}
::-webkit-scrollbar-button {
height: 0;
width: 0;
}
::-webkit-scrollbar-corner {
background-color: fixit-var(scrollbar-track-color);
}
::-webkit-scrollbar-thumb {
background-color: fixit-var(scrollbar-thumb-color);
&:hover {
background-color: fixit-var(scrollbar-thumb-hover-color);
}
}
::-webkit-scrollbar-track {
background-color: fixit-var(scrollbar-track-color);
}
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-track {
background-clip: padding-box;
border: 3px solid transparent;
@include border-radius(full);
}
+14
View File
@@ -0,0 +1,14 @@
.typeit {
.highlight {
padding: 0.375rem;
font-size: 0.875rem;
font-family: fixit-var(code-font-family);
font-weight: bold;
word-break: break-all;
white-space: pre-wrap;
}
--ti-cursor-color: fixit-var(global-font-color);
--ti-cursor-font-family: fixit-var(global-font-family);
--ti-cursor-transform: translateX(0);
}
+55
View File
@@ -0,0 +1,55 @@
// Color map of admonitions
$admonition-color-map: (
note: (
color: #448aff,
bg-color: rgba(68, 138, 255, 0.1),
),
abstract: (
color: #00b0ff,
bg-color: rgba(0, 176, 255, 0.1),
),
info: (
color: #00b8d4,
bg-color: rgba(0, 184, 212, 0.1),
),
todo: (
color: #5e9aff,
bg-color: rgba(94, 154, 255, 0.1),
),
tip: (
color: #00bfa5,
bg-color: rgba(0, 191, 165, 0.1),
),
success: (
color: #00c853,
bg-color: rgba(0, 200, 83, 0.1),
),
question: (
color: #ffbd67,
bg-color: rgba(255, 190, 0, 0.1),
),
warning: (
color: #ff9100,
bg-color: rgba(255, 145, 0, 0.1),
),
failure: (
color: #ff5252,
bg-color: rgba(255, 82, 82, 0.1),
),
danger: (
color: #ff1744,
bg-color: rgba(255, 23, 68, 0.1),
),
bug: (
color: #f50057,
bg-color: rgba(245, 0, 87, 0.1),
),
example: (
color: #651fff,
bg-color: rgba(101, 31, 255, 0.1),
),
quote: (
color: #9e9e9e,
bg-color: rgba(159, 159, 159, 0.1),
),
) !default;
+46
View File
@@ -0,0 +1,46 @@
// Color map of basic alerts
$alert-color-map: (
note: (
border-color: #0969da,
color: #0969da,
),
tip: (
border-color: #1a7f37,
color: #1a7f37,
),
important: (
border-color: #8250df,
color: #8250df,
),
warning: (
border-color: #bf8700,
color: #9a6700,
),
caution: (
border-color: #cf222e,
color: #d1242f,
),
) !default;
$alert-color-map-dark: (
note: (
border-color: #316dca,
color: #478be6,
),
tip: (
border-color: #347d39,
color: #57ab5a,
),
important: (
border-color: #8256d0,
color: #986ee2,
),
warning: (
border-color: #966600,
color: #c69026,
),
caution: (
border-color: #c93c37,
color: #e5534b,
),
) !default;

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