Compare commits

...

81 Commits

Author SHA1 Message Date
Cell c91c0c8d52 ♻️ Refactor: refactor reading progress with css animation 2025-03-06 15:02:41 +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
83 changed files with 1577 additions and 819 deletions
+3 -1
View File
@@ -1 +1,3 @@
assets/lib/**/* linguist-vendored
assets/lib/**/* linguist-vendored
*.toml linguist-detectable
*.md linguist-detectable
-27
View File
@@ -1,27 +0,0 @@
# Set to true to add reviewers to PRs
addReviewers: true
# Set to 'author' to add PR's author as a assignee
addAssignees: author
# A list of reviewers to be added to PRs (GitHub user name)
reviewers:
- Lruihao
# A number of reviewers added to the PR
# Set 0 to add all the reviewers (default: 0)
numberOfReviewers: 1
# A list of assignees, overrides reviewers if set
assignees:
- Lruihao
# A number of assignees to add to the PRs
# Set to 0 to add all of the assignees.
# Uses numberOfReviewers if unset.
numberOfAssignees: 0
# A list of keywords to be skipped the process if PR's title include it
skipKeywords:
- wip
- deps-dev
-14
View File
@@ -1,14 +0,0 @@
name: Auto Assign
on:
issues:
types: [opened]
pull_request_target:
types: [opened]
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/auto-assign@v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIG_FILE: .github/configs/auto-assign.yml
+3 -3
View File
@@ -1,7 +1,7 @@
name: Hugo build check
on:
pull_request:
branches: [ master ]
branches: [ main ]
workflow_dispatch:
jobs:
Actions-Hugo-Check:
@@ -15,7 +15,7 @@ jobs:
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3
with:
hugo-version: latest
hugo-version: ${{ vars.HUGO_VERSION || 'latest' }}
extended: true
- name: Build Hugo static files
run: hugo -v --source=demo --gc --minify
run: hugo --source=demo --gc --minify --logLevel info
+2 -2
View File
@@ -14,10 +14,10 @@ name: "CodeQL"
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
schedule:
- cron: "30 18 * * 5"
@@ -0,0 +1,28 @@
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
jobs:
generate-component-list:
name: Update this repo's README with the list of hugo-fixit theme components
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- 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: ':memo: Docs: update hugo-fixit component list'
commit_author: 'github-actions[bot] <github-actions[bot]@users.noreply.github.com>'
+2 -1
View File
@@ -4,7 +4,7 @@ name: Release for new tag
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
# Triggers the workflow on push or pull request events but only for the main branch
push:
tags:
- 'v*.*.*'
@@ -36,6 +36,7 @@ jobs:
run: |
npm install
npm run release -- --starting-version ${{ github.ref_name }}
sed -i '1,4d' CHANGELOG.md
- name: GitHub Release
uses: softprops/action-gh-release@v2
+1
View File
@@ -0,0 +1 @@
v18
+8 -10
View File
@@ -41,19 +41,17 @@ Finally, create a new pull request at <https://github.com/hugo-fixit/FixIt/pulls
### Branches
| Branch | Description |
| :-- | :-- |
| master | _The branch open to the public and release versions_ |
| dev | _The development branch of the next version_ |
| single feature | _The branch to enhancements or fixes_ |
| Branch | Description |
| :------------- | :----------------------------------------------------- |
| main | _The development branch, may contain unstable updates_ |
| single feature | _The branch to enhancements or fixes_ |
### Merge events
| event | merge |
| :-- | :-- |
| release | **dev => master:** `--rebase` |
| PR | **others:master => master:** `--rebase` |
| single feature| **feature branch => dev/master:** `--merge` |
| event | merge |
| :------------- | :------------------------------------ |
| PR | **others:main => main:** `--rebase` |
| single feature | **feature branch => main:** `--merge` |
### Commit message
+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-2024 Lruihao (https://lruihao.cn)
Copyright (c) 2021-2025 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
+103 -32
View File
@@ -1,46 +1,77 @@
<!-- markdownlint-disable-file MD033 MD041 -->
![Hugo Theme FixIt](https://fixit.lruihao.cn/images/apple-devices-preview.png)
<div align="center">English | <a href="/README.zh-cn.md">简体中文</a></div>
<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=german">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>
<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
> 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.
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/hugo-fixit/FixIt?style=flat)](https://github.com/hugo-fixit/FixIt/releases)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.134.1-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.141.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](/LICENSE)
[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/hugo-fixit/FixIt)
> «FixIt» is a **clean**, **elegant** but **advanced** blog theme for [Hugo](https://gohugo.io/).
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.
## Live Preview
<p align="center">
💟 <a href="https://fixit.lruihao.cn">Production</a> | ❇️ <a href="https://pre.fixit.lruihao.cn">Preview</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>.
More FixIt examples <a href="https://fixit.lruihao.cn/showcase/">here</a>.
</p>
## Documentation
## Why choose FixIt
I don't know why 🤷.
<!-- Too lazy to write... -->
## Usage
### Documentation
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/)
## Template repository
### Starter Wizard
We provided a CLI tool to help you create a new project with FixIt by a single command.
```bash
pnpx fixit-cli create my-blog
```
[![asciicast](https://asciinema.org/a/697494.svg)](https://asciinema.org/a/697494)
### Templates
Click the following links to generate a new repository with template:
| Template repository | Generate link |
| :----------------------------------------- | :----------------------------: |
| [hugo-fixit/hugo-fixit-starter][starter] | [Click][starter:generate] |
| [hugo-fixit/hugo-fixit-starter1][starter1] | [Click][starter1:generate] |
| [hugo-fixit/docs][docs] | [Click][docs:generate] |
| [Lruihao/hugo-blog][lruihao-blog] | [Click][lruihao-blog:generate] |
| 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] |
[starter]: https://github.com/hugo-fixit/hugo-fixit-starter
[starter:generate]: https://github.com/hugo-fixit/hugo-fixit-starter/generate
@@ -51,20 +82,22 @@ Click the following links to generate a new repository with template:
[lruihao-blog]: https://github.com/Lruihao/hugo-blog
[lruihao-blog:generate]: https://github.com/Lruihao/hugo-blog/generate
## Why choose FixIt
I don't know why 🤷
<!-- Too lazy to write... -->
## 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
- **[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
@@ -98,11 +131,13 @@ I don't know why 🤷
### Extended Features
- **AI Summary**, **AI Search** and **AI Chatbot** supported by [PostChat](https://ai.tianli0.top/?InviteID=IRE1S88Z)
- **PWA (Progressive Web App)** supported
- **Sub Menu** supported
- **Content Encryption** supported (Pages, Partial)
- **Friends** page embedded template
- **Search** supported by [algolia](https://www.algolia.com/) or [Fuse.js](https://fusejs.io/)
- **Search** supported by [algolia](https://www.algolia.com/), [Fuse.js](https://fusejs.io/), CSE or [PostChat](https://ai.tianli0.top/?InviteID=IRE1S88Z)
- **Custom Search Engine (CSE)** supported by [Google](https://programmablesearchengine.google.com/)
- **Twemoji** supported
- Automatically **highlighting** code
- **Copy code** to clipboard with one click
@@ -128,13 +163,14 @@ I don't know why 🤷
- Options to **cache remote image** locally
- ...
### Theme Components
The FixIt theme balances **simplicity** and **extensibility** with extra [Hugo theme components](https://fixit.lruihao.cn/components/) for customization.
</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).
<details>
<summary>FixIt supports the following languages.</summary>
- English
- Simplified Chinese
@@ -150,9 +186,42 @@ FixIt supports the following languages:
- Romanian
- Vietnamese
- Hindi
- [Contribute with a new language](https://github.com/hugo-fixit/FixIt/pulls)
[Languages Compatibility](https://fixit.lruihao.cn/documentation/basics/#language-compatibility)
</details>
## Theme Components
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)\
🐟 一个 canvas 实现的小鱼游动动画效果。
- [cmpt-mdevtools](https://github.com/hugo-fixit/cmpt-mdevtools)\
Mobile devtools component powered by vConsole and eruda.
- [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)\
一个含有 caniuse shortcode 的 Hugo 主题组件。
- [shortcode-docs-bookmark](https://github.com/hugo-fixit/shortcode-docs-bookmark)\
🔖 Embed bookmark of FixIt Docs.
- [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
@@ -165,8 +234,6 @@ All feedback is welcome! Head over to the [discussions][discussions], [Pull requ
| [FixIt QQ group][qq-group] | QQ group: `814031017` |
| [Hugo FixIt Planet][zsxq] | Paid knowledge Planet |
Don't forget to leave a ⭐️ if you like this theme, thanks!
[discussions]: https://github.com/hugo-fixit/FixIt/discussions
[pulls]: https://github.com/hugo-fixit/FixIt/pulls
[issues]: https://github.com/hugo-fixit/FixIt/issues
@@ -243,10 +310,14 @@ FixIt is licensed under the **MIT** license. Check the [LICENSE file](/LICENSE)
If you enjoy the theme, please consider buying me a coffee ☕️. Thanks!
- [Wechat](images/wechatpay.jpg)
- [Alipay](images/alipay.jpg)
- [Wechat](/images/wechatpay.jpg)
- [Alipay](/images/alipay.jpg)
- [PayPal](https://paypal.me/Lruihao)
Thanks to the following sponsors for their support:
- [translate.js](https://github.com/xnx3/translate) Sponsoring [Enterprise Translation Channel](https://translate.zvo.cn/4087.html).
## Author
[Lruihao](https://github.com/Lruihao "Follow me on GitHub")
+103 -32
View File
@@ -1,46 +1,77 @@
<!-- markdownlint-disable-file MD033 MD041 -->
![Hugo Theme FixIt](https://fixit.lruihao.cn/images/apple-devices-preview.png)
<div align="center"><a href="/README.md">English</a> | 简体中文</div>
<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=german">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>
<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
> 它的原型基于 [LoveIt](https://github.com/dillonzq/LoveIt) 主题,[KeepIt](https://github.com/Fastbyte01/KeepIt) 主题和 [LeaveIt](https://github.com/liuzc/LeaveIt) 主题。
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/hugo-fixit/FixIt?style=flat)](https://github.com/hugo-fixit/FixIt/releases)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.134.1-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![Hugo](https://img.shields.io/badge/Hugo-%5E0.141.0-ff4088?style=flat&logo=hugo)](https://gohugo.io/)
[![License](https://img.shields.io/github/license/hugo-fixit/FixIt?style=flat)](/LICENSE)
[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/hugo-fixit/FixIt)
> «FixIt» 是一个**简洁**、**优雅**且**高效**的 [Hugo](https://gohugo.io/) 博客主题。
它的原型基于 [LoveIt](https://github.com/dillonzq/LoveIt) 主题,[KeepIt](https://github.com/Fastbyte01/KeepIt) 主题和 [LeaveIt](https://github.com/liuzc/LeaveIt) 主题。
## 即时预览
<p align="center">
💟 <a href="https://fixit.lruihao.cn/zh-cn/">Production</a> | ❇️ <a href="https://pre.fixit.lruihao.cn/zh-cn/">Preview</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>。
更多 FixIt 的例子参见 <a href="https://fixit.lruihao.cn/zh-cn/showcase/">这里</a>。
</p>
## 主题文档
## 为什么选择 FixIt
我也不知道为什么 🤷。
<!-- 懒的写…… -->
## 使用指南
### 主题文档
前往 [快速上手](https://fixit.lruihao.cn/zh-cn/documentation/getting-started/quick-start/) 页面,了解如何使用 FixIt 主题创建一个新网站的详细步骤。
大纲:[安装篇](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/)
## 模板仓库
### 快速开始
我们提供了一个 CLI 工具,可以通过一个命令来创建一个新的 FixIt 项目。
```bash
pnpx fixit-cli create my-blog
```
[![asciicast](https://asciinema.org/a/697494.svg)](https://asciinema.org/a/697494)
### 模板
点击以下链接使用模板生成一个新的仓库:
| 模板仓库 | 生成链接 |
| :----------------------------------------- | :-------------------------------: |
| [hugo-fixit/hugo-fixit-starter][starter] | [点击生成][starter:generate] |
| [hugo-fixit/hugo-fixit-starter1][starter1] | [点击生成][starter1:generate] |
| [hugo-fixit/docs][docs] | [点击生成][docs:generate] |
| [Lruihao/hugo-blog][lruihao-blog] | [点击生成][lruihao-blog:generate] |
| 模板 | 仓库 | 生成链接 |
| :---------------------------------- | :-------------------------------- | :-------------------------------: |
| 基于 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] |
[starter]: https://github.com/hugo-fixit/hugo-fixit-starter
[starter:generate]: https://github.com/hugo-fixit/hugo-fixit-starter/generate
@@ -51,13 +82,14 @@
[lruihao-blog]: https://github.com/Lruihao/hugo-blog
[lruihao-blog:generate]: https://github.com/Lruihao/hugo-blog/generate
## 为什么选择 FixIt
### 镜像
我也不知道为什么 🤷
Gitee 镜像仓库:<https://gitee.com/lruihao/FixIt>
<!-- 懒的写…… -->
## 特色
## 特性
<details>
<summary>点击展开</summary>
### 性能和 SEO
@@ -65,6 +97,11 @@
- 使用基于 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**
@@ -98,11 +135,13 @@
### 扩展功能
- 支持基于 [PostChat](https://ai.tianli0.top/?InviteID=IRE1S88Z) 的 **AI 摘要**、**AI 搜索** 和 **AI 智能客服**
- 支持**渐进式网页应用**
- 支持**二级菜单**
- 支持**内容加密**(页面、局部)
- 支持**友情链接**的页面模板
- 支持基于 [algolia](https://www.algolia.com/)[Fuse.js](https://fusejs.io/) 的**搜索**
- 支持基于 [algolia](https://www.algolia.com/)[Fuse.js](https://fusejs.io/)**CSE** 或 [PostChat](https://ai.tianli0.top/?InviteID=IRE1S88Z) 的**搜索**
- 支持基于 [Google](https://programmablesearchengine.google.com/) 的**自定义搜索引擎 (CSE)**
- 支持 **Twemoji**
- 支持**代码高亮**
- 一键**复制代码**到剪贴板
@@ -128,13 +167,14 @@
- 支持本地**缓存远程图床图片**
- ……
### 主题组件
FixIt 主题旨在在**简洁性**和**可扩展性**之间取得平衡。为此,我们开发了一系列额外的 [Hugo 主题组件](https://fixit.lruihao.cn/zh-cn/components/) 供用户选择。
</details>
## 多语言和国际化
FixIt 支持下列语言:
FixIt 主题多语言基本配置及自动翻译等详见 [内容管理](https://fixit.lruihao.cn/zh-cn/documentation/content-management/introduction#multilingual) 文档,欢迎 [贡献一种新的语言](https://github.com/hugo-fixit/FixIt/pulls)。
<details>
<summary>FixIt 支持下列语言。</summary>
- 英语
- 简体中文
@@ -150,13 +190,42 @@ FixIt 支持下列语言:
- 罗马尼亚语
- 越南语
- 印地语
- [贡献一种新的语言](https://github.com/hugo-fixit/FixIt/pulls)
[语言兼容性](https://fixit.lruihao.cn/zh-cn/theme-documentation-basics/#language-compatibility)
</details>
## 镜像
## 主题组件
Gitee 镜像仓库:<https://gitee.com/lruihao/FixIt>
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)\
🐟 一个 canvas 实现的小鱼游动动画效果。
- [cmpt-mdevtools](https://github.com/hugo-fixit/cmpt-mdevtools)\
Mobile devtools component powered by vConsole and eruda.
- [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)\
一个含有 caniuse shortcode 的 Hugo 主题组件。
- [shortcode-docs-bookmark](https://github.com/hugo-fixit/shortcode-docs-bookmark)\
🔖 Embed bookmark of FixIt Docs.
- [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>
## 社区支持
@@ -169,8 +238,6 @@ Gitee 镜像仓库:<https://gitee.com/lruihao/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
@@ -247,10 +314,14 @@ FixIt 根据 **MIT** 许可协议授权。更多信息请查看 [LICENSE 文件]
如果你喜爱这个主题,请考虑给我买杯咖啡 ☕️,谢谢!
- [微信支付](images/wechatpay.jpg)
- [支付宝](images/alipay.jpg)
- [微信支付](/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://github.com/Lruihao "在 GitHub 上关注我")
+5
View File
@@ -0,0 +1,5 @@
---
title: {{ T "assets.search" }}
layout: search
date: {{ .Date }}
---
+5 -6
View File
@@ -118,7 +118,7 @@ header {
}
}
.search {
.menu .search {
position: relative;
input {
@@ -279,6 +279,8 @@ header {
border-radius: $global-border-radius;
border: 1px solid $menu-border-color;
background-color: $header-background-color;
max-height: 60vh;
overflow-y: auto;
@include transition(box-shadow 0.3s ease);
@include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.1));
@@ -384,6 +386,8 @@ header {
@include scrollbar-width(none, 0);
[data-theme='dark'] & {
background: $header-background-color-dark;
border-top-color: $global-border-color-dark;
@include box-shadow(0 0.125rem 0.25rem rgba(255, 255, 255, 0.1));
}
@@ -512,11 +516,6 @@ header {
&.active {
display: block;
}
[data-theme='dark'] & {
background: $header-background-color-dark;
border-top-color: $global-border-color-dark;
}
}
}
+7 -2
View File
@@ -1,5 +1,9 @@
:root {
// Note: Custom variable values only support SassScript inside `#{}`.
// TODO migrate SCSS variables to CSS variables
--#{$prefix}global-font-color: #{$global-font-color};
--#{$prefix}global-border-color: #{$global-border-color};
// Theme colors variables
@each $color, $value in $theme-colors {
@@ -22,12 +26,13 @@
--#{$prefix}scrollbar-track-color: transparent;
--#{$prefix}scrollbar-width: thin;
--#{$prefix}scrollbar-width-legacy: 12px;
// TODO migrate SCSS variables to CSS variables
}
// Dark theme
[data-theme=dark] {
--#{$prefix}global-font-color: #{$global-font-color-dark};
--#{$prefix}global-border-color: #{$global-border-color-dark};
@each $color, $value in $theme-colors {
--#{$prefix}#{$color}: #{darken($value, 5%)};
}
+8
View File
@@ -5,3 +5,11 @@
@mixin details-transition-close {
@include transition(max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s);
}
details {
&.center {
summary {
text-align: center;
}
}
}
+19 -11
View File
@@ -81,20 +81,28 @@
}
.summary {
padding-top: 1rem;
padding-bottom: 0.8rem;
color: $global-font-color;
border-bottom: 1px dashed $global-border-color;
padding-block: 1rem;
color: var(--#{$prefix}global-font-color);
&:not(:last-of-type)::after {
content: '';
position: absolute;
width: 100%;
padding: 2px;
transform: translateY(18px);
background: repeating-linear-gradient(
135deg,
var(--#{$prefix}hr-background-color) 0px,
var(--#{$prefix}hr-background-color) 4px,
transparent 4px,
transparent 8px
);
}
&:first-of-type {
padding-top: 0;
}
[data-theme='dark'] & {
color: $global-font-color-dark;
border-bottom: 1px dashed $global-border-color-dark;
}
.featured-image-preview {
width: 100%;
// use the same proportions as the cover image of https://dev.to/
@@ -144,7 +152,7 @@
}
.post-footer {
margin-top: 0.4rem;
margin-block: 0.4rem 0;
display: flex;
justify-content: space-between;
align-items: center;
@@ -156,7 +164,7 @@
padding: 0;
@include link(true, true);
.post-tag:not(:last-child)::after {
content: ',';
margin-right: 0.25rem;
-1
View File
@@ -17,4 +17,3 @@
@import '_home';
@import '_404';
@import '_offline';
@import '_friends';
+13 -7
View File
@@ -97,6 +97,7 @@
hr {
position: relative;
height: 1em;
margin-block: 1em;
background: linear-gradient(to right, var(--#{$prefix}hr-background-color) 50%, transparent 50%);
background-size: 10px 2px;
background-position: center;
@@ -104,8 +105,6 @@
border: none;
&.awesome-hr {
margin-block: 0.5em;
&::before {
display: inline-block;
font-weight: 600;
@@ -249,11 +248,14 @@
li[data-task='x'],
li[data-task='-'] {
--#{$prefix}task-color: var(--#{$prefix}secondary);
text-decoration: line-through;
text-decoration: line-through rgba(145, 145, 145, 0.6);
}
li[data-task='x'] {
--#{$prefix}checkbox-color: var(--#{$prefix}primary);
}
li[data-task='-'] {
opacity: 0.6;
}
li[data-task='/'] {
--#{$prefix}task-color: var(--#{$prefix}success);
}
@@ -304,6 +306,7 @@
}
.table-wrapper {
position: relative;
overflow-x: auto;
--#{$prefix}scrollbar-thumb-color: #{$table-background-color};
@@ -495,10 +498,6 @@
}
}
hr {
margin-block: 0;
}
kbd {
display: inline-block;
padding: 0 0.25rem;
@@ -518,6 +517,13 @@
}
}
// Katex styles
.katex-display {
max-width: 100%;
overflow-x: auto;
padding-block: 2px;
}
@import '../_partials/_single/alert';
@import '../_partials/_single/code';
@import '../_shortcodes';
-6
View File
@@ -1,6 +0,0 @@
.special {
.single-title,
.single-subtitle {
text-align: right;
}
}
@@ -1,5 +1,5 @@
/**
* @Description: Style of layout named 'friends'.
* Style of layout named 'friends'.
* @Author: Lruihao <https://lruihao.cn>
* @Updated: 2022/3/11 21:36
*/
+14
View File
@@ -0,0 +1,14 @@
.special {
.single-title,
.single-subtitle {
text-align: right;
}
&.friends {
@import '_friends';
}
&.search {
@import '_search';
}
}
+10
View File
@@ -0,0 +1,10 @@
// Style of layout named 'search'
// TODO Adapting to dark mode, maybe use css variables
// Google CSE
.gcse-searchbox:empty,
.gcse-searchresults:empty {
display: none;
}
// Bing CSE (Unsupported)
@@ -130,7 +130,7 @@
font-size: $collection-title-font-size;
&::before {
content: attr(data-collections) '';
content: attr(title) '';
}
}
@@ -1,13 +1,37 @@
.reading-progress-bar {
--progress: 0;
height: var(--progress-h, 2px);
width: var(--progress);
background-color: var(--bg-progress, var(--#{$prefix}info));
height: var(--#{$prefix}progress-h, 2px);
background-color: var(--#{$prefix}progress-bg, var(--#{$prefix}info));
position: fixed;
left: 0;
right: 0;
transform-origin: var(--#{$prefix}progress-start, left) 50%;
animation: grow-progress 3s linear;
animation-timeline: scroll();
@include z-index(2);
@extend .print-d-none;
&[data-reversed=true] {
animation-name: grow-progress-reversed;
}
[data-theme="dark"] & {
background-color: var(--bg-progress-dark, var(--#{$prefix}info-dark));
background-color: var(--#{$prefix}progress-bg-dark, var(--#{$prefix}info-dark));
}
@keyframes grow-progress {
from { transform: scaleX(0); }
to { transform: scaleX(1); }
}
@keyframes grow-progress-reversed {
from { transform: scaleX(1); }
to { transform: scaleX(0); }
}
/**
* After the CSS property `animation-timeline: scroll()` exceeds 90% browser support in the future, this code can be removed
* See https://caniuse.com/mdn-css_properties_animation-timeline_scroll
*/
@supports not (animation-timeline: scroll()) {
display: none;
}
}
-4
View File
@@ -25,10 +25,6 @@
&:empty {
display: none;
}
// BUG of Hugo https://github.com/gohugoio/hugo/issues/12913
&:has(> p:only-child:empty) {
display: none;
}
}
i.icon {
+1
View File
@@ -39,6 +39,7 @@ $global-link-hover-color: #2983bb !default; // 潮蓝
$global-link-hover-color-dark: #fff !default;
// Color of the border
// TODO refactor border colors
$global-border-color: #f0f0f0 !default;
$global-border-color-dark: #363636 !default;
// ========== Global ========== //
+5 -5
View File
@@ -30,8 +30,8 @@ libFiles:
cryptoSha256JS: crypto-js@4.2.0/sha256.js
# echarts@5.3.3 https://github.com/apache/echarts
echartsJS: echarts@5.3.3/dist/echarts.min.js
# fontawesome-free@6.4.2 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.4.2/css/all.min.css'
# fontawesome-free@6.7.1 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.7.1/css/all.min.css'
# fusejs@6.6.2 https://github.com/krisk/fuse
fuseJS: fuse.js@6.6.2/dist/fuse.min.js
# gitalk@1.7.2 https://github.com/gitalk/gitalk
@@ -72,9 +72,9 @@ libFiles:
typeitJS: typeit@8.8.4/dist/index.umd.js
# valine@1.5.2 https://github.com/xCss/Valine
valineJS: valine@1.5.2/dist/Valine.min.js
# waline@2.15.8 https://github.com/walinejs/waline
walineCSS: '@waline/client@2.15.8/dist/waline.css'
walineJS: '@waline/client@2.15.8/dist/waline.js'
# waline@3.4.1 https://github.com/walinejs/waline
walineCSS: '@waline/client@3.4.1/dist/waline.css'
walineJS: '@waline/client@3.4.1/dist/waline.umd.js'
# xxhash-wasm@1.0.2 https://github.com/jungomi/xxhash-wasm
xxhashWasmJS: xxhash-wasm@1.0.2/umd/xxhash-wasm.js
+5 -5
View File
@@ -30,8 +30,8 @@ libFiles:
cryptoSha256JS: crypto-js@4.2.0/sha256.js
# echarts@5.3.3 https://github.com/apache/echarts
echartsJS: echarts@5.3.3/dist/echarts.min.js
# fontawesome-free@6.4.2 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.4.2/css/all.min.css'
# fontawesome-free@6.7.1 https://github.com/FortAwesome/Font-Awesome
fontawesomeFreeCSS: '@fortawesome/fontawesome-free@6.7.1/css/all.min.css'
# fusejs@6.6.2 https://github.com/krisk/fuse
fuseJS: fuse.js@6.6.2/dist/fuse.min.js
# gitalk@1.7.2 https://github.com/gitalk/gitalk
@@ -72,8 +72,8 @@ libFiles:
typeitJS: typeit@8.8.4/dist/index.umd.js
# valine@1.5.2 https://github.com/xCss/Valine
valineJS: valine@1.5.2/dist/Valine.min.js
# waline@2.15.8 https://github.com/walinejs/waline
walineCSS: '@waline/client@2.15.8/dist/waline.css'
walineJS: '@waline/client@2.15.8/dist/waline.js'
# waline@3.4.1 https://github.com/walinejs/waline
walineCSS: '@waline/client@3.4.1/dist/waline.css'
walineJS: '@waline/client@3.4.1/dist/waline.umd.js'
# xxhash-wasm@1.0.2 https://github.com/jungomi/xxhash-wasm
xxhashWasmJS: xxhash-wasm@1.0.2/umd/xxhash-wasm.js
+8
View File
@@ -673,6 +673,14 @@ credly:
Icon:
Class: fa-solid fa-certificate
# 086: Bluesky
bluesky:
Weight: 86
Title: Bluesky
Prefix: https://bsky.app/profile/
Icon:
Class: fa-brands fa-bluesky
# Phone
phone:
Weight: 997
+78 -21
View File
@@ -124,6 +124,21 @@ class FixIt {
const $searchToggle = document.getElementById(`search-toggle-${suffix}`);
const $searchLoading = document.getElementById(`search-loading-${suffix}`);
const $searchClear = document.getElementById(`search-clear-${suffix}`);
const $searchCancel = document.getElementById('search-cancel-mobile');
// goto the PostChat panel rather than search results
if (searchConfig.type === 'post-chat' && window.postChatUser) {
if (isMobile) {
$searchInput.addEventListener('focus', () => {
window.postChatUser.setSearchInput('');
}, false);
} else {
$searchToggle.addEventListener('click', () => {
window.postChatUser.setSearchInput('');
}, false);
}
return;
}
if (isMobile) {
this._searchMobileOnce = true;
@@ -132,7 +147,7 @@ class FixIt {
document.body.classList.add('blur');
$header.classList.add('open');
}, false);
document.getElementById('search-cancel-mobile').addEventListener('click', () => {
$searchCancel.addEventListener('click', () => {
this.disableScrollEvent = false;
$header.classList.remove('open');
document.body.classList.remove('blur');
@@ -159,8 +174,10 @@ class FixIt {
document.body.classList.add('blur');
$header.classList.add('open');
$searchInput.focus();
this.disableScrollEvent = true;
}, false);
$searchClear.addEventListener('click', () => {
this.disableScrollEvent = false;
$searchClear.style.display = 'none';
this._searchDesktop && this._searchDesktop.autocomplete.setVal('');
}, false);
@@ -289,25 +306,49 @@ class FixIt {
finish([]);
});
} else finish(search());
}
} else if (searchConfig.type === 'cse') {
const cseConfig = this.config.cse;
if (cseConfig.engine === 'google' && cseConfig.cx) {
finish([{
uri: `${cseConfig.resultsPage}#gsc.tab=0&gsc.q=${encodeURIComponent(query)}`,
title: cseConfig.searchIn,
date: '<i class="fa-brands fa-searchengin fa-xl" aria-hidden="true"></i>',
context: cseConfig.gotoResultsPage
}]);
}
} else {
finish([]);
}
},
templates: {
suggestion: ({ title, date, context }) =>
`<div><span class="suggestion-title">${title}</span><span class="suggestion-date">${date}</span></div><div class="suggestion-context">${context}</div>`,
empty: ({ query }) => `<div class="search-empty">${searchConfig.noResultsFound}: <span class="search-query">"${query}"</span></div>`,
footer: ({}) => {
const { searchType, icon, href } =
searchConfig.type === 'algolia'
? {
searchType: 'algolia',
icon: '<i class="fa-brands fa-algolia fa-fw" aria-hidden="true"></i>',
href: 'https://www.algolia.com/'
}
: {
searchType: 'Fuse.js',
icon: '',
href: 'https://fusejs.io/'
}
let searchType, icon, href;
switch (searchConfig.type) {
case 'algolia':
searchType = 'algolia';
icon = '<i class="fa-brands fa-algolia fa-fw" aria-hidden="true"></i>';
href = 'https://www.algolia.com/';
break;
case 'fuse':
searchType = 'Fuse.js';
icon = '';
href = 'https://fusejs.io/';
break;
case 'cse':
if (this.config.cse.engine === 'google') {
searchType = 'Google CSE';
icon = '<i class="fa-brands fa-google fa-fw" aria-hidden="true"></i>';
href = 'https://programmablesearchengine.google.com/';
}
break;
default:
searchType = '';
icon = '';
href = '';
}
return `<div class="search-footer">Search by <a href="${href}" rel="noopener noreferrer" target="_blank">${icon} ${searchType}</a></div>`;
}
}
@@ -914,13 +955,17 @@ class FixIt {
document.querySelector('.giscus-frame')?.contentWindow.postMessage({ giscus: message }, giscusConfig.origin);
});
this.switchThemeEventSet.add(this._giscusOnSwitchTheme);
this.giscus2parentMsg = window.addEventListener('message', (event) => {
// gicuss to parent message
this._messageListener = (event) => {
if (event.origin !== giscusConfig.origin) return;
const $script = document.querySelector('#giscus>script');
if ($script){
this._giscusOnSwitchTheme();
$script.parentElement.removeChild($script);
}
}, { once: true });
this._giscusOnSwitchTheme()
window.removeEventListener('message', this._messageListener, false);
};
window.addEventListener('message', this._messageListener, false);
return;
}
}
@@ -1106,12 +1151,26 @@ class FixIt {
this.scrollEventSet.add(_closeRewardExclude);
}
initPostChatUser() {
if (!window.postChatUser || !postChatConfig || postChatConfig.userMode === 'magic') {
return;
}
postChat_theme = this.isDark ? 'dark' : 'light';
this.switchThemeEventSet.add((isDark) => {
const targetFrame = document.getElementById("postChat_iframeContainer")
if (targetFrame) {
window.postChatUser.setPostChatTheme(isDark ? 'dark' : 'light');
} else {
postChat_theme = isDark ? 'dark' : 'light';
}
});
}
onScroll() {
const $headers = [];
const ACCURACY = 20;
const $fixedButtons = document.querySelector('.fixed-buttons');
const $backToTop = document.querySelector('.back-to-top');
const $readingProgressBar = document.querySelector('.reading-progress-bar');
if (document.body.dataset.headerDesktop === 'auto') {
$headers.push(document.getElementById('header-desktop'));
}
@@ -1144,9 +1203,6 @@ class FixIt {
});
const contentHeight = document.body.scrollHeight - window.innerHeight;
const scrollPercent = Math.max(Math.min(100 * Math.max(this.newScrollTop, 0) / contentHeight, 100), 0);
if ($readingProgressBar) {
$readingProgressBar.style.setProperty('--progress', `${scrollPercent.toFixed(2)}%`);
}
// whether to show fixed buttons
if ($fixedButtons) {
if (scrollPercent > 1) {
@@ -1245,6 +1301,7 @@ class FixIt {
this.initWatermark();
this.initAutoMark();
this.initReward();
this.initPostChatUser();
window.setTimeout(() => {
this.initComment();
+2 -2
View File
@@ -9,7 +9,7 @@ crypto-js@4.2.0 https://github.com/brix/crypto-js
echarts@5.3.3 https://github.com/apache/echarts
TODO update emoji-data to 15.x
emoji-data@14.0.0 https://github.com/iamcal/emoji-data
fontawesome-free@6.4.2 https://github.com/FortAwesome/Font-Awesome
fontawesome-free@6.7.1 https://github.com/FortAwesome/Font-Awesome
fusejs@6.6.2 https://github.com/krisk/fuse
gitalk@1.7.2 https://github.com/gitalk/gitalk
instant.page@5.2.0 https://github.com/instantpage/instant.page
@@ -26,5 +26,5 @@ twemoji@14.0.2 https://github.com/twitter/twemoji
twikoo@1.6.22 https://github.com/imaegoo/twikoo
typeit@8.8.4 https://github.com/alexmacarthur/typeit
valine@1.5.2 https://github.com/xCss/Valine
waline@2.15.8 https://github.com/walinejs/waline
waline@3.4.1 https://github.com/walinejs/waline
xxhash-wasm@1.0.2 https://github.com/jungomi/xxhash-wasm
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
-1
View File
File diff suppressed because one or more lines are too long
+83
View File
File diff suppressed because one or more lines are too long
+104 -6
View File
@@ -135,7 +135,7 @@ enableEmoji = true
[module]
[module.hugoVersion]
extended = true
min = "0.134.1"
min = "0.141.0"
# -------------------------------------------------------------------------------------
# Markup related configuration in Hugo
@@ -178,8 +178,13 @@ enableEmoji = true
enable = true
[markup.goldmark.extensions.extras.superscript]
enable = true
# TODO passthrough refactor https://gohugo.io/getting-started/configuration-markup/#parserattributeblock
# TODO passthrough refactor https://gohugo.io/render-hooks/passthrough/
# TODO hugo 0.122.0 https://gohugo.io/content-management/mathematics/
# [markup.goldmark.extensions.passthrough]
# enable = true
# [markup.goldmark.extensions.passthrough.delimiters]
# block = [['\[', '\]'], ['$$', '$$']]
# inline = [['\(', '\)'], ['$', '$']]
[markup.goldmark.parser]
[markup.goldmark.parser.attribute]
block = true
@@ -384,7 +389,7 @@ enableEmoji = true
# Search config
[params.search]
enable = false
# type of search engine ["algolia", "fuse"]
# type of search engine ["algolia", "fuse", "cse", "post-chat"]
type = "fuse"
# max index length of the chunked content
contentLength = 4000
@@ -414,6 +419,19 @@ enableEmoji = true
useExtendedSearch = false
ignoreFieldNorm = false
# FixIt 0.3.16 | NEW Custom Search Engine (CSE)
[params.cse]
# Search Engine: ["google", "bing"]
engine = ""
# Search results page URL (layout: search)
resultsPage = "/search/"
# Google: https://programmablesearchengine.google.com/
# Google Custom Search Engine Context
[params.cse.google]
cx = ""
# Bing (Unsupported): https://www.customsearch.ai/
[params.cse.bing]
# Header config
[params.header]
# FixIt 0.2.13 | CHANGED desktop header mode ["sticky", "normal", "auto"]
@@ -653,6 +671,7 @@ enableEmoji = true
Douyin = ""
TikTok = ""
Credly = ""
Bluesky = ""
Phone = ""
Email = ""
RSS = true
@@ -772,6 +791,31 @@ enableEmoji = true
id = ""
# server url for your tracker if you're self hosting
server = ""
# FixIt 0.3.16 | NEW Baidu Analytics
[params.analytics.baidu]
id = ""
# FixIt 0.3.16 | NEW Umami Analytics
[params.analytics.umami]
data_website_id = ""
src = ""
data_host_url = ""
data_domains = ""
# FixIt 0.3.16 | NEW Plausible Analytics
[params.analytics.plausible]
data_domain = ""
src = ""
# FixIt 0.3.16 | NEW Cloudflare Analytics
[params.analytics.cloudflare]
token = ""
# FixIt 0.3.16 | NEW Splitbee Analytics
[params.analytics.splitbee]
enable = false
# no cookie mode
no_cookie = true
# respect the do not track setting of the browser
do_not_track = true
# token(optional), more info on https://splitbee.io/docs/embed-the-script
data_token = ""
# Cookie consent config
[params.cookieconsent]
@@ -791,7 +835,8 @@ enableEmoji = true
# Compatibility config
[params.compatibility]
# whether to use Polyfill.io to be compatible with older browsers
# whether to use Polyfill.io on cdnjs to be compatible with older browsers
# https://cdnjs.cloudflare.com/polyfill
polyfill = false
# whether to use object-fit-images to be compatible with older browsers
objectFit = false
@@ -841,6 +886,53 @@ enableEmoji = true
# "corner-indicator", "fill-left", "flash", "flat-top", "loading-bar", "mac-osx", "material", "minimal"]
theme = "minimal"
# FixIt 0.3.17 | NEW PostChat AI config
# Based on your posts to build a knowledge base, support AI summary, AI search, and AI Chatbot.
# Get PostChat Key from my invitation link, thanks for your support!
# https://ai.tianli0.top/?InviteID=IRE1S88Z
[params.postChat]
enable = false
key = ""
# How users initiate chats: ["iframe", "magic"]
userMode = "iframe"
addButton = true
defaultInput = false
left = ""
bottom = ""
width = ""
height = ""
fill = ""
backgroundColor = ""
upLoadWeb = true
showInviteLink = true
userTitle = ""
userDesc = ""
# dom container to be blacked out, e.g. [".aplayer"]
blackDom = []
# Only for iframe mode
frameWidth = "" # e.g. "375px"
frameHeight = "" # e.g. "600px"
# only for magic mode
userIcon = ""
defaultChatQuestions = []
defaultSearchQuestions = []
# FixIt 0.3.17 | NEW Summary AI config
# See https://postchat.zhheo.com/summary.html
[params.postSummary]
enable = false
# If you set `params.postChat.key`, you don't need to set `params.postSummary.key`
key = ""
title = ""
# themes options: ["", "simple", "yanzhi"]
theme = ""
postURL = ""
blacklist = ""
wordLimit = 1000
typingAnimate = true
beginningText = ""
loadingText = true
# FixIt 0.3.10 | NEW Global Feed config for RSS, Atom and JSON feed.
[params.feed]
# The number of posts to include in the feed. If set to -1, all posts.
@@ -857,12 +949,18 @@ enableEmoji = true
# Depends on open custom blocks https://fixit.lruihao.cn/references/blocks/
[params.customPartials]
head = []
menuDesktop = []
menuMobile = []
profile = []
aside = []
comment = []
footer = []
widgets = []
assets = []
postTocBefore = []
postTocAfter = []
postContentBefore = []
postContentAfter = []
postFooterBefore = []
postFooterAfter = []
@@ -1107,8 +1205,8 @@ enableEmoji = true
appKey = ""
placeholder = ""
avatar = "mp"
meta = ""
requiredFields = ""
meta = ['nick','mail','link']
requiredFields = []
pageSize = 10
lang = ""
visitor = true
+42 -41
View File
@@ -1,27 +1,26 @@
# Translations for German
# Übersetzung auf Deutsch
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Konfigurationsfehler\nSie haben den FixIt-Versionsparameter noch nicht korrekt konfiguriert. Siehe https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Kompatibilitätsfehler ({{ .From }} -> {{ .To }}):\nSie haben ein inkompatibles Update. Siehe https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Sie verwenden eine Entwicklungsversion von FixIt. Bitte erwägen Sie die Verwendung einer stabilen Version.\nSiehe https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "Die aktuelle Umgebung ist \"Entwicklung\". Das \"Kommentarsystem\", \"PWA\", \"CDN\", \"Fingerprint\" und \"Analytics\" werden deaktiviert."
quicklyUpgrade = "Schnelles Upgrade verwenden Sie den Befehl: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Nach oben"
viewComments = "Kommentare anzeigen"
noscript = ""
noscript = "Diese Website funktioniert am besten mit aktiviertem JavaScript."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Archiv"
[allSome]
other = "Alle {{ .Some }}"
@@ -33,10 +32,10 @@ other = "Kategorie"
other = "Kategorien"
[collection]
other = ""
other = "Sammlung"
[collections]
other = ""
other = "Sammlungen"
[tag]
other = "Tag"
@@ -53,12 +52,12 @@ other = "Artikel"
recentlyUpdated = "Zuletzt aktualisiert"
[section.totalWordCount]
one = ""
other = ""
one = "Ein Wort"
other = "Insgesamt {{ .Count }} Wörter"
[section.archiveCounter]
one = ""
other = ""
one = "Nur ein Artikel"
other = "Insgesamt {{ .Count }} Artikel"
# === Section ===
# === Pagination ===
@@ -92,6 +91,8 @@ facebookLanguageCode = "de_DE"
[assets]
search = "Suche"
searchPlaceholder = "Suche nach Titel und Inhalt..."
searchIn = "Suche in {{ . }}"
gotoResultsPage = "Zu den Suchergebnissen ..."
clear = "Leeren"
cancel = "Abbrechen"
noResultsFound = "Keine Ergebnisse gefunden"
@@ -111,26 +112,26 @@ other = "Teilen auf"
# === posts/single.html ===
[single]
contents = "Inhalt"
pin = ""
repost = ""
pin = "Oben anheften"
repost = "Erneut posten"
publishedOnDate = "veröffentlicht an {{ .Date }}"
views = "Aufrufe"
comments = "Kommentare"
author = "Autor"
updatedOnDate = "Aktualisiert am {{ .Date }}"
readMarkdown = "Markdown anzeigen"
viewSource = ""
viewSource = "Quelle anzeigen"
editThisPage = "Diese Seite bearbeiten"
reportIssue = ""
reportIssue = "Problem melden"
back = "Zurück"
home = "Startseite"
readMore = "Mehr lesen"
expirationReminder = "Dieser Artikel wurde zuletzt auf {{ .Date }} aktualisiert, der Inhalt kann veraltet sein."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Dieser Artikel wurde verschlüsselt, daher ist sein Rohinhalt unsichtbar!"
encryptedMessage = "Bitte geben Sie das Passwort ein"
password = "Passwort"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Eintreten"
encryptyAgain = "Erneut verschlüsseln"
relatedContent = "Ähnliche Inhalte"
[single.includedIn]
@@ -142,7 +143,7 @@ both = "enthalten in {{ .Categories }} und {{ .Collections }}"
one = "Ein Wort"
other = "{{ .Count }} Wörter"
[single.fuzzywordcount]
[single.fuzzyWordCount]
other = "{{ .Count }} Wörter (ungefähr)"
[single.readingTime]
@@ -150,11 +151,11 @@ one = "Eine Minute"
other = "{{ .Count }} Minuten"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
donate = "Spenden"
wechatpay = "WeChat Pay"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -175,23 +176,23 @@ other = "Sie sind nicht mit dem Internet verbunden, es stehen nur zwischengespei
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Hinweis"
tip = "Tipp"
important = "Wichtig"
warning = "Warnung"
caution = "Vorsicht"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Nicht überprüft"
"x" = "Überprüft"
"/" = "In Bearbeitung"
"-" = "Abgebrochen"
"<" = "Geplant"
">" = "Verschoben"
"!" = "Wichtig"
"?" = "Frage"
# === Task lists ===
# === shortcodes/admonition.html ===
+3 -1
View File
@@ -6,7 +6,7 @@
configurationError = "Configuration Error\nYou haven't configured the FixIt version param correctly yet. See https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Compatibility Error ({{ .From }} -> {{ .To }}):\nYou have an incompatible update. See https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "You are using a development version of FixIt. Please consider using a stable version.\nSee https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "Current environment is \"development\". The \"comment system\", \"PWA\", \"CDN\" and \"fingerprint\" will be disabled."
devEnvWarn = "Current environment is \"development\". The \"comment system\", \"PWA\", \"CDN\", \"fingerprint\" and \"analytics\" will be disabled."
quicklyUpgrade = "Quickly upgrade use command: "
# === init ===
@@ -91,6 +91,8 @@ facebookLanguageCode = "en_US"
[assets]
search = "Search"
searchPlaceholder = "Search titles or contents ..."
searchIn = "Search in {{ . }}"
gotoResultsPage = "Go to search results page ..."
clear = "Clear"
cancel = "Cancel"
noResultsFound = "No results found"
+41 -40
View File
@@ -1,27 +1,26 @@
# Translations for Spanish
# Traducciones para español
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Error de configuración\nAún no ha configurado correctamente el parámetro de versión de FixIt. Consulte https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Error de compatibilidad ({{ .From }} -> {{ .To }}):\nTiene una actualización incompatible. Consulte https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Está utilizando una versión de desarrollo de FixIt. Considere usar una versión estable.\nConsulte https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "El entorno actual es \"desarrollo\". El \"sistema de comentarios\", \"PWA\", \"CDN\", \"huella digital\" y \"análisis\" estarán deshabilitados."
quicklyUpgrade = "Actualización rápida use el comando: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Volver arriba"
viewComments = "Ver comentarios"
noscript = ""
noscript = "Este sitio web funciona mejor con JavaScript habilitado."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Total {{ .Count }} artículos"
[allSome]
other = "Todo {{ .Some }}"
@@ -33,10 +32,10 @@ other = "Categoría"
other = "Categorías"
[collection]
other = ""
other = "Colección"
[collections]
other = ""
other = "Colecciones"
[tag]
other = "Etiqueta"
@@ -53,12 +52,12 @@ other = "Artículos"
recentlyUpdated = "Actualizado recientemente"
[section.totalWordCount]
one = ""
other = ""
one = "Una palabra"
other = "Total {{ .Count }} palabras"
[section.archiveCounter]
one = ""
other = ""
one = "Solo un artículo"
other = "Total {{ .Count }} artículos"
# === Section ===
# === Pagination ===
@@ -92,6 +91,8 @@ facebookLanguageCode = "es_MX"
[assets]
search = "Buscar"
searchPlaceholder = "Busca títulos o contenido..."
searchIn = "Buscar en {{ . }}"
gotoResultsPage = "Ir a la página de resultados de búsqueda ..."
clear = "Limpiar"
cancel = "Cancelar"
noResultsFound = "No se encontraron resultados"
@@ -111,26 +112,26 @@ other = "Compartir en"
# === posts/single.html ===
[single]
contents = "Contenido"
pin = ""
repost = ""
pin = "Fijar en la parte superior"
repost = "Repostear"
publishedOnDate = "publicado el {{ .Date }}"
views = "vistas"
comments = "Comentarios"
author = "Autor"
updatedOnDate = "Actualizado el {{ .Date }}"
readMarkdown = "Leer Markdown"
viewSource = ""
viewSource = "Ver fuente"
editThisPage = "Editar esta página"
reportIssue = ""
reportIssue = "Reportar problema"
back = "Regresar"
home = "Inicio"
readMore = "Leer más"
expirationReminder = "Este artículo se actualizó por última vez el {{ .Date }}, es posible que el contenido no esté actualizado."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Este artículo ha sido encriptado, por lo que su contenido bruto es invisible!"
encryptedMessage = "Por favor, ingrese la contraseña"
password = "Contraseña"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Entrar"
encryptyAgain = "Encriptar de nuevo"
relatedContent = "Contenido relacionado"
[single.includedIn]
@@ -150,11 +151,11 @@ one = "Un minuto"
other = "{{ .Count }} minutos"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
donate = "Donar"
wechatpay = "WeChat Pay"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -175,23 +176,23 @@ other = "No está conectado a Internet, solo estarán disponibles las páginas a
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Nota"
tip = "Consejo"
important = "Importante"
warning = "Advertencia"
caution = "Precaución"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "No verificado"
"x" = "Verificado"
"/" = "En progreso"
"-" = "Cancelado"
"<" = "Programado"
">" = "Reprogramado"
"!" = "Importante"
"?" = "Pregunta"
# === Task lists ===
# === shortcodes/admonition.html ===
+24 -22
View File
@@ -7,7 +7,7 @@
configurationError = "Erreur de configuration\nVous n'avez pas configuré la version de FixIt correctement. Voir https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Erreur de compatibilité ({{ .From }} -> {{ .To }}):\nVous avez une mise à jour incompatible. Voir https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Vous utilisez une version de développement de FixIt. Veuillez considérer l'utilisation d'une version stable.\nVoir https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "L'environnement actuel est \"développement\". Le \"système de commentaires\", le \"PWA\", le \"CDN\" et la \"prise d'empreinte\" seront désactivés."
devEnvWarn = "L'environnement actuel est \"développement\". Le \"système de commentaires\", le \"PWA\", le \"CDN\", le \"prise d'empreinte\" et la \"analyses\" seront désactivés."
quicklyUpgrade = "La mise à jour rapide utilise la commande: "
# === init ===
@@ -20,7 +20,7 @@ noscript = "Ce site Web fonctionne mieux quand JavaScript est activé."
# === Taxonomy ===
[archives]
other = ""
other = "Archives"
[allSome]
other = "Tous les {{ .Some }}"
@@ -32,10 +32,10 @@ other = "Catégorie"
other = "Catégories"
[collection]
other = ""
other = "Collection"
[collections]
other = ""
other = "Collections"
[tag]
other = "Tag"
@@ -56,8 +56,8 @@ one = "Nombre de mots: 1"
other = "Nombre de mots: {{ .Count }}"
[section.archiveCounter]
one = ""
other = ""
one = "Seulement un article"
other = "{{ .Count }} articles au total"
# === Section ===
# === Pagination ===
@@ -91,6 +91,8 @@ facebookLanguageCode = "fr"
[assets]
search = "Chercher"
searchPlaceholder = "Rechercher des titres, des contenus..."
searchIn = "Rechercher dans {{ . }}"
gotoResultsPage = "Aller à la page de résultats de recherche ..."
clear = "Effacer"
cancel = "Annuler"
noResultsFound = "Aucun résultat trouvé"
@@ -110,7 +112,7 @@ other = "Partager via"
# === posts/single.html ===
[single]
contents = "Contenus"
pin = ""
pin = "Épingler en haut"
repost = "Reposter"
publishedOnDate = "publié le {{ .Date }}"
views = "vues"
@@ -118,9 +120,9 @@ comments = "commentaires"
author = "Auteur"
updatedOnDate = "Mis à jour le {{ .Date }}"
readMarkdown = "Ouvrir le Markdown"
viewSource = ""
viewSource = "Voir la source"
editThisPage = "Modifier cette page"
reportIssue = ""
reportIssue = "Signaler un problème"
back = "Retour"
home = "Accueil"
readMore = "En savoir plus"
@@ -174,23 +176,23 @@ other = "Vous n'êtes pas connecté à Internet, seules les pages mises en cache
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Remarque"
tip = "Astuce"
important = "Important"
warning = "Avertissement"
caution = "Attention"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Non vérifié"
"x" = "Vérifié"
"/" = "En cours"
"-" = "Annulé"
"<" = "Planifié"
">" = "Replanifié"
"!" = "Important"
"?" = "Question"
# === Task lists ===
# === shortcodes/admonition.html ===
+16 -14
View File
@@ -7,7 +7,7 @@
configurationError = "कन्फ़िग्यरेशन त्रुटि \nआपने फिक्सइट संस्करण पैरामीटर को सही ढंग से कॉन्फ़िगर नहीं किया है।. यह देखें: https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "संगतता त्रुटि ({{ .From }} -> {{ .To }}):\nआपके पास एक असंगत अपडेट है. यह देखें: https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "आप फिक्सइट के डिवेलपर संस्करण का उपयोग कर रहे हैं। कृपया एक स्थिर संस्करण का उपयोग करने पर विचार करें।\nयह देखें: https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "वर्तमान परिवेश \"डिवेलप्मेंट\" का है। \"टिप्पणी प्रणाली\", \"पीडब्ल्यूए\", \"सीडीएन\" और \"फ़िंगरप्रिंट\" अक्षम कर दिए जाएंगे। "
devEnvWarn = "वर्तमान परिवेश \"डिवेलप्मेंट\" का है। \"टिप्पणी प्रणाली\", \"पीडब्ल्यूए\", \"सीडीएन\", \"फ़िंगरप्रिंट\" और \"विश्लेषण\" अक्षम कर दिए जाएंगे।"
quicklyUpgrade = "शीघ्रता से अपग्रेड यह कमांड का उपयोग करें: "
# === init ===
@@ -92,6 +92,8 @@ facebookLanguageCode = "hi"
[assets]
search = "खोज"
searchPlaceholder = "शीर्षक या सामग्री खोजें ..."
searchIn = "{{ . }} में खोजें"
gotoResultsPage = "खोज परिणाम पेज पर जाएं ..."
clear = "साफ़ करें"
cancel = "रद्द करें"
noResultsFound = "कोई परिणाम नहीं मिला"
@@ -175,23 +177,23 @@ other = "आप इंटरनेट से कनेक्ट नहीं ह
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "ध्यान दें"
tip = "टिप"
important = "महत्वपूर्ण"
warning = "चेतावनी"
caution = "सावधान"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "जांच नहीं की गई"
"x" = "जांच की गई"
"/" = "काम जारी है"
"-" = "रद्द किया गया"
"<" = "अनुसूचित"
">" = "पुनः अनुसूचित"
"!" = "महत्वपूर्ण"
"?" = "सवाल"
# === Task lists ===
# === shortcodes/admonition.html ===
+41 -40
View File
@@ -1,27 +1,26 @@
# Translations for Italian
# Traduzioni per l'italiano
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Errore di configurazione\nNon hai ancora configurato correttamente il parametro della versione di FixIt. Vedi https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Errore di compatibilità ({{ .From }} -> {{ .To }}):\nHai un aggiornamento incompatibile. Vedi https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Stai utilizzando una versione di sviluppo di FixIt. Si prega di considerare l'utilizzo di una versione stabile.\nVedi https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "L'ambiente attuale è \"sviluppo\". Il \"sistema di commenti\", \"PWA\", \"CDN\", \"impronta digitale\" e \"analisi\" saranno disabilitati."
quicklyUpgrade = "Aggiornamento rapido usa il comando: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Torna all'inizio"
viewComments = "Vedi commenti"
noscript = ""
noscript = "Questo sito funziona meglio con JavaScript abilitato."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Archivi"
[allSome]
other = "Tutti {{ .Some }}"
@@ -33,10 +32,10 @@ other = "Categoria"
other = "Categorie"
[collection]
other = ""
other = "Collezione"
[collections]
other = ""
other = "Collezioni"
[tag]
other = "Etichetta"
@@ -53,12 +52,12 @@ other = "Articoli"
recentlyUpdated = "Aggiornati di recente"
[section.totalWordCount]
one = ""
other = ""
one = "Una parola"
other = "Totale {{ .Count }} parole"
[section.archiveCounter]
one = ""
other = ""
one = "Solo un articolo"
other = "Totale {{ .Count }} articoli"
# === Section ===
# === Pagination ===
@@ -92,6 +91,8 @@ facebookLanguageCode = "it"
[assets]
search = "Cerca"
searchPlaceholder = "Cerca il titolo o il contenuto dell'articolo ..."
searchIn = "Cerca in"
gotoResultsPage = "Vai alla pagina dei risultati della ricerca ..."
clear = "Chiaro"
cancel = "Annulla"
noResultsFound = "Nessun risultato trovato"
@@ -111,26 +112,26 @@ other = "Condividi su"
# === posts/single.html ===
[single]
contents = "Contenuti"
pin = ""
repost = ""
pin = "Fissa in alto"
repost = "Ripubblica"
publishedOnDate = "pubblicato su {{ .Date }}"
views = "visualizzazioni"
comments = "commenti"
author = "Autore"
updatedOnDate = "Aggiornato il {{ .Date }}"
readMarkdown = "Leggi Markdown"
viewSource = ""
viewSource = "Visualizza sorgente"
editThisPage = "Modifica questa pagina"
reportIssue = ""
reportIssue = "Segnala un problema"
back = "Indietro"
home = "Home"
readMore = "Leggi di più"
expirationReminder = "Questo articolo è stato aggiornato l'ultima volta il {{ .Date }}, il contenuto potrebbe non essere aggiornato."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Questo articolo è stato crittografato, quindi il suo contenuto grezzo è invisibile!"
encryptedMessage = "Per favore inserisci la password"
password = "Password"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Entra"
encryptyAgain = "Crittografa di nuovo"
relatedContent = "Contenuti correlati"
[single.includedIn]
@@ -150,11 +151,11 @@ one = "Un minuto"
other = "{{ .Count }} minuti"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
donate = "Dona"
wechatpay = "WeChat Pay"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -175,23 +176,23 @@ other = "Non sei connesso a Internet, saranno disponibili solo le pagine memoriz
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Nota"
tip = "Suggerimento"
important = "Importante"
warning = "Avvertimento"
caution = "Attenzione"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Non verificato"
"x" = "Verificato"
"/" = "In corso"
"-" = "Annullato"
"<" = "Programmato"
">" = "Ripianificato"
"!" = "Importante"
"?" = "Domanda"
# === Task lists ===
# === shortcodes/admonition.html ===
+41 -40
View File
@@ -1,27 +1,26 @@
# Translations for Polish
# Tłumaczenie na język polski
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Błąd konfiguracji\nNie skonfigurowałeś jeszcze poprawnie parametru wersji FixIt. Zobacz https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Błąd zgodności ({{ .From }} -> {{ .To }}):\nMasz niekompatybilną aktualizację. Zobacz https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Używasz wersji deweloperskiej FixIt. Proszę rozważyć użycie stabilnej wersji.\nZobacz https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "Obecne środowisko to \"rozwój\". \"System komentarzy\", \"PWA\", \"CDN\", \"odcisk palca\" i \"analiza\" będą wyłączone."
quicklyUpgrade = "Szybka aktualizacja użyj polecenia: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Powrót do góry"
viewComments = "Zobacz komentarze"
noscript = ""
noscript = "Ta strona działa najlepiej z włączonym JavaScriptem."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Archiwum"
[allSome]
other = "Wszystkie {{ .Some }}"
@@ -33,10 +32,10 @@ other = "Kategoria"
other = "Kategorie"
[collection]
other = ""
other = "Collection"
[collections]
other = ""
other = "Collections"
[tag]
other = "Tag"
@@ -53,12 +52,12 @@ other = "Posty"
recentlyUpdated = "Ostatnio zaktualizowane"
[section.totalWordCount]
one = ""
other = ""
one = "Jedno słowo"
other = "Łącznie {{ .Count }} słów"
[section.archiveCounter]
one = ""
other = ""
one = "Tylko jeden artykuł"
other = "Łącznie {{ .Count }} artykułów"
# === Section ===
# === Pagination ===
@@ -92,6 +91,8 @@ facebookLanguageCode = "pl"
[assets]
search = "Szukaj"
searchPlaceholder = "Wyszukaj tytuł lub treść artykułu ..."
searchIn = "Szukaj w {{ . }}"
gotoResultsPage = "Przejdź do strony wyników wyszukiwania ..."
clear = "Pusty"
cancel = "Anuluj"
noResultsFound = "Nie znaleziono wyników"
@@ -111,26 +112,26 @@ other = "Udostępnij na"
# === posts/single.html ===
[single]
contents = "Spis treści"
pin = ""
repost = ""
pin = "Przypnij na górze"
repost = "Prześlij ponownie"
publishedOnDate = "opublikowano {{ .Date }}"
views = "wyświetleń"
comments = "komentarzy"
author = "Autor"
updatedOnDate = "Zaktualizowano {{ .Date }}"
readMarkdown = "Zobacz Markdown"
viewSource = ""
viewSource = "Zobacz źródło"
editThisPage = "Edytuj tą stronę"
reportIssue = ""
reportIssue = "Zgłoś problem"
back = "Wstecz"
home = "Strona główna"
readMore = "Czytaj więcej"
expirationReminder = "Ten artykuł był ostatnio aktualizowany {{ .Date }}, jego treść może być nieaktualna."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Ten artykuł został zaszyfrowany, więc jego surowa treść jest niewidoczna!"
encryptedMessage = "Proszę wprowadzić hasło"
password = "Hasło"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Wejdź"
encryptyAgain = "Zaszyfruj ponownie"
relatedContent = "Powiązane treści"
[single.includedIn]
@@ -150,11 +151,11 @@ one = "Jedna minuta"
other = "{{ .Count }} minuty"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
donate = "Wesprzyj"
wechatpay = "WeChat Pay"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -175,23 +176,23 @@ other = "Nie masz połączenia z Internetem, dostępne będą tylko strony z pam
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Notatka"
tip = "Wskazówka"
important = "Ważne"
warning = "Ostrzeżenie"
caution = "Ostrożność"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Niezweryfikowane"
"x" = "Zweryfikowane"
"/" = "W toku"
"-" = "Anulowane"
"<" = "Zaplanowane"
">" = "Przełożone"
"!" = "Ważne"
"?" = "Pytanie"
# === Task lists ===
# === shortcodes/admonition.html ===
+57 -55
View File
@@ -1,27 +1,26 @@
# Translations for Brazilian Portuguese
# Tradução para português do Brasil
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Erro de configuração\nVocê ainda não configurou o parâmetro da versão do FixIt corretamente. Consulte https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Erro de compatibilidade ({{ .From }} -> {{ .To }}):\nVocê tem uma atualização incompatível. Consulte https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Você está usando a versão de desenvolvedor do FixIt. Por favor, use uma versão estável. \nConsulte https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "O ambiente atual é \"development\". O \"comment system\", \"PWA\", \"CDN\", \"fingerprint\" e \"analytics\" serão desativados."
quicklyUpgrade = "Utilize o comando para atualizar rapidamente:"
# === init ===
# === baseof ===
[baseof]
backToTop = "Voltar ao topo"
viewComments = "Ver comentários"
noscript = ""
noscript = "Este site funciona melhor com o JavaScript ativado."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Arquivos"
[allSome]
other = "{{ .Some }}"
@@ -33,10 +32,10 @@ other = "Categoria"
other = "Categorias"
[collection]
other = ""
other = "Coleção"
[collections]
other = ""
other = "Coleções"
[tag]
other = "Tag"
@@ -46,6 +45,7 @@ other = "Tags"
[posts]
other = "Posts"
# === Taxonomy ===
# === Section ===
@@ -53,12 +53,12 @@ other = "Posts"
recentlyUpdated = "Recentemente atualizado"
[section.totalWordCount]
one = ""
other = ""
one = "Apenas uma palavra"
other = "Total de {{ .Count }} palavras"
[section.archiveCounter]
one = ""
other = ""
one = "Apenas um artigo"
other = "{{ .Count }} artigos no total"
# === Section ===
# === Pagination ===
@@ -75,86 +75,88 @@ switchTheme = "Trocar tema"
# === partials/footer.html ===
[footer]
poweredBySome = "Possibilitado por {{ .Hugo }} | Tema - {{ .Theme }}"
poweredBySome = "Criado com {{ .Hugo }} | Tema - {{ .Theme }}"
siteUV = "Total de visitantes"
sitePV = "Total de visitas"
siteRunning = "Website running ..."
siteRunning = "Site no ar..."
# === partials/footer.html ===
# === partials/comment.html ===
[comment]
valineLang = "en" # Valine não suporta português
valinePlaceholder = "O seu comentário ..."
valinePlaceholder = "O seu comentário..."
facebookLanguageCode = "pt_BR"
# === partials/comment.html ===
# === partials/assets.html ===
[assets]
search = "Pesquisa"
searchPlaceholder = "Pesquisar títulos ou conteúdos ..."
searchPlaceholder = "Pesquisar títulos ou conteúdos..."
searchIn = "Pesquisar em {{ . }}"
gotoResultsPage = "Ir para a página de resultados da pesquisa..."
clear = "Limpar"
cancel = "Cancelar"
noResultsFound = "Nenhum resultado encontrado"
copyToClipboard = "Copiar para a área de transferência"
editLockTitle = "Bloquear bloco de código editável"
editUnLockTitle = "Desbloqueie o bloco de código editável"
editUnLockTitle = "Desbloquear o bloco de código editável"
cookieconsentMessage = "Este site usa Cookies para melhorar sua experiência."
cookieconsentDismiss = "Aceita"
cookieconsentDismiss = "Aceitar"
cookieconsentLink = "Saber mais"
# === partials/assets.html ===
# === partials/plugin/share.html ===
[shareOn]
other = "Compartilhe em"
other = "Compartilhar em"
# === partials/plugin/share.html ===
# === posts/single.html ===
[single]
contents = "Conteúdos"
pin = ""
repost = ""
pin = "Fixar no topo"
repost = "Repostar"
publishedOnDate = "publicado em {{ .Date }}"
views = "visualizações"
comments = "comentários"
author = "Autor"
updatedOnDate = "Atualizado em {{ .Date }}"
readMarkdown = "Leia em Markdown"
viewSource = ""
viewSource = "Ver a fonte"
editThisPage = "Editar esta página"
reportIssue = ""
reportIssue = "Reportar problema"
back = "Voltar"
home = "Home"
readMore = "Leia mais"
expirationReminder = "Este artigo foi atualizado pela última vez em {{ .Date }}, o conteúdo pode estar desatualizado."
encryptedAbstract = ""
encryptedMessage = ""
password = "Contrasinha"
enterBtn = ""
encryptyAgain = ""
encryptedAbstract = "Este artigo foi encriptado, então seu contéudo bruto é invisível!"
encryptedMessage = "Por favor, insira a senha"
password = "Senha"
enterBtn = "Entrar"
encryptyAgain = "Encripte novamente"
relatedContent = "Conteúdo relacionado"
[single.includedIn]
categories = "incluido em {{ .Categories }}"
collections = "incluido em {{ .Collections }}"
both = "incluido em {{ .Categories }} e {{ .Collections }}"
categories = "incluído em {{ .Categories }}"
collections = "incluído em {{ .Collections }}"
both = "incluído em {{ .Categories }} e {{ .Collections }}"
[single.wordCount]
one = "Uma palavra"
other = "{{ .Count }} palavras"
[single.fuzzyWordCount]
other = ""
other = "Cerca de {{ .Count }} palavras"
[single.readingTime]
one = "Um minuto"
other = "{{ .Count }} minutos"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
donate = "Doe"
wechatpay = "Pague pelo WeChat"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -162,7 +164,7 @@ bitcoin = ""
other = "Página não encontrada"
[pageNotFoundText]
other = "A página que você procura não existe. Desculpe"
other = "A página que você procura não existe. Desculpe."
# === 404.html ===
# === offline ===
@@ -175,34 +177,34 @@ other = "Você não está conectado à Internet, apenas as páginas em cache est
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Nota"
tip = "Sugestão"
important = "Importante"
warning = "Aviso"
caution = "Cuidado"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Não verificado"
"x" = "Verificado"
"/" = "Em progresso"
"-" = "Cancelado"
"<" = "Agendado"
">" = "Reagendado"
"!" = "Importante"
"?" = "Dúvida"
# === Task lists ===
# === shortcodes/admonition.html ===
[admonition]
note = "Nota"
abstract = "Abstrato"
abstract = "Resumo"
info = "Info"
todo = "A fazer"
tip = "Dica"
success = "Sucesso"
question = "Pergunta"
question = "Dúvida"
warning = "Aviso"
failure = "Falha"
danger = "Perigo"
+41 -40
View File
@@ -1,27 +1,26 @@
# Translations for Romanian
# Traduceri pentru limba română
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Eroare de configurare\nNu ați configurat corect parametrul versiunii FixIt. Consultați https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Eroare de compatibilitate ({{ .From }} -> {{ .To }}):\nAveți o actualizare incompatibilă. Consultați https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Utilizați o versiune de dezvoltare a FixIt. Vă rugăm să luați în considerare utilizarea unei versiuni stabile.\nConsultați https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "Mediul curent este \"dezvoltare\". \"Sistemul de comentarii\", \"PWA\", \"CDN\", \"amprentă\" și \"analize\" vor fi dezactivate."
quicklyUpgrade = "Actualizare rapidă utilizați comanda: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Înapoi Sus"
viewComments = "Vizualizare Comentarii"
noscript = ""
noscript = "Acest site funcționează cel mai bine cu JavaScript activat."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Arhive"
[allSome]
other = "Toate {{ .Some }}"
@@ -33,10 +32,10 @@ other = "Categorie"
other = "Categorii"
[collection]
other = ""
other = "Colecție"
[collections]
other = ""
other = "Colecții"
[tag]
other = "Etichetă"
@@ -53,12 +52,12 @@ other = "Articole"
recentlyUpdated = "Actualizat recent"
[section.totalWordCount]
one = ""
other = ""
one = "Un cuvânt"
other = "Total {{ .Count }} cuvinte"
[section.archiveCounter]
one = ""
other = ""
one = "Un singur articol"
other = "{{ .Count }} articole în total"
# === Section ===
# === Pagination ===
@@ -92,6 +91,8 @@ facebookLanguageCode = "ro_RO"
[assets]
search = "Căutare"
searchPlaceholder = "Căutarea titlului sau conținutului articolului ..."
searchIn = "Căutare în {{ . }}"
gotoResultsPage = "Mergi la pagina de rezultate a căutării ..."
clear = "Golire"
cancel = "Anulare"
noResultsFound = "Nici un rezultat gasit"
@@ -111,26 +112,26 @@ other = "Distribuie pe"
# === posts/single.html ===
[single]
contents = "Cuprins"
pin = ""
repost = ""
pin = "Fixează în partea de sus"
repost = "Repostează"
publishedOnDate = "publicat la {{ .Date }}"
views = "vizualizări"
comments = "comentarii"
author = "Autor"
updatedOnDate = "Actualizat la {{ .Date }}"
readMarkdown = "Citire Markdown"
viewSource = ""
viewSource = "Vezi sursa"
editThisPage = "Editați această pagină"
reportIssue = ""
reportIssue = "Raportează o problemă"
back = "Înapoi"
home = "Acasă"
readMore = "Citește mai mult"
expirationReminder = "Acest articol a fost actualizat ultima dată pe {{ .Date }}, conținutul poate fi depășit."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Acest articol a fost criptat, astfel încât conținutul său brut este invizibil!"
encryptedMessage = "Vă rugăm să introduceți parola"
password = "Parolă"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Intră"
encryptyAgain = "Criptează din nou"
relatedContent = "Conținut înrudit"
[single.includedIn]
@@ -150,11 +151,11 @@ one = "Un minut"
other = "{{ .Count }} minute"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
# donate = "Donați"
wechatpay = "WeChat Pay"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -175,23 +176,23 @@ other = "Nu sunteți conectat la Internet, vor fi disponibile doar paginile stoc
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Notă"
tip = "Sfat"
important = "Important"
warning = "Avertisment"
caution = "Atenție"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Necontrolat"
"x" = "Controlat"
"/" = "În progres"
"-" = "Anulat"
"<" = "Programat"
">" = "Reprogramat"
"!" = "Important"
"?" = "Întrebare"
# === Task lists ===
# === shortcodes/admonition.html ===
+36 -35
View File
@@ -1,27 +1,26 @@
# Translations for Russian
# Переводы на русский
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Ошибка конфигурации\nВы еще не настроили параметр версии FixIt правильно. См. https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Ошибка совместимости ({{ .From }} -> {{ .To }}):\nУ вас есть несовместимое обновление. См. https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Вы используете версию разработки FixIt. Пожалуйста, рассмотрите возможность использования стабильной версии.\nСм. https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "Текущая среда - \"разработка\". \"Система комментариев\", \"PWA\", \"CDN\", \"отпечаток\" и \"аналитика\" будут отключены."
quicklyUpgrade = "Быстрое обновление используйте команду: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Наверх"
viewComments = "Посмотреть комментарии"
noscript = ""
noscript = "Этот сайт работает лучше с включенным JavaScript."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Архив"
[allSome]
other = "Все {{ .Some }}"
@@ -33,10 +32,10 @@ other = "Категория"
other = "Категории"
[collection]
other = ""
other = "Collection"
[collections]
other = ""
other = "Collections"
[tag]
other = "Тэг"
@@ -53,12 +52,12 @@ other = "Статьи"
recentlyUpdated = "Недавно обновленные"
[section.totalWordCount]
one = ""
other = ""
one = "Всего одно слово"
other = "Всего {{ .Count }} слов"
[section.archiveCounter]
one = ""
other = ""
one = "Только одна статья"
other = "Всего {{ .Count }} статей"
# === Section ===
# === Pagination ===
@@ -92,6 +91,8 @@ facebookLanguageCode = "ru_RU"
[assets]
search = "Поиск"
searchPlaceholder = "Поиск заголовков или содержимого ..."
searchIn = "Поиск в {{ . }}"
gotoResultsPage = "Перейти на страницу результатов поиска ..."
clear = "Очистить"
cancel = "Отменить"
noResultsFound = "Результатов не найдено"
@@ -111,26 +112,26 @@ other = "Поделиться в"
# === posts/single.html ===
[single]
contents = "Содержание"
pin = ""
repost = ""
pin = "Закрепить наверху"
repost = "Перепостить"
publishedOnDate = "Опубликовано {{ .Date }}"
views = "просмотров"
comments = "комментариев"
author = "Автор"
updatedOnDate = "Oбновлена {{ .Date }}"
readMarkdown = "Читать Markdown"
viewSource = ""
viewSource = "Просмотреть источник"
editThisPage = "Редактировать эту страницу"
reportIssue = ""
reportIssue = "Сообщить о проблеме"
back = "Назад"
home = "Домой"
readMore = "Читать больше"
expirationReminder = "Эта статья последний раз обновлялась {{ .Date }}, содержание может быть устаревшим."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Эта статья была зашифрована, поэтому ее исходное содержание невидимо!"
encryptedMessage = "Пожалуйста, введите пароль"
password = "арготизм"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Войти"
encryptyAgain = "Зашифровать снова"
relatedContent = "Связанный контент"
[single.includedIn]
@@ -175,23 +176,23 @@ other = "Вы не подключены к интернету, будут дос
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Примечание"
tip = "Совет"
important = "Важно"
warning = "Предупреждение"
caution = "Осторожно"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Не проверено"
"x" = "Проверено"
"/" = "В процессе"
"-" = "Отменено"
"<" = "Запланировано"
">" = "Перенесено"
"!" = "Важно"
"?" = "Вопрос"
# === Task lists ===
# === shortcodes/admonition.html ===
+41 -40
View File
@@ -1,27 +1,26 @@
# Translations for Serbian
# Превод на Српски
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Грешка у конфигурацији\nНисте правилно конфигурисали параметар верзије FixIt. Погледајте https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Грешка у компатибилности ({{ .From }} -> {{ .To }}):\nИмате некомпатибилно ажурирање. Погледајте https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Користите развојну верзију FixIt. Размотрите коришћење стабилне верзије.\nПогледајте https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "Тренутно окружење је \"развојно\". \"Систем коментара\", \"PWA\", \"CDN\", \"отисак прста\" и \"аналитика\" ће бити онемогућени."
quicklyUpgrade = "Брзо ажурирање користите команду: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Назад на Врх"
viewComments = "Погледај Коментаре"
noscript = ""
noscript = "Овај сајт најбоље ради са омогућеним JavaScript-ом."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Остало"
[allSome]
other = "Све {{ .Some }}"
@@ -33,10 +32,10 @@ other = "Категорија"
other = "Категорије"
[collection]
other = ""
other = "Collection"
[collections]
other = ""
other = "Collections"
[tag]
other = "Таг"
@@ -53,12 +52,12 @@ other = "Постови"
recentlyUpdated = "Недавно Ажурирано"
[section.totalWordCount]
one = ""
other = ""
one = "Једна реч"
other = "Укупно {{ .Count }} речи"
[section.archiveCounter]
one = ""
other = ""
one = "Само један чланак"
other = "{{ .Count }} чланака укупно"
# === Section ===
# === Pagination ===
@@ -92,6 +91,8 @@ facebookLanguageCode = "sr_RS"
[assets]
search = "Претрага"
searchPlaceholder = "Претражи наслове или садржај..."
searchIn = "Претражи у {{ . }}"
gotoResultsPage = "Иди на страницу резултата претраге ..."
clear = "Очисти"
cancel = "Поништи"
noResultsFound = "Без резултата"
@@ -111,26 +112,26 @@ other = "Подели на"
# === posts/single.html ===
[single]
contents = "Садржаји"
pin = ""
repost = ""
pin = "Закачи"
repost = "Поново објави"
publishedOnDate = "објављено {{ .Date }}"
views = "прегледа"
comments = "коментари"
author = "Аутор"
updatedOnDate = "Ажурирано {{ .Date }}"
readMarkdown = "Читај Markdown"
viewSource = ""
viewSource = "Погледај извор"
editThisPage = "Уреди ову страницу"
reportIssue = ""
reportIssue = "Пријави проблем"
back = "Назад"
home = "Почетна"
readMore = "Прочитај више"
expirationReminder = "Овај чланак је последњи пут ажуриран {{ .Date }}, садржај је можда застарео."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Овај чланак је шифрован."
encryptedMessage = "Унесите лозинку да бисте видели садржај."
password = "Паролица"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Унеси"
encryptyAgain = "Поново шифруј"
relatedContent = "Повезани садржај"
[single.includedIn]
@@ -150,11 +151,11 @@ one = "Један минут"
other = "{{ .Count }} минута"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
donate = "Донирај"
wechatpay = "WeChat Pay"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -175,23 +176,23 @@ other = "Нисте повезани на Интернет, биће досту
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Напомена"
tip = "Савет"
important = "Важно"
warning = "Упозорење"
caution = "Опрез"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Непроверено"
"x" = "Проверено"
"/" = "У току"
"-" = "Отказано"
"<" = "Планирано"
">" = "Преустановљено"
"!" = "Важно"
"?" = "Питање"
# === Task lists ===
# === shortcodes/admonition.html ===
+41 -40
View File
@@ -1,26 +1,25 @@
# Translations for Vietnamese
# https://gohugo.io/content-management/multilingual/#translation-of-strings
# TODO Some fields are waiting for your translation
# === init ===
[init]
configurationError = ""
compatibilityError = ""
devVersionWarn = ""
devEnvWarn = ""
quicklyUpgrade = ""
configurationError = "Lỗi cấu hình\nBạn chưa cấu hình tham số phiên bản FixIt đúng cách. Xem https://fixit.lruihao.cn/documentation/basics/#theme-configuration"
compatibilityError = "Lỗi tương thích ({{ .From }} -> {{ .To }}):\nBạn có một bản cập nhật không tương thích. Xem https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "Bạn đang sử dụng một phiên bản phát triển của FixIt. Vui lòng xem xét sử dụng một phiên bản ổn định.\nXem https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "Môi trường hiện tại là \"development\". \"Hệ thống bình luận\", \"PWA\", \"CDN\", \"vân tay\" và \"thống kê\" sẽ bị vô hiệu hóa."
quicklyUpgrade = "Nâng cấp nhanh bằng lệnh: "
# === init ===
# === baseof ===
[baseof]
backToTop = "Lên trên"
viewComments = "Xem bình luận"
noscript = ""
noscript = "Trang web này hoạt động tốt nhất khi JavaScript được kích hoạt."
# === baseof ===
# === Taxonomy ===
[archives]
other = ""
other = "Bài viết cũ"
[allSome]
other = "Tất cả {{ .Some }}"
@@ -32,10 +31,10 @@ other = "Danh mục"
other = "Danh mục"
[collection]
other = ""
other = "Collection"
[collections]
other = ""
other = "Collections"
[tag]
other = "Nhãn"
@@ -52,12 +51,12 @@ other = "Bài viết"
recentlyUpdated = "Mới nhất"
[section.totalWordCount]
one = ""
other = ""
one = "Chỉ một từ"
other = "Tổng cộng {{ .Count }} từ"
[section.archiveCounter]
one = ""
other = ""
one = "Chỉ một bài viết"
other = "{{ .Count }} bài viết"
# === Section ===
# === Pagination ===
@@ -91,6 +90,8 @@ facebookLanguageCode = "vi"
[assets]
search = "Tìm kiếm"
searchPlaceholder = "Tìm tiêu đề hoặc nội dung..."
searchIn = "Tìm kiếm trong {{ . }}"
gotoResultsPage = "Đi đến trang kết quả tìm kiếm ..."
clear = "Xoá"
cancel = "Huỷ"
noResultsFound = "Không tìm thấy"
@@ -110,26 +111,26 @@ other = "Chia sẻ trên"
# === posts/single.html ===
[single]
contents = "Nội dung"
pin = ""
repost = ""
pin = "Ghim ở đầu trang"
repost = "Đăng lại"
publishedOnDate = "đăng ngày {{ .Date }}"
views = "lượt xem"
comments = "bình luận"
author = "Tác giả"
updatedOnDate = "Cập nhật ngày {{ .Date }}"
readMarkdown = "Đọc với định dạng Markdown"
viewSource = ""
viewSource = "Xem mã nguồn"
editThisPage = "Chỉnh sửa trang này"
reportIssue = ""
reportIssue = "Báo cáo lỗi"
back = "Quay lại"
home = "Trang chủ"
readMore = "Đọc thêm"
expirationReminder = "Bài viết này được cập nhật lần cuối vào {{ .Date }}, nội dung có thể đã lỗi thời."
encryptedAbstract = ""
encryptedMessage = ""
encryptedAbstract = "Bài viết này đã được mã hóa, nên nội dung gốc không thể nhìn thấy!"
encryptedMessage = "Vui lòng nhập mật khẩu"
password = "Mật khẩu"
enterBtn = ""
encryptyAgain = ""
enterBtn = "Nhập"
encryptyAgain = "Mã hóa lại"
relatedContent = "Nội dung liên quan"
[single.includedIn]
@@ -149,11 +150,11 @@ one = "One minute"
other = "{{ .Count }} phút"
[single.reward]
donate = ""
wechatpay = ""
alipay = ""
paypal = ""
bitcoin = ""
donate = "Ủng hộ"
wechatpay = "WeChat Pay"
alipay = "Alipay"
paypal = "PayPal"
bitcoin = "Bitcoin"
# === posts/single.html ===
# === 404.html ===
@@ -174,23 +175,23 @@ other = "Bạn chưa kết nối với Internet, chỉ các trang được lưu
# === GitHub Alert ===
[alert]
note = ""
tip = ""
important = ""
warning = ""
caution = ""
note = "Ghi chú"
tip = "Mẹo"
important = "Quan trọng"
warning = "Cảnh báo"
caution = "Chú ý"
# === GitHub Alert ===
# === Task lists ===
[taskList]
" " = ""
"x" = ""
"/" = ""
"-" = ""
"<" = ""
">" = ""
"!" = ""
"?" = ""
" " = "Chưa kiểm tra"
"x" = "Đã kiểm tra"
"/" = "Đang tiến hành"
"-" = "Đã hủy"
"<" = "Đã lên lịch"
">" = "Đã lên lịch lại"
"!" = "Quan trọng"
"?" = "Câu hỏi"
# === Task lists ===
# === shortcodes/admonition.html ===
+3 -1
View File
@@ -7,7 +7,7 @@
configurationError = "配置文件错误\n您还没有正确配置 FixIt 的版本参数。参考 https://fixit.lruihao.cn/zh-cn/documentation/basics/#theme-configuration"
compatibilityError = "兼容性错误 ({{ .From }} -> {{ .To }}):\n您进行了一次不兼容的更新。参考 https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "您正在使用开发版的 FixIt,请考虑使用稳定版。\n见 https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "当前运行环境是“development”。“评论系统”、“PWA”、“CDN”“fingerprint”不会启用。"
devEnvWarn = "当前运行环境是“development”。“评论系统”、“PWA”、“CDN”“fingerprint”和“统计”不会启用。"
quicklyUpgrade = "使用命令快速升级:"
# === init ===
@@ -89,6 +89,8 @@ facebookLanguageCode = "zh_CN"
[assets]
search = "搜索"
searchPlaceholder = "搜索文章标题或内容……"
searchIn = "在 {{ . }} 中搜索"
gotoResultsPage = "前往搜索结果页面……"
clear = "清空"
cancel = "取消"
noResultsFound = "没有找到结果"
+3 -1
View File
@@ -7,7 +7,7 @@
configurationError = "配置文件錯誤\n您還沒有正確配置 FixIt 的版本參數。參考 https://fixit.lruihao.cn/zh-cn/documentation/basics/#theme-configuration"
compatibilityError = "兼容性錯誤 ({{ .From }} -> {{ .To }}):\n您進行了一次不兼容的更新。参考 https://github.com/hugo-fixit/FixIt/releases"
devVersionWarn = "您正在使用開發版的 FixIt,請考慮使用穩定版。\n見 https://github.com/hugo-fixit/FixIt/releases"
devEnvWarn = "當前運行環境是“development”。“評論系統”、“PWA”、“CDN”“fingerprint”不會啟用。"
devEnvWarn = "當前運行環境是“development”。“評論系統”、“PWA”、“CDN”“fingerprint”和“統計”不會啟用。"
quicklyUpgrade = "使用命令快速升級:"
# === init ===
@@ -89,6 +89,8 @@ facebookLanguageCode = "zh-TW"
[assets]
search = "搜尋"
searchPlaceholder = "搜尋文章標題或內容……"
searchIn = "在 {{ . }} 中搜尋"
gotoResultsPage = "前往搜尋結果頁面……"
clear = "清除"
cancel = "取消"
noResultsFound = "沒有找到結果"
@@ -2,16 +2,12 @@
{{- if .AlertTitle | or .AlertSign | or (.AlertType | in $basicTypes | not) -}}
{{- /* The extended syntax is compatible with Obsidian and FixIt admonition shortcode. */ -}}
{{- /* === Dirty hack === */ -}}
{{- /* BUG of Hugo https://github.com/gohugoio/hugo/issues/12913 */ -}}
{{- $title := replaceRE "</([a-zA-Z]+)$" "</$1>" .AlertTitle -}}
{{- /* === Dirty hack === */ -}}
{{- $openMap := dict "+" true "-" false -}}
{{- $open := index $openMap .AlertSign | default true -}}
{{- $foldable := ne .AlertSign "" -}}
{{- dict
"Type" .AlertType
"Title" $title
"Title" .AlertTitle
"Open" $open
"Text" .Text
"Foldable" $foldable
+34
View File
@@ -0,0 +1,34 @@
{{- define "title" -}}
{{- cond (.Param "capitalizeTitles") (title .Title) .Title -}}
{{- if .Site.Params.withSiteTitle }} {{ .Site.Params.titleDelimiter }} {{ .Site.Title }}{{- end -}}
{{- end -}}
{{- define "content" -}}
{{- $params := partial "function/params.html" -}}
{{- $cse := .Site.Params.cse -}}
<article class="page single special search">
<div class="header">
{{- /* Title */ -}}
<h1 class="single-title animate__animated animate__pulse animate__faster">{{- cond (.Param "capitalizeTitles") (title .Title) .Title -}}</h1>
{{- /* Subtitle */ -}}
{{- with $params.subtitle -}}<p class="single-subtitle animate__animated animate__fadeIn">{{ . | $.RenderString }}</p>{{- end -}}
</div>
{{- /* Content */ -}}
<div class="content" id="content">
{{- dict "Content" .Content "Ruby" $params.ruby "Fraction" $params.fraction "Fontawesome" $params.fontawesome | partial "function/content.html" | safeHTML -}}
</div>
{{- /* Google CSE */ -}}
{{- if eq $cse.engine "google" -}}
{{- with $cse.google.cx -}}
<script async defer src="https://cse.google.com/cse.js?cx={{ . }}"></script>
<div class="gcse-searchbox"></div>
<div class="gcse-searchresults"></div>
{{- end -}}
{{- end -}}
{{- /* Bing CSE (Unsupported) */ -}}
</article>
{{- end -}}
+15
View File
@@ -22,6 +22,18 @@
{{- $source := $cdn.fuseJS | default "lib/fuse/fuse.min.js" -}}
{{- dict "Source" $source "Fingerprint" $fingerprint "Defer" true | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
{{- $config = dict "isCaseSensitive" $search.fuse.isCaseSensitive "minMatchCharLength" $search.fuse.minMatchCharLength "findAllMatches" $search.fuse.findAllMatches "location" $search.fuse.location "threshold" $search.fuse.threshold "distance" $search.fuse.distance "ignoreLocation" $search.fuse.ignoreLocation "useExtendedSearch" $search.fuse.useExtendedSearch "ignoreFieldNorm" $search.fuse.ignoreFieldNorm | dict "search" | merge $config -}}
{{- else if eq $search.type "cse" -}}
{{- $config = dict "type" "cse" | dict "search" | merge $config -}}
{{- $cse := .Site.Params.cse -}}
{{- $config = dict "resultsPage" $cse.resultsPage "gotoResultsPage" (T "assets.gotoResultsPage") | dict "cse" | merge $config -}}
{{- if (eq $cse.engine "google") | and $cse.google.cx -}}
{{- $config = dict "engine" "google" "cx" $cse.google.cx "searchIn" (T "assets.searchIn" "Google") | dict "cse" | merge $config -}}
{{- end -}}
{{- if eq $cse.engine "bing" -}}
{{- /* Unsupported */ -}}
{{- end -}}
{{- else if eq $search.type "post-chat" -}}
{{- $config = dict "type" "post-chat" | dict "search" | merge $config -}}
{{- end -}}
{{- end -}}
@@ -255,6 +267,9 @@
{{- end -}}
{{- end -}}
{{- /* PostChat */ -}}
{{- partial "plugin/post-chat-ai.html" . -}}
{{- range $params.library.css -}}
{{- dict "Source" . "Fingerprint" $fingerprint | dict "Scratch" $.Scratch "Data" | partial "scratch/style.html" -}}
{{- end -}}
+42
View File
@@ -5,6 +5,20 @@
{{- end -}}
{{- end -}}
{{- define "custom-menu:desktop" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.menuDesktop -}}
{{- partial . $ctx -}}
{{- end -}}
{{- end -}}
{{- define "custom-menu:mobile" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.menuMobile -}}
{{- partial . $ctx -}}
{{- end -}}
{{- end -}}
{{- define "custom-profile" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.profile -}}
@@ -47,6 +61,34 @@
{{- end -}}
{{- end -}}
{{- define "custom-post__toc:before" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.postTocBefore -}}
{{- partial . $ctx -}}
{{- end -}}
{{- end -}}
{{- define "custom-post__toc:after" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.postTocAfter -}}
{{- partial . $ctx -}}
{{- end -}}
{{- end -}}
{{- define "custom-post__content:before" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.postContentBefore -}}
{{- partial . $ctx -}}
{{- end -}}
{{- end -}}
{{- define "custom-post__content:after" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.postContentAfter -}}
{{- partial . $ctx -}}
{{- end -}}
{{- end -}}
{{- define "custom-post__footer:before" -}}
{{- $ctx := . -}}
{{- range .Site.Params.customPartials.postFooterBefore -}}
@@ -6,17 +6,17 @@
{{- $pass := $suffixValid | or .Pass -}}
{{- if $pass -}}
{{- with $remoteResource := resources.GetRemote .Path -}}
{{- with try ($remoteResource := resources.GetRemote .Path) -}}
{{- with .Err -}}
{{- erroridf "error-get-remote-image" "%s" . -}}
{{- else -}}
{{- else with .Value -}}
{{- if eq $remoteResource.ResourceType "image" -}}
{{- /* placed remote image in public/images/remote/ */ -}}
{{- $resource = $remoteResource | resources.Copy (add "/images/remote/" $remoteResource.Name) -}}
{{- end -}}
{{- else -}}
{{- erroridf "error-get-remote-image" "Unable to get remote image %q" $.Path -}}
{{- end -}}
{{- else -}}
{{- erroridf "error-get-remote-image" "Unable to get remote image %q" .Path -}}
{{- end -}}
{{- end -}}
{{- return $resource -}}
@@ -1,12 +1,12 @@
{{- $response := dict -}}
{{- with resources.GetRemote .URL .OPTIONS -}}
{{- with try (resources.GetRemote .URL .OPTIONS) -}}
{{- with .Err -}}
{{- erroridf "error-get-remote-json" "%s" . -}}
{{- else -}}
{{- else with .Value -}}
{{- $response = .Content | transform.Unmarshal -}}
{{- else -}}
{{- erroridf "error-get-remote-json" "Unable to get remote resource %q" $.URL -}}
{{- end -}}
{{- else -}}
{{- erroridf "error-get-remote-json" "Unable to get remote resource %q" .URL -}}
{{- end -}}
{{- return $response -}}
+33
View File
@@ -37,6 +37,39 @@
<link rel="alternate" type="application/feed+json" href="{{ .Permalink }}" title="{{ $title }}" />
{{- end -}}
{{- /* Mastodon Validation for the site */ -}}
{{- with .Site.Params.social.Mastodon -}}
{{- $mastodonConfig := . -}}
{{- $id := "" -}}
{{- $prefix := "https://mastodon.social/" -}}
{{- /* Check if Mastodon is a string */ -}}
{{- if printf "%T" $mastodonConfig | eq "string" -}}
{{- $id = strings.TrimPrefix "@" $mastodonConfig -}}
{{- /* Check if Mastodon is a map/object */ -}}
{{- else if printf "%T" $mastodonConfig | eq "map[string]interface {}" -}}
{{- $id = .Id | default .id | default "" | strings.TrimPrefix "@" -}}
{{- $prefix = .Prefix | default .prefix | default $prefix -}}
{{- /* If it's neither a string nor a map, do nothing */ -}}
{{- else -}}
{{- errorf "Invalid Mastodon configuration: %#v" $mastodonConfig -}}
{{- end -}}
{{- /* Remove trailing slash from prefix */ -}}
{{- $prefix = strings.TrimSuffix "/" $prefix -}}
{{- /* Construct profile URL */ -}}
{{- $profileUrl := printf "%s/@%s" $prefix $id -}}
{{- /* Only proceed if we have a valid ID */ -}}
{{- if $id -}}
<link rel="me" href="{{ $profileUrl }}" />
<meta name="fediverse:creator" content="{{ $id }}@{{ (urls.Parse $prefix).Host }}" />
{{- end -}}
{{- end -}}
{{- /* style.min.css */ -}}
{{- $options := dict "Source" "css/style.scss" "Fingerprint" $fingerprint -}}
{{- $toCSS := dict "targetPath" "css/style.min.css" "enableSourceMap" true -}}
+7 -1
View File
@@ -144,6 +144,9 @@
</ul>
</li>
{{- end -}}
{{- /* Custom menu items in the desktop header */ -}}
{{- block "custom-menu:desktop" . }}{{ end -}}
</ul>
</nav>
</div>
@@ -293,7 +296,7 @@
{{- .Language.LanguageName -}}
</option>
{{- end -}}
{{- else if gt (len .AllTranslations) 1 -}}
{{- else if .IsTranslated -}}
{{- range .AllTranslations -}}
<option value="{{ .RelPermalink }}"{{ if eq .Lang $.Lang }} selected disabled{{ end }}>
{{- .Language.LanguageName -}}
@@ -305,6 +308,9 @@
</select>
</span>
{{- end -}}
{{- /* Custom menu items in the mobile header */ -}}
{{- block "custom-menu:mobile" . }}{{ end -}}
</li>
</ul>
</nav>
+1 -1
View File
@@ -1,4 +1,4 @@
{{- .Scratch.Set "version" "v0.3.15" -}}
{{- .Scratch.Set "version" "v0.3.17-8b402129" -}}
{{- .Scratch.Set "this" dict -}}
{{- partial "init/detection-env.html" . -}}
+43
View File
@@ -19,4 +19,47 @@
</script>
{{- dict "Source" ($analytics.fathom.server | default "cdn.usefathom.com" | printf "https://%v/tracker.js") "Async" true "Attr" "id=fathom-script" | partial "plugin/script.html" -}}
{{- end -}}
{{- /* Baidu Analytics */ -}}
{{- with $analytics.baidu.id -}}
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?{{ . }}";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
{{- end -}}
{{- /* Umami Analytics */ -}}
{{- with $analytics.umami.data_website_id -}}
<script async defer data-website-id="{{ . }}" src="{{ $analytics.umami.src }}" {{ with $analytics.umami.data_host_url }} data-host-url="{{ . }}" {{ end }} {{ with $analytics.umami.data_domains }} data-domains="{{ . }}" {{ end }}></script>
{{- end -}}
{{- /* Plausible Analytics */ -}}
{{- with $analytics.plausible.data_domain -}}
<script async defer data-domain="{{ . }}" src="{{ $analytics.plausible.src }}"></script>
{{- end -}}
{{- /* Cloudflare Analytics */ -}}
{{- with $analytics.cloudflare.token -}}
<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "{{ $analytics.cloudflare.token }}"}'></script>
{{- end -}}
{{- /* Splitbee Analytics */ -}}
{{- if $analytics.splitbee.enable -}}
{{- $attr := "" -}}
{{- if $analytics.splitbee.do_not_track -}}
{{- $attr = printf `%v data-respect-dnt` $attr -}}
{{- end -}}
{{- if $analytics.splitbee.no_cookie -}}
{{- $attr = printf `%v data-no-cookie` $attr -}}
{{- end -}}
{{- with $analytics.splitbee.data_token -}}
{{- $attr = printf `%v data-token="%v"` $attr . -}}
{{- end -}}
<script defer {{ with $attr }} {{ . | safeHTMLAttr }} {{ end }} src="https://cdn.splitbee.io/sb.js"></script>
{{- end -}}
{{- end -}}
+1 -1
View File
@@ -11,7 +11,7 @@
{{- end -}}
{{- end -}}
{{- with $features | uniq -}}
{{- delimit . "%2C" | printf "https://polyfill.io/v3/polyfill.min.js?features=%v" | dict "Source" | dict "Scratch" $.Scratch "Data" | partial "scratch/script.html" -}}
{{- delimit . "%2C" | printf "https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js?features=%v" | dict "Source" | dict "Scratch" $.Scratch "Data" | partial "scratch/script.html" -}}
{{- end -}}
{{- end -}}
+115
View File
@@ -0,0 +1,115 @@
{{- /*
PostChat AI service.
PostChat: https://postchat.zhheo.com/addCode.html
PostSummary: https://postchat.zhheo.com/summary.html
*/ -}}
{{- $params := .Params | merge .Site.Params -}}
{{- $chatConfig := $params.postChat -}}
{{- $summaryConfig := $params.postSummary -}}
{{- $key := $chatConfig.key | default $summaryConfig.key -}}
{{- $sourcePrefix := "https://ai.tianli0.top/static/public/" -}}
{{- $jsMap := dict
"chat" "postChatUser.min.js"
"summary" "tianli_gpt.min.js"
"both" "postChatUser_summary.min.js"
-}}
{{- /* PostSummary only for public posts */ -}}
{{- $password := .Params.password | default .Site.Params.page.password -}}
{{- $isPost := (eq .Kind "page") | and (eq .Type "posts") | and (not $password) -}}
{{- $summaryEnable := cond $isPost $summaryConfig.enable false -}}
{{- $enable := $chatConfig.enable | or $summaryEnable -}}
{{- if $enable | and $key -}}
{{- $configJS := "" -}}
{{- $fingerprint := .Scratch.Get "fingerprint" -}}
{{- $sourceOpts := dict "Fingerprint" $fingerprint "Defer" true -}}
{{- /* PostSummary */ -}}
{{- if $summaryEnable -}}
{{- $postChatCSS := "https://ai.tianli0.top/static/public/postChatUser_summary.min.css" -}}
{{- dict "Source" $postChatCSS "Fingerprint" $fingerprint | dict "Scratch" .Scratch "Data" | partial "scratch/style.html" -}}
{{- $p := "tianliGPT" -}}
{{- $postSummaryConfig := printf "let %v_postSelector='#content';" $p -}}
{{- with $summaryConfig.title -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_Title='%v';" $p .) -}}
{{- end -}}
{{- with $summaryConfig.theme -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_theme='%v';" $p .) -}}
{{- end -}}
{{- with $summaryConfig.postURL -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_postURL='%v';" $p .) -}}
{{- end -}}
{{- with $summaryConfig.blacklist -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_blacklist='%v';" $p .) -}}
{{- end -}}
{{- with $summaryConfig.wordLimit -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_wordLimit=%d;" $p .) -}}
{{- end -}}
{{- if eq $summaryConfig.typingAnimate false -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_typingAnimate=false;" $p) -}}
{{- end -}}
{{- with $summaryConfig.beginningText -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_BeginningText='%v';" $p .) -}}
{{- end -}}
{{- with eq $summaryConfig.loadingText false -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_loadingText=false;" $p) -}}
{{- end -}}
{{- if $chatConfig.enable -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_recommendation=true;" $p) -}}
{{- else -}}
{{- $postSummaryConfig = add $postSummaryConfig (printf "let %v_key='%v';" $p $key) -}}
{{- end -}}
{{- $configJS = add $configJS $postSummaryConfig -}}
{{- end -}}
{{- /* PostChat */ -}}
{{- if $chatConfig.enable -}}
{{- $sourceOpts = dict "Attr" (printf "data-postChat_key=%q" $key) | merge $sourceOpts -}}
{{- $blackDom := slice
".expiration-reminder"
"meting-js"
".lnt"
-}}
{{- with $chatConfig.blackDom -}}
{{- $blackDom = $blackDom | append . -}}
{{- end -}}
{{- $upLoadWeb := cond (.IsHome | or $password | or (eq .Kind "404")) false $chatConfig.upLoadWeb -}}
{{- $postChatConfig := dict
"userMode" $chatConfig.userMode
"defaultInput" $chatConfig.defaultInput
"left" $chatConfig.left
"bottom" $chatConfig.bottom
"width" $chatConfig.width
"height" $chatConfig.height
"fill" $chatConfig.fill
"backgroundColor" $chatConfig.backgroundColor
"upLoadWeb" $upLoadWeb
"showInviteLink" $chatConfig.showInviteLink
"userTitle" $chatConfig.userTitle
"userDesc" $chatConfig.userDesc
"addButton" $chatConfig.addButton
"blackDom" $blackDom
"frameWidth" $chatConfig.frameWidth
"frameHeight" $chatConfig.frameHeight
"userIcon" $chatConfig.userIcon
"defaultChatQuestions" $chatConfig.defaultChatQuestions
"defaultSearchQuestions" $chatConfig.defaultSearchQuestions
-}}
{{- $configJS = add $configJS ($postChatConfig | jsonify | printf "var postChatConfig=%s") -}}
{{- end -}}
{{- /* Insert config */ -}}
{{- $configJS | dict "Content" | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
{{- /* Insert script */ -}}
{{- $postChatJS := "" -}}
{{- if $chatConfig.enable | and $summaryEnable -}}
{{- $postChatJS = add $sourcePrefix (index $jsMap "both") -}}
{{- else if $chatConfig.enable -}}
{{- $postChatJS = add $sourcePrefix (index $jsMap "chat") -}}
{{- else if $summaryEnable -}}
{{- $postChatJS = add $sourcePrefix (index $jsMap "summary") -}}
{{- end -}}
{{- $sourceOpts = dict "Source" $postChatJS | merge $sourceOpts -}}
{{- $sourceOpts | dict "Scratch" $.Scratch "Data" | partial "scratch/script.html" -}}
{{- end -}}
+2 -2
View File
@@ -8,10 +8,10 @@
{{- $open := eq (index $collectionTerms 0) . -}}
{{- $currentKey := 0 -}}
<div class="details collection-details{{ with $params.password }} encrypted-hidden{{ end }}{{ if $open }} open{{ end }}">
<div class="details collection-details{{ if $open }} open{{ end }}">
<div class="details-summary collection-summary">
{{ dict "Class" "fa-solid fa-layer-group fa-fw" | partial "plugin/icon.html" }}
<span class="collection-name" data-collections="{{ T "collections" }}">{{ .LinkTitle }}</span>
<span class="collection-name" title="{{ T "collections" }}">{{ .LinkTitle }}</span>
<span class="collection-count">{{ $pages.Len }}</span>
{{- dict "Class" "details-icon fa-solid fa-angle-right fa-fw" | partial "plugin/icon.html" -}}
</div>
+1 -1
View File
@@ -10,7 +10,7 @@
(T "collection")
.LinkTitle
-}}
<div class="collection-card{{ with $params.password }} encrypted-hidden{{ end }}">
<div class="collection-card">
<div class="collection-title text-secondary">
{{- dict "Collections" $termLink | T "single.includedIn.collections" | strings.FirstUpper | safeHTML }} {{ .Pages.Len -}}
</div>
+1 -2
View File
@@ -145,13 +145,12 @@
{{- /* Waline Comment System */ -}}
{{- /* see https://waline.js.org/reference/component.html */ -}}
{{- /* TODO adapted to Waline 2.15.8 */ -}}
{{- $waline := $comment.waline | default dict -}}
{{- if $waline.enable -}}
<div id="waline" class="comment"></div>
{{- $source := $cdn.walineCSS | default "lib/waline/waline.css" -}}
{{- dict "Source" $source "Fingerprint" $fingerprint | dict "Scratch" .Scratch "Data" | partial "scratch/style.html" -}}
{{- $source := $cdn.walineJS | default "lib/waline/waline.js" -}}
{{- $source := $cdn.walineJS | default "lib/waline/waline.umd.js" -}}
{{- dict "Source" $source "Fingerprint" $fingerprint "Defer" true | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
{{- $commentConfig = dict "el" "#waline" "serverURL" $waline.serverURL "lang" .Lang "dark" "html[data-theme='dark']" | dict "waline" | merge $commentConfig -}}
{{- $commentConfig = dict "copyright" true "imageUploader" false "highlighter" false "texRenderer" false "search" false | dict "waline" | merge $commentConfig -}}
@@ -14,7 +14,7 @@
{{- $type = "warning" -}}
{{- $icon = "fa-exclamation-triangle" -}}
{{- end -}}
<div class="details admonition {{ $type }} open">
<div class="expiration-reminder details admonition {{ $type }} open">
<div class="details-summary admonition-title">
<i class="icon fa-solid {{ $icon }} fa-fw" aria-hidden="true"></i>{{ T (printf "admonition.%v" $type) }}<i class="details-icon fa-solid fa-angle-right fa-fw" aria-hidden="true"></i>
</div>
+1 -1
View File
@@ -5,7 +5,7 @@
<span class="post-author">
{{- $content := $author.name | default "Anonymous" -}}
{{- $icon := dict "Class" "fa-solid fa-user-circle" -}}
{{- /* Deprecate $params.authorAvatar in favor of $params.showAvatar and dd front matter gravatar {bool} */ -}}
{{- /* Deprecate $params.authorAvatar in favor of $params.showAvatar and add front matter gravatar {bool} */ -}}
{{- if $author.avatar | and $params.authorAvatar -}}
{{- $content = printf "%v&nbsp;%v" (dict "Src" $author.avatar "Class" "avatar" "Alt" $content "Width" 20 "Height" 20 | partial "plugin/image.html") $content -}}
{{- $icon = "" -}}
+8 -8
View File
@@ -36,20 +36,20 @@
{{- $readingProgress := .Site.Params.readingProgress -}}
{{- if $readingProgress.enable -}}
{{- with $readingProgress -}}
{{- $style := printf "%v: 0;%v: 0;" (.Start | default "left") (.Position | default "top") -}}
{{- $style := printf "--fi-progress-start: %v; %v: 0;" (.Start | default "left") (.Position | default "top") -}}
{{- if .Height | and (ne .Height "2px") -}}
{{- $style = printf "%v--progress-h: %v;" $style .Height -}}
{{- end -}}
{{- if .Reversed -}}
{{- $style = printf "%v%v" $style "width: calc(100% - var(--progress));" -}}
{{- $style = printf "%v --fi-progress-h: %v;" $style .Height -}}
{{- end -}}
{{- if .Light -}}
{{- $style = printf "%v--bg-progress: %v;" $style .Light -}}
{{- $style = printf "%v --fi-progress-bg: %v;" $style .Light -}}
{{- end -}}
{{- if .Dark -}}
{{- $style = printf "%v--bg-progress-dark: %v;" $style .Dark -}}
{{- $style = printf "%v --fi-progress-bg-dark: %v;" $style .Dark -}}
{{- end -}}
<div class="reading-progress-bar" {{ printf `style="%v"` $style | safeHTMLAttr }}></div>
<div class="reading-progress-bar"
{{- with .Reversed }} data-reversed="{{ . }}"{{ end }}
{{- printf ` style=%q` $style | safeHTMLAttr -}}
></div>
{{- end -}}
{{- end -}}
+15 -3
View File
@@ -159,6 +159,9 @@
</div>
{{- end -}}
{{- /* Custom block before post content */ -}}
{{- block "custom-post__content:before" . }}{{ end -}}
{{- /* Content */ -}}
{{- $content := dict "Content" .Content "Ruby" $params.ruby "Fraction" $params.fraction "Fontawesome" $params.fontawesome | partial "function/content.html" | safeHTML -}}
<div class="content" id="content"{{ with $params.endFlag }} data-end-flag="{{ . }}"{{ end }}>
@@ -169,6 +172,9 @@
{{- end -}}
</div>
{{- /* Custom block after post content */ -}}
{{- block "custom-post__content:after" . }}{{ end -}}
{{- /* Related Content */ -}}
{{- partial "single/related.html" . -}}
@@ -178,12 +184,12 @@
{{- partial "single/reward.html" . -}}
{{- end -}}
{{- /* Collection Navigation */ -}}
{{- partial "single/collection-nav.html" . -}}
{{- /* Content Encryption */ -}}
{{- dict "Content" $content "Password" $params.password "Message" $params.message | partial "plugin/fixit-encryptor.html" -}}
{{- /* Collection Navigation */ -}}
{{- partial "single/collection-nav.html" . -}}
{{- /* Custom block before post footer */ -}}
{{- block "custom-post__footer:before" . }}{{ end -}}
@@ -203,6 +209,9 @@
</article>
<aside class="toc" id="toc-auto" aria-label="{{ T "single.contents" }}">
{{- /* Custom block before post toc */ -}}
{{- block "custom-post__toc:before" . }}{{ end -}}
{{- /* Auto TOC */ -}}
{{- if $showToc -}}
<h2 class="toc-title{{ with $params.password }} encrypted-hidden{{ end }}">
@@ -211,5 +220,8 @@
</h2>
<div class="toc-content{{ if eq $toc.auto false }} always-active{{ end }}{{ with $params.password }} encrypted-hidden{{ end }}" id="toc-content-auto"></div>
{{- end -}}
{{- /* Custom block after post toc */ -}}
{{- block "custom-post__toc:after" . }}{{ end -}}
</aside>
{{- end -}}
+67 -8
View File
@@ -1,12 +1,71 @@
{{- $summary := .Get "summary" | default (.Get 0) -}}
{{- /*
Renders an HTML details element.
@param {string} [class] The value of the element's class attribute.
@param {string} [name] The value of the element's name attribute.
@param {string} [summary] The content of the child summary element.
@param {string} [title] The value of the element's title attribute.
@param {bool} [open=false] Whether to initially display the content of the details element.
@reference https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details
@examples
{{< details >}}
A basic collapsible section.
{{< /details >}}
{{< details summary="Custom Summary Text" >}}
Showing custom `summary` text.
{{< /details >}}
{{< details summary="Open Details" open=true >}}
Contents displayed initially by using `open`.
{{< /details >}}
{{< details summary="Styled Content" class="my-custom-class" >}}
Content can be styled with CSS by specifying a `class`.
Target details element:
```css
details.my-custom-class { }
```
Target summary element:
```css
details.my-custom-class > summary > * { }
```
Target inner content:
```css
details.my-custom-class > :not(summary) { }
```
{{< /details >}}
{{< details summary="Grouped Details" name="my-details" >}}
Specifying a `name` allows elements to be connected, with only one able to be open at a time.
{{< /details >}}
*/}}
{{- /* Get arguments. */}}
{{- $summary := .Get "summary" | default (.Get 0) | default "Details" }}
{{- $open := .Get "open" | default (.Get 1) | default false -}}
{{- $center := .Get "center" | default (.Get 2) | default false -}}
{{- $class := .Get "class" | default (.Get 2) | default "" }}
{{- $name := or (.Get "name") "" }}
{{- $title := or (.Get "title") "" }}
{{- /* Render. */}}
<details
{{- with $open }} open{{ end -}}
{{- with $class }} class="{{ . }}" {{- end }}
{{- with $name }} name="{{ . }}" {{- end }}
{{- with $open }} open {{- end }}
{{- with $title }} title="{{ . }}" {{- end -}}
>
<summary
{{- if $center }} class="text-center"{{ end -}}
>{{ $summary | .Page.RenderString }}</summary>
{{ .Inner | .Page.RenderString }}
<summary>{{ $summary | .Page.RenderString }}</summary>
{{ .Inner | .Page.RenderString (dict "display" "block") -}}
</details>
{{- /* EOF */ -}}
{{- /* EOF */ -}}
+81 -145
View File
@@ -1,40 +1,49 @@
{
"name": "fixit-src",
"version": "0.3.15",
"lockfileVersion": 2,
"name": "fixit-core",
"version": "0.3.16",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "fixit-src",
"version": "0.3.15",
"name": "fixit-core",
"version": "0.3.16",
"license": "MIT",
"devDependencies": {
"@hugo-fixit/fixit-releaser": "^1.0.1",
"husky": "^9.1.6"
"@hugo-fixit/fixit-releaser": "^1.1.4",
"husky": "^9.1.7"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@hugo-fixit/fixit-releaser": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@hugo-fixit/fixit-releaser/-/fixit-releaser-1.0.1.tgz",
"integrity": "sha512-hYCxiwm3eeUNYXbWvan3AhBFbsAdPmk8Ys/3jn02QJzOqKtCxyHloKeM/80EkrBTCXAw//0DJVS+zBMw2cl31A==",
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@hugo-fixit/fixit-releaser/-/fixit-releaser-1.1.4.tgz",
"integrity": "sha512-95LpqiKKAASrfbig49fH6wcit4VF9+e4LtjHHmiYNRFjuHAn25+6oau+PpgyoQO/46bvqYrOddZik3fxjVVY5w==",
"dev": true,
"license": "MIT",
"dependencies": {
"auto-changelog": "^2.4.0"
"auto-changelog": "^2.5.0"
},
"bin": {
"fixit-releaser": "scripts/cli.js"
"fixit-releaser": "dist/bin/cli.js"
},
"engines": {
"node": ">=18"
}
},
"node_modules/auto-changelog": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz",
"integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==",
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.5.0.tgz",
"integrity": "sha512-UTnLjT7I9U2U/xkCUH5buDlp8C7g0SGChfib+iDrJkamcj5kaMqNKHNfbKJw1kthJUq8sUo3i3q2S6FzO/l/wA==",
"dev": true,
"license": "MIT",
"dependencies": {
"commander": "^7.2.0",
"handlebars": "^4.7.7",
"import-cwd": "^3.0.0",
"node-fetch": "^2.6.1",
"parse-github-url": "^1.0.2",
"parse-github-url": "^1.0.3",
"semver": "^7.3.5"
},
"bin": {
@@ -49,6 +58,7 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 10"
}
@@ -58,6 +68,7 @@
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.5",
"neo-async": "^2.6.2",
@@ -75,10 +86,11 @@
}
},
"node_modules/husky": {
"version": "9.1.6",
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz",
"integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==",
"version": "9.1.7",
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
"integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
"dev": true,
"license": "MIT",
"bin": {
"husky": "bin.js"
},
@@ -89,11 +101,38 @@
"url": "https://github.com/sponsors/typicode"
}
},
"node_modules/import-cwd": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
"integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
"dev": true,
"license": "MIT",
"dependencies": {
"import-from": "^3.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/import-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
"integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"resolve-from": "^5.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -102,13 +141,15 @@
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
"dev": true,
"license": "MIT"
},
"node_modules/node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dev": true,
"license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -129,6 +170,7 @@
"resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz",
"integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==",
"dev": true,
"license": "MIT",
"bin": {
"parse-github-url": "cli.js"
},
@@ -136,11 +178,22 @@
"node": ">= 0.10"
}
},
"node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -153,6 +206,7 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -161,13 +215,15 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true
"dev": true,
"license": "MIT"
},
"node_modules/uglify-js": {
"version": "3.19.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
"dev": true,
"license": "BSD-2-Clause",
"optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
@@ -180,13 +236,15 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true
"dev": true,
"license": "BSD-2-Clause"
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -196,130 +254,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
}
},
"dependencies": {
"@hugo-fixit/fixit-releaser": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@hugo-fixit/fixit-releaser/-/fixit-releaser-1.0.1.tgz",
"integrity": "sha512-hYCxiwm3eeUNYXbWvan3AhBFbsAdPmk8Ys/3jn02QJzOqKtCxyHloKeM/80EkrBTCXAw//0DJVS+zBMw2cl31A==",
"dev": true,
"requires": {
"auto-changelog": "^2.4.0"
}
},
"auto-changelog": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz",
"integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==",
"dev": true,
"requires": {
"commander": "^7.2.0",
"handlebars": "^4.7.7",
"node-fetch": "^2.6.1",
"parse-github-url": "^1.0.2",
"semver": "^7.3.5"
}
},
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
"dev": true
},
"handlebars": {
"version": "4.7.8",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"requires": {
"minimist": "^1.2.5",
"neo-async": "^2.6.2",
"source-map": "^0.6.1",
"uglify-js": "^3.1.4",
"wordwrap": "^1.0.0"
}
},
"husky": {
"version": "9.1.6",
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz",
"integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==",
"dev": true
},
"minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true
},
"neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
"node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dev": true,
"requires": {
"whatwg-url": "^5.0.0"
}
},
"parse-github-url": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz",
"integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==",
"dev": true
},
"semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true
},
"uglify-js": {
"version": "3.19.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
"dev": true,
"optional": true
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
"license": "MIT"
}
}
}
+10 -7
View File
@@ -1,8 +1,8 @@
{
"name": "fixit-src",
"version": "0.3.15",
"name": "fixit-core",
"version": "0.3.16",
"private": true,
"description": "FixIt theme source files",
"description": "Hugo FixIt core theme component source files",
"keywords": [
"hugo",
"theme",
@@ -21,16 +21,19 @@
"type": "module",
"scripts": {
"build": "hugo --source=demo --themesDir ../.. --theme $PWD --gc --minify --logLevel info",
"server": "hugo server --source=demo --themesDir ../.. --theme $PWD -D --disableFastRender --navigateToChanged --ignoreCache",
"server": "hugo server --source=demo --themesDir ../.. --theme $PWD -D --disableFastRender --navigateToChanged --ignoreCache -O",
"server:production": "npm run server -- -e production",
"server:docs": "hugo server --source=../fixit-docs -D --disableFastRender --navigateToChanged --ignoreCache",
"server:docs": "hugo server --source=../fixit-docs -D --disableFastRender --navigateToChanged --ignoreCache -O",
"version": "fixit-releaser version --prod",
"postversion": "git push && git push --tags && npm run release",
"release": "fixit-releaser changelog",
"prepare": "husky"
},
"devDependencies": {
"@hugo-fixit/fixit-releaser": "^1.0.1",
"husky": "^9.1.6"
"@hugo-fixit/fixit-releaser": "^1.1.4",
"husky": "^9.1.7"
},
"engines": {
"node": ">=18"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -3,11 +3,11 @@
name = "FixIt"
license = "MIT"
licenselink = "https://github.com/hugo-fixit/FixIt/blob/master/LICENSE"
licenselink = "https://github.com/hugo-fixit/FixIt/blob/main/LICENSE"
description = "A Clean, Elegant but Advanced Hugo Theme for Hugo."
homepage = "https://github.com/hugo-fixit/FixIt"
demosite = "https://fixit.lruihao.cn"
min_version = "0.134.1"
min_version = "0.141.0"
tags = [
"blog",