Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec8a1b3d73 | ||
|
|
e8d22f1f1b | ||
|
|
949e367a01 | ||
|
|
c7f6955e80 | ||
|
|
1aba089483 | ||
|
|
314877d325 | ||
|
|
45b6a073e0 | ||
|
|
9d819bc405 | ||
|
|
ec05d2c753 | ||
|
|
865cca8eaa | ||
|
|
6cd3b88a8a | ||
|
|
f408467bf5 | ||
|
|
db2f6b15e8 | ||
|
|
493c998742 | ||
|
|
a6f38c0e6f | ||
|
|
d3fd01c37d | ||
|
|
b260175ebf | ||
|
|
11845d4a7c | ||
|
|
85a781a998 | ||
|
|
3c534548df | ||
|
|
bf0713c0cf | ||
|
|
ef9486f794 | ||
|
|
c78b3a1e6a | ||
|
|
230ee3ab16 | ||
|
|
8ab8807398 | ||
|
|
522bdbe29e | ||
|
|
b0c5cd70da | ||
|
|
8cd0aed78a | ||
|
|
6f6323ff55 | ||
|
|
446cf9541c | ||
|
|
6804d068cc | ||
|
|
7edef0ff7f | ||
|
|
8629e52b84 | ||
|
|
9dd3fce747 | ||
|
|
94fdf4fded | ||
|
|
8c401da5f7 | ||
|
|
e00b6f674f | ||
|
|
23ed8930bf | ||
|
|
77070d4120 | ||
|
|
1d88d5b296 | ||
|
|
4eacb62ff8 | ||
|
|
63b3826c25 | ||
|
|
78f462314b | ||
|
|
9ffc80db8c | ||
|
|
49e855b4e4 | ||
|
|
c32887c753 | ||
|
|
7a1cfbb75d | ||
|
|
f3e91168d9 | ||
|
|
e41621dbbc | ||
|
|
9f77b8b780 | ||
|
|
81f2423d71 | ||
|
|
0ee9667c35 | ||
|
|
4bab2b4e7e | ||
|
|
eea9e106ab | ||
|
|
0d21750932 | ||
|
|
e4ca3de291 | ||
|
|
92a4c699cd | ||
|
|
fababb8a49 | ||
|
|
6d4968cdc6 | ||
|
|
327712d228 | ||
|
|
8b362f58d3 | ||
|
|
afa810841c | ||
|
|
34fc0e619f | ||
|
|
e2a9a62c1f | ||
|
|
545a2dc5da | ||
|
|
b6c00249c6 | ||
|
|
d913a512ad | ||
|
|
9719d7ac6f | ||
|
|
74650e4927 | ||
|
|
0b54ddac94 | ||
|
|
6bb5c83029 | ||
|
|
d7a4feba44 | ||
|
|
07cfaa2156 | ||
|
|
bd3589f783 | ||
|
|
0971fee3ef | ||
|
|
fe08fdf792 | ||
|
|
6d668745cf | ||
|
|
12ff643b75 | ||
|
|
07f2fec870 | ||
|
|
3f2891cc32 | ||
|
|
57befe227f | ||
|
|
73fc77b09e | ||
|
|
0317f3aa0e | ||
|
|
775d5b1bbf | ||
|
|
1fc6058426 | ||
|
|
accf29dea3 | ||
|
|
cc2c5c5205 | ||
|
|
c163661bd0 | ||
|
|
bdd8a4a08d | ||
|
|
0e3bad2be7 | ||
|
|
f487e616bf | ||
|
|
4e58ca0fb2 | ||
|
|
4422c4b517 | ||
|
|
f8417b8297 | ||
|
|
9ff8cccc36 | ||
|
|
f25fb65d42 | ||
|
|
519915336e | ||
|
|
7fe94cc6d0 | ||
|
|
09bbdc7125 | ||
|
|
9bab52527f | ||
|
|
ca477899f2 | ||
|
|
e8086c811d | ||
|
|
2028ff15d3 | ||
|
|
0cf48a9361 | ||
|
|
8ba07f0d59 | ||
|
|
ff9a860af9 | ||
|
|
6bf7c7a019 | ||
|
|
4e249c4a4b | ||
|
|
e7acfe97d2 | ||
|
|
eda9fc9bc3 | ||
|
|
20044af981 | ||
|
|
7b5fe02079 | ||
|
|
c5b51e3491 | ||
|
|
2d3642c62b | ||
|
|
960681efaf | ||
|
|
bb99b59528 | ||
|
|
f29e515147 | ||
|
|
112b22c0d9 | ||
|
|
31039584e8 | ||
|
|
ec942b013a | ||
|
|
1be60f89da | ||
|
|
69ab24995c | ||
|
|
e9b83400fe | ||
|
|
1048a10ba2 | ||
|
|
1c21efd54a | ||
|
|
19ebf4f5d2 | ||
|
|
825f9fec18 | ||
|
|
f9f9cf8e11 | ||
|
|
0f105d2acb | ||
|
|
4bc91159d6 | ||
|
|
2137efd700 | ||
|
|
7efecc2148 | ||
|
|
0e8cc80a88 | ||
|
|
170671b357 | ||
|
|
7ce8be1d2f | ||
|
|
ef023cf4bb | ||
|
|
f72c75a562 | ||
|
|
28cf554591 | ||
|
|
bdf5c84f19 | ||
|
|
241a0e0373 | ||
|
|
c64de6b1a7 | ||
|
|
f89ab9b53c | ||
|
|
c22297b182 | ||
|
|
20ca60e726 | ||
|
|
6f63f1ce1d | ||
|
|
a5440d0cfc | ||
|
|
7a2086ed05 | ||
|
|
428b89860a | ||
|
|
69a8a256dc | ||
|
|
e1c1308662 | ||
|
|
b0e6c4e5fd | ||
|
|
1e5c006945 | ||
|
|
4248719f9c | ||
|
|
62ce9f2e68 | ||
|
|
d6cfb639e6 | ||
|
|
8d5c2045a6 | ||
|
|
652462e326 | ||
|
|
8ab2d8b68a | ||
|
|
e71f92b572 | ||
|
|
bf2d8ece62 | ||
|
|
53d243fab3 | ||
|
|
2b55f9aa68 | ||
|
|
666a887d79 | ||
|
|
fc73172652 | ||
|
|
3b9a4032a7 | ||
|
|
720d795f78 | ||
|
|
4344a076d8 | ||
|
|
32f452b25d | ||
|
|
c9595934ea | ||
|
|
fe51e8fb67 | ||
|
|
81f0e88710 | ||
|
|
121d240da2 | ||
|
|
05456d8fdb | ||
|
|
c6aa447427 | ||
|
|
03578f8307 | ||
|
|
407cdb66c5 | ||
|
|
a1509e9064 | ||
|
|
cd73c4ab4d | ||
|
|
7b08a2241c | ||
|
|
998aee7bf3 | ||
|
|
427d44f472 | ||
|
|
e9389be6ff | ||
|
|
bfc47b118e | ||
|
|
9a98c6e95a | ||
|
|
4560ad96d4 | ||
|
|
d38a1055bf | ||
|
|
f98ef89528 | ||
|
|
0e504a57af | ||
|
|
11baac5f89 | ||
|
|
7093887500 | ||
|
|
ebc2fa55a3 | ||
|
|
2cebe7c007 | ||
|
|
574d41791d | ||
|
|
08305ed202 | ||
|
|
1f1d62d7c1 | ||
|
|
3a1b44c177 | ||
|
|
7f55de67d4 | ||
|
|
c51559dee5 | ||
|
|
65ad575c9c | ||
|
|
f83bec6b7a | ||
|
|
de65642d01 | ||
|
|
aee443b910 | ||
|
|
93316769fe | ||
|
|
0eea244097 | ||
|
|
cb3d124999 | ||
|
|
b36b892901 | ||
|
|
17dfc5503c | ||
|
|
ae9ee3f069 | ||
|
|
3ac8ed5556 | ||
|
|
f6f36a851e | ||
|
|
a05ba20c85 | ||
|
|
be89d0e2b3 | ||
|
|
1e99e63084 | ||
|
|
d1f332b9cf | ||
|
|
8642fc75cf | ||
|
|
0789219758 | ||
|
|
f8d4b06330 | ||
|
|
f768428e0b | ||
|
|
d9e1593377 | ||
|
|
0fed115c96 | ||
|
|
884d84363e | ||
|
|
4389aa5555 | ||
|
|
03f078ba8e | ||
|
|
1ef3c02588 | ||
|
|
bca3c4dd99 | ||
|
|
ee8703a515 | ||
|
|
4ee83032e9 | ||
|
|
5578f37a6b | ||
|
|
276e215ff6 | ||
|
|
2cda8e72b3 | ||
|
|
ba79ed3442 | ||
|
|
f74b1bc2e6 | ||
|
|
417606bde5 | ||
|
|
a0d04df2b3 | ||
|
|
de68f8d46e | ||
|
|
2e3fb57ce8 | ||
|
|
d0db9190d4 | ||
|
|
f6f6aa9577 | ||
|
|
43dcc375d6 | ||
|
|
8db2442743 | ||
|
|
452bdd408b | ||
|
|
80746a1fce | ||
|
|
b29c6614dc | ||
|
|
1597b4b356 | ||
|
|
6e5a0769d3 | ||
|
|
f441e653fb | ||
|
|
ad5295d335 | ||
|
|
edab149fca | ||
|
|
fcd9b6cc89 | ||
|
|
01dafef575 | ||
|
|
7f4e044464 | ||
|
|
7094f95a27 | ||
|
|
cc7989614a | ||
|
|
f2fd7a35cc | ||
|
|
9b6ed820e9 | ||
|
|
1a86ce0bd7 | ||
|
|
ce18bf1134 | ||
|
|
719e505d01 | ||
|
|
cac66e0fd7 | ||
|
|
fba28d5274 | ||
|
|
c714e91685 | ||
|
|
831af00253 | ||
|
|
f153250887 | ||
|
|
eef77a4a80 | ||
|
|
2e4e97c5b8 | ||
|
|
b91653687b | ||
|
|
b4a13da6d8 | ||
|
|
9c5ecfb45b | ||
|
|
4a19b81bd5 | ||
|
|
faeb1e1dea | ||
|
|
925065a5bd | ||
|
|
792ec9a601 | ||
|
|
8bfa9926c7 | ||
|
|
90e553541e | ||
|
|
a19edf471b | ||
|
|
40eea78d8c | ||
|
|
4550723e94 | ||
|
|
c9c8a36c16 | ||
|
|
6c8e0d7933 | ||
|
|
9a043d83ab | ||
|
|
9b35cc2bae | ||
|
|
d8ea1d81b5 | ||
|
|
751856fcc2 | ||
|
|
ba45e11207 | ||
|
|
de43ea47cb | ||
|
|
eb01381598 | ||
|
|
9665fe953c | ||
|
|
d4620d5318 | ||
|
|
2c6a95a755 | ||
|
|
fefb7d2fb5 | ||
|
|
ba8aac3a14 | ||
|
|
908c988d06 | ||
|
|
d517626b4e | ||
|
|
e608898f83 | ||
|
|
c47160936b | ||
|
|
44e02bbc13 | ||
|
|
cfa5c6f32d | ||
|
|
4afe06a57d | ||
|
|
f02776ff4f | ||
|
|
60ed15f97c | ||
|
|
0eba74c3c6 | ||
|
|
1802b07e29 | ||
|
|
3918571644 | ||
|
|
a27d65ad36 | ||
|
|
84185205e1 | ||
|
|
4417b41319 | ||
|
|
57b5c2cf6e | ||
|
|
4a9363b1bf | ||
|
|
b993c203d3 | ||
|
|
30a1bd281e | ||
|
|
af3893546a | ||
|
|
c7ed2261a3 | ||
|
|
0ce00113cb | ||
|
|
9cd5e2e575 | ||
|
|
a073bd45d9 | ||
|
|
e52cc05f63 | ||
|
|
0048f8b6dd | ||
|
|
da627a0cc7 | ||
|
|
98a73acbfa | ||
|
|
7305c4ae0b | ||
|
|
94c6132efe | ||
|
|
d7471833a9 | ||
|
|
3aa845e5cc | ||
|
|
f8124a6ac9 | ||
|
|
3344870b90 | ||
|
|
c599c3489e | ||
|
|
62a3ccc041 | ||
|
|
2c39e2654c | ||
|
|
9b6544fa09 | ||
|
|
435c1050f9 | ||
|
|
b9a45ea2a9 | ||
|
|
8b41f89455 | ||
|
|
374a0f51f7 | ||
|
|
b3bc04cfc3 | ||
|
|
7b694613da | ||
|
|
2c9f1af5b2 | ||
|
|
e619196b81 | ||
|
|
d8dc422205 | ||
|
|
ec8d9297f9 | ||
|
|
f827f8e8d8 | ||
|
|
8e1c70b5f6 | ||
|
|
8823610faf | ||
|
|
132e932bd4 | ||
|
|
45c084afa0 | ||
|
|
22f097f92a | ||
|
|
9eebb5b2aa | ||
|
|
e6968d877f | ||
|
|
4b9e63fd99 | ||
|
|
d7fc5acd05 | ||
|
|
44c20b3cf0 | ||
|
|
ab16811839 | ||
|
|
3d2ffada0f | ||
|
|
98f5b2c3b4 | ||
|
|
7cb8dcc4a1 | ||
|
|
e26666c001 | ||
|
|
646d1eca82 | ||
|
|
6f0238652b | ||
|
|
619fe502dc | ||
|
|
1159e78cc3 | ||
|
|
545febc7c0 | ||
|
|
17292857a7 | ||
|
|
7c4c740b25 | ||
|
|
65ab50a901 | ||
|
|
bcc9cf9f6c | ||
|
|
c330c17215 | ||
|
|
b777d4e59e | ||
|
|
019388def8 | ||
|
|
843677c383 | ||
|
|
d35cb4012b | ||
|
|
16bbb0f464 | ||
|
|
b96e5120ef | ||
|
|
97b2f5c851 | ||
|
|
84163ad4ea | ||
|
|
8c1365d819 | ||
|
|
f1a11b3357 | ||
|
|
ab385ef0e7 | ||
|
|
e1f59b6108 | ||
|
|
cfeab47b1b | ||
|
|
f04b850966 | ||
|
|
1cb5e9ab2f | ||
|
|
cfa6913496 | ||
|
|
ad7bac5432 | ||
|
|
f68b90589c | ||
|
|
97fa4b4970 | ||
|
|
1bbe7b5173 | ||
|
|
9872eebdde | ||
|
|
df859f1d70 | ||
|
|
6f6584e83a | ||
|
|
cd93ec0708 | ||
|
|
3f0dc1d6e1 | ||
|
|
340364f31a | ||
|
|
d21a4e6e4a | ||
|
|
01b998e070 | ||
|
|
5bab41062a | ||
|
|
b1b7aa1f42 | ||
|
|
8911ac843a | ||
|
|
cb479d5693 | ||
|
|
9c1d56e0e7 | ||
|
|
6d6b5d3946 | ||
|
|
ff3a6b4253 | ||
|
|
0f7f27b916 | ||
|
|
c8ee5fc657 | ||
|
|
e3194eca1e | ||
|
|
d25ec813f3 | ||
|
|
5fe9f56561 | ||
|
|
ade5f2c6d6 | ||
|
|
bf85845bc2 | ||
|
|
c648324aca | ||
|
|
479e2efff4 | ||
|
|
4fa6542bf2 |
No files matched your search
@@ -0,0 +1 @@
|
||||
* @nunocoracao
|
||||
@@ -8,36 +8,36 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: "${{ github.head_ref }}"
|
||||
- name: Install dependencies and Build Theme
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v6
|
||||
- run: npm install
|
||||
- run: npm run assets
|
||||
- name: Commit and push Chart.js changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
uses: stefanzweifel/git-auto-commit-action@v7
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
file_pattern: "assets/lib/chart/*"
|
||||
commit_message: "📦 Update packaged ChartJS"
|
||||
- name: Commit Fuse changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
uses: stefanzweifel/git-auto-commit-action@v7
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
file_pattern: "assets/lib/fuse/*"
|
||||
commit_message: "📦 Update packaged FuseJS"
|
||||
- name: Commit KaTeX changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
uses: stefanzweifel/git-auto-commit-action@v7
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
file_pattern: "assets/lib/katex/*"
|
||||
commit_message: "📦 Update packaged KaTeX"
|
||||
- name: Commit Mermaid changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
uses: stefanzweifel/git-auto-commit-action@v7
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
commit_message: "📦 Update packaged Mermaid"
|
||||
- run: npm run build
|
||||
- name: Commit CSS changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
uses: stefanzweifel/git-auto-commit-action@v7
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
|
||||
@@ -8,9 +8,9 @@ jobs:
|
||||
zip:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/checkout@v6
|
||||
- run: zip -r config-default.zip config/_default
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: config-default
|
||||
path: config-default.zip
|
||||
|
||||
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: dev
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
uses: peter-evans/create-pull-request@v7
|
||||
uses: peter-evans/create-pull-request@v8
|
||||
with:
|
||||
commit-message: Update Hugo supported version
|
||||
title: ⚙️ Update Hugo supported version
|
||||
|
||||
@@ -37,7 +37,7 @@ jobs:
|
||||
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \
|
||||
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Setup Pages
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -25,7 +25,7 @@ static
|
||||
#
|
||||
# This create an unclose node
|
||||
|
||||
layouts/_default/_markup/render-heading.html
|
||||
layouts/_default/_markup
|
||||
layouts/_default/index.json
|
||||
layouts/shortcodes/screenshot.html
|
||||
layouts/shortcodes/figure.html
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
## How to contribute to Blowfish
|
||||
|
||||
All development occurs on the `dev` branch and new PRs should be forked from here.
|
||||
|
||||
### Bugs & other issues
|
||||
|
||||
#### Found a bug? 🐛
|
||||
@@ -11,7 +13,6 @@
|
||||
#### Have a patch that fixes an issue?
|
||||
|
||||
- Great! Open a new GitHub pull request with the patch.
|
||||
- All development occurs on the `dev` branch and new PRs should be forked from here.
|
||||
- The commands `npm run example`, `npm run example:core`, and `npm run example:production` can be used to test local changes using the example site.
|
||||
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number, if applicable.
|
||||
- **Before submitting**, check the [coding conventions](#coding-conventions) section below to learn more about coding and commit message expectations.
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | Deutsch | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
Blowfish ist ein leistungsstarkes, schlankes Theme für [Hugo](https://gohugo.io). Es wurde mit Tailwind CSS entwickelt und bietet ein klares, minimalistisches Design, das Ihre Inhalte in den Vordergrund stellt.
|
||||
|
||||

|
||||
|
||||
|
||||
🌏 [Demo-Website](https://blowfish.page/)
|
||||
📑 [Theme-Dokumentation](https://blowfish.page/docs/)
|
||||
💎 [Merchandise-Shop](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Fehlerberichte & Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Fragen & Feature-Anfragen](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Funktionen
|
||||
|
||||
- Vollständig responsives Layout mit Tailwind CSS 3.0
|
||||
- Mehrere Farbschemata (oder vollständig anpassbar)
|
||||
- Dark Mode (erzwungen ein/aus oder automatisch mit Benutzerumschaltung)
|
||||
- Hochgradig anpassbare Konfiguration
|
||||
- Firebase-Integration zur Unterstützung dynamischer Daten
|
||||
- Ansichtszähler & Like-Mechanismus
|
||||
- Verwandte Artikel
|
||||
- Mehrere Homepage-Layouts
|
||||
- Mehrere Autoren
|
||||
- Artikelserien
|
||||
- Datums- und gewichtsbasierte Artikelsortierung
|
||||
- Zen-Modus zum Lesen von Artikeln
|
||||
- Flexibel mit beliebigen Inhaltstypen, Taxonomien und Menüs
|
||||
- Kopf- und Fußzeilenmenüs
|
||||
- Verschachtelte Menüs & Unternavigationsmenüs
|
||||
- Scrollbares Inhaltsverzeichnis
|
||||
- Mehrsprachige Inhaltsunterstützung einschließlich RTL-Sprachen
|
||||
- Möglichkeit, auf Beiträge auf Websites von Drittanbietern zu verlinken
|
||||
- Unterstützung für mehrere Shortcodes wie Gallery, Timeline, GitHub-Karten und Carousels
|
||||
- GitHub Alerts-Syntax, 15 Typen, zusammenklappbar
|
||||
- Buymeacoffee-Integration
|
||||
- Clientseitige Website-Suche mit Fuse.js
|
||||
- Diagramme und Visualisierungen mit Mermaid
|
||||
- Charts mit Chart.js
|
||||
- TypeIt-Integration
|
||||
- Youtube-Einbettungen mit Leistungsverbesserungen
|
||||
- Mathematische Notation mit KaTeX
|
||||
- SVG-Icons von FontAwesome 6
|
||||
- Automatische Bildgrößenanpassung mit Hugo Pipes
|
||||
- Überschriften-Anker, Inhaltsverzeichnisse, Code-Kopieren, Buttons, Badges und mehr
|
||||
- HTML- und Emoji-Unterstützung in Artikeln 🎉
|
||||
- SEO-freundlich mit Links zum Teilen in sozialen Medien
|
||||
- Unterstützung für Fathom Analytics und Google Analytics
|
||||
- RSS-Feeds, Favicons und Kommentare
|
||||
- Erweiterte Anpassung mit einfachen Tailwind-Farbdefinitionen und -Stilen
|
||||
- Optimiert für Leistung und Barrierefreiheit mit perfekten Lighthouse-Scores
|
||||
- Vollständig dokumentiert mit regelmäßigen Updates
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
## Dokumentation
|
||||
|
||||
Blowfish verfügt über eine [umfangreiche Dokumentation](https://blowfish.page/docs/), die alle Aspekte des Themes abdeckt. Lesen Sie unbedingt die [Dokumentation](https://blowfish.page/docs/), um mehr über die Verwendung des Themes und seiner Funktionen zu erfahren.
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
Blowfish unterstützt mehrere Installationsmethoden - als git submodule, als Hugo Module oder als vollständig manuelle Installation.
|
||||
|
||||
Detaillierte Anweisungen für jede Methode finden Sie in der [Installations-Dokumentation](https://blowfish.page/docs/installation). Für die einfachste Einrichtung sollten Sie die Dokumentation konsultieren. Im Folgenden finden Sie eine Schnellstartanleitung mit Submodulen, wenn Sie git verwenden, oder Hugo Modules, wenn Sie bereits Erfahrung mit der Installation von Hugo-Themes haben.
|
||||
|
||||
### Schnellstart mit Blowfish Tools
|
||||
|
||||
> **Hinweis:** Stellen Sie sicher, dass Sie **Node.js**, **Git** und **Hugo** installiert haben und dass Sie ein neues Hugo-Projekt erstellt haben, bevor Sie fortfahren.
|
||||
|
||||
Wir haben gerade ein neues CLI-Tool gestartet, das Ihnen beim Einstieg in Blowfish hilft. Es erstellt ein neues Hugo-Projekt, installiert das Theme und richtet die Theme-Konfigurationsdateien für Sie ein. Es befindet sich noch in der Beta-Phase, also [melden Sie bitte alle Probleme, die Sie finden](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Installieren Sie das CLI-Tool global mit npm (oder einem anderen Paketmanager):
|
||||
```shell
|
||||
npm i -g blowfish-tools
|
||||
```
|
||||
|
||||
Führen Sie dann den Befehl `blowfish-tools` aus, um eine interaktive Sitzung zu starten, die Sie durch Erstellungs- und Konfigurationsanwendungsfälle führt.
|
||||
```shell
|
||||
blowfish-tools
|
||||
```
|
||||
|
||||
Sie können auch den Befehl `blowfish-tools new` ausführen, um ein neues Hugo-Projekt zu erstellen und das Theme in einem Schritt zu installieren. Weitere Informationen finden Sie in der CLI-Hilfe.
|
||||
```shell
|
||||
blowfish-tools new mynewsite
|
||||
```
|
||||
|
||||
### Schnellstart mit git submodules
|
||||
|
||||
> **Hinweis:** Stellen Sie sicher, dass Sie **Git** und **Hugo** installiert haben und dass Sie ein neues Hugo-Projekt erstellt haben, bevor Sie fortfahren.
|
||||
|
||||
1. Initialisieren Sie git aus Ihrem Projektverzeichnis:
|
||||
|
||||
```shell
|
||||
git init
|
||||
```
|
||||
|
||||
2. Konfigurieren Sie Blowfish als git submodule:
|
||||
|
||||
```shell
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. Löschen Sie im Stammordner Ihrer Website die von Hugo generierte Datei `hugo.toml`. Kopieren Sie die `*.toml` Konfigurationsdateien aus dem Theme in Ihren `config/_default/` Ordner.
|
||||
|
||||
Sie finden diese Theme-Konfigurationsdateien im Hugo-Cache-Verzeichnis oder [laden Sie eine Kopie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) von GitHub herunter.
|
||||
|
||||
4. Folgen Sie den Anweisungen unter [Erste Schritte](https://blowfish.page/docs/getting-started/), um Ihre Website zu konfigurieren.
|
||||
|
||||
### Schnellstart mit Hugo
|
||||
|
||||
> **Hinweis:** Stellen Sie sicher, dass Sie **Go** und **Hugo** installiert haben und dass Sie ein neues Hugo-Projekt erstellt haben, bevor Sie fortfahren.
|
||||
|
||||
1. Initialisieren Sie Hugo Modules aus Ihrem Projektverzeichnis:
|
||||
|
||||
```shell
|
||||
hugo mod init github.com/<username>/<repo-name>
|
||||
```
|
||||
|
||||
2. Erstellen Sie `config/_default/module.toml` und fügen Sie Folgendes hinzu:
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
```
|
||||
|
||||
3. Starten Sie Ihren Server mit `hugo server` und das Theme wird automatisch heruntergeladen.
|
||||
|
||||
4. Löschen Sie im Stammordner Ihrer Website die von Hugo generierte Datei `hugo.toml`. Kopieren Sie die `*.toml` Konfigurationsdateien aus dem Theme in Ihren `config/_default/` Ordner.
|
||||
|
||||
> **Hinweis:** Überschreiben Sie nicht die oben erstellte Datei `module.toml`!
|
||||
|
||||
Sie finden diese Theme-Konfigurationsdateien im Hugo-Cache-Verzeichnis oder [laden Sie eine Kopie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) von GitHub herunter.
|
||||
|
||||
5. Folgen Sie den Anweisungen unter [Erste Schritte](https://blowfish.page/docs/getting-started/), um Ihre Website zu konfigurieren.
|
||||
|
||||
### Theme-Updates installieren
|
||||
|
||||
Wenn neue Versionen veröffentlicht werden, können Sie das Theme mit Hugo aktualisieren. Führen Sie einfach `hugo mod get -u` aus Ihrem Projektverzeichnis aus und das Theme wird automatisch auf die neueste Version aktualisiert.
|
||||
|
||||
Detaillierte [Update-Anweisungen](https://blowfish.page/docs/installation/#installing-updates) sind in der Dokumentation verfügbar.
|
||||
|
||||
---
|
||||
|
||||
## Mitwirken
|
||||
|
||||
Blowfish wird sich voraussichtlich im Laufe der Zeit weiterentwickeln. Ich beabsichtige, weiterhin Funktionen hinzuzufügen und nach Bedarf Änderungen vorzunehmen.
|
||||
|
||||
Melden Sie sich gerne mit Problemen oder Vorschlägen für neue Funktionen, die Sie gerne sehen würden.
|
||||
|
||||
- 🐛 **Fehlerberichte & Issues:** Verwenden Sie [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
- 💡 **Ideen für neue Funktionen:** Eröffnen Sie eine Diskussion auf [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
- 🙋♀️ **Allgemeine Fragen:** Gehen Sie zu [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
Wenn Sie in der Lage sind, einen Fehler zu beheben oder eine neue Funktion zu implementieren, sind Pull Requests zu diesem Zweck willkommen. Erfahren Sie mehr in den [Richtlinien für Mitwirkende](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||
|
||||
---
|
||||
|
||||
## Stargazers im Zeitverlauf
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -0,0 +1,179 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | Español | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
Blowfish está diseñado para ser un tema potente y ligero para [Hugo](https://gohugo.io). Está construido usando Tailwind CSS con un diseño limpio y minimalista que prioriza tu contenido.
|
||||
|
||||

|
||||
|
||||
|
||||
🌏 [Sitio de demostración](https://blowfish.page/)
|
||||
📑 [Documentación del tema](https://blowfish.page/docs/)
|
||||
💎 [Tienda de merchandising](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Reportes de errores y problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Preguntas y solicitudes de funcionalidades](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Características
|
||||
|
||||
- Diseño totalmente responsive construido con Tailwind CSS 3.0
|
||||
- Múltiples esquemas de color (o personaliza completamente el tuyo propio)
|
||||
- Modo oscuro (forzado activado/desactivado o cambio automático con opción de usuario)
|
||||
- Configuración altamente personalizable
|
||||
- Integración con Firebase para soportar datos dinámicos
|
||||
- Contador de vistas y mecanismo de likes
|
||||
- Artículos relacionados
|
||||
- Múltiples diseños de página de inicio
|
||||
- Múltiples autores
|
||||
- Series de artículos
|
||||
- Ordenación de artículos basada en fecha y peso
|
||||
- Modo zen para lectura de artículos
|
||||
- Flexible con cualquier tipo de contenido, taxonomías y menús
|
||||
- Menús de encabezado y pie de página
|
||||
- Menús anidados y menú de sub-navegación
|
||||
- Tabla de contenidos con desplazamiento
|
||||
- Soporte de contenido multilingüe incluyendo idiomas RTL
|
||||
- Capacidad de enlazar a publicaciones en sitios web de terceros
|
||||
- Soporte para varios shortcodes como Gallery, Timeline, GitHub cards y Carousels
|
||||
- Sintaxis de GitHub Alerts, 15 tipos, soporte plegable
|
||||
- Integración con Buymeacoffee
|
||||
- Búsqueda en el sitio del lado del cliente impulsada por Fuse.js
|
||||
- Diagramas y visualizaciones usando Mermaid
|
||||
- Gráficos usando Chart.js
|
||||
- Integración con TypeIt
|
||||
- Incrustaciones de Youtube con mejoras de rendimiento
|
||||
- Notación matemática usando KaTeX
|
||||
- Iconos SVG de FontAwesome 6
|
||||
- Redimensionamiento automático de imágenes usando Hugo Pipes
|
||||
- Anclajes de encabezados, Tablas de contenidos, Copia de código, Botones, Insignias y más
|
||||
- Soporte de HTML y Emoji en artículos 🎉
|
||||
- SEO amigable con enlaces para compartir en redes sociales
|
||||
- Soporte para Fathom Analytics y Google Analytics
|
||||
- Feeds RSS, Favicons y soporte de comentarios
|
||||
- Personalización avanzada usando definiciones de colores y estilos simples de Tailwind
|
||||
- Optimizado para rendimiento y accesibilidad con puntuaciones perfectas en Lighthouse
|
||||
- Completamente documentado con actualizaciones regulares
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
## Documentación
|
||||
|
||||
Blowfish tiene [documentación extensa](https://blowfish.page/docs/) que cubre todos los aspectos del tema. Asegúrate de [leer la documentación](https://blowfish.page/docs/) para aprender más sobre cómo usar el tema y sus características.
|
||||
|
||||
---
|
||||
|
||||
## Instalación
|
||||
|
||||
Blowfish soporta varios métodos de instalación - como submódulo de git, módulo de Hugo, o como una instalación completamente manual.
|
||||
|
||||
Las instrucciones detalladas para cada método se pueden encontrar en la documentación de [Instalación](https://blowfish.page/docs/installation). Deberías consultar la documentación para obtener la experiencia de configuración más simple. A continuación se presenta una guía de inicio rápido usando submódulos si estás usando git, o módulos de Hugo si ya tienes confianza instalando temas de Hugo.
|
||||
|
||||
### Inicio rápido usando Blowfish Tools
|
||||
|
||||
> **Nota:** Asegúrate de tener **Node.js**, **Git** y **Hugo** instalados, y de haber creado un nuevo proyecto Hugo antes de continuar.
|
||||
|
||||
Acabamos de lanzar una nueva herramienta CLI para ayudarte a comenzar con Blowfish. Creará un nuevo proyecto Hugo, instalará el tema y configurará los archivos de configuración del tema por ti. Todavía está en beta, así que por favor [reporta cualquier problema que encuentres](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Instala la herramienta CLI globalmente usando npm (u otro gestor de paquetes):
|
||||
```shell
|
||||
npm i -g blowfish-tools
|
||||
```
|
||||
|
||||
Luego ejecuta el comando `blowfish-tools` para iniciar una ejecución interactiva que te guiará a través de los casos de uso de creación y configuración.
|
||||
```shell
|
||||
blowfish-tools
|
||||
```
|
||||
|
||||
También puedes ejecutar el comando `blowfish-tools new` para crear un nuevo proyecto Hugo e instalar el tema de una sola vez. Consulta la ayuda de CLI para más información.
|
||||
```shell
|
||||
blowfish-tools new mynewsite
|
||||
```
|
||||
|
||||
### Inicio rápido usando submódulos de git
|
||||
|
||||
> **Nota:** Asegúrate de tener **Git** y **Hugo** instalados, y de haber creado un nuevo proyecto Hugo antes de continuar.
|
||||
|
||||
1. Desde el directorio de tu proyecto, inicializa git:
|
||||
|
||||
```shell
|
||||
git init
|
||||
```
|
||||
|
||||
2. Configura Blowfish como un submódulo de git:
|
||||
|
||||
```shell
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. En la carpeta raíz de tu sitio web, elimina el archivo `hugo.toml` que fue generado por Hugo. Copia los archivos de configuración `*.toml` del tema en tu carpeta `config/_default/`.
|
||||
|
||||
Encontrarás estos archivos de configuración del tema en el directorio de caché de Hugo, o [descarga una copia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) desde GitHub.
|
||||
|
||||
4. Sigue las instrucciones de [Primeros Pasos](https://blowfish.page/docs/getting-started/) para configurar tu sitio web.
|
||||
|
||||
### Inicio rápido usando Hugo
|
||||
|
||||
> **Nota:** Asegúrate de tener **Go** y **Hugo** instalados, y de haber creado un nuevo proyecto Hugo antes de continuar.
|
||||
|
||||
1. Desde el directorio de tu proyecto, inicializa los Módulos de Hugo:
|
||||
|
||||
```shell
|
||||
hugo mod init github.com/<username>/<repo-name>
|
||||
```
|
||||
|
||||
2. Crea `config/_default/module.toml` y agrega lo siguiente:
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
```
|
||||
|
||||
3. Inicia tu servidor usando `hugo server` y el tema se descargará automáticamente.
|
||||
|
||||
4. En la carpeta raíz de tu sitio web, elimina el archivo `hugo.toml` que fue generado por Hugo. Copia los archivos de configuración `*.toml` del tema en tu carpeta `config/_default/`.
|
||||
|
||||
> **Nota:** ¡No sobrescribas el archivo `module.toml` que creaste arriba!
|
||||
|
||||
Encontrarás estos archivos de configuración del tema en el directorio de caché de Hugo, o [descarga una copia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) desde GitHub.
|
||||
|
||||
5. Sigue las instrucciones de [Primeros Pasos](https://blowfish.page/docs/getting-started/) para configurar tu sitio web.
|
||||
|
||||
### Instalación de actualizaciones del tema
|
||||
|
||||
A medida que se publiquen nuevas versiones, puedes actualizar el tema usando Hugo. Simplemente ejecuta `hugo mod get -u` desde el directorio de tu proyecto y el tema se actualizará automáticamente a la última versión.
|
||||
|
||||
Las [instrucciones de actualización](https://blowfish.page/docs/installation/#installing-updates) detalladas están disponibles en la documentación.
|
||||
|
||||
---
|
||||
|
||||
## Contribuciones
|
||||
|
||||
Se espera que Blowfish evolucione con el tiempo. Tengo la intención de seguir agregando características y haciendo cambios según sea necesario.
|
||||
|
||||
Siéntete libre de ponerte en contacto con cualquier problema o sugerencia de nuevas características que te gustaría ver.
|
||||
|
||||
- 🐛 **Reportes de errores y problemas:** Usa [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
- 💡 **Ideas para nuevas características:** Abre una discusión en [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
- 🙋♀️ **Preguntas generales:** Dirígete a [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
Si puedes corregir un error o implementar una nueva característica, acepto PRs para este propósito. Aprende más en las [guías de contribución](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||
|
||||
---
|
||||
|
||||
## Stargazers a lo largo del tiempo
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -0,0 +1,179 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | Français | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
Blowfish est conçu pour être un thème puissant et léger pour [Hugo](https://gohugo.io). Il est construit avec Tailwind CSS avec un design épuré et minimaliste qui donne la priorité à votre contenu.
|
||||
|
||||

|
||||
|
||||
|
||||
🌏 [Site de démonstration](https://blowfish.page/)
|
||||
📑 [Documentation du thème](https://blowfish.page/docs/)
|
||||
💎 [Boutique de produits dérivés](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Rapports de bugs et problèmes](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Questions et demandes de fonctionnalités](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
- Disposition entièrement responsive construite avec Tailwind CSS 3.0
|
||||
- Plusieurs palettes de couleurs (ou personnalisez entièrement la vôtre)
|
||||
- Mode sombre (forcé activé/désactivé ou basculement automatique avec commutateur utilisateur)
|
||||
- Configuration hautement personnalisable
|
||||
- Intégration Firebase pour prendre en charge les données dynamiques
|
||||
- Compteur de vues et mécanisme de likes
|
||||
- Articles connexes
|
||||
- Plusieurs mises en page pour la page d'accueil
|
||||
- Plusieurs auteurs
|
||||
- Séries d'articles
|
||||
- Tri des articles basé sur la date et le poids
|
||||
- Mode Zen pour la lecture d'articles
|
||||
- Flexible avec tous les types de contenu, taxonomies et menus
|
||||
- Menus d'en-tête et de pied de page
|
||||
- Menus imbriqués et menu de sous-navigation
|
||||
- Table des matières défilable
|
||||
- Support du contenu multilingue incluant la prise en charge des langues RTL
|
||||
- Possibilité de lier des articles sur des sites web tiers
|
||||
- Prise en charge de plusieurs shortcodes comme Gallery, Timeline, GitHub cards et Carousels
|
||||
- Syntaxe GitHub Alerts, 15 types, support pliable
|
||||
- Intégration Buymeacoffee
|
||||
- Recherche côté client alimentée par Fuse.js
|
||||
- Diagrammes et visualisations utilisant Mermaid
|
||||
- Graphiques utilisant Chart.js
|
||||
- Intégration TypeIt
|
||||
- Intégrations Youtube avec améliorations de performance
|
||||
- Notation mathématique utilisant KaTeX
|
||||
- Icônes SVG de FontAwesome 6
|
||||
- Redimensionnement automatique des images utilisant Hugo Pipes
|
||||
- Ancres de titres, Tables des matières, Copie de code, Boutons, Badges et plus
|
||||
- Support HTML et Emoji dans les articles 🎉
|
||||
- SEO optimisé avec liens pour partage sur les réseaux sociaux
|
||||
- Support de Fathom Analytics et Google Analytics
|
||||
- Flux RSS, Favicons et support des commentaires
|
||||
- Personnalisation avancée utilisant de simples définitions de couleurs et styles Tailwind
|
||||
- Optimisé pour les performances et l'accessibilité avec des scores Lighthouse parfaits
|
||||
- Entièrement documenté avec des mises à jour régulières
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
## Documentation
|
||||
|
||||
Blowfish dispose d'une [documentation complète](https://blowfish.page/docs/) qui couvre tous les aspects du thème. Assurez-vous de [lire la documentation](https://blowfish.page/docs/) pour en savoir plus sur l'utilisation du thème et de ses fonctionnalités.
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
Blowfish prend en charge plusieurs méthodes d'installation - en tant que sous-module git, module Hugo, ou en tant qu'installation complètement manuelle.
|
||||
|
||||
Des instructions détaillées pour chaque méthode se trouvent dans la documentation [Installation](https://blowfish.page/docs/installation). Vous devriez consulter la documentation pour l'expérience de configuration la plus simple. Ci-dessous se trouve un guide de démarrage rapide utilisant les sous-modules si vous utilisez git, ou les modules Hugo si vous êtes déjà à l'aise avec l'installation de thèmes Hugo.
|
||||
|
||||
### Démarrage rapide avec Blowfish Tools
|
||||
|
||||
> **Note :** Assurez-vous d'avoir **Node.js**, **Git** et **Hugo** installés, et d'avoir créé un nouveau projet Hugo avant de continuer.
|
||||
|
||||
Nous venons de lancer un nouvel outil CLI pour vous aider à démarrer avec Blowfish. Il créera un nouveau projet Hugo, installera le thème et configurera les fichiers de configuration du thème pour vous. Il est encore en version bêta, veuillez donc [signaler tout problème que vous rencontrez](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Installez l'outil CLI globalement en utilisant npm (ou un autre gestionnaire de paquets) :
|
||||
```shell
|
||||
npm i -g blowfish-tools
|
||||
```
|
||||
|
||||
Ensuite, exécutez la commande `blowfish-tools` pour démarrer une exécution interactive qui vous guidera à travers les cas d'utilisation de création et de configuration.
|
||||
```shell
|
||||
blowfish-tools
|
||||
```
|
||||
|
||||
Vous pouvez également exécuter la commande `blowfish-tools new` pour créer un nouveau projet Hugo et installer le thème en une seule fois. Consultez l'aide du CLI pour plus d'informations.
|
||||
```shell
|
||||
blowfish-tools new mynewsite
|
||||
```
|
||||
|
||||
### Démarrage rapide avec les sous-modules git
|
||||
|
||||
> **Note :** Assurez-vous d'avoir **Git** et **Hugo** installés, et d'avoir créé un nouveau projet Hugo avant de continuer.
|
||||
|
||||
1. Depuis le répertoire de votre projet, initialisez git :
|
||||
|
||||
```shell
|
||||
git init
|
||||
```
|
||||
|
||||
2. Configurez Blowfish comme un sous-module git :
|
||||
|
||||
```shell
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. Dans le dossier racine de votre site web, supprimez le fichier `hugo.toml` qui a été généré par Hugo. Copiez les fichiers de configuration `*.toml` du thème dans votre dossier `config/_default/`.
|
||||
|
||||
Vous trouverez ces fichiers de configuration du thème dans le répertoire cache de Hugo, ou [téléchargez une copie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) depuis GitHub.
|
||||
|
||||
4. Suivez les instructions [Pour commencer](https://blowfish.page/docs/getting-started/) pour configurer votre site web.
|
||||
|
||||
### Démarrage rapide avec Hugo
|
||||
|
||||
> **Note :** Assurez-vous d'avoir **Go** et **Hugo** installés, et d'avoir créé un nouveau projet Hugo avant de continuer.
|
||||
|
||||
1. Depuis le répertoire de votre projet, initialisez les modules Hugo :
|
||||
|
||||
```shell
|
||||
hugo mod init github.com/<username>/<repo-name>
|
||||
```
|
||||
|
||||
2. Créez `config/_default/module.toml` et ajoutez ce qui suit :
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
```
|
||||
|
||||
3. Démarrez votre serveur en utilisant `hugo server` et le thème sera téléchargé automatiquement.
|
||||
|
||||
4. Dans le dossier racine de votre site web, supprimez le fichier `hugo.toml` qui a été généré par Hugo. Copiez les fichiers de configuration `*.toml` du thème dans votre dossier `config/_default/`.
|
||||
|
||||
> **Note :** Ne remplacez pas le fichier `module.toml` que vous avez créé ci-dessus !
|
||||
|
||||
Vous trouverez ces fichiers de configuration du thème dans le répertoire cache de Hugo, ou [téléchargez une copie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) depuis GitHub.
|
||||
|
||||
5. Suivez les instructions [Pour commencer](https://blowfish.page/docs/getting-started/) pour configurer votre site web.
|
||||
|
||||
### Installation des mises à jour du thème
|
||||
|
||||
Au fur et à mesure que de nouvelles versions sont publiées, vous pouvez mettre à jour le thème en utilisant Hugo. Exécutez simplement `hugo mod get -u` depuis le répertoire de votre projet et le thème se mettra automatiquement à jour vers la dernière version.
|
||||
|
||||
Des [instructions de mise à jour](https://blowfish.page/docs/installation/#installing-updates) détaillées sont disponibles dans la documentation.
|
||||
|
||||
---
|
||||
|
||||
## Contribuer
|
||||
|
||||
Blowfish est destiné à évoluer au fil du temps. J'ai l'intention de continuer à ajouter des fonctionnalités et à apporter des modifications selon les besoins.
|
||||
|
||||
N'hésitez pas à me contacter pour tout problème ou suggestion de nouvelles fonctionnalités que vous aimeriez voir.
|
||||
|
||||
- 🐛 **Rapports de bugs et problèmes :** Utilisez [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
- 💡 **Idées de nouvelles fonctionnalités :** Ouvrez une discussion sur [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
- 🙋♀️ **Questions générales :** Rendez-vous sur [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
Si vous êtes en mesure de corriger un bug ou de mettre en œuvre une nouvelle fonctionnalité, j'accueille les PR à cette fin. Apprenez-en plus dans les [directives de contribution](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||
|
||||
---
|
||||
|
||||
## Évolution des stargazers
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,8 +1,8 @@
|
||||
**[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | Indonesian | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md)**
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | Indonesian
|
||||
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -40,7 +40,8 @@ Blowfish dirancang sebagai tema yang kuat dan ringan untuk [Hugo](https://gohugo
|
||||
- Daftar isi yang dapat digulir
|
||||
- Dukungan untuk konten multibahasa termasuk bahasa RTL
|
||||
- Kemampuan untuk menautkan ke artikel di situs web pihak ketiga
|
||||
- Dukungan untuk beberapa shortcode seperti Galeri, Timeline, Kartu GitHub, dan Carousel
|
||||
- Dukungan untuk beberapa shortcode seperti Galeri, Timeline, Kartu GitHub, dan Carousel
|
||||
- Sintaks GitHub Alerts, 15 jenis, dukungan lipat
|
||||
- Integrasi BuyMeACoffee
|
||||
- Pencarian situs berbasis klien dengan Fuse.js
|
||||
- Diagram dan visualisasi menggunakan Mermaid
|
||||
@@ -77,7 +78,7 @@ Instruksi terperinci untuk setiap metode dapat ditemukan dalam [dokumentasi inst
|
||||
|
||||
### Instalasi Cepat Menggunakan Blowfish Tools
|
||||
|
||||
> **Catatan:** Pastikan Anda sudah menginstal **Node.js**, **Git**, **Go**, dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||
> **Catatan:** Pastikan Anda sudah menginstal **Node.js**, **Git**, dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||
|
||||
Kami baru saja meluncurkan alat CLI baru untuk membantu Anda memulai dengan Blowfish. Ini akan membuat proyek Hugo baru, menginstal tema, dan mengatur file konfigurasi tema untuk Anda.
|
||||
|
||||
@@ -98,7 +99,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
### Instalasi Cepat Menggunakan Git Submodules
|
||||
|
||||
> **Catatan:** Pastikan Anda sudah menginstal **Git**, **Go**, dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||
> **Catatan:** Pastikan Anda sudah menginstal **Git** dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||
|
||||
1. Dari direktori proyek Anda, inisialisasi git:
|
||||
```shell
|
||||
@@ -110,7 +111,7 @@ blowfish-tools new mynewsite
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. Hapus file `config.toml` di root proyek dan salin file `*.toml` dari tema ke dalam folder `config/_default/`.
|
||||
3. Hapus file `hugo.toml` di root proyek dan salin file `*.toml` dari tema ke dalam folder `config/_default/`.
|
||||
|
||||
4. Ikuti petunjuk [Memulai](https://blowfish.page/docs/getting-started/) untuk mengonfigurasi situs web Anda.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | 日本語
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | 日本語 | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -45,6 +45,7 @@ Blowfishは[Hugo](https://gohugo.io)のために設計された強力で軽量
|
||||
- RTL 言語を含む多言語コンテンツのサポート
|
||||
- サードパーティー ウェブサイトの投稿へのリンク
|
||||
- ギャラリー、タイムライン、GitHub カード、カルーセルなど、複数のショートコードに対応
|
||||
- GitHub Alerts 構文、15 種類、折りたたみ対応
|
||||
- Buy Me a Coffee 連携
|
||||
- Fuse.js を利用したクライアントサイドのサイト内検索
|
||||
- Mermaid を使用したダイアグラムや視覚化
|
||||
@@ -81,7 +82,7 @@ Blowfish は、git サブモジュール、Hugo モジュール、または完
|
||||
|
||||
### Blowfish Tools を使ったクイックスタート
|
||||
|
||||
> **注意:** **Node.js**、**Git**、**Go**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||
> **注意:** **Node.js**、**Git**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||
|
||||
Blowfish を使い始めるのに役立つ新しい CLI ツールをリリースしました。このツールは、新しい Hugo プロジェクトを作成し、テーマをインストールし、テーマ設定ファイルをセットアップします。まだベータ版なので、[問題を見つけたら報告してください](https://github.com/nunocoracao/blowfish-tools)。
|
||||
|
||||
@@ -102,7 +103,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
### git サブモジュールを使ったクイックスタート
|
||||
|
||||
> **注意:** **Git**、**Go**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||
> **注意:** **Git**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||
|
||||
1. プロジェクトディレクトリで、git を初期化します。
|
||||
|
||||
@@ -116,7 +117,7 @@ blowfish-tools new mynewsite
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. ウェブサイトのルートフォルダで、Hugo によって生成された `config.toml` ファイルを削除します。テーマから `*.toml` 設定ファイルをコピーして、`config/_default/` フォルダに保存します。
|
||||
3. ウェブサイトのルートフォルダで、Hugo によって生成された `hugo.toml` ファイルを削除します。テーマから `*.toml` 設定ファイルをコピーして、`config/_default/` フォルダに保存します。
|
||||
|
||||
これらのテーマ設定ファイルは、Hugo キャッシュディレクトリにあります。または、GitHub から[コピーをダウンロード](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)できます。
|
||||
|
||||
@@ -141,7 +142,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
3. `hugo server` を使用してサーバーを起動すると、テーマが自動的にダウンロードされます。
|
||||
|
||||
4. ウェブサイトのルートフォルダにある、Hugo によって生成された `config.toml` ファイルを削除します。テーマの `*.toml` 設定ファイルを `config/_default/` フォルダにコピーします。
|
||||
4. ウェブサイトのルートフォルダにある、Hugo によって生成された `hugo.toml` ファイルを削除します。テーマの `*.toml` 設定ファイルを `config/_default/` フォルダにコピーします。
|
||||
|
||||
> **注意:** 上記で作成した `module.toml` ファイルを上書きしないでください!
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
English | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md)
|
||||
English | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -45,6 +45,7 @@ Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohu
|
||||
- Multilingual content support including support for RTL languages
|
||||
- Ability to link to posts on third-party websites
|
||||
- Support for several shortcodes like Gallery, Timeline, GitHub cards, and Carousels
|
||||
- GitHub Alerts syntax, 15 types, collapsible support
|
||||
- Buymeacoffee integration
|
||||
- Client-side site search powered by Fuse.js
|
||||
- Diagrams and visualisations using Mermaid
|
||||
@@ -81,7 +82,7 @@ Detailed instructions for each method can be found in the [Installation](https:/
|
||||
|
||||
### Quick start using Blowfish Tools
|
||||
|
||||
> **Note:** Ensure you have **Node.js**, **Git**, **Go** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||
> **Note:** Ensure you have **Node.js**, **Git** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||
|
||||
We just launched a new CLI tool to help you get started with Blowfish. It will create a new Hugo project, install the theme and set up the theme configuration files for you. It's still in beta so please [report any issues you find](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
@@ -102,7 +103,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
### Quick start using git submodules
|
||||
|
||||
> **Note:** Ensure you have **Git**, **Go**, and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||
> **Note:** Ensure you have **Git** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||
|
||||
1. From your project directory, initialise git:
|
||||
|
||||
@@ -116,7 +117,7 @@ blowfish-tools new mynewsite
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder.
|
||||
3. In the root folder of your website, delete the `hugo.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder.
|
||||
|
||||
You will find these theme config files in the Hugo cache directory, or [download a copy](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) from GitHub.
|
||||
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | Português (BR) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
Blowfish foi projetado para ser um tema poderoso e leve para [Hugo](https://gohugo.io). É construído usando Tailwind CSS com um design limpo e minimalista que prioriza o seu conteúdo.
|
||||
|
||||

|
||||
|
||||
|
||||
🌏 [Site de demonstração](https://blowfish.page/)
|
||||
📑 [Documentação do tema](https://blowfish.page/docs/)
|
||||
💎 [Loja de produtos](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Relatórios de bugs e problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Perguntas e solicitações de recursos](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Recursos
|
||||
|
||||
- Layout totalmente responsivo construído com Tailwind CSS 3.0
|
||||
- Múltiplos esquemas de cores (ou personalize completamente o seu próprio)
|
||||
- Modo escuro (forçado ligado/desligado ou alternância automática com botão do usuário)
|
||||
- Configuração altamente personalizável
|
||||
- Integração com Firebase para suportar dados dinâmicos
|
||||
- Contagem de visualizações e mecanismo de curtidas
|
||||
- Artigos relacionados
|
||||
- Múltiplos layouts de página inicial
|
||||
- Múltiplos autores
|
||||
- Séries de artigos
|
||||
- Ordenação de artigos baseada em data e peso
|
||||
- Modo zen para leitura de artigos
|
||||
- Flexível com qualquer tipo de conteúdo, taxonomias e menus
|
||||
- Menus de cabeçalho e rodapé
|
||||
- Menus aninhados e menu de sub-navegação
|
||||
- Índice com rolagem
|
||||
- Suporte a conteúdo multilíngue incluindo suporte para idiomas RTL
|
||||
- Capacidade de linkar para posts em sites de terceiros
|
||||
- Suporte para vários shortcodes como Gallery, Timeline, GitHub cards e Carousels
|
||||
- Sintaxe de alertas do GitHub, 15 tipos, suporte recolhível
|
||||
- Integração com Buymeacoffee
|
||||
- Busca no site do lado do cliente alimentada por Fuse.js
|
||||
- Diagramas e visualizações usando Mermaid
|
||||
- Gráficos usando Chart.js
|
||||
- Integração com TypeIt
|
||||
- Embeds do Youtube com melhorias de performance
|
||||
- Notação matemática usando KaTeX
|
||||
- Ícones SVG do FontAwesome 6
|
||||
- Redimensionamento automático de imagens usando Hugo Pipes
|
||||
- Âncoras de cabeçalho, Índices, Cópia de código, Botões, Badges e mais
|
||||
- Suporte a HTML e Emoji em artigos 🎉
|
||||
- SEO amigável com links para compartilhamento em redes sociais
|
||||
- Suporte a Fathom Analytics e Google Analytics
|
||||
- Suporte a feeds RSS, Favicons e comentários
|
||||
- Personalização avançada usando definições simples de cores e estilos do Tailwind
|
||||
- Otimizado para performance e acessibilidade com pontuações perfeitas no Lighthouse
|
||||
- Totalmente documentado com atualizações regulares
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
## Documentação
|
||||
|
||||
Blowfish possui [documentação extensa](https://blowfish.page/docs/) que cobre todos os aspectos do tema. Certifique-se de [ler a documentação](https://blowfish.page/docs/) para saber mais sobre como usar o tema e seus recursos.
|
||||
|
||||
---
|
||||
|
||||
## Instalação
|
||||
|
||||
Blowfish suporta vários métodos de instalação - como submódulo git, Hugo Module, ou como uma instalação completamente manual.
|
||||
|
||||
Instruções detalhadas para cada método podem ser encontradas na documentação de [Instalação](https://blowfish.page/docs/installation). Você deve consultar a documentação para a experiência de configuração mais simples. Abaixo está um guia de início rápido usando submódulos se você estiver usando git, ou Hugo modules se você já estiver confiante em instalar temas Hugo.
|
||||
|
||||
### Início rápido usando Blowfish Tools
|
||||
|
||||
> **Nota:** Certifique-se de ter **Node.js**, **Git** e **Hugo** instalados, e que você criou um novo projeto Hugo antes de prosseguir.
|
||||
|
||||
Acabamos de lançar uma nova ferramenta CLI para ajudá-lo a começar com Blowfish. Ela criará um novo projeto Hugo, instalará o tema e configurará os arquivos de configuração do tema para você. Ainda está em beta, então por favor [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Instale a ferramenta CLI globalmente usando npm (ou outro gerenciador de pacotes):
|
||||
```shell
|
||||
npm i -g blowfish-tools
|
||||
```
|
||||
|
||||
Em seguida, execute o comando `blowfish-tools` para iniciar uma execução interativa que o guiará pelos casos de uso de criação e configuração.
|
||||
```shell
|
||||
blowfish-tools
|
||||
```
|
||||
|
||||
Você também pode executar o comando `blowfish-tools new` para criar um novo projeto Hugo e instalar o tema de uma vez. Verifique a ajuda da CLI para mais informações.
|
||||
```shell
|
||||
blowfish-tools new mynewsite
|
||||
```
|
||||
|
||||
### Início rápido usando submódulos git
|
||||
|
||||
> **Nota:** Certifique-se de ter **Git** e **Hugo** instalados, e que você criou um novo projeto Hugo antes de prosseguir.
|
||||
|
||||
1. Do diretório do seu projeto, inicialize o git:
|
||||
|
||||
```shell
|
||||
git init
|
||||
```
|
||||
|
||||
2. Configure Blowfish como um submódulo git:
|
||||
|
||||
```shell
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. Na pasta raiz do seu site, exclua o arquivo `hugo.toml` que foi gerado pelo Hugo. Copie os arquivos de configuração `*.toml` do tema para sua pasta `config/_default/`.
|
||||
|
||||
Você encontrará esses arquivos de configuração do tema no diretório de cache do Hugo, ou [baixe uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||
|
||||
4. Siga as instruções de [Primeiros Passos](https://blowfish.page/docs/getting-started/) para configurar seu site.
|
||||
|
||||
### Início rápido usando Hugo
|
||||
|
||||
> **Nota:** Certifique-se de ter **Go** e **Hugo** instalados, e que você criou um novo projeto Hugo antes de prosseguir.
|
||||
|
||||
1. Do diretório do seu projeto, inicialize os Hugo Modules:
|
||||
|
||||
```shell
|
||||
hugo mod init github.com/<username>/<repo-name>
|
||||
```
|
||||
|
||||
2. Crie `config/_default/module.toml` e adicione o seguinte:
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
```
|
||||
|
||||
3. Inicie seu servidor usando `hugo server` e o tema será baixado automaticamente.
|
||||
|
||||
4. Na pasta raiz do seu site, exclua o arquivo `hugo.toml` que foi gerado pelo Hugo. Copie os arquivos de configuração `*.toml` do tema para sua pasta `config/_default/`.
|
||||
|
||||
> **Nota:** Não sobrescreva o arquivo `module.toml` que você criou acima!
|
||||
|
||||
Você encontrará esses arquivos de configuração do tema no diretório de cache do Hugo, ou [baixe uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||
|
||||
5. Siga as instruções de [Primeiros Passos](https://blowfish.page/docs/getting-started/) para configurar seu site.
|
||||
|
||||
### Instalando atualizações do tema
|
||||
|
||||
À medida que novos lançamentos são publicados, você pode atualizar o tema usando Hugo. Simplesmente execute `hugo mod get -u` do diretório do seu projeto e o tema será atualizado automaticamente para a versão mais recente.
|
||||
|
||||
[Instruções detalhadas de atualização](https://blowfish.page/docs/installation/#installing-updates) estão disponíveis na documentação.
|
||||
|
||||
---
|
||||
|
||||
## Contribuindo
|
||||
|
||||
Blowfish deve evoluir ao longo do tempo. Pretendo continuar adicionando recursos e fazendo alterações conforme necessário.
|
||||
|
||||
Sinta-se à vontade para entrar em contato com quaisquer problemas ou sugestões de novos recursos que você gostaria de ver.
|
||||
|
||||
- 🐛 **Relatórios de bugs e problemas:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
- 💡 **Ideias para novos recursos:** Abra uma discussão em [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
- 🙋♀️ **Perguntas gerais:** Vá para [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
Se você for capaz de corrigir um bug ou implementar um novo recurso, dou as boas-vindas a PRs para este propósito. Saiba mais nas [diretrizes de contribuição](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||
|
||||
---
|
||||
|
||||
## Stargazers ao longo do tempo
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -0,0 +1,179 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | Português (PT) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
Blowfish foi desenhado para ser um tema poderoso e leve para [Hugo](https://gohugo.io). É construído com Tailwind CSS com um design limpo e minimalista que prioriza o seu conteúdo.
|
||||
|
||||

|
||||
|
||||
|
||||
🌏 [Site de demonstração](https://blowfish.page/)
|
||||
📑 [Documentação do tema](https://blowfish.page/docs/)
|
||||
💎 [Loja de merchandising](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Relatórios de erros & problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Questões & pedidos de funcionalidades](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Funcionalidades
|
||||
|
||||
- Layout totalmente responsivo construído com Tailwind CSS 3.0
|
||||
- Múltiplos esquemas de cores (ou personalize completamente o seu próprio)
|
||||
- Modo escuro (forçado ligado/desligado ou alternância automática com seletor do utilizador)
|
||||
- Configuração altamente personalizável
|
||||
- Integração com Firebase para suportar dados dinâmicos
|
||||
- Contagem de visualizações & mecanismo de gostos
|
||||
- Artigos relacionados
|
||||
- Múltiplos layouts de página inicial
|
||||
- Múltiplos autores
|
||||
- Séries de artigos
|
||||
- Ordenação de artigos baseada em data e peso
|
||||
- Modo Zen para leitura de artigos
|
||||
- Flexível com qualquer tipo de conteúdo, taxonomias e menus
|
||||
- Menus de cabeçalho e rodapé
|
||||
- Menus aninhados & menu de sub-navegação
|
||||
- Índice de conteúdos com scroll
|
||||
- Suporte para conteúdo multilingue incluindo suporte para línguas RTL
|
||||
- Capacidade de criar links para publicações em sites de terceiros
|
||||
- Suporte para vários shortcodes como Gallery, Timeline, GitHub cards e Carousels
|
||||
- Sintaxe GitHub Alerts, 15 tipos, suporte para elementos expansíveis
|
||||
- Integração Buymeacoffee
|
||||
- Pesquisa no site do lado do cliente alimentada por Fuse.js
|
||||
- Diagramas e visualizações usando Mermaid
|
||||
- Gráficos usando Chart.js
|
||||
- Integração TypeIt
|
||||
- Embeds de Youtube com melhorias de desempenho
|
||||
- Notação matemática usando KaTeX
|
||||
- Ícones SVG do FontAwesome 6
|
||||
- Redimensionamento automático de imagens usando Hugo Pipes
|
||||
- Âncoras de cabeçalhos, Índices de Conteúdos, Cópia de código, Botões, Badges e mais
|
||||
- Suporte HTML e Emoji em artigos 🎉
|
||||
- Otimizado para SEO com links para partilha em redes sociais
|
||||
- Suporte para Fathom Analytics e Google Analytics
|
||||
- Feeds RSS, Favicons e suporte para comentários
|
||||
- Personalização avançada usando definições simples de cores e estilos do Tailwind
|
||||
- Otimizado para desempenho e acessibilidade com pontuações perfeitas no Lighthouse
|
||||
- Totalmente documentado com atualizações regulares
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
## Documentação
|
||||
|
||||
Blowfish tem [documentação extensa](https://blowfish.page/docs/) que cobre todos os aspetos do tema. Certifique-se de [ler a documentação](https://blowfish.page/docs/) para saber mais sobre como usar o tema e as suas funcionalidades.
|
||||
|
||||
---
|
||||
|
||||
## Instalação
|
||||
|
||||
Blowfish suporta vários métodos de instalação - como um submódulo git, um Módulo Hugo, ou como uma instalação completamente manual.
|
||||
|
||||
Instruções detalhadas para cada método podem ser encontradas na documentação de [Instalação](https://blowfish.page/docs/installation). Deve consultar a documentação para a experiência de configuração mais simples. Abaixo está um guia de início rápido usando submódulos se estiver a usar git, ou módulos Hugo se já está confiante na instalação de temas Hugo.
|
||||
|
||||
### Início rápido usando Blowfish Tools
|
||||
|
||||
> **Nota:** Certifique-se de que tem **Node.js**, **Git** e **Hugo** instalados, e que criou um novo projeto Hugo antes de continuar.
|
||||
|
||||
Acabámos de lançar uma nova ferramenta CLI para ajudá-lo a começar com Blowfish. Ela irá criar um novo projeto Hugo, instalar o tema e configurar os ficheiros de configuração do tema para si. Ainda está em beta por isso [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Instale a ferramenta CLI globalmente usando npm (ou outro gestor de pacotes):
|
||||
```shell
|
||||
npm i -g blowfish-tools
|
||||
```
|
||||
|
||||
Depois execute o comando `blowfish-tools` para iniciar uma execução interativa que irá guiá-lo através da criação e casos de uso de configuração.
|
||||
```shell
|
||||
blowfish-tools
|
||||
```
|
||||
|
||||
Também pode executar o comando `blowfish-tools new` para criar um novo projeto Hugo e instalar o tema de uma só vez. Consulte a ajuda da CLI para mais informações.
|
||||
```shell
|
||||
blowfish-tools new mynewsite
|
||||
```
|
||||
|
||||
### Início rápido usando submódulos git
|
||||
|
||||
> **Nota:** Certifique-se de que tem **Git** e **Hugo** instalados, e que criou um novo projeto Hugo antes de continuar.
|
||||
|
||||
1. A partir do diretório do seu projeto, inicialize o git:
|
||||
|
||||
```shell
|
||||
git init
|
||||
```
|
||||
|
||||
2. Configure Blowfish como um submódulo git:
|
||||
|
||||
```shell
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. Na pasta raiz do seu site, elimine o ficheiro `hugo.toml` que foi gerado pelo Hugo. Copie os ficheiros de configuração `*.toml` do tema para a sua pasta `config/_default/`.
|
||||
|
||||
Irá encontrar estes ficheiros de configuração do tema no diretório de cache do Hugo, ou [descarregue uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||
|
||||
4. Siga as instruções de [Introdução](https://blowfish.page/docs/getting-started/) para configurar o seu site.
|
||||
|
||||
### Início rápido usando Hugo
|
||||
|
||||
> **Nota:** Certifique-se de que tem **Go** e **Hugo** instalados, e que criou um novo projeto Hugo antes de continuar.
|
||||
|
||||
1. A partir do diretório do seu projeto, inicialize os Módulos Hugo:
|
||||
|
||||
```shell
|
||||
hugo mod init github.com/<username>/<repo-name>
|
||||
```
|
||||
|
||||
2. Crie `config/_default/module.toml` e adicione o seguinte:
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
```
|
||||
|
||||
3. Inicie o seu servidor usando `hugo server` e o tema será descarregado automaticamente.
|
||||
|
||||
4. Na pasta raiz do seu site, elimine o ficheiro `hugo.toml` que foi gerado pelo Hugo. Copie os ficheiros de configuração `*.toml` do tema para a sua pasta `config/_default/`.
|
||||
|
||||
> **Nota:** Não sobrescreva o ficheiro `module.toml` que criou acima!
|
||||
|
||||
Irá encontrar estes ficheiros de configuração do tema no diretório de cache do Hugo, ou [descarregue uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||
|
||||
5. Siga as instruções de [Introdução](https://blowfish.page/docs/getting-started/) para configurar o seu site.
|
||||
|
||||
### Instalar atualizações do tema
|
||||
|
||||
À medida que novas versões são publicadas, pode atualizar o tema usando Hugo. Simplesmente execute `hugo mod get -u` a partir do diretório do seu projeto e o tema será automaticamente atualizado para a versão mais recente.
|
||||
|
||||
[Instruções detalhadas de atualização](https://blowfish.page/docs/installation/#installing-updates) estão disponíveis na documentação.
|
||||
|
||||
---
|
||||
|
||||
## Contribuir
|
||||
|
||||
Espera-se que Blowfish evolua ao longo do tempo. Pretendo continuar a adicionar funcionalidades e fazer alterações conforme necessário.
|
||||
|
||||
Sinta-se à vontade para entrar em contacto com quaisquer problemas ou sugestões para novas funcionalidades que gostaria de ver.
|
||||
|
||||
- 🐛 **Relatórios de erros & problemas:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
- 💡 **Ideias para novas funcionalidades:** Abra uma discussão em [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
- 🙋♀️ **Questões gerais:** Dirija-se a [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
Se conseguir corrigir um erro ou implementar uma nova funcionalidade, aceito PRs para este propósito. Saiba mais nas [diretrizes de contribuição](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||
|
||||
---
|
||||
|
||||
## Stargazers ao longo do tempo
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md) | 简体中文 | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md)
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | 简体中文 | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -43,6 +43,7 @@ Blowfish 是一个轻量有力的 Hugo 主题。它使用 Tailwind CSS 构建,
|
||||
- 支持多语言内容,包括 RTL 语言
|
||||
- 可链接到第三方网站上的帖子
|
||||
- 支持多种简码,如图库、时间轴、GitHub 卡片和图片灯箱
|
||||
- 支持 GitHub Alerts 语法、15 种类型和可折叠功能
|
||||
- 支持 Buymeacoffee
|
||||
- 拥有由 Fuse.js 支持的客户端一侧网站搜索功能
|
||||
- 植入了基于 Mermaid 的图表功能
|
||||
@@ -78,7 +79,7 @@ Blowfish 支持多种安装方式,既能作为 git 子模块、Hugo 模块,
|
||||
|
||||
### 使用 Blowfish Tools 快速开始
|
||||
|
||||
> **注:** 请确保你已安装 **Node.js**、 **Git**、 **Go** 和 **Hugo** ,且已经创建了一个 Hugo 工程。
|
||||
> **注:** 请确保你已安装 **Node.js**、 **Git** 和 **Hugo** ,且已经创建了一个 Hugo 工程。
|
||||
|
||||
我们最新推出了一个新的 CLI 工具,帮助你开始使用 Blowfish。它将为你创建一个新的 Hugo 项目、安装主题并设置主题配置文件。它仍处于测试阶段,因此请 [报告你发现的任何问题](https://github.com/nunocoracao/blowfish-tools)。
|
||||
|
||||
@@ -99,7 +100,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
### 使用 git 子模块快速开始
|
||||
|
||||
> **注:** 请确保你已安装 **Node.js**、 **Git**、 **Go** 和 **Hugo** ,且已经创建了一个 Hugo 工程。
|
||||
> **注:** 请确保你已安装 **Git** 和 **Hugo** ,且已经创建了一个 Hugo 工程。
|
||||
|
||||
1. 从你工程的所在目录初始化 git 仓库
|
||||
|
||||
@@ -113,7 +114,7 @@ blowfish-tools new mynewsite
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
|
||||
3. 在你网站的根目录中删除由 Hugo 自动生成的 `config.toml`文件,并把主题文件夹中的`*.toml`配置文件复制到你的 `config/_default/`文件夹中
|
||||
3. 在你网站的根目录中删除由 Hugo 自动生成的 `hugo.toml` 文件,并把主题文件夹中的 `*.toml` 配置文件复制到你的 `config/_default/` 文件夹中
|
||||
|
||||
你可在 Hugo 缓存目录中找到主题配置文件,或者也可以从[这里](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)下载一份。
|
||||
|
||||
@@ -138,7 +139,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
3. 运行 `hugo server` 启动你的本地服务器,本主题就会自动下载。
|
||||
|
||||
4. 在你网站的根目录中删除由 Hugo 自动生成的 `config.toml`文件,并把主题文件夹中的`*.toml`配置文件复制到你的 `config/_default/`文件夹中
|
||||
4. 在你网站的根目录中删除由 Hugo 自动生成的 `hugo.toml`文件,并把主题文件夹中的`*.toml`配置文件复制到你的 `config/_default/`文件夹中
|
||||
|
||||
> **注** 不要覆盖之前的 `module.toml` !
|
||||
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
/*
|
||||
* Derived from KKKZOZ/hugo-admonitions (https://github.com/KKKZOZ/hugo-admonitions/)
|
||||
* Copyright (c) 2024 KKKZOZ, Licensed under MIT License
|
||||
*/
|
||||
:root {
|
||||
/* GitHub Core Types (5) */
|
||||
--adm-note-border: theme("colors.sky.500");
|
||||
--adm-note-bg: theme("colors.sky.50");
|
||||
--adm-note-text: theme("colors.sky.900");
|
||||
|
||||
--adm-tip-border: theme("colors.emerald.500");
|
||||
--adm-tip-bg: theme("colors.emerald.50");
|
||||
--adm-tip-text: theme("colors.emerald.900");
|
||||
|
||||
--adm-important-border: theme("colors.purple.500");
|
||||
--adm-important-bg: theme("colors.purple.50");
|
||||
--adm-important-text: theme("colors.purple.900");
|
||||
|
||||
--adm-warning-border: theme("colors.orange.500");
|
||||
--adm-warning-bg: theme("colors.orange.50");
|
||||
--adm-warning-text: theme("colors.orange.900");
|
||||
|
||||
--adm-caution-border: theme("colors.red.500");
|
||||
--adm-caution-bg: theme("colors.red.50");
|
||||
--adm-caution-text: theme("colors.red.900");
|
||||
|
||||
/* Extended Types (10) */
|
||||
--adm-abstract-border: theme("colors.cyan.500");
|
||||
--adm-abstract-bg: theme("colors.cyan.50");
|
||||
--adm-abstract-text: theme("colors.cyan.900");
|
||||
|
||||
--adm-bug-border: theme("colors.rose.500");
|
||||
--adm-bug-bg: theme("colors.rose.50");
|
||||
--adm-bug-text: theme("colors.rose.900");
|
||||
|
||||
--adm-danger-border: theme("colors.red.500");
|
||||
--adm-danger-bg: theme("colors.red.50");
|
||||
--adm-danger-text: theme("colors.red.900");
|
||||
|
||||
--adm-example-border: theme("colors.purple.600");
|
||||
--adm-example-bg: theme("colors.purple.50");
|
||||
--adm-example-text: theme("colors.purple.900");
|
||||
|
||||
--adm-failure-border: theme("colors.pink.500");
|
||||
--adm-failure-bg: theme("colors.pink.50");
|
||||
--adm-failure-text: theme("colors.pink.900");
|
||||
|
||||
--adm-info-border: theme("colors.blue.500");
|
||||
--adm-info-bg: theme("colors.blue.50");
|
||||
--adm-info-text: theme("colors.blue.900");
|
||||
|
||||
--adm-question-border: theme("colors.amber.500");
|
||||
--adm-question-bg: theme("colors.amber.50");
|
||||
--adm-question-text: theme("colors.amber.900");
|
||||
|
||||
--adm-quote-border: theme("colors.gray.500");
|
||||
--adm-quote-bg: theme("colors.gray.50");
|
||||
--adm-quote-text: theme("colors.gray.800");
|
||||
|
||||
--adm-success-border: theme("colors.emerald.500");
|
||||
--adm-success-bg: theme("colors.emerald.50");
|
||||
--adm-success-text: theme("colors.emerald.900");
|
||||
|
||||
--adm-todo-border: theme("colors.sky.500");
|
||||
--adm-todo-bg: theme("colors.sky.50");
|
||||
--adm-todo-text: theme("colors.sky.800");
|
||||
}
|
||||
|
||||
html.dark {
|
||||
/* GitHub Core Types (5) */
|
||||
--adm-note-bg: color-mix(in srgb, theme("colors.sky.900 / 0.4"), black 15%);
|
||||
--adm-note-text: theme("colors.sky.100");
|
||||
|
||||
--adm-tip-bg: color-mix(in srgb, theme("colors.emerald.900 / 0.4"), black 15%);
|
||||
--adm-tip-text: theme("colors.emerald.100");
|
||||
|
||||
--adm-important-bg: color-mix(in srgb, theme("colors.purple.900 / 0.4"), black 15%);
|
||||
--adm-important-text: theme("colors.purple.100");
|
||||
|
||||
--adm-warning-bg: color-mix(in srgb, theme("colors.orange.900 / 0.4"), black 15%);
|
||||
--adm-warning-text: theme("colors.orange.100");
|
||||
|
||||
--adm-caution-bg: color-mix(in srgb, theme("colors.red.900 / 0.4"), black 15%);
|
||||
--adm-caution-text: theme("colors.red.100");
|
||||
|
||||
/* Extended Types (10) */
|
||||
--adm-abstract-bg: color-mix(in srgb, theme("colors.cyan.900 / 0.4"), black 15%);
|
||||
--adm-abstract-text: theme("colors.cyan.100");
|
||||
|
||||
--adm-bug-bg: color-mix(in srgb, theme("colors.rose.900 / 0.4"), black 15%);
|
||||
--adm-bug-text: theme("colors.rose.100");
|
||||
|
||||
--adm-danger-bg: color-mix(in srgb, theme("colors.red.900 / 0.4"), black 15%);
|
||||
--adm-danger-text: theme("colors.red.100");
|
||||
|
||||
--adm-example-bg: color-mix(in srgb, theme("colors.purple.900 / 0.4"), black 15%);
|
||||
--adm-example-text: theme("colors.purple.100");
|
||||
|
||||
--adm-failure-bg: color-mix(in srgb, theme("colors.pink.900 / 0.4"), black 15%);
|
||||
--adm-failure-text: theme("colors.pink.100");
|
||||
|
||||
--adm-info-bg: color-mix(in srgb, theme("colors.blue.900 / 0.4"), black 15%);
|
||||
--adm-info-text: theme("colors.blue.100");
|
||||
|
||||
--adm-question-bg: color-mix(in srgb, theme("colors.amber.900 / 0.4"), black 15%);
|
||||
--adm-question-text: theme("colors.amber.100");
|
||||
|
||||
--adm-quote-bg: color-mix(in srgb, theme("colors.gray.900 / 0.4"), black 15%);
|
||||
--adm-quote-text: theme("colors.gray.100");
|
||||
|
||||
--adm-success-bg: color-mix(in srgb, theme("colors.emerald.900 / 0.4"), black 15%);
|
||||
--adm-success-text: theme("colors.emerald.100");
|
||||
|
||||
--adm-todo-bg: color-mix(in srgb, theme("colors.sky.800 / 0.4"), black 15%);
|
||||
--adm-todo-text: theme("colors.sky.100");
|
||||
}
|
||||
|
||||
/* Base Styles */
|
||||
.admonition-content > :first-child {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.admonition-content > :last-child {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.admonition-content pre {
|
||||
margin-block: 0 !important;
|
||||
}
|
||||
|
||||
/* Type-Specific Palettes Using CSS Variables */
|
||||
.admonition[data-type="note"] {
|
||||
border-color: var(--adm-note-border);
|
||||
background-color: var(--adm-note-bg);
|
||||
color: var(--adm-note-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="tip"] {
|
||||
border-color: var(--adm-tip-border);
|
||||
background-color: var(--adm-tip-bg);
|
||||
color: var(--adm-tip-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="important"] {
|
||||
border-color: var(--adm-important-border);
|
||||
background-color: var(--adm-important-bg);
|
||||
color: var(--adm-important-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="warning"] {
|
||||
border-color: var(--adm-warning-border);
|
||||
background-color: var(--adm-warning-bg);
|
||||
color: var(--adm-warning-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="caution"] {
|
||||
border-color: var(--adm-caution-border);
|
||||
background-color: var(--adm-caution-bg);
|
||||
color: var(--adm-caution-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="abstract"] {
|
||||
border-color: var(--adm-abstract-border);
|
||||
background-color: var(--adm-abstract-bg);
|
||||
color: var(--adm-abstract-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="bug"] {
|
||||
border-color: var(--adm-bug-border);
|
||||
background-color: var(--adm-bug-bg);
|
||||
color: var(--adm-bug-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="danger"] {
|
||||
border-color: var(--adm-danger-border);
|
||||
background-color: var(--adm-danger-bg);
|
||||
color: var(--adm-danger-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="example"] {
|
||||
border-color: var(--adm-example-border);
|
||||
background-color: var(--adm-example-bg);
|
||||
color: var(--adm-example-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="failure"] {
|
||||
border-color: var(--adm-failure-border);
|
||||
background-color: var(--adm-failure-bg);
|
||||
color: var(--adm-failure-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="info"] {
|
||||
border-color: var(--adm-info-border);
|
||||
background-color: var(--adm-info-bg);
|
||||
color: var(--adm-info-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="question"] {
|
||||
border-color: var(--adm-question-border);
|
||||
background-color: var(--adm-question-bg);
|
||||
color: var(--adm-question-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="quote"] {
|
||||
border-color: var(--adm-quote-border);
|
||||
background-color: var(--adm-quote-bg);
|
||||
color: var(--adm-quote-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="success"] {
|
||||
border-color: var(--adm-success-border);
|
||||
background-color: var(--adm-success-bg);
|
||||
color: var(--adm-success-text);
|
||||
}
|
||||
|
||||
.admonition[data-type="todo"] {
|
||||
border-color: var(--adm-todo-border);
|
||||
background-color: var(--adm-todo-bg);
|
||||
color: var(--adm-todo-text);
|
||||
}
|
||||
@@ -1,8 +1,24 @@
|
||||
|
||||
/* -- Chroma Highlight -- */
|
||||
/* Background */
|
||||
.prose .chroma {
|
||||
@apply static rounded-md text-neutral-700 bg-neutral-50 dark:bg-neutral-700 dark:text-neutral-200;
|
||||
/* margins for codeblock title */
|
||||
.highlight-wrapper {
|
||||
@apply block relative z-0 overflow-hidden shadow rounded-md;
|
||||
margin-top: 1.7142857em;
|
||||
margin-bottom: 1.7142857em;
|
||||
}
|
||||
|
||||
.highlight-wrapper pre,
|
||||
.highlight-wrapper table, .highlight-wrapper div {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.highlight-wrapper:has(.codeblock-title) pre {
|
||||
@apply rounded-none;
|
||||
}
|
||||
|
||||
.codeblock-title {
|
||||
@apply px-4 py-2 border-b border-neutral-200 dark:border-neutral-800;
|
||||
@apply bg-white dark:bg-[#0d1117];
|
||||
}
|
||||
|
||||
/* LineTableTD */
|
||||
@@ -19,208 +35,173 @@
|
||||
|
||||
/* LineHighlight */
|
||||
.chroma .hl {
|
||||
@apply block w-auto px-4 -mx-4 bg-primary-100 dark:bg-primary-900;
|
||||
@apply block w-auto px-4 -mx-4;
|
||||
}
|
||||
|
||||
.chroma .lntd .hl {
|
||||
@apply p-0 m-0;
|
||||
}
|
||||
|
||||
/* LineNumbersTable */
|
||||
/* LineNumbers */
|
||||
.chroma .lnt,
|
||||
.chroma .ln {
|
||||
@apply text-neutral-600 dark:text-neutral-300 mr-[0.4em] px-[0.4em] py-0;
|
||||
/* linenos=inline */
|
||||
.chroma:not(:is(table *)) > code {
|
||||
display: block;
|
||||
min-width: max-content;
|
||||
}
|
||||
|
||||
/* Keyword */
|
||||
/* KeywordDeclaration */
|
||||
/* KeywordNamespace */
|
||||
/* KeywordPseudo */
|
||||
/* KeywordReserved */
|
||||
/* NameClass */
|
||||
/* NameFunctionMagic */
|
||||
/* NameNamespace */
|
||||
/* NameVariableClass */
|
||||
/* Operator */
|
||||
.chroma .k,
|
||||
.chroma .kd,
|
||||
.chroma .kn,
|
||||
.chroma .kp,
|
||||
.chroma .kr,
|
||||
.chroma .nc,
|
||||
.chroma .fm,
|
||||
.chroma .nn,
|
||||
.chroma .vc,
|
||||
.chroma .o {
|
||||
@apply text-primary-600 dark:text-primary-300;
|
||||
}
|
||||
html:not(.dark) {
|
||||
/* Generated using: hugo gen chromastyles --style=github */
|
||||
|
||||
/* KeywordConstant */
|
||||
.chroma .kc {
|
||||
@apply font-semibold text-secondary-400 dark:text-secondary-500;
|
||||
/* Background */ .bg { background-color:#fff; }
|
||||
/* PreWrapper */ .chroma { background-color:#fff; }
|
||||
/* Error */ .chroma .err { color:#f6f8fa;background-color:#82071e }
|
||||
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
|
||||
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
|
||||
/* LineTable */ .chroma .lntable { border-spacing:0; }
|
||||
/* LineHighlight */ .chroma .hl { background-color:#e5e5e5 }
|
||||
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
|
||||
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
|
||||
/* Line */ .chroma .line { display:flex; }
|
||||
/* Keyword */ .chroma .k { color:#cf222e }
|
||||
/* KeywordConstant */ .chroma .kc { color:#cf222e }
|
||||
/* KeywordDeclaration */ .chroma .kd { color:#cf222e }
|
||||
/* KeywordNamespace */ .chroma .kn { color:#cf222e }
|
||||
/* KeywordPseudo */ .chroma .kp { color:#cf222e }
|
||||
/* KeywordReserved */ .chroma .kr { color:#cf222e }
|
||||
/* KeywordType */ .chroma .kt { color:#cf222e }
|
||||
/* NameAttribute */ .chroma .na { color:#1f2328 }
|
||||
/* NameClass */ .chroma .nc { color:#1f2328 }
|
||||
/* NameConstant */ .chroma .no { color:#0550ae }
|
||||
/* NameDecorator */ .chroma .nd { color:#0550ae }
|
||||
/* NameEntity */ .chroma .ni { color:#6639ba }
|
||||
/* NameLabel */ .chroma .nl { color:#900;font-weight:bold }
|
||||
/* NameNamespace */ .chroma .nn { color:#24292e }
|
||||
/* NameOther */ .chroma .nx { color:#1f2328 }
|
||||
/* NameTag */ .chroma .nt { color:#0550ae }
|
||||
/* NameBuiltin */ .chroma .nb { color:#6639ba }
|
||||
/* NameBuiltinPseudo */ .chroma .bp { color:#6a737d }
|
||||
/* NameVariable */ .chroma .nv { color:#953800 }
|
||||
/* NameVariableClass */ .chroma .vc { color:#953800 }
|
||||
/* NameVariableGlobal */ .chroma .vg { color:#953800 }
|
||||
/* NameVariableInstance */ .chroma .vi { color:#953800 }
|
||||
/* NameVariableMagic */ .chroma .vm { color:#953800 }
|
||||
/* NameFunction */ .chroma .nf { color:#6639ba }
|
||||
/* NameFunctionMagic */ .chroma .fm { color:#6639ba }
|
||||
/* LiteralString */ .chroma .s { color:#0a3069 }
|
||||
/* LiteralStringAffix */ .chroma .sa { color:#0a3069 }
|
||||
/* LiteralStringBacktick */ .chroma .sb { color:#0a3069 }
|
||||
/* LiteralStringChar */ .chroma .sc { color:#0a3069 }
|
||||
/* LiteralStringDelimiter */ .chroma .dl { color:#0a3069 }
|
||||
/* LiteralStringDoc */ .chroma .sd { color:#0a3069 }
|
||||
/* LiteralStringDouble */ .chroma .s2 { color:#0a3069 }
|
||||
/* LiteralStringEscape */ .chroma .se { color:#0a3069 }
|
||||
/* LiteralStringHeredoc */ .chroma .sh { color:#0a3069 }
|
||||
/* LiteralStringInterpol */ .chroma .si { color:#0a3069 }
|
||||
/* LiteralStringOther */ .chroma .sx { color:#0a3069 }
|
||||
/* LiteralStringRegex */ .chroma .sr { color:#0a3069 }
|
||||
/* LiteralStringSingle */ .chroma .s1 { color:#0a3069 }
|
||||
/* LiteralStringSymbol */ .chroma .ss { color:#032f62 }
|
||||
/* LiteralNumber */ .chroma .m { color:#0550ae }
|
||||
/* LiteralNumberBin */ .chroma .mb { color:#0550ae }
|
||||
/* LiteralNumberFloat */ .chroma .mf { color:#0550ae }
|
||||
/* LiteralNumberHex */ .chroma .mh { color:#0550ae }
|
||||
/* LiteralNumberInteger */ .chroma .mi { color:#0550ae }
|
||||
/* LiteralNumberIntegerLong */ .chroma .il { color:#0550ae }
|
||||
/* LiteralNumberOct */ .chroma .mo { color:#0550ae }
|
||||
/* Operator */ .chroma .o { color:#0550ae }
|
||||
/* OperatorWord */ .chroma .ow { color:#0550ae }
|
||||
/* Punctuation */ .chroma .p { color:#1f2328 }
|
||||
/* Comment */ .chroma .c { color:#57606a }
|
||||
/* CommentHashbang */ .chroma .ch { color:#57606a }
|
||||
/* CommentMultiline */ .chroma .cm { color:#57606a }
|
||||
/* CommentSingle */ .chroma .c1 { color:#57606a }
|
||||
/* CommentSpecial */ .chroma .cs { color:#57606a }
|
||||
/* CommentPreproc */ .chroma .cp { color:#57606a }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color:#57606a }
|
||||
/* GenericDeleted */ .chroma .gd { color:#82071e;background-color:#ffebe9 }
|
||||
/* GenericEmph */ .chroma .ge { color:#1f2328 }
|
||||
/* GenericInserted */ .chroma .gi { color:#116329;background-color:#dafbe1 }
|
||||
/* GenericOutput */ .chroma .go { color:#1f2328 }
|
||||
/* GenericUnderline */ .chroma .gl { text-decoration:underline }
|
||||
/* TextWhitespace */ .chroma .w { color:#fff }
|
||||
}
|
||||
html.dark {
|
||||
/* Generated using: hugo gen chromastyles --style=github-dark */
|
||||
|
||||
/* KeywordType */
|
||||
/* NameVariable */
|
||||
/* NameVariableInstance */
|
||||
/* NameVariableMagic */
|
||||
/* LiteralNumber */
|
||||
/* LiteralNumberBin */
|
||||
/* LiteralNumberFloat */
|
||||
/* LiteralNumberHex */
|
||||
/* LiteralNumberInteger */
|
||||
/* LiteralNumberIntegerLong */
|
||||
/* LiteralNumberOct */
|
||||
.chroma .kt,
|
||||
.chroma .nv,
|
||||
.chroma .vi,
|
||||
.chroma .vm,
|
||||
.chroma .m,
|
||||
.chroma .mb,
|
||||
.chroma .mf,
|
||||
.chroma .mh,
|
||||
.chroma .mi,
|
||||
.chroma .il,
|
||||
.chroma .mo {
|
||||
@apply text-secondary-400 dark:text-secondary-600;
|
||||
}
|
||||
|
||||
/* Name */
|
||||
/* NameDecorator */
|
||||
/* NameEntity */
|
||||
/* NameLabel */
|
||||
.chroma .n,
|
||||
.chroma .nd,
|
||||
.chroma .ni,
|
||||
.chroma .nl {
|
||||
@apply text-secondary-900 dark:text-secondary-200;
|
||||
}
|
||||
|
||||
/* NameAttribute */
|
||||
/* NameBuiltin */
|
||||
/* NameBuiltinPseudo */
|
||||
/* NameOther */
|
||||
/* NameProperty */
|
||||
/* NameTag */
|
||||
.chroma .na,
|
||||
.chroma .nb,
|
||||
.chroma .bp,
|
||||
.chroma .nx,
|
||||
.chroma .py,
|
||||
.chroma .nt {
|
||||
@apply text-secondary-800 dark:text-secondary-300;
|
||||
}
|
||||
|
||||
/* NameConstant */
|
||||
/* NameException */
|
||||
/* NameVariableGlobal */
|
||||
.chroma .no,
|
||||
.chroma .ne,
|
||||
.chroma .vg {
|
||||
@apply font-semibold text-secondary-400 dark:text-secondary-500;
|
||||
}
|
||||
|
||||
/* NameFunction */
|
||||
.chroma .nf {
|
||||
@apply text-secondary-600 dark:text-secondary-500;
|
||||
}
|
||||
|
||||
/* Literal */
|
||||
/* LiteralDate */
|
||||
/* LiteralString */
|
||||
/* LiteralStringAffix */
|
||||
/* LiteralStringBacktick */
|
||||
/* LiteralStringChar */
|
||||
/* LiteralStringDelimiter */
|
||||
/* LiteralStringDoc */
|
||||
/* LiteralStringDouble */
|
||||
/* LiteralStringHeredoc */
|
||||
/* LiteralStringInterpol */
|
||||
/* LiteralStringOther */
|
||||
/* LiteralStringSingle */
|
||||
/* GenericInserted */
|
||||
/* GenericOutput */
|
||||
/* GenericPrompt */
|
||||
.chroma .l,
|
||||
.chroma .ld,
|
||||
.chroma .s,
|
||||
.chroma .sa,
|
||||
.chroma .sb,
|
||||
.chroma .sc,
|
||||
.chroma .dl,
|
||||
.chroma .sd,
|
||||
.chroma .s2,
|
||||
.chroma .sh,
|
||||
.chroma .si,
|
||||
.chroma .sx,
|
||||
.chroma .s1,
|
||||
.chroma .gi,
|
||||
.chroma .go,
|
||||
.chroma .gp {
|
||||
@apply text-primary-800 dark:text-primary-400;
|
||||
}
|
||||
|
||||
/* LiteralStringEscape */
|
||||
.chroma .se {
|
||||
@apply font-semibold text-secondary-400 dark:text-secondary-500;
|
||||
}
|
||||
|
||||
/* LiteralStringRegex */
|
||||
/* LiteralStringSymbol */
|
||||
.chroma .sr,
|
||||
.chroma .ss {
|
||||
@apply font-semibold text-primary-800 dark:text-primary-400;
|
||||
}
|
||||
|
||||
/* OperatorWord */
|
||||
.chroma .ow {
|
||||
@apply font-semibold text-primary-400 dark:text-primary-600;
|
||||
}
|
||||
|
||||
/* Comment */
|
||||
/* CommentMultiline */
|
||||
/* CommentSingle */
|
||||
/* CommentSpecial */
|
||||
/* CommentPreproc */
|
||||
/* CommentPreprocFile */
|
||||
.chroma .c,
|
||||
.chroma .cm,
|
||||
.chroma .c1,
|
||||
.chroma .cs,
|
||||
.chroma .cp,
|
||||
.chroma .cpf {
|
||||
@apply italic text-neutral-500 dark:text-neutral-400;
|
||||
}
|
||||
|
||||
/* CommentHashbang */
|
||||
.chroma .ch {
|
||||
@apply italic font-semibold text-neutral-500 dark:text-neutral-400;
|
||||
}
|
||||
|
||||
/* GenericEmph */
|
||||
.chroma .ge {
|
||||
@apply italic;
|
||||
}
|
||||
|
||||
/* GenericHeading */
|
||||
.chroma .gh {
|
||||
@apply font-semibold text-neutral-500;
|
||||
}
|
||||
|
||||
/* GenericStrong */
|
||||
.chroma .gs {
|
||||
@apply font-semibold;
|
||||
}
|
||||
|
||||
/* GenericSubheading */
|
||||
/* GenericTraceback */
|
||||
.chroma .gu,
|
||||
.chroma .gt {
|
||||
@apply text-neutral-500;
|
||||
}
|
||||
|
||||
/* GenericUnderline */
|
||||
.chroma .gl {
|
||||
@apply underline;
|
||||
/* Background */ .bg { color:#e6edf3;background-color:#0d1117; }
|
||||
/* PreWrapper */ .chroma { color:#e6edf3;background-color:#0d1117; }
|
||||
/* Error */ .chroma .err { color:#f85149 }
|
||||
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
|
||||
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
|
||||
/* LineTable */ .chroma .lntable { border-spacing:0; }
|
||||
/* LineHighlight */ .chroma .hl { background-color:#333 }
|
||||
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679 }
|
||||
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681 }
|
||||
/* Line */ .chroma .line { display:flex; }
|
||||
/* Keyword */ .chroma .k { color:#ff7b72 }
|
||||
/* KeywordConstant */ .chroma .kc { color:#79c0ff }
|
||||
/* KeywordDeclaration */ .chroma .kd { color:#ff7b72 }
|
||||
/* KeywordNamespace */ .chroma .kn { color:#ff7b72 }
|
||||
/* KeywordPseudo */ .chroma .kp { color:#79c0ff }
|
||||
/* KeywordReserved */ .chroma .kr { color:#ff7b72 }
|
||||
/* KeywordType */ .chroma .kt { color:#ff7b72 }
|
||||
/* NameClass */ .chroma .nc { color:#f0883e;font-weight:bold }
|
||||
/* NameConstant */ .chroma .no { color:#79c0ff;font-weight:bold }
|
||||
/* NameDecorator */ .chroma .nd { color:#d2a8ff;font-weight:bold }
|
||||
/* NameEntity */ .chroma .ni { color:#ffa657 }
|
||||
/* NameException */ .chroma .ne { color:#f0883e;font-weight:bold }
|
||||
/* NameLabel */ .chroma .nl { color:#79c0ff;font-weight:bold }
|
||||
/* NameNamespace */ .chroma .nn { color:#ff7b72 }
|
||||
/* NameProperty */ .chroma .py { color:#79c0ff }
|
||||
/* NameTag */ .chroma .nt { color:#7ee787 }
|
||||
/* NameVariable */ .chroma .nv { color:#79c0ff }
|
||||
/* NameVariableClass */ .chroma .vc { color:#79c0ff }
|
||||
/* NameVariableGlobal */ .chroma .vg { color:#79c0ff }
|
||||
/* NameVariableInstance */ .chroma .vi { color:#79c0ff }
|
||||
/* NameVariableMagic */ .chroma .vm { color:#79c0ff }
|
||||
/* NameFunction */ .chroma .nf { color:#d2a8ff;font-weight:bold }
|
||||
/* NameFunctionMagic */ .chroma .fm { color:#d2a8ff;font-weight:bold }
|
||||
/* Literal */ .chroma .l { color:#a5d6ff }
|
||||
/* LiteralDate */ .chroma .ld { color:#79c0ff }
|
||||
/* LiteralString */ .chroma .s { color:#a5d6ff }
|
||||
/* LiteralStringAffix */ .chroma .sa { color:#79c0ff }
|
||||
/* LiteralStringBacktick */ .chroma .sb { color:#a5d6ff }
|
||||
/* LiteralStringChar */ .chroma .sc { color:#a5d6ff }
|
||||
/* LiteralStringDelimiter */ .chroma .dl { color:#79c0ff }
|
||||
/* LiteralStringDoc */ .chroma .sd { color:#a5d6ff }
|
||||
/* LiteralStringDouble */ .chroma .s2 { color:#a5d6ff }
|
||||
/* LiteralStringEscape */ .chroma .se { color:#79c0ff }
|
||||
/* LiteralStringHeredoc */ .chroma .sh { color:#79c0ff }
|
||||
/* LiteralStringInterpol */ .chroma .si { color:#a5d6ff }
|
||||
/* LiteralStringOther */ .chroma .sx { color:#a5d6ff }
|
||||
/* LiteralStringRegex */ .chroma .sr { color:#79c0ff }
|
||||
/* LiteralStringSingle */ .chroma .s1 { color:#a5d6ff }
|
||||
/* LiteralStringSymbol */ .chroma .ss { color:#a5d6ff }
|
||||
/* LiteralNumber */ .chroma .m { color:#a5d6ff }
|
||||
/* LiteralNumberBin */ .chroma .mb { color:#a5d6ff }
|
||||
/* LiteralNumberFloat */ .chroma .mf { color:#a5d6ff }
|
||||
/* LiteralNumberHex */ .chroma .mh { color:#a5d6ff }
|
||||
/* LiteralNumberInteger */ .chroma .mi { color:#a5d6ff }
|
||||
/* LiteralNumberIntegerLong */ .chroma .il { color:#a5d6ff }
|
||||
/* LiteralNumberOct */ .chroma .mo { color:#a5d6ff }
|
||||
/* Operator */ .chroma .o { color:#ff7b72;font-weight:bold }
|
||||
/* OperatorWord */ .chroma .ow { color:#ff7b72;font-weight:bold }
|
||||
/* Comment */ .chroma .c { color:#8b949e;font-style:italic }
|
||||
/* CommentHashbang */ .chroma .ch { color:#8b949e;font-style:italic }
|
||||
/* CommentMultiline */ .chroma .cm { color:#8b949e;font-style:italic }
|
||||
/* CommentSingle */ .chroma .c1 { color:#8b949e;font-style:italic }
|
||||
/* CommentSpecial */ .chroma .cs { color:#8b949e;font-weight:bold;font-style:italic }
|
||||
/* CommentPreproc */ .chroma .cp { color:#8b949e;font-weight:bold;font-style:italic }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color:#8b949e;font-weight:bold;font-style:italic }
|
||||
/* GenericDeleted */ .chroma .gd { color:#ffa198;background-color:#490202 }
|
||||
/* GenericEmph */ .chroma .ge { font-style:italic }
|
||||
/* GenericError */ .chroma .gr { color:#ffa198 }
|
||||
/* GenericHeading */ .chroma .gh { color:#79c0ff;font-weight:bold }
|
||||
/* GenericInserted */ .chroma .gi { color:#56d364;background-color:#0f5323 }
|
||||
/* GenericOutput */ .chroma .go { color:#8b949e }
|
||||
/* GenericPrompt */ .chroma .gp { color:#8b949e }
|
||||
/* GenericStrong */ .chroma .gs { font-weight:bold }
|
||||
/* GenericSubheading */ .chroma .gu { color:#79c0ff }
|
||||
/* GenericTraceback */ .chroma .gt { color:#ff7b72 }
|
||||
/* GenericUnderline */ .chroma .gl { text-decoration:underline }
|
||||
/* TextWhitespace */ .chroma .w { color:#6e7681 }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
.tab__button.tab--active {
|
||||
border-bottom: 2px solid rgb(var(--color-primary-500));
|
||||
}
|
||||
.tab__panel {
|
||||
display: none;
|
||||
}
|
||||
.tab__panel.tab--active {
|
||||
display: block;
|
||||
}
|
||||
@@ -1,11 +1,21 @@
|
||||
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||
|
||||
@import "./components/zen-mode.css";
|
||||
@import "./components/chroma.css";
|
||||
@import "./components/a11y.css";
|
||||
@config "../../tailwind.config.js";
|
||||
|
||||
@import "tailwindcss";
|
||||
@config "../../tailwind.config.js";
|
||||
@import "./components/chroma.css" layer(utilities);
|
||||
@import "./components/tabs.css" layer(utilities);
|
||||
@import "./components/zen-mode.css";
|
||||
@import "./components/a11y.css";
|
||||
@import "./components/admonition.css" layer(components);
|
||||
|
||||
html:not(.dark) {
|
||||
color-scheme: light;
|
||||
}
|
||||
|
||||
html.dark {
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
body a,
|
||||
body button {
|
||||
@@ -66,10 +76,6 @@ button,
|
||||
}
|
||||
|
||||
/* Table of Contents */
|
||||
#TableOfContents {
|
||||
@apply lg:max-w-[25vw];
|
||||
}
|
||||
|
||||
#TOCView {
|
||||
max-height: calc(100vh - 150px);
|
||||
min-height: 0;
|
||||
@@ -86,7 +92,7 @@ button,
|
||||
}
|
||||
|
||||
.toc a {
|
||||
@apply font-normal text-neutral-700 dark:text-neutral-400;
|
||||
@apply font-normal text-neutral-700 dark:text-neutral-300;
|
||||
}
|
||||
|
||||
.toc ul > li {
|
||||
@@ -94,15 +100,11 @@ button,
|
||||
}
|
||||
|
||||
/* Code Copy */
|
||||
.highlight-wrapper {
|
||||
@apply block;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
@apply relative z-0;
|
||||
}
|
||||
|
||||
.highlight:hover > .copy-button {
|
||||
.highlight-wrapper:hover > .copy-button {
|
||||
@apply visible;
|
||||
}
|
||||
|
||||
@@ -130,8 +132,8 @@ button,
|
||||
|
||||
/* Fix katex overflow https://github.com/nunocoracao/blowfish/issues/2138 */
|
||||
.katex-display {
|
||||
padding-right: 2px;
|
||||
width: calc(100% - 2px);
|
||||
padding: 1em;
|
||||
width: calc(100% - 1em);
|
||||
}
|
||||
|
||||
/* Fix long tables breaking out of article on mobile */
|
||||
@@ -163,40 +165,13 @@ pre {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.thumbnail,
|
||||
.thumbnail_card,
|
||||
.thumbnail_card_related,
|
||||
.thumbnail_card_term,
|
||||
.single_hero_basic,
|
||||
.single_hero_background {
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.thumbnail {
|
||||
min-width: 300px;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
.thumbnail_card {
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.thumbnail_card_related {
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
.thumbnail_card_term {
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
.single_hero_round {
|
||||
max-height: 50vh;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.single_hero_background {
|
||||
width: calc(100% + 1px); /* patch for very small gap at right edge on mobile devices */
|
||||
z-index: -10;
|
||||
}
|
||||
|
||||
@@ -205,10 +180,42 @@ pre {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.thumbnailshadow {
|
||||
.thumbnail_card {
|
||||
min-width: 300px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.thumbnail_card_related {
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
.thumbnail {
|
||||
width: 300px;
|
||||
min-height: 180px;
|
||||
}
|
||||
|
||||
@variant max-md {
|
||||
.thumbnail {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.thumbnail-shadow {
|
||||
box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
/* placeholder for gallery/carousel */
|
||||
@variant max-md {
|
||||
.width-patch {
|
||||
width: 80vw;
|
||||
}
|
||||
}
|
||||
@variant min-md {
|
||||
.width-patch {
|
||||
width: 65ch;
|
||||
}
|
||||
}
|
||||
|
||||
.anchor {
|
||||
display: block;
|
||||
position: relative;
|
||||
@@ -223,22 +230,18 @@ pre {
|
||||
scroll-margin-top: 145px;
|
||||
}
|
||||
|
||||
/* patch for skip to main content */
|
||||
#main-content {
|
||||
scroll-margin-top: -125px;
|
||||
}
|
||||
|
||||
@variant sm {
|
||||
.thumbnail {
|
||||
min-width: 100%;
|
||||
height: 180px;
|
||||
}
|
||||
.article {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
|
||||
@variant md {
|
||||
.thumbnail {
|
||||
min-width: 300px;
|
||||
min-height: 180px;
|
||||
height: auto;
|
||||
}
|
||||
.article {
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
@@ -248,29 +251,62 @@ pre {
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.nested-menu:hover + .menuhide {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition:
|
||||
visibility 0.3s,
|
||||
opacity 0.3s ease-in-out;
|
||||
@layer utilities {
|
||||
.bf-border-color {
|
||||
@apply border-neutral-300 dark:border-neutral-700;
|
||||
}
|
||||
|
||||
.bf-border-color-hover {
|
||||
@apply hover:border-primary-600 dark:hover:border-primary-400;
|
||||
}
|
||||
|
||||
.bf-icon-color-hover {
|
||||
@apply hover:text-primary-600 dark:hover:text-primary-400;
|
||||
}
|
||||
|
||||
.bf-scrollbar {
|
||||
@apply scrollbar-thin scrollbar-track-neutral-200 scrollbar-thumb-neutral-400 dark:scrollbar-track-neutral-800 dark:scrollbar-thumb-neutral-600;
|
||||
}
|
||||
}
|
||||
|
||||
.menuhide:hover {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition:
|
||||
visibility 0.3s,
|
||||
opacity 0.3s ease-in-out;
|
||||
/* Prevent body scroll when mobile menu is open */
|
||||
body:has(#mobile-menu-toggle:checked) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Reset body position for desktop after it was modified on mobile */
|
||||
@media (min-width: 853px) {
|
||||
body {
|
||||
position: static !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide buy me a coffee in mobile menu */
|
||||
#bmc-wbtn {
|
||||
z-index: 50 !important;
|
||||
}
|
||||
|
||||
.nested-menu {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.menuhide {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
white-space: nowrap;
|
||||
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
|
||||
transition:
|
||||
visibility 0.3s,
|
||||
opacity 0.3s ease-in-out;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.nested-menu:hover .menuhide,
|
||||
.nested-menu:focus-within .menuhide {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.active {
|
||||
@@ -278,8 +314,3 @@ pre {
|
||||
text-decoration-thickness: 3px;
|
||||
text-underline-offset: 4px;
|
||||
}
|
||||
|
||||
/* Cancel group hover if .group-hover-card contains .group-hover-cancel*/
|
||||
.group-hover-card:hover:has(.group-hover-cancel:hover) .group-hover-card-title {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 248, 250, 252;
|
||||
--color-neutral-100: 241, 245, 249;
|
||||
--color-neutral-200: 226, 232, 240;
|
||||
--color-neutral-300: 203, 213, 225;
|
||||
--color-neutral-400: 148, 163, 184;
|
||||
--color-neutral-500: 100, 116, 139;
|
||||
--color-neutral-600: 71, 85, 105;
|
||||
--color-neutral-700: 51, 57, 65;
|
||||
--color-neutral-800: 20, 25, 31;
|
||||
--color-neutral-900: 15, 23, 42;
|
||||
|
||||
--color-primary-50: 226, 242, 255;
|
||||
--color-primary-100: 186, 221, 255;
|
||||
--color-primary-200: 141, 201, 255;
|
||||
--color-primary-300: 91, 179, 255;
|
||||
--color-primary-400: 50, 162, 255;
|
||||
--color-primary-500: 0, 146, 255;
|
||||
--color-primary-600: 23, 131, 255;
|
||||
--color-primary-700: 31, 113, 235;
|
||||
--color-primary-800: 35, 95, 216;
|
||||
--color-primary-900: 38, 61, 185;
|
||||
|
||||
--color-secondary-50: 255, 236, 241;
|
||||
--color-secondary-100: 255, 208, 218;
|
||||
--color-secondary-200: 253, 157, 166;
|
||||
--color-secondary-300: 249, 117, 130;
|
||||
--color-secondary-400: 255, 79, 98;
|
||||
--color-secondary-500: 255, 57, 73;
|
||||
--color-secondary-600: 255, 48, 72;
|
||||
--color-secondary-700: 237, 36, 65;
|
||||
--color-secondary-800: 224, 27, 58;
|
||||
--color-secondary-900: 209, 4, 45;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 248, 248, 248;
|
||||
--color-neutral-100: 241, 241, 241;
|
||||
--color-neutral-200: 226, 226, 226;
|
||||
--color-neutral-300: 203, 203, 203;
|
||||
--color-neutral-400: 188, 188, 188;
|
||||
--color-neutral-500: 100, 100, 100;
|
||||
--color-neutral-600: 71, 71, 71;
|
||||
--color-neutral-700: 45, 45, 45;
|
||||
--color-neutral-800: 23, 23, 23;
|
||||
--color-neutral-900: 15, 15, 15;
|
||||
|
||||
--color-primary-50: 224, 244, 255;
|
||||
--color-primary-100: 179, 224, 255;
|
||||
--color-primary-200: 128, 202, 255;
|
||||
--color-primary-300: 77, 179, 249;
|
||||
--color-primary-400: 31, 158, 234;
|
||||
--color-primary-500: 0, 122, 204;
|
||||
--color-primary-600: 0, 110, 184;
|
||||
--color-primary-700: 0, 94, 163;
|
||||
--color-primary-800: 0, 79, 143;
|
||||
--color-primary-900: 0, 57, 111;
|
||||
|
||||
--color-secondary-50: 225, 244, 238;
|
||||
--color-secondary-100: 182, 227, 212;
|
||||
--color-secondary-200: 135, 209, 184;
|
||||
--color-secondary-300: 88, 190, 157;
|
||||
--color-secondary-400: 55, 175, 137;
|
||||
--color-secondary-500: 32, 160, 119;
|
||||
--color-secondary-600: 28, 146, 107;
|
||||
--color-secondary-700: 22, 130, 92;
|
||||
--color-secondary-800: 12, 114, 79;
|
||||
--color-secondary-900: 0, 86, 52;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 538 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80L96 511.9c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z"/></svg>
|
||||
|
After Width: | Height: | Size: 700 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M0 336c0 79.5 64.5 144 144 144l368 0c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z"/></svg>
|
||||
|
After Width: | Height: | Size: 353 B |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
|
||||
<path fill="currentColor" d="M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 479 B |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<path fill="currentColor" d="M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 787 B |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||
<path fill="currentColor" d="M24 56c0-13.3 10.7-24 24-24H80c13.3 0 24 10.7 24 24V176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H48c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V80H48C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H48c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 823 B |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
||||
<path fill="currentColor" d="M0 216C0 149.7 53.7 96 120 96h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V216zm256 0c0-66.3 53.7-120 120-120h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V216z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 451 B |
@@ -22,6 +22,34 @@ if (document.documentElement.getAttribute("data-auto-appearance") === "true") {
|
||||
});
|
||||
}
|
||||
|
||||
// Mermaid dark mode support
|
||||
var updateMermaidTheme = () => {
|
||||
if (typeof mermaid !== 'undefined') {
|
||||
const isDark = document.documentElement.classList.contains("dark");
|
||||
|
||||
const mermaids = document.querySelectorAll('pre.mermaid');
|
||||
mermaids.forEach(e => {
|
||||
if (e.getAttribute('data-processed')) {
|
||||
// Already rendered, clean the processed attributes
|
||||
e.removeAttribute('data-processed');
|
||||
// Replace the rendered HTML with the stored text
|
||||
e.innerHTML = e.getAttribute('data-graph');
|
||||
} else {
|
||||
// First time, store the text
|
||||
e.setAttribute('data-graph', e.textContent);
|
||||
}
|
||||
});
|
||||
|
||||
if (isDark) {
|
||||
initMermaidDark();
|
||||
mermaid.run();
|
||||
} else {
|
||||
initMermaidLight();
|
||||
mermaid.run();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("DOMContentLoaded", (event) => {
|
||||
const switcher = document.getElementById("appearance-switcher");
|
||||
const switcherMobile = document.getElementById("appearance-switcher-mobile");
|
||||
@@ -29,6 +57,9 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
updateMeta();
|
||||
this.updateLogo?.(getTargetAppearance());
|
||||
|
||||
// Initialize mermaid theme on page load
|
||||
updateMermaidTheme();
|
||||
|
||||
if (switcher) {
|
||||
switcher.addEventListener("click", () => {
|
||||
document.documentElement.classList.toggle("dark");
|
||||
@@ -38,6 +69,7 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
targetAppearance
|
||||
);
|
||||
updateMeta();
|
||||
updateMermaidTheme();
|
||||
this.updateLogo?.(targetAppearance);
|
||||
});
|
||||
switcher.addEventListener("contextmenu", (event) => {
|
||||
@@ -54,6 +86,7 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
targetAppearance
|
||||
);
|
||||
updateMeta();
|
||||
updateMermaidTheme();
|
||||
this.updateLogo?.(targetAppearance);
|
||||
});
|
||||
switcherMobile.addEventListener("contextmenu", (event) => {
|
||||
|
||||
@@ -2,39 +2,35 @@ var scriptBundle = document.getElementById("script-bundle");
|
||||
var copyText = scriptBundle?.getAttribute("data-copy") || "Copy";
|
||||
var copiedText = scriptBundle?.getAttribute("data-copied") || "Copied";
|
||||
|
||||
function createCopyButton(highlightDiv) {
|
||||
function createCopyButton(highlightWrapper) {
|
||||
const button = document.createElement("button");
|
||||
button.className = "copy-button";
|
||||
button.type = "button";
|
||||
button.ariaLabel = copyText;
|
||||
button.innerText = copyText;
|
||||
button.addEventListener("click", () => copyCodeToClipboard(button, highlightDiv));
|
||||
|
||||
highlightDiv.insertBefore(button, highlightDiv.firstChild);
|
||||
const wrapper = document.createElement("div");
|
||||
wrapper.className = "highlight-wrapper";
|
||||
highlightDiv.parentNode.insertBefore(wrapper, highlightDiv);
|
||||
wrapper.appendChild(highlightDiv);
|
||||
button.addEventListener("click", () => copyCodeToClipboard(button, highlightWrapper));
|
||||
highlightWrapper.insertBefore(button, highlightWrapper.firstChild);
|
||||
}
|
||||
|
||||
async function copyCodeToClipboard(button, highlightDiv) {
|
||||
const codeToCopy = getCodeText(highlightDiv);
|
||||
async function copyCodeToClipboard(button, highlightWrapper) {
|
||||
const codeToCopy = getCodeText(highlightWrapper);
|
||||
|
||||
function fallback(codeToCopy, highlightDiv) {
|
||||
function fallback(codeToCopy, highlightWrapper) {
|
||||
const textArea = document.createElement("textArea");
|
||||
textArea.contentEditable = "true";
|
||||
textArea.readOnly = "false";
|
||||
textArea.className = "copy-textarea";
|
||||
textArea.value = codeToCopy;
|
||||
highlightDiv.insertBefore(textArea, highlightDiv.firstChild);
|
||||
highlightWrapper.insertBefore(textArea, highlightWrapper.firstChild);
|
||||
const range = document.createRange();
|
||||
range.selectNodeContents(textArea);
|
||||
const sel = window.getSelection();
|
||||
sel.removeAllRanges();
|
||||
sel.addRange(range);
|
||||
textArea.focus();
|
||||
textArea.setSelectionRange(0, 999999);
|
||||
document.execCommand("copy");
|
||||
highlightDiv.removeChild(textArea);
|
||||
highlightWrapper.removeChild(textArea);
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -42,10 +38,10 @@ async function copyCodeToClipboard(button, highlightDiv) {
|
||||
if (result.state == "granted" || result.state == "prompt") {
|
||||
await navigator.clipboard.writeText(codeToCopy);
|
||||
} else {
|
||||
fallback(codeToCopy, highlightDiv);
|
||||
fallback(codeToCopy, highlightWrapper);
|
||||
}
|
||||
} catch (_) {
|
||||
fallback(codeToCopy, highlightDiv);
|
||||
fallback(codeToCopy, highlightWrapper);
|
||||
} finally {
|
||||
button.blur();
|
||||
button.innerText = copiedText;
|
||||
@@ -55,7 +51,10 @@ async function copyCodeToClipboard(button, highlightDiv) {
|
||||
}
|
||||
}
|
||||
|
||||
function getCodeText(highlightDiv) {
|
||||
function getCodeText(highlightWrapper) {
|
||||
const highlightDiv = highlightWrapper.querySelector(".highlight");
|
||||
if (!highlightDiv) return "";
|
||||
|
||||
const codeBlock = highlightDiv.querySelector("code");
|
||||
const inlineLines = codeBlock?.querySelectorAll(".cl"); // linenos=inline
|
||||
const tableCodeCell = highlightDiv?.querySelector(".lntable .lntd:last-child code"); // linenos=table
|
||||
@@ -75,5 +74,5 @@ function getCodeText(highlightDiv) {
|
||||
}
|
||||
|
||||
window.addEventListener("DOMContentLoaded", (event) => {
|
||||
document.querySelectorAll(".highlight").forEach((highlightDiv) => createCopyButton(highlightDiv));
|
||||
document.querySelectorAll(".highlight-wrapper").forEach((highlightWrapper) => createCopyButton(highlightWrapper));
|
||||
});
|
||||
@@ -2,30 +2,32 @@ function css(name) {
|
||||
return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")";
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const mermaidDivs = document.querySelectorAll("div.mermaid");
|
||||
function initMermaidLight() {
|
||||
mermaid.initialize({
|
||||
theme: "base",
|
||||
themeVariables: {
|
||||
background: css("--color-neutral"),
|
||||
primaryColor: css("--color-primary-200"),
|
||||
secondaryColor: css("--color-secondary-200"),
|
||||
tertiaryColor: css("--color-neutral-100"),
|
||||
primaryBorderColor: css("--color-primary-400"),
|
||||
secondaryBorderColor: css("--color-secondary-400"),
|
||||
tertiaryBorderColor: css("--color-neutral-400"),
|
||||
lineColor: css("--color-neutral-600"),
|
||||
fontFamily:
|
||||
"ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif",
|
||||
fontSize: "16px",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
for (const div of mermaidDivs) {
|
||||
const preElement = div.querySelector("pre");
|
||||
if (preElement) {
|
||||
div.textContent = preElement.textContent;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
mermaid.initialize({
|
||||
theme: "base",
|
||||
themeVariables: {
|
||||
background: css("--color-neutral"),
|
||||
primaryColor: css("--color-primary-200"),
|
||||
secondaryColor: css("--color-secondary-200"),
|
||||
tertiaryColor: css("--color-neutral-100"),
|
||||
primaryBorderColor: css("--color-primary-400"),
|
||||
secondaryBorderColor: css("--color-secondary-400"),
|
||||
tertiaryBorderColor: css("--color-neutral-400"),
|
||||
lineColor: css("--color-neutral-600"),
|
||||
fontFamily:
|
||||
"ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif",
|
||||
fontSize: "16px",
|
||||
},
|
||||
});
|
||||
function initMermaidDark() {
|
||||
mermaid.initialize({
|
||||
theme: "dark",
|
||||
themeVariables: {
|
||||
fontFamily:
|
||||
"ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif",
|
||||
fontSize: "16px",
|
||||
},
|
||||
});
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
var menuButton = document.getElementById("menu-button");
|
||||
var menuCloseButton = document.getElementById("menu-close-button");
|
||||
var menuWrapper = document.getElementById("menu-wrapper");
|
||||
|
||||
var menuOpen = false;
|
||||
|
||||
var openMenu = function () {
|
||||
if (!menuOpen) {
|
||||
menuOpen = true;
|
||||
document.body.style.overflowY = "hidden";
|
||||
menuButton.style.visibility = "hidden";
|
||||
menuWrapper.style.visibility = "visible";
|
||||
menuWrapper.style.opacity = "1";
|
||||
window.onbeforeunload = function () {
|
||||
closeMenu();
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
var closeMenu = function (e) {
|
||||
if (menuOpen) {
|
||||
menuOpen = false;
|
||||
document.body.style.overflowY = "auto";
|
||||
menuButton.style.visibility = "visible";
|
||||
menuWrapper.style.visibility = "hidden";
|
||||
menuWrapper.style.opacity = "0";
|
||||
window.onbeforeunload = function () {};
|
||||
e.stopPropagation();
|
||||
}
|
||||
};
|
||||
|
||||
menuButton && menuButton.addEventListener("click", openMenu);
|
||||
menuCloseButton && menuCloseButton.addEventListener("click", closeMenu);
|
||||
@@ -0,0 +1,17 @@
|
||||
(function() {
|
||||
'use strict';
|
||||
var closedDetails = [];
|
||||
window.addEventListener('beforeprint', function() {
|
||||
var allDetails = document.querySelectorAll('details:not([open])');
|
||||
for (var i = 0; i < allDetails.length; i++) {
|
||||
allDetails[i].open = true;
|
||||
closedDetails.push(allDetails[i]);
|
||||
}
|
||||
});
|
||||
window.addEventListener('afterprint', function() {
|
||||
for (var i = 0; i < closedDetails.length; i++) {
|
||||
closedDetails[i].open = false;
|
||||
}
|
||||
closedDetails = [];
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,13 @@
|
||||
function scrollToTop() {
|
||||
const scrollToTop = document.getElementById("scroll-to-top");
|
||||
if (window.scrollY > window.innerHeight * 0.5) {
|
||||
scrollToTop.classList.remove("translate-y-4", "opacity-0");
|
||||
scrollToTop.classList.add("translate-y-0", "opacity-100");
|
||||
} else {
|
||||
scrollToTop.classList.remove("translate-y-0", "opacity-100");
|
||||
scrollToTop.classList.add("translate-y-4", "opacity-0");
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("scroll", scrollToTop);
|
||||
window.addEventListener("load", scrollToTop);
|
||||
@@ -0,0 +1,41 @@
|
||||
function initTabs() {
|
||||
tabClickHandler = (event) => {
|
||||
const button = event.target.closest(".tab__button");
|
||||
if (!button) return;
|
||||
|
||||
const container = button.closest(".tab__container");
|
||||
const tabIndex = parseInt(button.dataset.tabIndex);
|
||||
activateTab(container, tabIndex);
|
||||
};
|
||||
|
||||
document.addEventListener("click", tabClickHandler);
|
||||
}
|
||||
|
||||
function activateTab(container, activeIndex) {
|
||||
const buttons = container.querySelectorAll(".tab__button");
|
||||
const panels = container.querySelectorAll(".tab__panel");
|
||||
|
||||
buttons.forEach((btn, index) => {
|
||||
if (index === activeIndex) {
|
||||
btn.classList.add("tab--active");
|
||||
btn.setAttribute("aria-selected", "true");
|
||||
} else {
|
||||
btn.classList.remove("tab--active");
|
||||
btn.setAttribute("aria-selected", "false");
|
||||
}
|
||||
});
|
||||
|
||||
panels.forEach((panel, index) => {
|
||||
if (index === activeIndex) {
|
||||
panel.classList.add("tab--active");
|
||||
} else {
|
||||
panel.classList.remove("tab--active");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", initTabs);
|
||||
} else {
|
||||
initTabs();
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Chart.js v4.5.0
|
||||
* Chart.js v4.5.1
|
||||
* https://www.chartjs.org
|
||||
* (c) 2025 Chart.js Contributors
|
||||
* Released under the MIT License
|
||||
@@ -10,5 +10,5 @@
|
||||
* https://github.com/kurkle/color#readme
|
||||
* (c) 2023 Jukka Kurkela
|
||||
* Released under the MIT License
|
||||
*/function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Wt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Nt),i=Object.keys(Wt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Wt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),Line truncated
|
||||
*/function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Wt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Nt),i=Object.keys(Wt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Wt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),Line truncated
|
||||
//# sourceMappingURL=chart.umd.js.map
|
||||
@@ -1 +1 @@
|
||||
@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1pLine truncated
|
||||
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-ReguLine truncated
|
||||
@@ -1 +1 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return Wn}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,a;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),a=o+15<e.length?e.slice(o,o+15)+"\u2026":e.slice(o),s+=r+t+a}const a=new Error(s);return a.name="ParseError",a.__proto__=r.prototype,a.position=n,null!=n&&null!=o&&(a.length=o-n),a.rawMessage=e,a}}r.prototype.__proto__=Error.prototype;var n=r;const o=/([A-Z])/g,s={"&":"&",">":">","<":"<",'"':""","'":"'"},i=/[&><"']/g;const a=function(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?a(e.body[0]):e:"font"===e.type?a(e.body):e};var l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(i,(e=>s[e]))},hyphenate:function(e){return e.replace(o,"-$1").toLowerCase()},getBaseElem:a,isCharacterBox:function(e){const t=a(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"}};const h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class m{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0Line truncated
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return Wn}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,a;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),a=o+15<e.length?e.slice(o,o+15)+"\u2026":e.slice(o),s+=r+t+a}const a=new Error(s);return a.name="ParseError",a.__proto__=r.prototype,a.position=n,null!=n&&null!=o&&(a.length=o-n),a.rawMessage=e,a}}r.prototype.__proto__=Error.prototype;var n=r;const o=/([A-Z])/g,s={"&":"&",">":">","<":"<",'"':""","'":"'"},i=/[&><"']/g;const a=function(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?a(e.body[0]):e:"font"===e.type?a(e.body):e};var l={deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(i,(e=>s[e]))},hyphenate:function(e){return e.replace(o,"-$1").toLowerCase()},getBaseElem:a,isCharacterBox:function(e){const t=a(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"}};const h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class m{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.Line truncated
|
||||
@@ -52,7 +52,7 @@ lite-youtube > iframe {
|
||||
}
|
||||
|
||||
/* play button */
|
||||
lite-youtube > .lty-playbtn {
|
||||
lite-youtube > .lyt-playbtn {
|
||||
display: block;
|
||||
/* Make the button element cover the whole area for a large hover/click target… */
|
||||
width: 100%;
|
||||
@@ -69,8 +69,8 @@ lite-youtube > .lty-playbtn {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
lite-youtube:hover > .lty-playbtn,
|
||||
lite-youtube .lty-playbtn:focus {
|
||||
lite-youtube:hover > .lyt-playbtn,
|
||||
lite-youtube .lyt-playbtn:focus {
|
||||
filter: none;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ lite-youtube.lyt-activated {
|
||||
cursor: unset;
|
||||
}
|
||||
lite-youtube.lyt-activated::before,
|
||||
lite-youtube.lyt-activated > .lty-playbtn {
|
||||
lite-youtube.lyt-activated > .lyt-playbtn {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class LiteYTEmbed extends HTMLElement {
|
||||
connectedCallback() {
|
||||
this.videoId = this.getAttribute('videoid');
|
||||
|
||||
let playBtnEl = this.querySelector('.lty-playbtn');
|
||||
let playBtnEl = this.querySelector('.lyt-playbtn,.lty-playbtn');
|
||||
// A label for the button takes priority over a [playlabel] attribute on the custom-element
|
||||
this.playLabel = (playBtnEl && playBtnEl.textContent.trim()) || this.getAttribute('playlabel') || 'Play';
|
||||
|
||||
@@ -34,7 +34,8 @@ class LiteYTEmbed extends HTMLElement {
|
||||
if (!playBtnEl) {
|
||||
playBtnEl = document.createElement('button');
|
||||
playBtnEl.type = 'button';
|
||||
playBtnEl.classList.add('lty-playbtn');
|
||||
// Include the mispelled 'lty-' in case it's still being used. https://github.com/paulirish/lite-youtube-embed/issues/65
|
||||
playBtnEl.classList.add('lyt-playbtn', 'lty-playbtn');
|
||||
this.append(playBtnEl);
|
||||
}
|
||||
if (!playBtnEl.textContent) {
|
||||
@@ -200,6 +201,8 @@ class LiteYTEmbed extends HTMLElement {
|
||||
iframeEl.title = this.playLabel;
|
||||
iframeEl.allow = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture';
|
||||
iframeEl.allowFullscreen = true;
|
||||
// Required by Youtube to fix Error 153
|
||||
iframeEl.referrerPolicy = 'strict-origin-when-cross-origin';
|
||||
// AFAIK, the encoding here isn't necessary for XSS, but we'll do it only because this is a URL
|
||||
// https://stackoverflow.com/q/64959723/89484
|
||||
iframeEl.src = `https://www.youtube-nocookie.com/embed/${encodeURIComponent(this.videoId)}?${this.getParams().toString()}`;
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.141.0"
|
||||
max = "0.150.0"
|
||||
max = "0.154.0"
|
||||
@@ -2,6 +2,12 @@
|
||||
# These settings are required for the theme to function.
|
||||
|
||||
[goldmark]
|
||||
[goldmark.parser]
|
||||
wrapStandAloneImageWithinParagraph = false
|
||||
|
||||
[goldmark.parser.attribute]
|
||||
block = true
|
||||
|
||||
[goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ autoSwitchAppearance = true
|
||||
enableA11y = false
|
||||
enableSearch = true
|
||||
enableCodeCopy = false
|
||||
enableStructuredBreadcrumbs = false
|
||||
# enableStyledScrollbar = true # disable to use native scrollbar style (defaults to true)
|
||||
|
||||
replyByEmail = false
|
||||
|
||||
@@ -23,9 +25,11 @@ disableImageOptimizationMD = false
|
||||
disableTextInHeader = false
|
||||
# backgroundImageWidth = 1200
|
||||
|
||||
# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images
|
||||
# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images
|
||||
# defaultFeaturedImage = "IMAGE.jpg" # used as default for featured images in all articles
|
||||
# defaultSocialImage = "/android-chrome-512x512.png" # used as default for social media sharing (Open Graph and Twitter)
|
||||
hotlinkFeatureImage = false
|
||||
# imagePosition = "50% 50%"
|
||||
|
||||
# highlightCurrentMenuArea = true
|
||||
# smartTOC = true
|
||||
@@ -160,7 +164,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
# globalWidget = true
|
||||
# globalWidgetMessage = "Hello"
|
||||
# globalWidgetColor = "#FFDD00"
|
||||
# globalWidgetPosition = "Right"
|
||||
# globalWidgetPosition = "right"
|
||||
|
||||
[verification]
|
||||
# google = ""
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
languageCode = "de"
|
||||
languageName = "Deutsch"
|
||||
weight = 3
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
displayName = "Deutsch"
|
||||
isoCode = "de"
|
||||
rtl = false
|
||||
dateFormat = "2. January 2006"
|
||||
logo = "img/blowfish_logo_transparent.png"
|
||||
description = "Ein leistungsstarkes, leichtgewichtiges Theme für Hugo."
|
||||
|
||||
[params.author]
|
||||
name = "Blowfish"
|
||||
image = "img/blowfish_logo.png"
|
||||
headline = "Ein leistungsstarkes, leichtgewichtiges Theme für Hugo."
|
||||
bio = "Ein leistungsstarkes, leichtgewichtiges Theme für Hugo."
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
languageCode = "es"
|
||||
languageName = "Español"
|
||||
weight = 6
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
displayName = "Español"
|
||||
isoCode = "es"
|
||||
rtl = false
|
||||
dateFormat = "2 de January de 2006"
|
||||
logo = "img/blowfish_logo_transparent.png"
|
||||
description = "Un tema potente y ligero para Hugo."
|
||||
|
||||
[params.author]
|
||||
name = "Blowfish"
|
||||
image = "img/blowfish_logo.png"
|
||||
headline = "Un tema potente y ligero para Hugo."
|
||||
bio = "Un tema potente y ligero para Hugo."
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
languageCode = "fr"
|
||||
languageName = "Français"
|
||||
weight = 2
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
displayName = "Français"
|
||||
isoCode = "fr"
|
||||
rtl = false
|
||||
dateFormat = "2 janvier 2006"
|
||||
logo = "img/blowfish_logo_transparent.png"
|
||||
description = "Un thème puissant et léger pour Hugo."
|
||||
|
||||
[params.author]
|
||||
name = "Blowfish"
|
||||
image = "img/blowfish_logo.png"
|
||||
headline = "Un thème puissant et léger pour Hugo."
|
||||
bio = "Un thème puissant et léger pour Hugo."
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
]
|
||||
@@ -1,6 +1,6 @@
|
||||
languageCode = "it"
|
||||
languageName = "Italiano"
|
||||
weight = 2
|
||||
weight = 4
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
languageCode = "ja"
|
||||
languageName = "日本語"
|
||||
weight = 3
|
||||
weight = 8
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
languageCode = "pt-br"
|
||||
languageName = "Português (Brasil)"
|
||||
weight = 6
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
displayName = "Português (Brasil)"
|
||||
isoCode = "pt-br"
|
||||
rtl = false
|
||||
dateFormat = "2 de January de 2006"
|
||||
logo = "img/blowfish_logo_transparent.png"
|
||||
description = "Um tema poderoso e leve para Hugo."
|
||||
|
||||
[params.author]
|
||||
name = "Blowfish"
|
||||
image = "img/blowfish_logo.png"
|
||||
headline = "Um tema poderoso e leve para Hugo."
|
||||
bio = "Um tema poderoso e leve para Hugo."
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
languageCode = "pt-pt"
|
||||
languageName = "Português (Portugal)"
|
||||
weight = 5
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
displayName = "Português (Portugal)"
|
||||
isoCode = "pt-pt"
|
||||
rtl = false
|
||||
dateFormat = "2 de January de 2006"
|
||||
logo = "img/blowfish_logo_transparent.png"
|
||||
description = "Um tema poderoso e leve para Hugo."
|
||||
|
||||
[params.author]
|
||||
name = "Blowfish"
|
||||
image = "img/blowfish_logo.png"
|
||||
headline = "Um tema poderoso e leve para Hugo."
|
||||
bio = "Um tema poderoso e leve para Hugo."
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
]
|
||||
@@ -1,6 +1,6 @@
|
||||
languageCode = "zh-cn"
|
||||
languageName = "简体中文"
|
||||
weight = 4
|
||||
weight = 9
|
||||
title = "Blowfish"
|
||||
|
||||
[params]
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
# These settings are required for the theme to function.
|
||||
|
||||
[goldmark]
|
||||
[goldmark.parser]
|
||||
wrapStandAloneImageWithinParagraph = false
|
||||
|
||||
[goldmark.parser.attribute]
|
||||
block = true
|
||||
|
||||
[goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# -- Hauptmenü --
|
||||
# Das Hauptmenü wird in der Kopfzeile oben auf der Seite angezeigt.
|
||||
|
||||
[[main]]
|
||||
name = "Dokumentation"
|
||||
pageRef = "docs"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Shortcodes"
|
||||
pageRef = "docs/shortcodes"
|
||||
weight = 15
|
||||
|
||||
[[main]]
|
||||
name = "Beispiele"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Vorlagen"
|
||||
parent = "Beispiele"
|
||||
pageRef = "samples"
|
||||
weight = 16
|
||||
|
||||
[[main]]
|
||||
name = "Galerie"
|
||||
parent = "Beispiele"
|
||||
pageRef = "examples"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "Rezepte"
|
||||
parent = "Beispiele"
|
||||
pageRef = "guides"
|
||||
weight = 40
|
||||
|
||||
[[main]]
|
||||
name = "Benutzer"
|
||||
pageRef = "users"
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
[[main]]
|
||||
identifier = "twitter"
|
||||
pre = "x-twitter"
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
url = "https://github.com/nunocoracao/blowfish"
|
||||
weight = 400
|
||||
|
||||
|
||||
# -- Fußzeilenmenü --
|
||||
|
||||
[[footer]]
|
||||
name = "Tags"
|
||||
pageRef = "tags"
|
||||
weight = 10
|
||||
|
||||
[[footer]]
|
||||
name = "Autoren"
|
||||
pageRef = "authors"
|
||||
weight = 20
|
||||
@@ -0,0 +1,69 @@
|
||||
# -- Menú Principal --
|
||||
# El menú principal se muestra en el encabezado en la parte superior de la página.
|
||||
|
||||
[[main]]
|
||||
name = "Documentación"
|
||||
pageRef = "docs"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Shortcodes"
|
||||
pageRef = "docs/shortcodes"
|
||||
weight = 15
|
||||
|
||||
[[main]]
|
||||
name = "Ejemplos"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Muestras"
|
||||
parent = "Ejemplos"
|
||||
pageRef = "samples"
|
||||
weight = 16
|
||||
|
||||
[[main]]
|
||||
name = "Galería"
|
||||
parent = "Ejemplos"
|
||||
pageRef = "examples"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "Recetas"
|
||||
parent = "Ejemplos"
|
||||
pageRef = "guides"
|
||||
weight = 40
|
||||
|
||||
[[main]]
|
||||
name = "Usuarios"
|
||||
pageRef = "users"
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
[[main]]
|
||||
identifier = "twitter"
|
||||
pre = "x-twitter"
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
url = "https://github.com/nunocoracao/blowfish"
|
||||
weight = 400
|
||||
|
||||
|
||||
# -- Menú de Pie de Página --
|
||||
|
||||
[[footer]]
|
||||
name = "Etiquetas"
|
||||
pageRef = "tags"
|
||||
weight = 10
|
||||
|
||||
[[footer]]
|
||||
name = "Autores"
|
||||
pageRef = "authors"
|
||||
weight = 20
|
||||
@@ -0,0 +1,69 @@
|
||||
# -- Menu Principal --
|
||||
# Le menu principal est affiché dans l'en-tête en haut de la page.
|
||||
|
||||
[[main]]
|
||||
name = "Documentation"
|
||||
pageRef = "docs"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Shortcodes"
|
||||
pageRef = "docs/shortcodes"
|
||||
weight = 15
|
||||
|
||||
[[main]]
|
||||
name = "Exemples"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Échantillons"
|
||||
parent = "Exemples"
|
||||
pageRef = "samples"
|
||||
weight = 16
|
||||
|
||||
[[main]]
|
||||
name = "Vitrine"
|
||||
parent = "Exemples"
|
||||
pageRef = "examples"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "Recettes"
|
||||
parent = "Exemples"
|
||||
pageRef = "guides"
|
||||
weight = 40
|
||||
|
||||
[[main]]
|
||||
name = "Utilisateurs"
|
||||
pageRef = "users"
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
[[main]]
|
||||
identifier = "twitter"
|
||||
pre = "x-twitter"
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
url = "https://github.com/nunocoracao/blowfish"
|
||||
weight = 400
|
||||
|
||||
|
||||
# -- Menu Pied de Page --
|
||||
|
||||
[[footer]]
|
||||
name = "Tags"
|
||||
pageRef = "tags"
|
||||
weight = 10
|
||||
|
||||
[[footer]]
|
||||
name = "Auteurs"
|
||||
pageRef = "authors"
|
||||
weight = 20
|
||||
@@ -0,0 +1,69 @@
|
||||
# -- Menu Principal --
|
||||
# O menu principal é exibido no cabeçalho no topo da página.
|
||||
|
||||
[[main]]
|
||||
name = "Documentação"
|
||||
pageRef = "docs"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Shortcodes"
|
||||
pageRef = "docs/shortcodes"
|
||||
weight = 15
|
||||
|
||||
[[main]]
|
||||
name = "Exemplos"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Amostras"
|
||||
parent = "Exemplos"
|
||||
pageRef = "samples"
|
||||
weight = 16
|
||||
|
||||
[[main]]
|
||||
name = "Galeria"
|
||||
parent = "Exemplos"
|
||||
pageRef = "examples"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "Receitas"
|
||||
parent = "Exemplos"
|
||||
pageRef = "guides"
|
||||
weight = 40
|
||||
|
||||
[[main]]
|
||||
name = "Usuários"
|
||||
pageRef = "users"
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
[[main]]
|
||||
identifier = "twitter"
|
||||
pre = "x-twitter"
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
url = "https://github.com/nunocoracao/blowfish"
|
||||
weight = 400
|
||||
|
||||
|
||||
# -- Menu de Rodapé --
|
||||
|
||||
[[footer]]
|
||||
name = "Tags"
|
||||
pageRef = "tags"
|
||||
weight = 10
|
||||
|
||||
[[footer]]
|
||||
name = "Autores"
|
||||
pageRef = "authors"
|
||||
weight = 20
|
||||
@@ -0,0 +1,69 @@
|
||||
# -- Menu Principal --
|
||||
# O menu principal é apresentado no cabeçalho no topo da página.
|
||||
|
||||
[[main]]
|
||||
name = "Documentação"
|
||||
pageRef = "docs"
|
||||
weight = 10
|
||||
|
||||
[[main]]
|
||||
name = "Shortcodes"
|
||||
pageRef = "docs/shortcodes"
|
||||
weight = 15
|
||||
|
||||
[[main]]
|
||||
name = "Exemplos"
|
||||
weight = 20
|
||||
|
||||
[[main]]
|
||||
name = "Amostras"
|
||||
parent = "Exemplos"
|
||||
pageRef = "samples"
|
||||
weight = 16
|
||||
|
||||
[[main]]
|
||||
name = "Galeria"
|
||||
parent = "Exemplos"
|
||||
pageRef = "examples"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "Receitas"
|
||||
parent = "Exemplos"
|
||||
pageRef = "guides"
|
||||
weight = 40
|
||||
|
||||
[[main]]
|
||||
name = "Utilizadores"
|
||||
pageRef = "users"
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
[[main]]
|
||||
identifier = "twitter"
|
||||
pre = "x-twitter"
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
url = "https://github.com/nunocoracao/blowfish"
|
||||
weight = 400
|
||||
|
||||
|
||||
# -- Menu de Rodapé --
|
||||
|
||||
[[footer]]
|
||||
name = "Tags"
|
||||
pageRef = "tags"
|
||||
weight = 10
|
||||
|
||||
[[footer]]
|
||||
name = "Autores"
|
||||
pageRef = "authors"
|
||||
weight = 20
|
||||
@@ -12,6 +12,7 @@ autoSwitchAppearance = true
|
||||
enableA11y = false
|
||||
enableSearch = true
|
||||
enableCodeCopy = true
|
||||
enableStructuredBreadcrumbs = true
|
||||
|
||||
replyByEmail = false
|
||||
|
||||
@@ -26,6 +27,8 @@ disableTextInHeader = false
|
||||
defaultBackgroundImage = "/img/background.svg"
|
||||
defaultFeaturedImage = "/img/featured.svg"
|
||||
defaultSocialImage = "/img/blowfish_banner.png"
|
||||
hotlinkFeatureImage = false
|
||||
# imagePosition = "50% 50%"
|
||||
|
||||
highlightCurrentMenuArea = true
|
||||
smartTOC = true
|
||||
@@ -83,8 +86,8 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
showTableOfContents = true
|
||||
showRelatedContent = true
|
||||
relatedContentLimit = 9
|
||||
showTaxonomies = true
|
||||
showAuthorsBadges = true
|
||||
showTaxonomies = true
|
||||
showAuthorsBadges = true
|
||||
showWordCount = false
|
||||
sharingLinks = [ "linkedin", "twitter", "bluesky", "reddit", "whatsapp", "telegram", "pinterest", "facebook", "email", "line"]
|
||||
showZenMode = true
|
||||
@@ -129,7 +132,7 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
groupByYear = false
|
||||
cardView = true
|
||||
cardViewScreenWidth = false
|
||||
|
||||
|
||||
[firebase]
|
||||
#apiKey = "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY"
|
||||
#authDomain = "blowfish-21fff.firebaseapp.com"
|
||||
@@ -159,7 +162,7 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
globalWidget = true
|
||||
globalWidgetMessage = ""
|
||||
globalWidgetColor = "#FFDD00"
|
||||
globalWidgetPosition = "Right"
|
||||
globalWidgetPosition = "right"
|
||||
|
||||
[verification]
|
||||
# google = ""
|
||||
@@ -172,4 +175,4 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
# userId = ""
|
||||
|
||||
[advertisement]
|
||||
# adsense = ""
|
||||
# adsense = ""
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "Willkommen bei Blowfish! :tada:"
|
||||
description: "Diese Seite wurde mit dem Blowfish-Theme für Hugo erstellt."
|
||||
---
|
||||
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Dies ist eine Demo des <code id="layout">background</code> Layouts.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Layout wechseln ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Blowfish-tools Demo" >}}
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "¡Bienvenido a Blowfish! :tada:"
|
||||
description: "Esta página fue creada usando el tema Blowfish para Hugo."
|
||||
---
|
||||
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Esta es una demostración del layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Cambiar layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Demo de Blowfish-tools" >}}
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "Bienvenue sur Blowfish ! :tada:"
|
||||
description: "Cette page a été créée avec le thème Blowfish pour Hugo."
|
||||
---
|
||||
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Ceci est une démo du layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Changer de layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Démo de Blowfish-tools" >}}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ description: "Questa pagina è stata creata utilizzando il tema Blowfish per Hug
|
||||
<span class="prose dark:prose-invert">Questa è una demo del layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Cambia layout ↻
|
||||
</button>
|
||||
|
||||
@@ -12,7 +12,7 @@ description: "このページは Hugo の Blowfish テーマを利用して構
|
||||
<span class="prose dark:prose-invert">こちらは <code id="layout">background</code> レイアウトのデモです。</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
レイアウトを変更する↻
|
||||
</button>
|
||||
|
||||
@@ -12,7 +12,7 @@ description: "This page was built using the Blowfish theme for Hugo."
|
||||
<span class="prose dark:prose-invert">This is a demo of the <code id="layout">background</code> layout.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Switch layout ↻
|
||||
</button>
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "Bem-vindo ao Blowfish! :tada:"
|
||||
description: "Esta página foi criada usando o tema Blowfish para Hugo."
|
||||
---
|
||||
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Esta é uma demonstração do layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Mudar layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Demo do Blowfish-tools" >}}
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "Bem-vindo ao Blowfish! :tada:"
|
||||
description: "Esta página foi criada utilizando o tema Blowfish para Hugo."
|
||||
---
|
||||
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Esta é uma demonstração do layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Mudar layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Demo do Blowfish-tools" >}}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ description: "此页面是使用 Hugo 的 Blowfish 主题搭建的"
|
||||
<span class="prose dark:prose-invert"> 这是 <code id="layout">background</code> 的样式示例。</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
切换 layout ↻
|
||||
</button>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Nuno Coração"
|
||||
---
|
||||
|
||||
Nunos fantastische Beispielbiografie.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Nuno Coração"
|
||||
---
|
||||
|
||||
La increíble biografía ficticia de Nuno.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Nuno Coração"
|
||||
---
|
||||
|
||||
La super bio fictive de Nuno.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Nuno Coração"
|
||||
---
|
||||
|
||||
A incrível bio fictícia do Nuno.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Nuno Coração"
|
||||
---
|
||||
|
||||
A fantástica biografia fictícia do Nuno.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Dummy Second Author"
|
||||
---
|
||||
|
||||
Die fantastische Beispielbiografie des zweiten Beispielautors.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Dummy Second Author"
|
||||
---
|
||||
|
||||
La increíble biografía ficticia del segundo autor ficticio.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Dummy Second Author"
|
||||
---
|
||||
|
||||
La super bio fictive du deuxième auteur fictif.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Dummy Second Author"
|
||||
---
|
||||
|
||||
A incrível bio fictícia do segundo autor fictício.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Dummy Second Author"
|
||||
---
|
||||
|
||||
A fantástica biografia fictícia do segundo autor fictício.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "Dokumentation"
|
||||
description: "Erfahren Sie, wie Sie Blowfish und seine Funktionen nutzen können."
|
||||
|
||||
cascade:
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
invertPagination: true
|
||||
---
|
||||
|
||||
{{< lead >}}
|
||||
Einfach, aber leistungsstark. Erfahren Sie, wie Sie Blowfish und seine Funktionen nutzen können.
|
||||
{{< /lead >}}
|
||||
|
||||
Dieser Abschnitt enthält alles, was Sie über Blowfish wissen müssen. Wenn Sie neu sind, lesen Sie den [Installations]({{< ref "docs/installation" >}})-Leitfaden, um zu beginnen, oder besuchen Sie den Bereich [Beispiele]({{< ref "samples" >}}), um zu sehen, was Blowfish kann.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "Documentación"
|
||||
description: "Aprende a usar Blowfish y sus características."
|
||||
|
||||
cascade:
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
invertPagination: true
|
||||
---
|
||||
|
||||
{{< lead >}}
|
||||
Simple, pero potente. Aprende a usar Blowfish y sus características.
|
||||
{{< /lead >}}
|
||||
|
||||
Esta sección contiene todo lo que necesitas saber sobre Blowfish. Si eres nuevo, consulta la guía de [Instalación]({{< ref "docs/installation" >}}) para comenzar o visita la sección de [Ejemplos]({{< ref "samples" >}}) para ver lo que Blowfish puede hacer.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "Documentation"
|
||||
description: "Apprenez à utiliser Blowfish et ses fonctionnalités."
|
||||
|
||||
cascade:
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
invertPagination: true
|
||||
---
|
||||
|
||||
{{< lead >}}
|
||||
Simple, mais puissant. Apprenez à utiliser Blowfish et ses fonctionnalités.
|
||||
{{< /lead >}}
|
||||
|
||||
Cette section contient tout ce que vous devez savoir sur Blowfish. Si vous êtes nouveau, consultez le guide d'[Installation]({{< ref "docs/installation" >}}) pour commencer ou visitez la section [Exemples]({{< ref "samples" >}}) pour voir ce que Blowfish peut faire.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "Documentação"
|
||||
description: "Aprenda a usar o Blowfish e seus recursos."
|
||||
|
||||
cascade:
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
invertPagination: true
|
||||
---
|
||||
|
||||
{{< lead >}}
|
||||
Simples, mas poderoso. Aprenda a usar o Blowfish e seus recursos.
|
||||
{{< /lead >}}
|
||||
|
||||
Esta seção contém tudo o que você precisa saber sobre o Blowfish. Se você é novo, confira o guia de [Instalação]({{< ref "docs/installation" >}}) para começar ou visite a seção de [Exemplos]({{< ref "samples" >}}) para ver o que o Blowfish pode fazer.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "Documentação"
|
||||
description: "Aprenda a utilizar o Blowfish e as suas funcionalidades."
|
||||
|
||||
cascade:
|
||||
showDate: false
|
||||
showAuthor: false
|
||||
invertPagination: true
|
||||
---
|
||||
|
||||
{{< lead >}}
|
||||
Simples, mas poderoso. Aprenda a utilizar o Blowfish e as suas funcionalidades.
|
||||
{{< /lead >}}
|
||||
|
||||
Esta secção contém tudo o que precisa de saber sobre o Blowfish. Se é novo, consulte o guia de [Instalação]({{< ref "docs/installation" >}}) para começar ou visite a secção de [Exemplos]({{< ref "samples" >}}) para ver o que o Blowfish pode fazer.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
title: "Erweiterte Anpassung"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Erfahren Sie, wie Sie Blowfish manuell erstellen."
|
||||
slug: "advanced-customisation"
|
||||
tags: ["erweitert", "css", "dokumentation"]
|
||||
series: ["Dokumentation"]
|
||||
series_order: 13
|
||||
---
|
||||
|
||||
Es gibt viele Möglichkeiten, erweiterte Änderungen an Blowfish vorzunehmen. Lesen Sie unten, um mehr darüber zu erfahren, was angepasst werden kann und wie Sie das gewünschte Ergebnis am besten erreichen.
|
||||
|
||||
Wenn Sie weitere Ratschläge benötigen, stellen Sie Ihre Fragen in den [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
|
||||
## Hugo-Projektstruktur
|
||||
|
||||
Bevor wir loslegen, zunächst ein kurzer Hinweis zur [Hugo-Projektstruktur](https://gohugo.io/getting-started/directory-structure/) und bewährten Methoden zur Verwaltung Ihrer Inhalte und Theme-Anpassungen.
|
||||
|
||||
{{< alert >}}
|
||||
**Zusammenfassung:** Bearbeiten Sie niemals direkt die Theme-Dateien. Nehmen Sie Anpassungen nur in den Unterverzeichnissen Ihres Hugo-Projekts vor, nicht im themes-Verzeichnis selbst.
|
||||
{{< /alert >}}
|
||||
|
||||
Blowfish wurde entwickelt, um alle Standard-Hugo-Praktiken zu nutzen. Es ist so konzipiert, dass alle Aspekte des Themes angepasst und überschrieben werden können, ohne die Kern-Theme-Dateien zu ändern. Dies ermöglicht ein nahtloses Upgrade-Erlebnis und gibt Ihnen gleichzeitig die volle Kontrolle über das Aussehen und die Handhabung Ihrer Website.
|
||||
|
||||
Um dies zu erreichen, sollten Sie niemals manuell Theme-Dateien direkt anpassen. Ob Sie Hugo-Module verwenden, als Git-Submodul installieren oder das Theme manuell in Ihrem `themes/`-Verzeichnis einbinden, Sie sollten diese Dateien immer intakt lassen.
|
||||
|
||||
Der richtige Weg, Theme-Verhalten anzupassen, ist das Überschreiben von Dateien mithilfe der leistungsfähigen Hugo [Datei-Suchreihenfolge](https://gohugo.io/templates/lookup-order/). Zusammenfassend stellt die Suchreihenfolge sicher, dass alle Dateien, die Sie in Ihr Projektverzeichnis einbinden, automatisch Vorrang vor Theme-Dateien haben.
|
||||
|
||||
Wenn Sie beispielsweise das Hauptartikel-Template in Blowfish überschreiben möchten, können Sie einfach Ihre eigene `layouts/_default/single.html`-Datei erstellen und sie im Root Ihres Projekts platzieren. Diese Datei überschreibt dann die `single.html` aus dem Theme, ohne das Theme selbst zu ändern. Dies funktioniert für alle Theme-Dateien - HTML-Templates, Partials, Shortcodes, Konfigurationsdateien, Daten, Assets, etc.
|
||||
|
||||
Solange Sie diese einfache Praxis befolgen, können Sie das Theme immer aktualisieren (oder verschiedene Theme-Versionen testen), ohne sich Sorgen machen zu müssen, dass Sie Ihre benutzerdefinierten Änderungen verlieren.
|
||||
|
||||
## Bildoptimierungseinstellungen ändern
|
||||
|
||||
Hugo verfügt über verschiedene integrierte Methoden zum Ändern der Größe, Zuschneiden und Optimieren von Bildern.
|
||||
|
||||
Als Beispiel - in `layouts/partials/article-link/card.html` haben Sie folgenden Code:
|
||||
|
||||
```go
|
||||
{{ with .Resize "600x" }}
|
||||
<div class="w-full thumbnail_card nozoom" style="background-image:url({{ .RelPermalink }});"></div>
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
Das Standardverhalten von Hugo hier ist, die Bildgröße auf 600px unter Beibehaltung des Seitenverhältnisses zu ändern.
|
||||
|
||||
Es ist erwähnenswert, dass Standard-Bildkonfigurationen wie der [Ankerpunkt](https://gohugo.io/content-management/image-processing/#anchor) auch in Ihrer [Site-Konfiguration](https://gohugo.io/content-management/image-processing/#processing-options) sowie im Template selbst festgelegt werden können.
|
||||
|
||||
Weitere Informationen finden Sie in den [Hugo-Dokumenten zur Bildverarbeitung](https://gohugo.io/content-management/image-processing/#image-processing-methods).
|
||||
|
||||
## Farbschemata
|
||||
|
||||
Blowfish wird mit einer Reihe von Farbschemata ausgeliefert. Um das grundlegende Farbschema zu ändern, können Sie den Theme-Parameter `colorScheme` festlegen. Lesen Sie den Abschnitt [Erste Schritte]({{< ref "getting-started#colour-schemes" >}}), um mehr über die integrierten Schemata zu erfahren.
|
||||
|
||||
Zusätzlich zu den Standardschemata können Sie auch eigene erstellen und die gesamte Website nach Ihren Wünschen gestalten. Schemata werden erstellt, indem Sie eine `<schema-name>.css`-Datei im Ordner `assets/css/schemes/` platzieren. Sobald die Datei erstellt ist, verweisen Sie einfach in der Theme-Konfiguration mit dem Namen darauf.
|
||||
|
||||
{{< alert "github">}}
|
||||
**Hinweis:** Die manuelle Generierung dieser Dateien kann schwierig sein. Ich habe ein `nodejs`-Terminal-Tool entwickelt, um dabei zu helfen: [Fugu](https://github.com/nunocoracao/fugu). Im Wesentlichen übergeben Sie die drei Haupt-`hex`-Werte Ihrer Farbpalette und das Programm gibt eine CSS-Datei aus, die direkt in Blowfish importiert werden kann.
|
||||
{{< /alert >}}
|
||||
|
||||
|
||||
Blowfish definiert eine Drei-Farben-Palette, die im gesamten Theme verwendet wird. Die drei Farben sind als `neutral`, `primary` und `secondary` Varianten definiert, jeweils mit zehn Farbstufen.
|
||||
|
||||
Aufgrund der Art und Weise, wie Tailwind CSS 3.0 Farbwerte mit Deckkraft berechnet, müssen die im Schema angegebenen Farben einem [bestimmten Format entsprechen](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo), indem sie die Rot-, Grün- und Blau-Farbwerte angeben.
|
||||
|
||||
```css
|
||||
:root {
|
||||
--color-primary-500: 139, 92, 246;
|
||||
}
|
||||
```
|
||||
|
||||
Dieses Beispiel definiert eine CSS-Variable für die `primary-500`-Farbe mit einem Rotwert von `139`, Grünwert von `92` und Blauwert von `246`.
|
||||
|
||||
Verwenden Sie eines der vorhandenen Theme-Stylesheets als Vorlage. Sie können Ihre eigenen Farben definieren, aber zur Inspiration schauen Sie sich die offizielle [Tailwind-Farbpaletten-Referenz](https://tailwindcss.com/docs/customizing-colors#color-palette-reference) an.
|
||||
|
||||
## Das Stylesheet überschreiben
|
||||
|
||||
Manchmal müssen Sie einen benutzerdefinierten Stil hinzufügen, um Ihre eigenen HTML-Elemente zu gestalten. Blowfish bietet diese Möglichkeit, indem Sie die Standardstile in Ihrem eigenen CSS-Stylesheet überschreiben können. Erstellen Sie einfach eine `custom.css`-Datei im Ordner `assets/css/` Ihres Projekts.
|
||||
|
||||
Die `custom.css`-Datei wird von Hugo minimiert und automatisch nach allen anderen Theme-Stilen geladen, was bedeutet, dass alles in Ihrer benutzerdefinierten Datei Vorrang vor den Standardeinstellungen hat.
|
||||
|
||||
### Zusätzliche Schriftarten verwenden
|
||||
|
||||
Blowfish ermöglicht es Ihnen, die Schriftart für Ihre Website einfach zu ändern. Nachdem Sie eine `custom.css`-Datei im Ordner `assets/css/` Ihres Projekts erstellt haben, platzieren Sie Ihre Schriftdatei in einem `fonts`-Ordner innerhalb des `static`-Root-Ordners.
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── custom.css
|
||||
...
|
||||
└─── static
|
||||
└── fonts
|
||||
└─── font.ttf
|
||||
|
||||
```
|
||||
|
||||
Dies macht die Schriftart für die Website verfügbar. Jetzt kann die Schriftart einfach in Ihrer `custom.css` importiert und ersetzt werden, wo immer Sie es für richtig halten. Das folgende Beispiel zeigt, wie das Ersetzen der Schriftart für das gesamte `html` aussehen würde.
|
||||
|
||||
```css
|
||||
@font-face {
|
||||
font-family: font;
|
||||
src: url('/fonts/font.ttf');
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: font;
|
||||
}
|
||||
```
|
||||
|
||||
### Schriftgröße anpassen
|
||||
|
||||
Das Ändern der Schriftgröße Ihrer Website ist ein Beispiel für das Überschreiben des Standard-Stylesheets. Blowfish macht dies einfach, da es im gesamten Theme skalierte Schriftgrößen verwendet, die von der Basis-HTML-Schriftgröße abgeleitet werden. Standardmäßig setzt Tailwind die Standardgröße auf `12pt`, aber sie kann auf jeden beliebigen Wert geändert werden.
|
||||
|
||||
Erstellen Sie eine `custom.css`-Datei gemäß den [obigen Anweisungen]({{< ref "#overriding-the-stylesheet" >}}) und fügen Sie die folgende CSS-Deklaration hinzu:
|
||||
|
||||
```css
|
||||
/* Standardschriftgröße erhöhen */
|
||||
html {
|
||||
font-size: 13pt;
|
||||
}
|
||||
```
|
||||
|
||||
Allein durch das Ändern dieses einen Wertes werden alle Schriftgrößen auf Ihrer Website an diese neue Größe angepasst. Um also die insgesamt verwendeten Schriftgrößen zu erhöhen, machen Sie den Wert größer als `12pt`. Um die Schriftgrößen zu verringern, machen Sie den Wert kleiner als `12pt`.
|
||||
|
||||
### Syntax-Highlighting-Theme ändern
|
||||
|
||||
Um das Syntax-Highlighting-Theme zu ändern, erstellen Sie `assets/css/custom.css` und fügen Sie Folgendes hinzu:
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
Dies löscht die Standard-Chroma-Stile. Der nächste Schritt ist, Chroma-Stile in Ihre CSS-Datei mit dem Befehl `hugo gen chromastyles` einzubinden:
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# Dieser Befehl kann nicht in CMD ausgeführt werden; er muss in PowerShell ausgeführt werden
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
Alle verfügbaren Stile finden Sie in [Hugos Dokumentation](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles).
|
||||
|
||||
## Das Theme-CSS aus dem Quellcode erstellen
|
||||
|
||||
Wenn Sie eine größere Änderung vornehmen möchten, können Sie den Tailwind CSS JIT-Compiler nutzen und das gesamte Theme-CSS von Grund auf neu erstellen. Dies ist nützlich, wenn Sie die Tailwind-Konfiguration anpassen oder zusätzliche Tailwind-Klassen zum Haupt-Stylesheet hinzufügen möchten.
|
||||
|
||||
{{< alert >}}
|
||||
**Hinweis:** Das manuelle Erstellen des Themes ist für fortgeschrittene Benutzer gedacht.
|
||||
{{< /alert >}}
|
||||
|
||||
Lassen Sie uns durchgehen, wie das Erstellen des Tailwind CSS funktioniert.
|
||||
|
||||
### Tailwind-Konfiguration
|
||||
|
||||
Um eine CSS-Datei zu generieren, die nur die Tailwind-Klassen enthält, die tatsächlich verwendet werden, muss der JIT-Compiler alle HTML-Templates und Markdown-Inhaltsdateien scannen, um zu überprüfen, welche Stile im Markup vorhanden sind. Der Compiler macht dies, indem er die Datei `tailwind.config.js` betrachtet, die im Root-Verzeichnis des Themes enthalten ist:
|
||||
|
||||
```js
|
||||
// themes/blowfish/tailwind.config.js
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
"./layouts/**/*.html",
|
||||
"./content/**/*.{html,md}",
|
||||
"./themes/blowfish/layouts/**/*.html",
|
||||
"./themes/blowfish/content/**/*.{html,md}",
|
||||
],
|
||||
|
||||
// und mehr...
|
||||
};
|
||||
```
|
||||
|
||||
Diese Standardkonfiguration enthält diese Inhaltspfade, damit Sie Ihre eigene CSS-Datei einfach generieren können, ohne sie ändern zu müssen, vorausgesetzt Sie folgen einer bestimmten Projektstruktur. Nämlich **müssen Sie Blowfish in Ihrem Projekt als Unterverzeichnis unter `themes/blowfish/` einbinden**. Dies bedeutet, dass Sie das Theme nicht einfach mit Hugo-Modulen installieren können und Sie müssen entweder den Git-Submodule-Weg (empfohlen) oder den manuellen Installationsweg gehen. Die [Installationsdokumentation]({{< ref "installation" >}}) erklärt, wie Sie das Theme mit einer dieser Methoden installieren.
|
||||
|
||||
### Projektstruktur
|
||||
|
||||
Um die Standardkonfiguration zu nutzen, sollte Ihr Projekt etwa so aussehen...
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── compiled
|
||||
│ └── main.css # dies ist die Datei, die wir generieren werden
|
||||
├── config # Site-Konfiguration
|
||||
│ └── _default
|
||||
├── content # Site-Inhalt
|
||||
│ ├── _index.md
|
||||
│ ├── projects
|
||||
│ │ └── _index.md
|
||||
│ └── blog
|
||||
│ └── _index.md
|
||||
├── layouts # benutzerdefinierte Layouts für Ihre Site
|
||||
│ ├── partials
|
||||
│ │ └── extend-article-link/simple.html
|
||||
│ ├── projects
|
||||
│ │ └── list.html
|
||||
│ └── shortcodes
|
||||
│ └── disclaimer.html
|
||||
└── themes
|
||||
└── blowfish # Git-Submodul oder manuelle Theme-Installation
|
||||
```
|
||||
|
||||
Diese Beispielstruktur fügt einen neuen `projects`-Inhaltstyp mit eigenem benutzerdefinierten Layout zusammen mit einem benutzerdefinierten Shortcode und erweiterten Partial hinzu. Sofern das Projekt dieser Struktur folgt, muss nur die `main.css`-Datei neu kompiliert werden.
|
||||
|
||||
### Abhängigkeiten installieren
|
||||
|
||||
Damit dies funktioniert, müssen Sie in das Verzeichnis `themes/blowfish/` wechseln und die Projektabhängigkeiten installieren. Sie benötigen [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install) auf Ihrem lokalen Rechner für diesen Schritt.
|
||||
|
||||
```shell
|
||||
cd themes/blowfish
|
||||
npm install
|
||||
```
|
||||
|
||||
### Tailwind-Compiler ausführen
|
||||
|
||||
Mit den installierten Abhängigkeiten bleibt nur noch, die [Tailwind CLI](https://tailwindcss.com/docs/installation/tailwind-cli) zu verwenden, um den JIT-Compiler aufzurufen. Navigieren Sie zurück zum Root Ihres Hugo-Projekts und geben Sie folgenden Befehl ein:
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
Es ist ein etwas unschöner Befehl aufgrund der beteiligten Pfade, aber im Wesentlichen rufen Sie die Tailwind CLI auf und übergeben ihr den Speicherort der Tailwind-Konfigurationsdatei (die wir oben betrachtet haben), wo die `main.css`-Datei des Themes zu finden ist und wohin Sie die kompilierte CSS-Datei platzieren möchten (sie geht in den Ordner `assets/css/compiled/` Ihres Hugo-Projekts).
|
||||
|
||||
Die Konfigurationsdatei scannt automatisch alle Inhalte und Layouts in Ihrem Projekt sowie alle im Theme und erstellt eine neue CSS-Datei, die alle für Ihre Website erforderlichen CSS enthält. Aufgrund der Art, wie Hugo die Dateihierarchie handhabt, überschreibt diese Datei in Ihrem Projekt nun automatisch die, die mit dem Theme geliefert wird.
|
||||
|
||||
Jedes Mal, wenn Sie Änderungen an Ihren Layouts vornehmen und neue Tailwind CSS-Stile benötigen, können Sie einfach den Befehl erneut ausführen und die neue CSS-Datei generieren. Sie können auch `-w` am Ende des Befehls hinzufügen, um den JIT-Compiler im Watch-Modus auszuführen.
|
||||
|
||||
### Ein Build-Skript erstellen
|
||||
|
||||
Um diese ganze Lösung abzurunden, können Sie diesen gesamten Prozess vereinfachen, indem Sie Aliase für diese Befehle hinzufügen, oder tun Sie, was ich tue, und fügen Sie eine `package.json` zum Root Ihres Projekts hinzu, die die notwendigen Skripte enthält...
|
||||
|
||||
```js
|
||||
// package.json
|
||||
|
||||
{
|
||||
"name": "my-website",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// und mehr...
|
||||
}
|
||||
```
|
||||
|
||||
Wenn Sie nun am Design Ihrer Site arbeiten möchten, können Sie `npm run dev` aufrufen und der Compiler wird im Watch-Modus ausgeführt. Wenn Sie bereit zur Bereitstellung sind, führen Sie `npm run build` aus und Sie erhalten einen sauberen Tailwind CSS-Build.
|
||||
|
||||
🙋♀️ Wenn Sie Hilfe benötigen, können Sie gerne eine Frage in den [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) stellen.
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
title: "Personalización avanzada"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Aprende cómo construir Blowfish manualmente."
|
||||
slug: "advanced-customisation"
|
||||
tags: ["avanzado", "css", "documentación"]
|
||||
series: ["Documentación"]
|
||||
series_order: 13
|
||||
---
|
||||
|
||||
Hay muchas formas de hacer cambios avanzados a Blowfish. Lee a continuación para aprender más sobre qué se puede personalizar y la mejor manera de lograr el resultado deseado.
|
||||
|
||||
Si necesitas más consejos, publica tus preguntas en [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
|
||||
## Estructura del proyecto Hugo
|
||||
|
||||
Antes de empezar, primero una nota rápida sobre la [estructura del proyecto Hugo](https://gohugo.io/getting-started/directory-structure/) y las mejores prácticas para gestionar tu contenido y personalizaciones del tema.
|
||||
|
||||
{{< alert >}}
|
||||
**En resumen:** Nunca edites directamente los archivos del tema. Solo haz personalizaciones en los subdirectorios de tu proyecto Hugo, no en el directorio themes en sí.
|
||||
{{< /alert >}}
|
||||
|
||||
Blowfish está construido para aprovechar todas las prácticas estándar de Hugo. Está diseñado para permitir que todos los aspectos del tema se personalicen y anulen sin cambiar ninguno de los archivos del tema principal. Esto permite una experiencia de actualización sin problemas mientras te da control total sobre la apariencia y el comportamiento de tu sitio web.
|
||||
|
||||
Para lograr esto, nunca deberías ajustar manualmente ninguno de los archivos del tema directamente. Ya sea que instales usando módulos Hugo, como un submódulo git o incluyas manualmente el tema en tu directorio `themes/`, siempre debes dejar estos archivos intactos.
|
||||
|
||||
La forma correcta de ajustar cualquier comportamiento del tema es anulando archivos usando el poderoso [orden de búsqueda de archivos](https://gohugo.io/templates/lookup-order/) de Hugo. En resumen, el orden de búsqueda asegura que cualquier archivo que incluyas en el directorio de tu proyecto tendrá automáticamente prioridad sobre cualquier archivo del tema.
|
||||
|
||||
Por ejemplo, si quisieras anular el template principal de artículo en Blowfish, simplemente puedes crear tu propio archivo `layouts/_default/single.html` y colocarlo en la raíz de tu proyecto. Este archivo luego anulará el `single.html` del tema sin cambiar nunca el tema en sí. Esto funciona para cualquier archivo del tema - templates HTML, partials, shortcodes, archivos de configuración, datos, assets, etc.
|
||||
|
||||
Mientras sigas esta práctica simple, siempre podrás actualizar el tema (o probar diferentes versiones del tema) sin preocuparte de perder ninguna de tus modificaciones personalizadas.
|
||||
|
||||
## Cambiar configuraciones de optimización de imagen
|
||||
|
||||
Hugo tiene varios métodos incorporados para redimensionar, recortar y optimizar imágenes.
|
||||
|
||||
Como ejemplo - en `layouts/partials/article-link/card.html`, tienes el siguiente código:
|
||||
|
||||
```go
|
||||
{{ with .Resize "600x" }}
|
||||
<div class="w-full thumbnail_card nozoom" style="background-image:url({{ .RelPermalink }});"></div>
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
El comportamiento predeterminado de Hugo aquí es redimensionar la imagen a 600px manteniendo la proporción.
|
||||
|
||||
Vale la pena notar que las configuraciones de imagen predeterminadas como el [punto de anclaje](https://gohugo.io/content-management/image-processing/#anchor) también se pueden establecer en tu [configuración del sitio](https://gohugo.io/content-management/image-processing/#processing-options) así como en el template mismo.
|
||||
|
||||
Consulta los [docs de Hugo sobre procesamiento de imágenes](https://gohugo.io/content-management/image-processing/#image-processing-methods) para más información.
|
||||
|
||||
## Esquemas de color
|
||||
|
||||
Blowfish viene con varios esquemas de color listos para usar. Para cambiar el esquema de color básico, puedes establecer el parámetro del tema `colorScheme`. Consulta la sección [Primeros pasos]({{< ref "getting-started#colour-schemes" >}}) para aprender más sobre los esquemas incorporados.
|
||||
|
||||
Además de los esquemas predeterminados, también puedes crear los tuyos propios y re-estilizar todo el sitio web a tu gusto. Los esquemas se crean colocando un archivo `<nombre-esquema>.css` en la carpeta `assets/css/schemes/`. Una vez creado el archivo, simplemente refiérete a él por su nombre en la configuración del tema.
|
||||
|
||||
{{< alert "github">}}
|
||||
**Nota:** generar estos archivos manualmente puede ser difícil, he construido una herramienta de terminal `nodejs` para ayudar con eso, [Fugu](https://github.com/nunocoracao/fugu). En resumen, pasas los tres valores `hex` principales de tu paleta de colores y el programa producirá un archivo css que puede ser importado directamente en Blowfish.
|
||||
{{< /alert >}}
|
||||
|
||||
|
||||
Blowfish define una paleta de tres colores que se usa en todo el tema. Los tres colores se definen como variantes `neutral`, `primary` y `secondary`, cada una conteniendo diez tonos de color.
|
||||
|
||||
Debido a la forma en que Tailwind CSS 3.0 calcula los valores de color con opacidad, los colores especificados en el esquema necesitan [conformarse a un formato particular](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo) proporcionando los valores de color rojo, verde y azul.
|
||||
|
||||
```css
|
||||
:root {
|
||||
--color-primary-500: 139, 92, 246;
|
||||
}
|
||||
```
|
||||
|
||||
Este ejemplo define una variable CSS para el color `primary-500` con un valor rojo de `139`, valor verde de `92` y valor azul de `246`.
|
||||
|
||||
Usa una de las hojas de estilo existentes del tema como plantilla. Eres libre de definir tus propios colores, pero para inspiración, consulta la [referencia de paleta de colores de Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference) oficial.
|
||||
|
||||
## Anular la hoja de estilos
|
||||
|
||||
A veces necesitas añadir un estilo personalizado para estilizar tus propios elementos HTML. Blowfish provee para este escenario permitiéndote anular los estilos predeterminados en tu propia hoja de estilos CSS. Simplemente crea un archivo `custom.css` en la carpeta `assets/css/` de tu proyecto.
|
||||
|
||||
El archivo `custom.css` será minificado por Hugo y cargado automáticamente después de todos los otros estilos del tema lo que significa que cualquier cosa en tu archivo personalizado tendrá prioridad sobre los valores predeterminados.
|
||||
|
||||
### Usar fuentes adicionales
|
||||
|
||||
Blowfish te permite cambiar fácilmente la fuente de tu sitio. Después de crear un archivo `custom.css` en la carpeta `assets/css/` de tu proyecto, coloca tu archivo de fuente dentro de una carpeta `fonts` en la carpeta raíz `static`.
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── custom.css
|
||||
...
|
||||
└─── static
|
||||
└── fonts
|
||||
└─── font.ttf
|
||||
|
||||
```
|
||||
|
||||
Esto hace que la fuente esté disponible para el sitio web. Ahora, la fuente simplemente puede ser importada en tu `custom.css` y reemplazada donde lo veas conveniente. El ejemplo de abajo muestra cómo se vería reemplazar la fuente para todo el `html`.
|
||||
|
||||
```css
|
||||
@font-face {
|
||||
font-family: font;
|
||||
src: url('/fonts/font.ttf');
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: font;
|
||||
}
|
||||
```
|
||||
|
||||
### Ajustar el tamaño de fuente
|
||||
|
||||
Cambiar el tamaño de fuente de tu sitio web es un ejemplo de anular la hoja de estilos predeterminada. Blowfish hace esto simple ya que usa tamaños de fuente escalados en todo el tema que se derivan del tamaño de fuente HTML base. Por defecto, Tailwind establece el tamaño predeterminado en `12pt`, pero puede cambiarse a cualquier valor que prefieras.
|
||||
|
||||
Crea un archivo `custom.css` usando las [instrucciones de arriba]({{< ref "#overriding-the-stylesheet" >}}) y añade la siguiente declaración CSS:
|
||||
|
||||
```css
|
||||
/* Aumentar el tamaño de fuente predeterminado */
|
||||
html {
|
||||
font-size: 13pt;
|
||||
}
|
||||
```
|
||||
|
||||
Simplemente cambiando este único valor, todos los tamaños de fuente en tu sitio web se ajustarán para coincidir con este nuevo tamaño. Por lo tanto, para aumentar los tamaños de fuente generales usados, haz el valor mayor que `12pt`. De manera similar, para disminuir los tamaños de fuente, haz el valor menor que `12pt`.
|
||||
|
||||
### Cambiar el tema de resaltado de sintaxis
|
||||
|
||||
Para cambiar el tema de resaltado de sintaxis, crea `assets/css/custom.css` y añade lo siguiente:
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
Esto limpia los estilos predeterminados de Chroma. El siguiente paso es incorporar estilos de Chroma en tu archivo CSS usando el comando `hugo gen chromastyles`:
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# Este comando no puede ejecutarse en CMD; debe ejecutarse en PowerShell
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
Consulta todos los estilos disponibles en la [documentación de Hugo](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles).
|
||||
|
||||
## Construir el CSS del tema desde la fuente
|
||||
|
||||
Si quisieras hacer un cambio mayor, puedes aprovechar el compilador JIT de Tailwind CSS y reconstruir todo el CSS del tema desde cero. Esto es útil si quieres ajustar la configuración de Tailwind o añadir clases extra de Tailwind a la hoja de estilos principal.
|
||||
|
||||
{{< alert >}}
|
||||
**Nota:** Construir el tema manualmente está pensado para usuarios avanzados.
|
||||
{{< /alert >}}
|
||||
|
||||
Repasemos cómo funciona la construcción del Tailwind CSS.
|
||||
|
||||
### Configuración de Tailwind
|
||||
|
||||
Para generar un archivo CSS que solo contenga las clases de Tailwind que realmente se están usando, el compilador JIT necesita escanear todos los templates HTML y archivos de contenido Markdown para verificar qué estilos están presentes en el markup. El compilador hace esto mirando el archivo `tailwind.config.js` que está incluido en la raíz del directorio del tema:
|
||||
|
||||
```js
|
||||
// themes/blowfish/tailwind.config.js
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
"./layouts/**/*.html",
|
||||
"./content/**/*.{html,md}",
|
||||
"./themes/blowfish/layouts/**/*.html",
|
||||
"./themes/blowfish/content/**/*.{html,md}",
|
||||
],
|
||||
|
||||
// y más...
|
||||
};
|
||||
```
|
||||
|
||||
Esta configuración predeterminada ha sido incluida con estas rutas de contenido para que puedas generar fácilmente tu propio archivo CSS sin necesidad de modificarla, siempre que sigas una estructura de proyecto particular. Es decir, **tienes que incluir Blowfish en tu proyecto como un subdirectorio en `themes/blowfish/`**. Esto significa que no puedes usar fácilmente los módulos Hugo para instalar el tema y debes optar por la instalación por submódulo git (recomendado) o la instalación manual. Los [docs de instalación]({{< ref "installation" >}}) explican cómo instalar el tema usando cualquiera de estos métodos.
|
||||
|
||||
### Estructura del proyecto
|
||||
|
||||
Para aprovechar la configuración predeterminada, tu proyecto debería verse algo así...
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── compiled
|
||||
│ └── main.css # este es el archivo que generaremos
|
||||
├── config # config del sitio
|
||||
│ └── _default
|
||||
├── content # contenido del sitio
|
||||
│ ├── _index.md
|
||||
│ ├── projects
|
||||
│ │ └── _index.md
|
||||
│ └── blog
|
||||
│ └── _index.md
|
||||
├── layouts # layouts personalizados para tu sitio
|
||||
│ ├── partials
|
||||
│ │ └── extend-article-link/simple.html
|
||||
│ ├── projects
|
||||
│ │ └── list.html
|
||||
│ └── shortcodes
|
||||
│ └── disclaimer.html
|
||||
└── themes
|
||||
└── blowfish # submódulo git o instalación manual del tema
|
||||
```
|
||||
|
||||
Esta estructura de ejemplo añade un nuevo tipo de contenido `projects` con su propio layout personalizado junto con un shortcode personalizado y partial extendido. Siempre que el proyecto siga esta estructura, todo lo que se requiere es recompilar el archivo `main.css`.
|
||||
|
||||
### Instalar dependencias
|
||||
|
||||
Para que esto funcione necesitarás cambiar al directorio `themes/blowfish/` e instalar las dependencias del proyecto. Necesitarás [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install) en tu máquina local para este paso.
|
||||
|
||||
```shell
|
||||
cd themes/blowfish
|
||||
npm install
|
||||
```
|
||||
|
||||
### Ejecutar el compilador de Tailwind
|
||||
|
||||
Con las dependencias instaladas, todo lo que queda es usar [Tailwind CLI](https://tailwindcss.com/docs/installation/tailwind-cli) para invocar el compilador JIT. Navega de vuelta a la raíz de tu proyecto Hugo y ejecuta el siguiente comando:
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
Es un comando un poco feo debido a las rutas involucradas pero esencialmente estás llamando a Tailwind CLI y pasándole la ubicación del archivo de config de Tailwind (el que vimos arriba), dónde encontrar el archivo `main.css` del tema y luego dónde quieres que se coloque el archivo CSS compilado (va a la carpeta `assets/css/compiled/` de tu proyecto Hugo).
|
||||
|
||||
El archivo de config escaneará automáticamente todo el contenido y layouts en tu proyecto así como todos los del tema y construirá un nuevo archivo CSS que contiene todo el CSS requerido para tu sitio web. Debido a la forma en que Hugo maneja la jerarquía de archivos, este archivo en tu proyecto ahora anulará automáticamente el que viene con el tema.
|
||||
|
||||
Cada vez que hagas un cambio en tus layouts y necesites nuevos estilos de Tailwind CSS, simplemente puedes volver a ejecutar el comando y generar el nuevo archivo CSS. También puedes añadir `-w` al final del comando para ejecutar el compilador JIT en modo watch.
|
||||
|
||||
### Crear un script de build
|
||||
|
||||
Para completar completamente esta solución, puedes simplificar todo este proceso añadiendo alias para estos comandos, o hacer lo que yo hago y añadir un `package.json` a la raíz de tu proyecto que contenga los scripts necesarios...
|
||||
|
||||
```js
|
||||
// package.json
|
||||
|
||||
{
|
||||
"name": "my-website",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// y más...
|
||||
}
|
||||
```
|
||||
|
||||
Ahora cuando quieras trabajar en el diseño de tu sitio, puedes invocar `npm run dev` y el compilador se ejecutará en modo watch. Cuando estés listo para desplegar, ejecuta `npm run build` y tendrás un build limpio de Tailwind CSS.
|
||||
|
||||
🙋♀️ Si necesitas ayuda, siéntete libre de hacer una pregunta en [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
title: "Personnalisation avancée"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Apprenez à construire Blowfish manuellement."
|
||||
slug: "advanced-customisation"
|
||||
tags: ["avancé", "css", "documentation"]
|
||||
series: ["Documentation"]
|
||||
series_order: 13
|
||||
---
|
||||
|
||||
Il existe de nombreuses façons d'apporter des modifications avancées à Blowfish. Lisez ci-dessous pour en savoir plus sur ce qui peut être personnalisé et la meilleure façon d'atteindre le résultat souhaité.
|
||||
|
||||
Si vous avez besoin de conseils supplémentaires, posez vos questions sur [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
|
||||
## Structure du projet Hugo
|
||||
|
||||
Avant de se lancer, d'abord un petit mot sur la [structure du projet Hugo](https://gohugo.io/getting-started/directory-structure/) et les meilleures pratiques pour gérer votre contenu et les personnalisations de thème.
|
||||
|
||||
{{< alert >}}
|
||||
**En résumé :** Ne modifiez jamais directement les fichiers du thème. Faites uniquement des personnalisations dans les sous-répertoires de votre projet Hugo, pas dans le répertoire themes lui-même.
|
||||
{{< /alert >}}
|
||||
|
||||
Blowfish est construit pour tirer parti de toutes les pratiques standard de Hugo. Il est conçu pour permettre la personnalisation et le remplacement de tous les aspects du thème sans modifier aucun des fichiers du thème de base. Cela permet une expérience de mise à niveau transparente tout en vous donnant un contrôle total sur l'apparence et le comportement de votre site web.
|
||||
|
||||
Pour y parvenir, vous ne devriez jamais ajuster manuellement les fichiers du thème directement. Que vous installiez en utilisant les modules Hugo, comme un sous-module git ou que vous incluiez manuellement le thème dans votre répertoire `themes/`, vous devriez toujours laisser ces fichiers intacts.
|
||||
|
||||
La bonne façon d'ajuster le comportement du thème est de remplacer les fichiers en utilisant le puissant [ordre de recherche de fichiers](https://gohugo.io/templates/lookup-order/) de Hugo. En résumé, l'ordre de recherche garantit que tous les fichiers que vous incluez dans votre répertoire de projet auront automatiquement priorité sur les fichiers du thème.
|
||||
|
||||
Par exemple, si vous vouliez remplacer le template d'article principal dans Blowfish, vous pouvez simplement créer votre propre fichier `layouts/_default/single.html` et le placer à la racine de votre projet. Ce fichier remplacera alors le `single.html` du thème sans jamais modifier le thème lui-même. Cela fonctionne pour tous les fichiers du thème - templates HTML, partials, shortcodes, fichiers de configuration, données, assets, etc.
|
||||
|
||||
Tant que vous suivez cette pratique simple, vous pourrez toujours mettre à jour le thème (ou tester différentes versions du thème) sans vous soucier de perdre vos modifications personnalisées.
|
||||
|
||||
## Modifier les paramètres d'optimisation d'image
|
||||
|
||||
Hugo dispose de diverses méthodes intégrées pour redimensionner, recadrer et optimiser les images.
|
||||
|
||||
À titre d'exemple - dans `layouts/partials/article-link/card.html`, vous avez le code suivant :
|
||||
|
||||
```go
|
||||
{{ with .Resize "600x" }}
|
||||
<div class="w-full thumbnail_card nozoom" style="background-image:url({{ .RelPermalink }});"></div>
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
Le comportement par défaut de Hugo ici est de redimensionner l'image à 600px en conservant le ratio.
|
||||
|
||||
Il est à noter que les configurations d'image par défaut telles que le [point d'ancrage](https://gohugo.io/content-management/image-processing/#anchor) peuvent également être définies dans votre [configuration de site](https://gohugo.io/content-management/image-processing/#processing-options) ainsi que dans le template lui-même.
|
||||
|
||||
Voir les [docs Hugo sur le traitement d'image](https://gohugo.io/content-management/image-processing/#image-processing-methods) pour plus d'infos.
|
||||
|
||||
## Schémas de couleurs
|
||||
|
||||
Blowfish est livré avec plusieurs schémas de couleurs prêts à l'emploi. Pour changer le schéma de couleurs de base, vous pouvez définir le paramètre de thème `colorScheme`. Référez-vous à la section [Premiers pas]({{< ref "getting-started#colour-schemes" >}}) pour en savoir plus sur les schémas intégrés.
|
||||
|
||||
En plus des schémas par défaut, vous pouvez également créer les vôtres et restyler l'ensemble du site web selon vos goûts. Les schémas sont créés en plaçant un fichier `<nom-du-schema>.css` dans le dossier `assets/css/schemes/`. Une fois le fichier créé, référencez-le simplement par son nom dans la configuration du thème.
|
||||
|
||||
{{< alert "github">}}
|
||||
**Note :** générer ces fichiers manuellement peut être difficile, j'ai créé un outil terminal `nodejs` pour aider avec cela, [Fugu](https://github.com/nunocoracao/fugu). En bref, vous passez les trois principales valeurs `hex` de votre palette de couleurs et le programme produira un fichier css qui peut être importé directement dans Blowfish.
|
||||
{{< /alert >}}
|
||||
|
||||
|
||||
Blowfish définit une palette de trois couleurs qui est utilisée tout au long du thème. Les trois couleurs sont définies comme variantes `neutral`, `primary` et `secondary`, chacune contenant dix nuances de couleur.
|
||||
|
||||
En raison de la façon dont Tailwind CSS 3.0 calcule les valeurs de couleur avec l'opacité, les couleurs spécifiées dans le schéma doivent [se conformer à un format particulier](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo) en fournissant les valeurs de couleur rouge, vert et bleu.
|
||||
|
||||
```css
|
||||
:root {
|
||||
--color-primary-500: 139, 92, 246;
|
||||
}
|
||||
```
|
||||
|
||||
Cet exemple définit une variable CSS pour la couleur `primary-500` avec une valeur rouge de `139`, une valeur verte de `92` et une valeur bleue de `246`.
|
||||
|
||||
Utilisez l'une des feuilles de style du thème existantes comme modèle. Vous êtes libre de définir vos propres couleurs, mais pour l'inspiration, consultez la [référence de palette de couleurs Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference) officielle.
|
||||
|
||||
## Remplacer la feuille de style
|
||||
|
||||
Parfois vous devez ajouter un style personnalisé pour styliser vos propres éléments HTML. Blowfish prévoit ce scénario en vous permettant de remplacer les styles par défaut dans votre propre feuille de style CSS. Créez simplement un fichier `custom.css` dans le dossier `assets/css/` de votre projet.
|
||||
|
||||
Le fichier `custom.css` sera minifié par Hugo et chargé automatiquement après tous les autres styles du thème, ce qui signifie que tout dans votre fichier personnalisé aura priorité sur les valeurs par défaut.
|
||||
|
||||
### Utiliser des polices supplémentaires
|
||||
|
||||
Blowfish vous permet de changer facilement la police de votre site. Après avoir créé un fichier `custom.css` dans le dossier `assets/css/` de votre projet, placez votre fichier de police dans un dossier `fonts` dans le dossier racine `static`.
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── custom.css
|
||||
...
|
||||
└─── static
|
||||
└── fonts
|
||||
└─── font.ttf
|
||||
|
||||
```
|
||||
|
||||
Cela rend la police disponible pour le site web. Maintenant, la police peut simplement être importée dans votre `custom.css` et remplacée où vous le jugez bon. L'exemple ci-dessous montre à quoi ressemblerait le remplacement de la police pour tout le `html`.
|
||||
|
||||
```css
|
||||
@font-face {
|
||||
font-family: font;
|
||||
src: url('/fonts/font.ttf');
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: font;
|
||||
}
|
||||
```
|
||||
|
||||
### Ajuster la taille de police
|
||||
|
||||
Changer la taille de police de votre site web est un exemple de remplacement de la feuille de style par défaut. Blowfish rend cela simple car il utilise des tailles de police mises à l'échelle tout au long du thème qui sont dérivées de la taille de police HTML de base. Par défaut, Tailwind définit la taille par défaut à `12pt`, mais elle peut être changée selon votre préférence.
|
||||
|
||||
Créez un fichier `custom.css` en utilisant les [instructions ci-dessus]({{< ref "#overriding-the-stylesheet" >}}) et ajoutez la déclaration CSS suivante :
|
||||
|
||||
```css
|
||||
/* Augmenter la taille de police par défaut */
|
||||
html {
|
||||
font-size: 13pt;
|
||||
}
|
||||
```
|
||||
|
||||
Simplement en changeant cette seule valeur, toutes les tailles de police sur votre site web seront ajustées pour correspondre à cette nouvelle taille. Par conséquent, pour augmenter les tailles de police globales utilisées, faites la valeur plus grande que `12pt`. De même, pour diminuer les tailles de police, faites la valeur plus petite que `12pt`.
|
||||
|
||||
### Changer le thème de coloration syntaxique
|
||||
|
||||
Pour changer le thème de coloration syntaxique, créez `assets/css/custom.css` et ajoutez ce qui suit :
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
Cela efface les styles Chroma par défaut. L'étape suivante est d'incorporer les styles Chroma dans votre fichier CSS en utilisant la commande `hugo gen chromastyles` :
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# Cette commande ne peut pas s'exécuter dans CMD ; elle doit s'exécuter dans PowerShell
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
Voir tous les styles disponibles dans la [documentation de Hugo](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles).
|
||||
|
||||
## Construire le CSS du thème depuis la source
|
||||
|
||||
Si vous souhaitez faire une modification majeure, vous pouvez tirer parti du compilateur JIT de Tailwind CSS et reconstruire tout le CSS du thème à partir de zéro. C'est utile si vous voulez ajuster la configuration Tailwind ou ajouter des classes Tailwind supplémentaires à la feuille de style principale.
|
||||
|
||||
{{< alert >}}
|
||||
**Note :** Construire le thème manuellement est destiné aux utilisateurs avancés.
|
||||
{{< /alert >}}
|
||||
|
||||
Voyons comment fonctionne la construction du Tailwind CSS.
|
||||
|
||||
### Configuration Tailwind
|
||||
|
||||
Pour générer un fichier CSS qui contient uniquement les classes Tailwind qui sont réellement utilisées, le compilateur JIT doit scanner tous les templates HTML et fichiers de contenu Markdown pour vérifier quels styles sont présents dans le markup. Le compilateur fait cela en regardant le fichier `tailwind.config.js` qui est inclus à la racine du répertoire du thème :
|
||||
|
||||
```js
|
||||
// themes/blowfish/tailwind.config.js
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
"./layouts/**/*.html",
|
||||
"./content/**/*.{html,md}",
|
||||
"./themes/blowfish/layouts/**/*.html",
|
||||
"./themes/blowfish/content/**/*.{html,md}",
|
||||
],
|
||||
|
||||
// et plus...
|
||||
};
|
||||
```
|
||||
|
||||
Cette configuration par défaut a été incluse avec ces chemins de contenu afin que vous puissiez facilement générer votre propre fichier CSS sans avoir besoin de la modifier, à condition de suivre une structure de projet particulière. À savoir, **vous devez inclure Blowfish dans votre projet comme un sous-répertoire à `themes/blowfish/`**. Cela signifie que vous ne pouvez pas facilement utiliser les modules Hugo pour installer le thème et vous devez opter pour l'installation par sous-module git (recommandé) ou l'installation manuelle. Les [docs d'installation]({{< ref "installation" >}}) expliquent comment installer le thème en utilisant l'une de ces méthodes.
|
||||
|
||||
### Structure du projet
|
||||
|
||||
Pour tirer parti de la configuration par défaut, votre projet devrait ressembler à quelque chose comme ceci...
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── compiled
|
||||
│ └── main.css # c'est le fichier que nous allons générer
|
||||
├── config # config du site
|
||||
│ └── _default
|
||||
├── content # contenu du site
|
||||
│ ├── _index.md
|
||||
│ ├── projects
|
||||
│ │ └── _index.md
|
||||
│ └── blog
|
||||
│ └── _index.md
|
||||
├── layouts # layouts personnalisés pour votre site
|
||||
│ ├── partials
|
||||
│ │ └── extend-article-link/simple.html
|
||||
│ ├── projects
|
||||
│ │ └── list.html
|
||||
│ └── shortcodes
|
||||
│ └── disclaimer.html
|
||||
└── themes
|
||||
└── blowfish # sous-module git ou installation manuelle du thème
|
||||
```
|
||||
|
||||
Cette structure d'exemple ajoute un nouveau type de contenu `projects` avec son propre layout personnalisé ainsi qu'un shortcode personnalisé et un partial étendu. Pourvu que le projet suive cette structure, tout ce qui est requis est de recompiler le fichier `main.css`.
|
||||
|
||||
### Installer les dépendances
|
||||
|
||||
Pour que cela fonctionne, vous devrez vous déplacer dans le répertoire `themes/blowfish/` et installer les dépendances du projet. Vous aurez besoin de [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install) sur votre machine locale pour cette étape.
|
||||
|
||||
```shell
|
||||
cd themes/blowfish
|
||||
npm install
|
||||
```
|
||||
|
||||
### Exécuter le compilateur Tailwind
|
||||
|
||||
Avec les dépendances installées, il ne reste plus qu'à utiliser [Tailwind CLI](https://tailwindcss.com/docs/installation/tailwind-cli) pour invoquer le compilateur JIT. Retournez à la racine de votre projet Hugo et lancez la commande suivante :
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
C'est une commande un peu laide à cause des chemins impliqués mais essentiellement vous appelez Tailwind CLI et lui passez l'emplacement du fichier de config Tailwind (celui que nous avons regardé ci-dessus), où trouver le fichier `main.css` du thème et ensuite où vous voulez que le fichier CSS compilé soit placé (il va dans le dossier `assets/css/compiled/` de votre projet Hugo).
|
||||
|
||||
Le fichier de config scannera automatiquement tout le contenu et les layouts de votre projet ainsi que tous ceux du thème et construira un nouveau fichier CSS qui contient tout le CSS requis pour votre site web. En raison de la façon dont Hugo gère la hiérarchie des fichiers, ce fichier dans votre projet remplacera maintenant automatiquement celui qui vient avec le thème.
|
||||
|
||||
Chaque fois que vous faites un changement dans vos layouts et avez besoin de nouveaux styles Tailwind CSS, vous pouvez simplement relancer la commande et générer le nouveau fichier CSS. Vous pouvez aussi ajouter `-w` à la fin de la commande pour exécuter le compilateur JIT en mode watch.
|
||||
|
||||
### Créer un script de build
|
||||
|
||||
Pour compléter entièrement cette solution, vous pouvez simplifier tout ce processus en ajoutant des alias pour ces commandes, ou faire ce que je fais et ajouter un `package.json` à la racine de votre projet qui contient les scripts nécessaires...
|
||||
|
||||
```js
|
||||
// package.json
|
||||
|
||||
{
|
||||
"name": "my-website",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// et plus...
|
||||
}
|
||||
```
|
||||
|
||||
Maintenant quand vous voulez travailler sur le design de votre site, vous pouvez invoquer `npm run dev` et le compilateur s'exécutera en mode watch. Quand vous êtes prêt à déployer, lancez `npm run build` et vous aurez un build Tailwind CSS propre.
|
||||
|
||||
🙋♀️ Si vous avez besoin d'aide, n'hésitez pas à poser une question sur [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
@@ -124,6 +124,36 @@ html {
|
||||
|
||||
Simply by changing this one value, all the font sizes on your website will be adjusted to match this new size. Therefore, to increase the overall font sizes used, make the value greater than `12pt`. Similarly, to decrease the font sizes, make the value less than `12pt`.
|
||||
|
||||
### Changing Syntax Highlighting Theme
|
||||
|
||||
To change the syntax highlighting theme, create `assets/css/custom.css` and add the following:
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
This clears the default Chroma styles. The next step is to incorporate Chroma styles into your CSS file using the `hugo gen chromastyles` command:
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# This command cannot run in CMD; it must run in PowerShell
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
See all available styles in [Hugo's documentation](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles).
|
||||
|
||||
## Building the theme CSS from source
|
||||
|
||||
If you'd like to make a major change, you can take advantage of Tailwind CSS's JIT compiler and rebuild the entire theme CSS from scratch. This is useful if you want to adjust the Tailwind configuration or add extra Tailwind classes to the main stylesheet.
|
||||
@@ -201,7 +231,7 @@ With the dependencies installed all that's left is to use [Tailwind CLI](https:/
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
It's a bit of an ugly command due to the paths involved but essentially you're calling Tailwind CLI and passing it the location of the Tailwind config file (the one we looked at above), where to find the theme's `main.css` file and then where you want the compiled CSS file to be placed (it's going into the `assets/css/compiled/` folder of your Hugo project).
|
||||
@@ -223,8 +253,8 @@ To fully complete this solution, you can simplify this whole process by adding a
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// and more...
|
||||
}
|
||||
|
||||
@@ -125,6 +125,36 @@ html {
|
||||
|
||||
この1つの値を変更するだけで、ウェブサイトのすべてのフォントサイズがこの新しいサイズに合わせて調整されます。なので、使用されるフォントサイズ全体を大きくするには、値を `12pt` より大きくすれば良いです。同様に、フォントサイズを小さくするには、値を `12pt` より小さくすれば良いです。
|
||||
|
||||
### シンタックスハイライトテーマの変更
|
||||
|
||||
構文ハイライトテーマを変更するには、`assets/css/custom.css` を作成し、次の内容を追加してください:
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
これによりデフォルトの Chroma スタイルがクリアされます。次に `hugo gen chromastyles` コマンドで CSS ファイルに Chroma スタイルを組み込みます:
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# このコマンドは CMD では実行できず PowerShell で実行する必要がある
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
すべての利用可能なスタイルは、[Hugo のドキュメント](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles)で確認できます。
|
||||
|
||||
## ソースからテーマ CSS をビルドする
|
||||
|
||||
大幅な変更を加えたい場合は、Tailwind CSS の JIT コンパイラを利用して、テーマ CSS 全体を最初から再構築できます。これは、Tailwind 設定を調整したり、メインスタイルシートに追加の Tailwind クラスを追加したりする場合に便利です。
|
||||
@@ -202,7 +232,7 @@ npm install
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
関係するパスのため少し見苦しいコマンドですが、基本的に Tailwind CLI を呼び出し、Tailwind 設定ファイルの場所(上で見たもの)、テーマの `main.css` ファイルの場所、そしてコンパイル済み CSS ファイルを配置する場所(Hugo プロジェクトの `assets/css/compiled/` フォルダ)を渡しています。
|
||||
@@ -224,8 +254,8 @@ cd ../..
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// その他...
|
||||
}
|
||||
|
||||
@@ -124,67 +124,48 @@ html {
|
||||
|
||||
Simply by changing this one value, all the font sizes on your website will be adjusted to match this new size. Therefore, to increase the overall font sizes used, make the value greater than `12pt`. Similarly, to decrease the font sizes, make the value less than `12pt`.
|
||||
|
||||
### Changing Syntax Highlighting Theme
|
||||
|
||||
To change the syntax highlighting theme, create `assets/css/custom.css` and add the following:
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
This clears the default Chroma styles. The next step is to incorporate Chroma styles into your CSS file using the `hugo gen chromastyles` command:
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# This command cannot run in CMD; it must run in PowerShell
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
See all available styles in [Hugo's documentation](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles).
|
||||
|
||||
## Building the theme CSS from source
|
||||
|
||||
If you'd like to make a major change, you can take advantage of Tailwind CSS's JIT compiler and rebuild the entire theme CSS from scratch. This is useful if you want to adjust the Tailwind configuration or add extra Tailwind classes to the main stylesheet.
|
||||
If you'd like to make a major change, you can rebuild the entire theme CSS from scratch. This is useful if you want to adjust the Tailwind configuration or add extra Tailwind classes to the main stylesheet.
|
||||
|
||||
{{< alert >}}
|
||||
**Note:** Building the theme manually is intended for advanced users.
|
||||
{{< /alert >}}
|
||||
> [!INFO]
|
||||
> Building the theme manually is intended for advanced users.
|
||||
|
||||
Let's step through how building the Tailwind CSS works.
|
||||
### How it works
|
||||
|
||||
### Tailwind configuration
|
||||
Tailwind works by [scanning your project files](https://tailwindcss.com/docs/detecting-classes-in-source-files#which-files-are-scanned) as plain text to find class-like tokens and then generating CSS only for the utilities it recognizes and that actually appear in those files.
|
||||
|
||||
In order to generate a CSS file that only contains the Tailwind classes that are actually being used the JIT compiler needs to scan through all the HTML templates and Markdown content files to check which styles are present in the markup. The compiler does this by looking at the `tailwind.config.js` file which is included in the root of the theme directory:
|
||||
|
||||
```js
|
||||
// themes/blowfish/tailwind.config.js
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
"./layouts/**/*.html",
|
||||
"./content/**/*.{html,md}",
|
||||
"./themes/blowfish/layouts/**/*.html",
|
||||
"./themes/blowfish/content/**/*.{html,md}",
|
||||
],
|
||||
|
||||
// and more...
|
||||
};
|
||||
```
|
||||
|
||||
This default configuration has been included with these content paths so that you can easily generate your own CSS file without needing to modify it, provided you follow a particular project structure. Namely, **you have to include Blowfish in your project as a subdirectory at `themes/blowfish/`**. This means you cannot easily use Hugo Modules to install the theme and you must go down either the git submodule (recommended) or manual install routes. The [Installation docs]({{< ref "installation" >}}) explain how to install the theme using either of these methods.
|
||||
|
||||
### Project structure
|
||||
|
||||
In order to take advantage of the default configuration, your project should look something like this...
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── compiled
|
||||
│ └── main.css # this is the file we will generate
|
||||
├── config # site config
|
||||
│ └── _default
|
||||
├── content # site content
|
||||
│ ├── _index.md
|
||||
│ ├── projects
|
||||
│ │ └── _index.md
|
||||
│ └── blog
|
||||
│ └── _index.md
|
||||
├── layouts # custom layouts for your site
|
||||
│ ├── partials
|
||||
│ │ └── extend-article-link/simple.html
|
||||
│ ├── projects
|
||||
│ │ └── list.html
|
||||
│ └── shortcodes
|
||||
│ └── disclaimer.html
|
||||
└── themes
|
||||
└── blowfish # git submodule or manual theme install
|
||||
```
|
||||
|
||||
This example structure adds a new `projects` content type with its own custom layout along with a custom shortcode and extended partial. Provided the project follows this structure, all that's required is to recompile the `main.css` file.
|
||||
The following steps focus on installing Tailwind and configuring it so the theme source files are correctly included in this scan. All commands are demonstrated for users who installed the theme as a [Git submodule]({{< ref "installation" >}}), while Hugo Module users must first vendor the theme source into the `_vendor` directory using `hugo mod vendor` and adjust the command paths accordingly.
|
||||
|
||||
### Install dependencies
|
||||
|
||||
@@ -201,12 +182,10 @@ With the dependencies installed all that's left is to use [Tailwind CLI](https:/
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
It's a bit of an ugly command due to the paths involved but essentially you're calling Tailwind CLI and passing it the location of the Tailwind config file (the one we looked at above), where to find the theme's `main.css` file and then where you want the compiled CSS file to be placed (it's going into the `assets/css/compiled/` folder of your Hugo project).
|
||||
|
||||
The config file will automatically inspect all the content and layouts in your project as well as all those in the theme and build a new CSS file that contains all the CSS required for your website. Due to the way Hugo handles file hierarchy, this file in your project will now automatically override the one that comes with the theme.
|
||||
It's a bit of an ugly command due to the paths involved but essentially you're calling Tailwind CLI and passing it the location of the Tailwind config file, where to find the theme's `main.css` file and then where you want the compiled CSS file to be placed. Due to the way Hugo handles file hierarchy, the compiled CSS file in your project will now automatically override the one that comes with the theme.
|
||||
|
||||
Each time you make a change to your layouts and need new Tailwind CSS styles, you can simply re-run the command and generate the new CSS file. You can also add `-w` to the end of the command to run the JIT compiler in watch mode.
|
||||
|
||||
@@ -223,8 +202,8 @@ To fully complete this solution, you can simplify this whole process by adding a
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// and more...
|
||||
}
|
||||
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
title: "Personalização avançada"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Aprenda como construir o Blowfish manualmente."
|
||||
slug: "advanced-customisation"
|
||||
tags: ["avançado", "css", "documentação"]
|
||||
series: ["Documentação"]
|
||||
series_order: 13
|
||||
---
|
||||
|
||||
Existem muitas maneiras de fazer alterações avançadas no Blowfish. Leia abaixo para saber mais sobre o que pode ser personalizado e a melhor forma de alcançar o resultado desejado.
|
||||
|
||||
Se precisar de mais orientação, poste suas perguntas nas [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
|
||||
## Estrutura do projeto Hugo
|
||||
|
||||
Antes de começar, primeiro uma nota rápida sobre a [estrutura do projeto Hugo](https://gohugo.io/getting-started/directory-structure/) e as melhores práticas para gerenciar seu conteúdo e personalizações do tema.
|
||||
|
||||
{{< alert >}}
|
||||
**Em resumo:** Nunca edite diretamente os arquivos do tema. Apenas faça personalizações nos subdiretórios do seu projeto Hugo, não no diretório themes em si.
|
||||
{{< /alert >}}
|
||||
|
||||
O Blowfish foi construído para aproveitar todas as práticas padrão do Hugo. Ele é projetado para permitir que todos os aspectos do tema sejam personalizados e substituídos sem alterar nenhum dos arquivos principais do tema. Isso permite uma experiência de atualização perfeita enquanto oferece controle total sobre a aparência e o funcionamento do seu site.
|
||||
|
||||
Para conseguir isso, você nunca deve ajustar manualmente nenhum dos arquivos do tema diretamente. Seja instalando usando módulos Hugo, como um submódulo git ou incluindo manualmente o tema no seu diretório `themes/`, você deve sempre deixar esses arquivos intactos.
|
||||
|
||||
A maneira correta de ajustar qualquer comportamento do tema é substituindo arquivos usando a poderosa [ordem de busca de arquivos](https://gohugo.io/templates/lookup-order/) do Hugo. Em resumo, a ordem de busca garante que quaisquer arquivos que você incluir no diretório do seu projeto terão automaticamente precedência sobre quaisquer arquivos do tema.
|
||||
|
||||
Por exemplo, se você quisesse substituir o template principal de artigo no Blowfish, você pode simplesmente criar seu próprio arquivo `layouts/_default/single.html` e colocá-lo na raiz do seu projeto. Este arquivo então substituirá o `single.html` do tema sem nunca alterar o tema em si. Isso funciona para qualquer arquivo do tema - templates HTML, partials, shortcodes, arquivos de configuração, dados, assets, etc.
|
||||
|
||||
Enquanto você seguir esta prática simples, você sempre poderá atualizar o tema (ou testar diferentes versões do tema) sem se preocupar em perder nenhuma de suas alterações personalizadas.
|
||||
|
||||
## Alterar configurações de otimização de imagem
|
||||
|
||||
Hugo tem vários métodos integrados para redimensionar, cortar e otimizar imagens.
|
||||
|
||||
Como exemplo - em `layouts/partials/article-link/card.html`, você tem o seguinte código:
|
||||
|
||||
```go
|
||||
{{ with .Resize "600x" }}
|
||||
<div class="w-full thumbnail_card nozoom" style="background-image:url({{ .RelPermalink }});"></div>
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
O comportamento padrão do Hugo aqui é redimensionar a imagem para 600px mantendo a proporção.
|
||||
|
||||
Vale notar que as configurações de imagem padrão como o [ponto de ancoragem](https://gohugo.io/content-management/image-processing/#anchor) também podem ser definidas na sua [configuração do site](https://gohugo.io/content-management/image-processing/#processing-options) assim como no próprio template.
|
||||
|
||||
Veja os [docs do Hugo sobre processamento de imagens](https://gohugo.io/content-management/image-processing/#image-processing-methods) para mais informações.
|
||||
|
||||
## Esquemas de cores
|
||||
|
||||
O Blowfish vem com vários esquemas de cores prontos para usar. Para alterar o esquema de cores básico, você pode definir o parâmetro do tema `colorScheme`. Consulte a seção [Primeiros passos]({{< ref "getting-started#colour-schemes" >}}) para saber mais sobre os esquemas integrados.
|
||||
|
||||
Além dos esquemas padrão, você também pode criar os seus próprios e re-estilizar todo o site ao seu gosto. Os esquemas são criados colocando um arquivo `<nome-do-esquema>.css` na pasta `assets/css/schemes/`. Uma vez criado o arquivo, simplesmente referencie-o pelo nome na configuração do tema.
|
||||
|
||||
{{< alert "github">}}
|
||||
**Nota:** gerar esses arquivos manualmente pode ser difícil, eu construí uma ferramenta de terminal `nodejs` para ajudar com isso, [Fugu](https://github.com/nunocoracao/fugu). Em resumo, você passa os três valores `hex` principais da sua paleta de cores e o programa produzirá um arquivo css que pode ser importado diretamente no Blowfish.
|
||||
{{< /alert >}}
|
||||
|
||||
|
||||
O Blowfish define uma paleta de três cores que é usada em todo o tema. As três cores são definidas como variantes `neutral`, `primary` e `secondary`, cada uma contendo dez tons de cor.
|
||||
|
||||
Devido à forma como o Tailwind CSS 3.0 calcula os valores de cor com opacidade, as cores especificadas no esquema precisam [conformar-se a um formato particular](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo) fornecendo os valores de cor vermelho, verde e azul.
|
||||
|
||||
```css
|
||||
:root {
|
||||
--color-primary-500: 139, 92, 246;
|
||||
}
|
||||
```
|
||||
|
||||
Este exemplo define uma variável CSS para a cor `primary-500` com um valor vermelho de `139`, valor verde de `92` e valor azul de `246`.
|
||||
|
||||
Use uma das folhas de estilo do tema existentes como modelo. Você é livre para definir suas próprias cores, mas para inspiração, confira a [referência da paleta de cores do Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference) oficial.
|
||||
|
||||
## Substituir a folha de estilos
|
||||
|
||||
Às vezes você precisa adicionar um estilo personalizado para estilizar seus próprios elementos HTML. O Blowfish prevê este cenário permitindo que você substitua os estilos padrão na sua própria folha de estilos CSS. Simplesmente crie um arquivo `custom.css` na pasta `assets/css/` do seu projeto.
|
||||
|
||||
O arquivo `custom.css` será minificado pelo Hugo e carregado automaticamente após todos os outros estilos do tema, o que significa que qualquer coisa no seu arquivo personalizado terá precedência sobre os padrões.
|
||||
|
||||
### Usar fontes adicionais
|
||||
|
||||
O Blowfish permite que você altere facilmente a fonte do seu site. Após criar um arquivo `custom.css` na pasta `assets/css/` do seu projeto, coloque seu arquivo de fonte dentro de uma pasta `fonts` na pasta raiz `static`.
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── custom.css
|
||||
...
|
||||
└─── static
|
||||
└── fonts
|
||||
└─── font.ttf
|
||||
|
||||
```
|
||||
|
||||
Isso torna a fonte disponível para o site. Agora, a fonte pode simplesmente ser importada no seu `custom.css` e substituída onde você achar melhor. O exemplo abaixo mostra como seria substituir a fonte para todo o `html`.
|
||||
|
||||
```css
|
||||
@font-face {
|
||||
font-family: font;
|
||||
src: url('/fonts/font.ttf');
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: font;
|
||||
}
|
||||
```
|
||||
|
||||
### Ajustar o tamanho da fonte
|
||||
|
||||
Alterar o tamanho da fonte do seu site é um exemplo de substituição da folha de estilos padrão. O Blowfish torna isso simples pois usa tamanhos de fonte escalados em todo o tema que são derivados do tamanho da fonte HTML base. Por padrão, o Tailwind define o tamanho padrão como `12pt`, mas pode ser alterado para qualquer valor que você preferir.
|
||||
|
||||
Crie um arquivo `custom.css` usando as [instruções acima]({{< ref "#overriding-the-stylesheet" >}}) e adicione a seguinte declaração CSS:
|
||||
|
||||
```css
|
||||
/* Aumentar o tamanho de fonte padrão */
|
||||
html {
|
||||
font-size: 13pt;
|
||||
}
|
||||
```
|
||||
|
||||
Simplesmente alterando este único valor, todos os tamanhos de fonte no seu site serão ajustados para corresponder a este novo tamanho. Portanto, para aumentar os tamanhos de fonte gerais usados, faça o valor maior que `12pt`. Da mesma forma, para diminuir os tamanhos de fonte, faça o valor menor que `12pt`.
|
||||
|
||||
### Alterar o tema de destaque de sintaxe
|
||||
|
||||
Para alterar o tema de destaque de sintaxe, crie `assets/css/custom.css` e adicione o seguinte:
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
Isso limpa os estilos padrão do Chroma. O próximo passo é incorporar os estilos do Chroma no seu arquivo CSS usando o comando `hugo gen chromastyles`:
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# Este comando não pode ser executado no CMD; deve ser executado no PowerShell
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
Veja todos os estilos disponíveis na [documentação do Hugo](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles).
|
||||
|
||||
## Construir o CSS do tema a partir da fonte
|
||||
|
||||
Se você quiser fazer uma alteração maior, pode aproveitar o compilador JIT do Tailwind CSS e reconstruir todo o CSS do tema do zero. Isso é útil se você quiser ajustar a configuração do Tailwind ou adicionar classes extras do Tailwind à folha de estilos principal.
|
||||
|
||||
{{< alert >}}
|
||||
**Nota:** Construir o tema manualmente é destinado a usuários avançados.
|
||||
{{< /alert >}}
|
||||
|
||||
Vamos ver como funciona a construção do Tailwind CSS.
|
||||
|
||||
### Configuração do Tailwind
|
||||
|
||||
Para gerar um arquivo CSS que contenha apenas as classes do Tailwind que estão realmente sendo usadas, o compilador JIT precisa escanear todos os templates HTML e arquivos de conteúdo Markdown para verificar quais estilos estão presentes no markup. O compilador faz isso olhando o arquivo `tailwind.config.js` que está incluído na raiz do diretório do tema:
|
||||
|
||||
```js
|
||||
// themes/blowfish/tailwind.config.js
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
"./layouts/**/*.html",
|
||||
"./content/**/*.{html,md}",
|
||||
"./themes/blowfish/layouts/**/*.html",
|
||||
"./themes/blowfish/content/**/*.{html,md}",
|
||||
],
|
||||
|
||||
// e mais...
|
||||
};
|
||||
```
|
||||
|
||||
Esta configuração padrão foi incluída com esses caminhos de conteúdo para que você possa facilmente gerar seu próprio arquivo CSS sem precisar modificá-la, desde que siga uma estrutura de projeto particular. Ou seja, **você tem que incluir o Blowfish no seu projeto como um subdiretório em `themes/blowfish/`**. Isso significa que você não pode facilmente usar os módulos Hugo para instalar o tema e deve optar pela instalação por submódulo git (recomendado) ou instalação manual. Os [docs de instalação]({{< ref "installation" >}}) explicam como instalar o tema usando qualquer um desses métodos.
|
||||
|
||||
### Estrutura do projeto
|
||||
|
||||
Para aproveitar a configuração padrão, seu projeto deve se parecer com algo assim...
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── compiled
|
||||
│ └── main.css # este é o arquivo que vamos gerar
|
||||
├── config # config do site
|
||||
│ └── _default
|
||||
├── content # conteúdo do site
|
||||
│ ├── _index.md
|
||||
│ ├── projects
|
||||
│ │ └── _index.md
|
||||
│ └── blog
|
||||
│ └── _index.md
|
||||
├── layouts # layouts personalizados para seu site
|
||||
│ ├── partials
|
||||
│ │ └── extend-article-link/simple.html
|
||||
│ ├── projects
|
||||
│ │ └── list.html
|
||||
│ └── shortcodes
|
||||
│ └── disclaimer.html
|
||||
└── themes
|
||||
└── blowfish # submódulo git ou instalação manual do tema
|
||||
```
|
||||
|
||||
Esta estrutura de exemplo adiciona um novo tipo de conteúdo `projects` com seu próprio layout personalizado junto com um shortcode personalizado e partial estendido. Desde que o projeto siga esta estrutura, tudo o que é necessário é recompilar o arquivo `main.css`.
|
||||
|
||||
### Instalar dependências
|
||||
|
||||
Para que isso funcione, você precisará mudar para o diretório `themes/blowfish/` e instalar as dependências do projeto. Você precisará do [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install) na sua máquina local para esta etapa.
|
||||
|
||||
```shell
|
||||
cd themes/blowfish
|
||||
npm install
|
||||
```
|
||||
|
||||
### Executar o compilador do Tailwind
|
||||
|
||||
Com as dependências instaladas, tudo o que resta é usar o [Tailwind CLI](https://tailwindcss.com/docs/installation/tailwind-cli) para invocar o compilador JIT. Navegue de volta para a raiz do seu projeto Hugo e execute o seguinte comando:
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
É um comando um pouco feio devido aos caminhos envolvidos, mas essencialmente você está chamando o Tailwind CLI e passando a localização do arquivo de config do Tailwind (o que vimos acima), onde encontrar o arquivo `main.css` do tema e então onde você quer que o arquivo CSS compilado seja colocado (ele vai para a pasta `assets/css/compiled/` do seu projeto Hugo).
|
||||
|
||||
O arquivo de config escaneará automaticamente todo o conteúdo e layouts no seu projeto assim como todos os do tema e construirá um novo arquivo CSS que contém todo o CSS necessário para seu site. Devido à forma como o Hugo lida com a hierarquia de arquivos, este arquivo no seu projeto agora substituirá automaticamente o que vem com o tema.
|
||||
|
||||
Cada vez que você fizer uma alteração nos seus layouts e precisar de novos estilos do Tailwind CSS, você pode simplesmente executar o comando novamente e gerar o novo arquivo CSS. Você também pode adicionar `-w` ao final do comando para executar o compilador JIT em modo watch.
|
||||
|
||||
### Criar um script de build
|
||||
|
||||
Para completar totalmente esta solução, você pode simplificar todo este processo adicionando aliases para estes comandos, ou fazer o que eu faço e adicionar um `package.json` à raiz do seu projeto que contenha os scripts necessários...
|
||||
|
||||
```js
|
||||
// package.json
|
||||
|
||||
{
|
||||
"name": "my-website",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// e mais...
|
||||
}
|
||||
```
|
||||
|
||||
Agora quando você quiser trabalhar no design do seu site, pode invocar `npm run dev` e o compilador será executado em modo watch. Quando estiver pronto para implantar, execute `npm run build` e você terá um build limpo do Tailwind CSS.
|
||||
|
||||
🙋♀️ Se precisar de ajuda, sinta-se à vontade para fazer uma pergunta nas [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
title: "Personalização avançada"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Aprenda como construir o Blowfish manualmente."
|
||||
slug: "advanced-customisation"
|
||||
tags: ["avançado", "css", "documentação"]
|
||||
series: ["Documentação"]
|
||||
series_order: 13
|
||||
---
|
||||
|
||||
Existem muitas formas de fazer alterações avançadas ao Blowfish. Leia abaixo para saber mais sobre o que pode ser personalizado e a melhor forma de alcançar o resultado desejado.
|
||||
|
||||
Se precisar de mais orientação, publique as suas perguntas nas [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
|
||||
## Estrutura do projeto Hugo
|
||||
|
||||
Antes de começar, primeiro uma nota rápida sobre a [estrutura do projeto Hugo](https://gohugo.io/getting-started/directory-structure/) e as melhores práticas para gerir o seu conteúdo e personalizações do tema.
|
||||
|
||||
{{< alert >}}
|
||||
**Em resumo:** Nunca edite diretamente os ficheiros do tema. Apenas faça personalizações nos subdiretórios do seu projeto Hugo, não no diretório themes em si.
|
||||
{{< /alert >}}
|
||||
|
||||
O Blowfish foi construído para aproveitar todas as práticas padrão do Hugo. Está concebido para permitir que todos os aspetos do tema sejam personalizados e substituídos sem alterar nenhum dos ficheiros principais do tema. Isto permite uma experiência de atualização perfeita enquanto oferece controlo total sobre a aparência e o funcionamento do seu website.
|
||||
|
||||
Para conseguir isto, nunca deve ajustar manualmente nenhum dos ficheiros do tema diretamente. Quer instale utilizando módulos Hugo, como um submódulo git ou incluindo manualmente o tema no seu diretório `themes/`, deve sempre deixar estes ficheiros intactos.
|
||||
|
||||
A forma correta de ajustar qualquer comportamento do tema é substituindo ficheiros utilizando a poderosa [ordem de pesquisa de ficheiros](https://gohugo.io/templates/lookup-order/) do Hugo. Em resumo, a ordem de pesquisa garante que quaisquer ficheiros que inclua no diretório do seu projeto terão automaticamente precedência sobre quaisquer ficheiros do tema.
|
||||
|
||||
Por exemplo, se quisesse substituir o template principal de artigo no Blowfish, pode simplesmente criar o seu próprio ficheiro `layouts/_default/single.html` e colocá-lo na raiz do seu projeto. Este ficheiro então substituirá o `single.html` do tema sem nunca alterar o tema em si. Isto funciona para qualquer ficheiro do tema - templates HTML, partials, shortcodes, ficheiros de configuração, dados, assets, etc.
|
||||
|
||||
Enquanto seguir esta prática simples, poderá sempre atualizar o tema (ou testar diferentes versões do tema) sem se preocupar em perder nenhuma das suas alterações personalizadas.
|
||||
|
||||
## Alterar definições de otimização de imagem
|
||||
|
||||
O Hugo tem vários métodos integrados para redimensionar, cortar e otimizar imagens.
|
||||
|
||||
Como exemplo - em `layouts/partials/article-link/card.html`, tem o seguinte código:
|
||||
|
||||
```go
|
||||
{{ with .Resize "600x" }}
|
||||
<div class="w-full thumbnail_card nozoom" style="background-image:url({{ .RelPermalink }});"></div>
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
O comportamento predefinido do Hugo aqui é redimensionar a imagem para 600px mantendo a proporção.
|
||||
|
||||
Vale notar que as configurações de imagem predefinidas como o [ponto de ancoragem](https://gohugo.io/content-management/image-processing/#anchor) também podem ser definidas na sua [configuração do site](https://gohugo.io/content-management/image-processing/#processing-options) assim como no próprio template.
|
||||
|
||||
Veja os [docs do Hugo sobre processamento de imagens](https://gohugo.io/content-management/image-processing/#image-processing-methods) para mais informações.
|
||||
|
||||
## Esquemas de cores
|
||||
|
||||
O Blowfish vem com vários esquemas de cores prontos a utilizar. Para alterar o esquema de cores básico, pode definir o parâmetro do tema `colorScheme`. Consulte a secção [Primeiros passos]({{< ref "getting-started#colour-schemes" >}}) para saber mais sobre os esquemas integrados.
|
||||
|
||||
Além dos esquemas predefinidos, também pode criar os seus próprios e re-estilizar todo o website ao seu gosto. Os esquemas são criados colocando um ficheiro `<nome-do-esquema>.css` na pasta `assets/css/schemes/`. Uma vez criado o ficheiro, simplesmente referencie-o pelo nome na configuração do tema.
|
||||
|
||||
{{< alert "github">}}
|
||||
**Nota:** gerar estes ficheiros manualmente pode ser difícil, eu construí uma ferramenta de terminal `nodejs` para ajudar com isso, [Fugu](https://github.com/nunocoracao/fugu). Em resumo, passa os três valores `hex` principais da sua paleta de cores e o programa produzirá um ficheiro css que pode ser importado diretamente no Blowfish.
|
||||
{{< /alert >}}
|
||||
|
||||
|
||||
O Blowfish define uma paleta de três cores que é utilizada em todo o tema. As três cores são definidas como variantes `neutral`, `primary` e `secondary`, cada uma contendo dez tons de cor.
|
||||
|
||||
Devido à forma como o Tailwind CSS 3.0 calcula os valores de cor com opacidade, as cores especificadas no esquema precisam de [conformar-se a um formato particular](https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo) fornecendo os valores de cor vermelho, verde e azul.
|
||||
|
||||
```css
|
||||
:root {
|
||||
--color-primary-500: 139, 92, 246;
|
||||
}
|
||||
```
|
||||
|
||||
Este exemplo define uma variável CSS para a cor `primary-500` com um valor vermelho de `139`, valor verde de `92` e valor azul de `246`.
|
||||
|
||||
Utilize uma das folhas de estilo do tema existentes como modelo. É livre de definir as suas próprias cores, mas para inspiração, consulte a [referência da paleta de cores do Tailwind](https://tailwindcss.com/docs/customizing-colors#color-palette-reference) oficial.
|
||||
|
||||
## Substituir a folha de estilos
|
||||
|
||||
Por vezes precisa de adicionar um estilo personalizado para estilizar os seus próprios elementos HTML. O Blowfish prevê este cenário permitindo que substitua os estilos predefinidos na sua própria folha de estilos CSS. Simplesmente crie um ficheiro `custom.css` na pasta `assets/css/` do seu projeto.
|
||||
|
||||
O ficheiro `custom.css` será minificado pelo Hugo e carregado automaticamente após todos os outros estilos do tema, o que significa que qualquer coisa no seu ficheiro personalizado terá precedência sobre os valores predefinidos.
|
||||
|
||||
### Utilizar tipos de letra adicionais
|
||||
|
||||
O Blowfish permite que altere facilmente o tipo de letra do seu site. Após criar um ficheiro `custom.css` na pasta `assets/css/` do seu projeto, coloque o seu ficheiro de tipo de letra dentro de uma pasta `fonts` na pasta raiz `static`.
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── custom.css
|
||||
...
|
||||
└─── static
|
||||
└── fonts
|
||||
└─── font.ttf
|
||||
|
||||
```
|
||||
|
||||
Isto torna o tipo de letra disponível para o website. Agora, o tipo de letra pode simplesmente ser importado no seu `custom.css` e substituído onde achar melhor. O exemplo abaixo mostra como seria substituir o tipo de letra para todo o `html`.
|
||||
|
||||
```css
|
||||
@font-face {
|
||||
font-family: font;
|
||||
src: url('/fonts/font.ttf');
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: font;
|
||||
}
|
||||
```
|
||||
|
||||
### Ajustar o tamanho do tipo de letra
|
||||
|
||||
Alterar o tamanho do tipo de letra do seu website é um exemplo de substituição da folha de estilos predefinida. O Blowfish torna isto simples pois utiliza tamanhos de tipo de letra escalados em todo o tema que são derivados do tamanho do tipo de letra HTML base. Por predefinição, o Tailwind define o tamanho predefinido como `12pt`, mas pode ser alterado para qualquer valor que preferir.
|
||||
|
||||
Crie um ficheiro `custom.css` utilizando as [instruções acima]({{< ref "#overriding-the-stylesheet" >}}) e adicione a seguinte declaração CSS:
|
||||
|
||||
```css
|
||||
/* Aumentar o tamanho de tipo de letra predefinido */
|
||||
html {
|
||||
font-size: 13pt;
|
||||
}
|
||||
```
|
||||
|
||||
Simplesmente alterando este único valor, todos os tamanhos de tipo de letra no seu website serão ajustados para corresponder a este novo tamanho. Portanto, para aumentar os tamanhos de tipo de letra gerais utilizados, faça o valor maior que `12pt`. Da mesma forma, para diminuir os tamanhos de tipo de letra, faça o valor menor que `12pt`.
|
||||
|
||||
### Alterar o tema de destaque de sintaxe
|
||||
|
||||
Para alterar o tema de destaque de sintaxe, crie `assets/css/custom.css` e adicione o seguinte:
|
||||
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
Isto limpa os estilos predefinidos do Chroma. O próximo passo é incorporar os estilos do Chroma no seu ficheiro CSS utilizando o comando `hugo gen chromastyles`:
|
||||
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
# Windows PowerShell
|
||||
# Este comando não pode ser executado no CMD; deve ser executado no PowerShell
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
Veja todos os estilos disponíveis na [documentação do Hugo](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles).
|
||||
|
||||
## Construir o CSS do tema a partir da fonte
|
||||
|
||||
Se quiser fazer uma alteração maior, pode aproveitar o compilador JIT do Tailwind CSS e reconstruir todo o CSS do tema do zero. Isto é útil se quiser ajustar a configuração do Tailwind ou adicionar classes extra do Tailwind à folha de estilos principal.
|
||||
|
||||
{{< alert >}}
|
||||
**Nota:** Construir o tema manualmente destina-se a utilizadores avançados.
|
||||
{{< /alert >}}
|
||||
|
||||
Vamos ver como funciona a construção do Tailwind CSS.
|
||||
|
||||
### Configuração do Tailwind
|
||||
|
||||
Para gerar um ficheiro CSS que contenha apenas as classes do Tailwind que estão realmente a ser utilizadas, o compilador JIT precisa de analisar todos os templates HTML e ficheiros de conteúdo Markdown para verificar quais estilos estão presentes no markup. O compilador faz isto olhando para o ficheiro `tailwind.config.js` que está incluído na raiz do diretório do tema:
|
||||
|
||||
```js
|
||||
// themes/blowfish/tailwind.config.js
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
"./layouts/**/*.html",
|
||||
"./content/**/*.{html,md}",
|
||||
"./themes/blowfish/layouts/**/*.html",
|
||||
"./themes/blowfish/content/**/*.{html,md}",
|
||||
],
|
||||
|
||||
// e mais...
|
||||
};
|
||||
```
|
||||
|
||||
Esta configuração predefinida foi incluída com estes caminhos de conteúdo para que possa facilmente gerar o seu próprio ficheiro CSS sem precisar de modificá-la, desde que siga uma estrutura de projeto particular. Ou seja, **tem de incluir o Blowfish no seu projeto como um subdiretório em `themes/blowfish/`**. Isto significa que não pode facilmente utilizar os módulos Hugo para instalar o tema e deve optar pela instalação por submódulo git (recomendado) ou instalação manual. Os [docs de instalação]({{< ref "installation" >}}) explicam como instalar o tema utilizando qualquer um destes métodos.
|
||||
|
||||
### Estrutura do projeto
|
||||
|
||||
Para aproveitar a configuração predefinida, o seu projeto deve parecer-se com algo assim...
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── compiled
|
||||
│ └── main.css # este é o ficheiro que vamos gerar
|
||||
├── config # config do site
|
||||
│ └── _default
|
||||
├── content # conteúdo do site
|
||||
│ ├── _index.md
|
||||
│ ├── projects
|
||||
│ │ └── _index.md
|
||||
│ └── blog
|
||||
│ └── _index.md
|
||||
├── layouts # layouts personalizados para o seu site
|
||||
│ ├── partials
|
||||
│ │ └── extend-article-link/simple.html
|
||||
│ ├── projects
|
||||
│ │ └── list.html
|
||||
│ └── shortcodes
|
||||
│ └── disclaimer.html
|
||||
└── themes
|
||||
└── blowfish # submódulo git ou instalação manual do tema
|
||||
```
|
||||
|
||||
Esta estrutura de exemplo adiciona um novo tipo de conteúdo `projects` com o seu próprio layout personalizado juntamente com um shortcode personalizado e partial estendido. Desde que o projeto siga esta estrutura, tudo o que é necessário é recompilar o ficheiro `main.css`.
|
||||
|
||||
### Instalar dependências
|
||||
|
||||
Para que isto funcione, precisará de mudar para o diretório `themes/blowfish/` e instalar as dependências do projeto. Precisará do [npm](https://docs.npmjs.com/cli/v7/configuring-npm/install) na sua máquina local para esta etapa.
|
||||
|
||||
```shell
|
||||
cd themes/blowfish
|
||||
npm install
|
||||
```
|
||||
|
||||
### Executar o compilador do Tailwind
|
||||
|
||||
Com as dependências instaladas, tudo o que resta é utilizar o [Tailwind CLI](https://tailwindcss.com/docs/installation/tailwind-cli) para invocar o compilador JIT. Navegue de volta para a raiz do seu projeto Hugo e execute o seguinte comando:
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
É um comando um pouco feio devido aos caminhos envolvidos, mas essencialmente está a chamar o Tailwind CLI e a passar-lhe a localização do ficheiro de config do Tailwind (o que vimos acima), onde encontrar o ficheiro `main.css` do tema e depois onde quer que o ficheiro CSS compilado seja colocado (vai para a pasta `assets/css/compiled/` do seu projeto Hugo).
|
||||
|
||||
O ficheiro de config analisará automaticamente todo o conteúdo e layouts no seu projeto assim como todos os do tema e construirá um novo ficheiro CSS que contém todo o CSS necessário para o seu website. Devido à forma como o Hugo lida com a hierarquia de ficheiros, este ficheiro no seu projeto agora substituirá automaticamente o que vem com o tema.
|
||||
|
||||
Cada vez que fizer uma alteração nos seus layouts e precisar de novos estilos do Tailwind CSS, pode simplesmente executar o comando novamente e gerar o novo ficheiro CSS. Também pode adicionar `-w` ao final do comando para executar o compilador JIT em modo watch.
|
||||
|
||||
### Criar um script de build
|
||||
|
||||
Para completar totalmente esta solução, pode simplificar todo este processo adicionando aliases para estes comandos, ou fazer o que eu faço e adicionar um `package.json` à raiz do seu projeto que contenha os scripts necessários...
|
||||
|
||||
```js
|
||||
// package.json
|
||||
|
||||
{
|
||||
"name": "my-website",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// e mais...
|
||||
}
|
||||
```
|
||||
|
||||
Agora quando quiser trabalhar no design do seu site, pode invocar `npm run dev` e o compilador será executado em modo watch. Quando estiver pronto para implementar, execute `npm run build` e terá um build limpo do Tailwind CSS.
|
||||
|
||||
🙋♀️ Se precisar de ajuda, sinta-se à vontade para fazer uma pergunta nas [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions).
|
||||
@@ -123,67 +123,48 @@ html {
|
||||
|
||||
只需更改此值,您网站上的所有字体大小都将调整为此新大小。因此,要增加使用的整体字体大小,请将该值设置为大于 `12pt` 。同样,要减小字体大小,请将值设置为小于 `12pt` 。
|
||||
|
||||
## 从源代码构建主题 CSS
|
||||
### 更换语法高亮主题
|
||||
|
||||
如果您想进行大量更改,您可以利用 Tailwind CSS 的 JIT 编译器并从头开始重建整个主题 CSS。尤其是您想要调整 Tailwind 配置或向主样式表添加额外的 Tailwind 类的时候,这种方法将非常有用。
|
||||
要更换语法高亮主题,请创建 `assets/css/custom.css`,然后添加以下内容:
|
||||
|
||||
{{< alert >}}
|
||||
**注意:** 手动构建主题仅适用于高级用户。
|
||||
{{< /alert >}}
|
||||
|
||||
让我们逐步了解构建 Tailwind CSS 的工作原理。
|
||||
|
||||
### Tailwind 配置
|
||||
|
||||
为了生成仅包含用于实际使用的 Tailwind 类的 CSS 文件,JIT 编译器需要扫描所有 HTML 模板和 Markdown 文档,以检查 markup 中存在哪些样式。编译器将根据主题目录根目录中的 `tailwind.config.js` 文件来完成此操作:
|
||||
|
||||
```js
|
||||
// themes/blowfish/tailwind.config.js
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
"./layouts/**/*.html",
|
||||
"./content/**/*.{html,md}",
|
||||
"./themes/blowfish/layouts/**/*.html",
|
||||
"./themes/blowfish/content/**/*.{html,md}",
|
||||
],
|
||||
|
||||
// 更多...
|
||||
};
|
||||
```css
|
||||
.chroma,
|
||||
.chroma *,
|
||||
.chroma:is(.dark *),
|
||||
.chroma:is(.dark *) * {
|
||||
color: unset;
|
||||
font-weight: unset;
|
||||
font-style: unset;
|
||||
}
|
||||
```
|
||||
|
||||
此默认配置包含了这些路径,以便您可以十分方便地生成自己的 CSS 文件,而无需修改它,前提是您遵循我们的主题项目结构。也就是说,**您必须将 Blowfish 主题文件夹 `themes/blowfish/` 作为子目录包含在项目中**。这意味着您无法使用 Hugo Modules 方式来安装主题,而必须使用 git 子模块(推荐)或手动安装。 [安装文档]({{< ref "installation" >}}) 介绍了如何使用以上方法安装主题。
|
||||
这会清除预设的 Chroma 样式,下一步我们使用 `hugo gen chromastyles` 指令将 Chroma 样式加入到您的 css 档案中:
|
||||
|
||||
### 项目结构
|
||||
```sh
|
||||
# Mac/Linux
|
||||
(echo 'html:not(.dark) {'; hugo gen chromastyles --style=emacs; echo '}') >> assets/css/custom.css
|
||||
(echo 'html.dark {'; hugo gen chromastyles --style=evergarden; echo '}') >> assets/css/custom.css
|
||||
|
||||
为了充分利用默认配置,您的项目结构应该如下所示:
|
||||
|
||||
```shell
|
||||
.
|
||||
├── assets
|
||||
│ └── css
|
||||
│ └── compiled
|
||||
│ └── main.css # 这是我们生成的文件
|
||||
├── config # 站点配置
|
||||
│ └── _default
|
||||
├── content # site content
|
||||
│ ├── _index.md
|
||||
│ ├── projects
|
||||
│ │ └── _index.md
|
||||
│ └── blog
|
||||
│ └── _index.md
|
||||
├── layouts # 站点的自定义布局
|
||||
│ ├── partials
|
||||
│ │ └── extend-article-link/simple.html
|
||||
│ ├── projects
|
||||
│ │ └── list.html
|
||||
│ └── shortcodes
|
||||
│ └── disclaimer.html
|
||||
└── themes
|
||||
└── blowfish # Git 子模块或本地复制安装
|
||||
# Windows PowerShell
|
||||
# 此命令不能在 CMD 中运行,必须在 PowerShell 中运行
|
||||
@("html:not(.dark) {"; (hugo gen chromastyles --style=emacs); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
@("html.dark {"; (hugo gen chromastyles --style=evergarden); "}") | Add-Content -Path "assets/css/custom.css"
|
||||
```
|
||||
|
||||
此示例结构添加了一个新自定义的 `projects` 内容类型,具有自定义的 layout 以及自定义的 shortcodes 和扩展的 partials 。如果项目遵循类似结构,所需要做的就是仅仅是重新编译 `main.css` 文件。
|
||||
在 [Hugo 文档](https://gohugo.io/quick-reference/syntax-highlighting-styles/#styles)中查看所有可用的样式。
|
||||
|
||||
## 从源码构建主题 CSS
|
||||
|
||||
如果你需要进行较大的改动,可以从零开始重新构建整个主题的 CSS。这在你希望调整 Tailwind 配置或向主样式表中添加额外的 Tailwind 类时非常有用。
|
||||
|
||||
> [!INFO]
|
||||
> 手动构建主题仅适用于高级用户。
|
||||
|
||||
### 工作原理
|
||||
|
||||
Tailwind 会以纯文本方式[扫描你的项目文件](https://tailwindcss.com/docs/detecting-classes-in-source-files#which-files-are-scanned),查找类似类名的标记,并只为它能够识别且实际出现在这些文件中的工具类生成 CSS。
|
||||
|
||||
接下来的步骤将重点介绍如何安装 Tailwind 并进行相关配置,以确保主题源码文件能够被正确纳入扫描范围。所有命令均以通过 [Git submodule]({{< ref "installation" >}}) 安装主题的用户为示例;如果你使用的是 Hugo Module,则需要先通过 `hugo mod vendor` 将主题源码 vendor 到 `_vendor` 目录中,并相应调整命令中的路径。
|
||||
|
||||
### 安装依赖项
|
||||
|
||||
@@ -200,15 +181,16 @@ npm install
|
||||
|
||||
```shell
|
||||
cd ../..
|
||||
./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
node ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit
|
||||
```
|
||||
|
||||
这个命令稍微有点复杂,因为涉及到几个路径。但本质上你是在调用 Tailwind CLI 并提供下面三个参数:
|
||||
|
||||
- Tailwind 配置文件 `tailwind.config.js`
|
||||
- 主题的 `main.css` 文件
|
||||
- 编译产出后的 CSS 文件的位置 `assets/css/compiled/`
|
||||
- 编译产出后的 CSS 文件的位置 `assets/css/compiled/main.css`
|
||||
|
||||
配置文件将自动检查项目中以及主题中的所有内容和布局,并构建一个新的 CSS 文件,其中包含网站所需的所有 CSS。由于 Hugo 处理文件层次结构的方式,此文件现在将自动覆盖主题附带的文件。
|
||||
Tailwind 将自动检查项目中的所有内容和布局,并构建新的 `main.css`,其中包含网站所需的所有 CSS。由于 Hugo 处理文件层次结构的方式,此文件现在将自动覆盖主题附带的 `main.css`。
|
||||
|
||||
每次更改布局并需要新的 Tailwind CSS 样式时,您只需重新运行命令并生成新的 CSS 文件即可。您还可以在命令末尾添加 `-w` 以在监视模式下运行 JIT 编译器。
|
||||
|
||||
@@ -225,8 +207,8 @@ cd ../..
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"server": "hugo server -b http://localhost -p 8000",
|
||||
"dev": "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
"dev": cross-env "NODE_ENV=development ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||
"build": cross-env "NODE_ENV=production ./themes/blowfish/node_modules/@tailwindcss/cli/dist/index.mjs -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit"
|
||||
},
|
||||
// and more...
|
||||
}
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
---
|
||||
title: "Konfiguration"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Alle in Blowfish verfügbaren Konfigurationsvariablen."
|
||||
slug: "configuration"
|
||||
tags: ["konfiguration", "dokumentation"]
|
||||
series: ["Dokumentation"]
|
||||
series_order: 4
|
||||
---
|
||||
|
||||
Blowfish ist ein hochgradig anpassbares Theme und nutzt einige der neuesten Hugo-Funktionen, um die Konfiguration zu vereinfachen.
|
||||
|
||||
Das Theme wird mit einer Standardkonfiguration geliefert, die Sie mit einem einfachen Blog oder einer statischen Website zum Laufen bringt.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Wir haben gerade ein CLI-Tool veröffentlicht, das Ihnen beim Einstieg mit Blowfish hilft. Es unterstützt Sie bei Installation und Konfiguration. Installieren Sie das CLI-Tool global mit:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< /alert >}}
|
||||
|
||||
> Die mit dem Theme gelieferten Konfigurationsdateien werden im TOML-Format bereitgestellt, da dies die Standard-Hugo-Syntax ist. Sie können Ihre Konfiguration bei Bedarf in YAML oder JSON konvertieren.
|
||||
|
||||
Die Standard-Theme-Konfiguration ist in jeder Datei dokumentiert, sodass Sie die Einstellungen frei an Ihre Bedürfnisse anpassen können.
|
||||
|
||||
{{< alert >}}
|
||||
Wie in den [Installationsanweisungen]({{< ref "/docs/installation#set-up-theme-configuration-files" >}}) beschrieben, sollten Sie Ihre Theme-Konfiguration anpassen, indem Sie die Dateien im Ordner `config/_default/` Ihres Hugo-Projekts ändern und die Datei `hugo.toml` im Projektstammverzeichnis löschen.
|
||||
{{< /alert >}}
|
||||
|
||||
## Website-Konfiguration
|
||||
|
||||
Standard-Hugo-Konfigurationsvariablen werden im gesamten Theme berücksichtigt, es gibt jedoch einige spezifische Dinge, die für die beste Erfahrung konfiguriert werden sollten.
|
||||
|
||||
Die Website-Konfiguration wird über die Datei `config/_default/hugo.toml` verwaltet. Die folgende Tabelle zeigt alle Einstellungen, die Blowfish nutzt.
|
||||
|
||||
Beachten Sie, dass die in dieser Tabelle angegebenen Variablennamen die Punktnotation verwenden, um die TOML-Datenstruktur zu vereinfachen (d.h. `outputs.home` bezieht sich auf `[outputs] home`).
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Name | Standard | Beschreibung |
|
||||
| --- | --- | --- |
|
||||
| `theme` | `"blowfish"` | Bei Verwendung von Hugo-Modulen sollte dieser Konfigurationswert entfernt werden. Für alle anderen Installationstypen muss dies auf `blowfish` gesetzt werden, damit das Theme funktioniert. |
|
||||
| `baseURL` | _Nicht gesetzt_ | Die URL zum Stammverzeichnis der Website. |
|
||||
| `defaultContentLanguage` | `"en"` | Dieser Wert bestimmt die Standardsprache der Theme-Komponenten und Inhalte. Siehe den Abschnitt [Sprache und i18n](#sprache-und-i18n) unten für unterstützte Sprachcodes. |
|
||||
| `enableRobotsTXT` | `true` | Wenn aktiviert, wird eine `robots.txt`-Datei im Website-Stammverzeichnis erstellt, die Suchmaschinen das Crawlen der gesamten Website ermöglicht. Wenn Sie Ihre eigene vorgefertigte `robots.txt` bereitstellen möchten, setzen Sie dies auf `false` und platzieren Sie Ihre Datei im `static`-Verzeichnis. Für vollständige Kontrolle können Sie ein [benutzerdefiniertes Layout]({{< ref "content-examples#custom-layouts" >}}) bereitstellen, um diese Datei zu generieren. |
|
||||
| `pagination.pagerSize` | `10` | Die Anzahl der Artikel, die auf jeder Seite der Artikelliste angezeigt werden. |
|
||||
| `summaryLength` | `0` | Die Anzahl der Wörter, die zur Generierung der Artikelzusammenfassung verwendet werden, wenn keine im [Front Matter]({{< ref "front-matter" >}}) angegeben ist. Ein Wert von `0` verwendet den ersten Satz. Dieser Wert hat keine Auswirkung, wenn Zusammenfassungen ausgeblendet sind. |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | Die für die Website generierten Ausgabeformate. Blowfish benötigt HTML, RSS und JSON, damit alle Theme-Komponenten korrekt funktionieren. |
|
||||
| `permalinks` | _Nicht gesetzt_ | Siehe die [Hugo-Dokumentation](https://gohugo.io/configuration/permalinks/) für die Permalink-Konfiguration. |
|
||||
| `taxonomies` | _Nicht gesetzt_ | Siehe den Abschnitt [Inhalte organisieren]({{< ref "getting-started#organising-content" >}}) für die Taxonomie-Konfiguration. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
## Thumbnails
|
||||
|
||||
Blowfish wurde so entwickelt, dass es einfach ist, visuelle Unterstützung zu Ihren Artikeln hinzuzufügen. Wenn Sie mit der Hugo-Artikelstruktur vertraut sind, müssen Sie nur eine Bilddatei (fast alle Formate werden unterstützt, aber wir empfehlen `.png` oder `.jpg`) in Ihrem Artikelordner platzieren, die mit `feature*` beginnt. Das ist alles, Blowfish kann dann das Bild sowohl als Thumbnail innerhalb Ihrer Website als auch für <a target="_blank" href="https://oembed.com/">oEmbed</a>-Karten auf sozialen Plattformen verwenden.
|
||||
|
||||
[Hier]({{< ref "thumbnails" >}}) finden Sie auch einen Leitfaden mit mehr Informationen und ein [Beispiel]({{< ref "thumbnail_sample" >}}), wenn Sie sehen möchten, wie Sie es machen können.
|
||||
|
||||
## Sprache und i18n
|
||||
|
||||
Blowfish ist für vollständig mehrsprachige Websites optimiert und Theme-Assets sind standardmäßig in mehrere Sprachen übersetzt. Die Sprachkonfiguration ermöglicht es Ihnen, mehrere Versionen Ihres Inhalts zu generieren, um Ihren Besuchern ein angepasstes Erlebnis in ihrer Muttersprache zu bieten.
|
||||
|
||||
Das Theme unterstützt derzeit standardmäßig die folgenden Sprachen:
|
||||
|
||||
| Sprache | Code |
|
||||
| --- | --- |
|
||||
| Arabisch | `ar` |
|
||||
| Bulgarisch | `bg` |
|
||||
| Bengali | `bn` |
|
||||
| Katalanisch | `ca` |
|
||||
| Tschechisch | `cs` |
|
||||
| Deutsch | `de` |
|
||||
| Englisch | `en` |
|
||||
| Esperanto | `eo` |
|
||||
| Spanisch (Spanien) | `es` |
|
||||
| Finnisch | `fi` |
|
||||
| Französisch | `fr` |
|
||||
| Galizisch | `gl` |
|
||||
| Hebräisch | `he` |
|
||||
| Kroatisch | `hr` |
|
||||
| Ungarisch | `hu` |
|
||||
| Indonesisch | `id` |
|
||||
| Italienisch | `it` |
|
||||
| Japanisch | `ja` |
|
||||
| Koreanisch | `ko` |
|
||||
| Niederländisch | `nl` |
|
||||
| Persisch | `fa` |
|
||||
| Polnisch | `pl` |
|
||||
| Portugiesisch (Brasilien) | `pt-br` |
|
||||
| Portugiesisch (Portugal) | `pt-pt` |
|
||||
| Rumänisch | `ro` |
|
||||
| Russisch | `ru` |
|
||||
| Thai | `th` |
|
||||
| Türkisch | `tr` |
|
||||
| Vietnamesisch | `vi` |
|
||||
| Vereinfachtes Chinesisch (China) | `zh-cn` |
|
||||
| Traditionelles Chinesisch (Taiwan) | `zh-tw` |
|
||||
|
||||
Die Standardübersetzungen können überschrieben werden, indem Sie eine benutzerdefinierte Datei in `i18n/[code].yaml` erstellen, die die Übersetzungsstrings enthält. Sie können diese Methode auch verwenden, um neue Sprachen hinzuzufügen. Wenn Sie eine neue Übersetzung mit der Community teilen möchten, [öffnen Sie bitte einen Pull Request](https://github.com/nunocoracao/blowfish/pulls).
|
||||
|
||||
### Konfiguration
|
||||
|
||||
Um so flexibel wie möglich zu sein, muss für jede Sprache auf der Website eine Sprachkonfigurationsdatei erstellt werden. Standardmäßig enthält Blowfish eine englische Sprachkonfiguration unter `config/_default/languages.en.toml`.
|
||||
|
||||
Die Standarddatei kann als Vorlage verwendet werden, um zusätzliche Sprachen zu erstellen, oder umbenannt werden, wenn Sie Ihre Website in einer anderen Sprache als Englisch verfassen möchten. Benennen Sie die Datei einfach im Format `languages.[language-code].toml`.
|
||||
|
||||
{{< alert >}}
|
||||
**Hinweis:** Stellen Sie sicher, dass der Parameter `defaultContentLanguage` in der [Website-Konfiguration](#website-konfiguration) mit dem Sprachcode in Ihrem Sprachkonfigurationsdateinamen übereinstimmt.
|
||||
{{< /alert >}}
|
||||
|
||||
Detaillierte Informationen zu allen verfügbaren Konfigurationsparametern finden Sie in der englischen Dokumentation, da die Parameternamen technisch sind und im Original belassen werden.
|
||||
|
||||
## Theme-Parameter
|
||||
|
||||
Blowfish bietet eine große Anzahl von Konfigurationsparametern, die steuern, wie das Theme funktioniert. Die vollständige Liste aller verfügbaren Parameter finden Sie in der Datei `config/_default/params.toml`.
|
||||
|
||||
Viele der Artikel-Standardeinstellungen können auf Artikelebene überschrieben werden, indem sie im Front Matter angegeben werden. Weitere Details finden Sie im Abschnitt [Front Matter]({{< ref "front-matter" >}}).
|
||||
|
||||
## Weitere Konfigurationsdateien
|
||||
|
||||
Das Theme enthält auch eine `markup.toml`-Konfigurationsdatei. Diese Datei enthält einige wichtige Parameter, die sicherstellen, dass Hugo korrekt konfiguriert ist, um mit Blowfish erstellte Websites zu generieren.
|
||||
|
||||
Stellen Sie immer sicher, dass diese Datei im Konfigurationsverzeichnis vorhanden ist und dass die erforderlichen Werte gesetzt sind. Andernfalls können bestimmte Funktionen nicht korrekt funktionieren und es kann zu unbeabsichtigtem Verhalten kommen.
|
||||
@@ -0,0 +1,125 @@
|
||||
---
|
||||
title: "Configuración"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Todas las variables de configuración disponibles en Blowfish."
|
||||
slug: "configuration"
|
||||
tags: ["configuración", "documentación"]
|
||||
series: ["Documentación"]
|
||||
series_order: 4
|
||||
---
|
||||
|
||||
Blowfish es un tema altamente personalizable y utiliza algunas de las últimas características de Hugo para simplificar su configuración.
|
||||
|
||||
El tema viene con una configuración predeterminada que te permite empezar con un blog básico o sitio web estático.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Acabamos de lanzar una herramienta CLI para ayudarte a empezar con Blowfish. Te ayudará con la instalación y configuración. Instala la herramienta CLI globalmente usando:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< /alert >}}
|
||||
|
||||
> Los archivos de configuración incluidos con el tema se proporcionan en formato TOML ya que es la sintaxis predeterminada de Hugo. Siéntete libre de convertir tu configuración a YAML o JSON si lo deseas.
|
||||
|
||||
La configuración predeterminada del tema está documentada en cada archivo para que puedas ajustar libremente la configuración según tus necesidades.
|
||||
|
||||
{{< alert >}}
|
||||
Como se describe en las [instrucciones de instalación]({{< ref "/docs/installation#set-up-theme-configuration-files" >}}), debes ajustar la configuración de tu tema modificando los archivos en la carpeta `config/_default/` de tu proyecto Hugo y eliminar el archivo `hugo.toml` en la raíz de tu proyecto.
|
||||
{{< /alert >}}
|
||||
|
||||
## Configuración del sitio
|
||||
|
||||
Las variables de configuración estándar de Hugo se respetan en todo el tema, sin embargo, hay algunas cosas específicas que deben configurarse para la mejor experiencia.
|
||||
|
||||
La configuración del sitio se gestiona a través del archivo `config/_default/hugo.toml`. La tabla a continuación describe todas las configuraciones que Blowfish aprovecha.
|
||||
|
||||
Ten en cuenta que los nombres de variables proporcionados en esta tabla usan notación de puntos para simplificar la estructura de datos TOML (es decir, `outputs.home` se refiere a `[outputs] home`).
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Nombre | Predeterminado | Descripción |
|
||||
| --- | --- | --- |
|
||||
| `theme` | `"blowfish"` | Al usar Módulos Hugo, este valor de configuración debe eliminarse. Para todos los demás tipos de instalación, esto debe establecerse en `blowfish` para que el tema funcione. |
|
||||
| `baseURL` | _No establecido_ | La URL a la raíz del sitio web. |
|
||||
| `defaultContentLanguage` | `"en"` | Este valor determina el idioma predeterminado de los componentes del tema y el contenido. Consulta la sección [idioma e i18n](#idioma-e-i18n) a continuación para los códigos de idioma compatibles. |
|
||||
| `enableRobotsTXT` | `true` | Cuando está habilitado, se creará un archivo `robots.txt` en la raíz del sitio que permite a los motores de búsqueda rastrear todo el sitio. Si prefieres proporcionar tu propio `robots.txt` prefabricado, establece en `false` y coloca tu archivo en el directorio `static`. Para control completo, puedes proporcionar un [diseño personalizado]({{< ref "content-examples#custom-layouts" >}}) para generar este archivo. |
|
||||
| `pagination.pagerSize` | `10` | El número de artículos listados en cada página de la lista de artículos. |
|
||||
| `summaryLength` | `0` | El número de palabras que se utilizan para generar el resumen del artículo cuando no se proporciona uno en el [front matter]({{< ref "front-matter" >}}). Un valor de `0` usará la primera oración. Este valor no tiene efecto cuando los resúmenes están ocultos. |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | Los formatos de salida que se generan para el sitio. Blowfish requiere HTML, RSS y JSON para que todos los componentes del tema funcionen correctamente. |
|
||||
| `permalinks` | _No establecido_ | Consulta la [documentación de Hugo](https://gohugo.io/configuration/permalinks/) para la configuración de permalinks. |
|
||||
| `taxonomies` | _No establecido_ | Consulta la sección [Organización del contenido]({{< ref "getting-started#organising-content" >}}) para la configuración de taxonomías. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
## Miniaturas
|
||||
|
||||
Blowfish fue construido para que sea fácil agregar soporte visual a tus artículos. Si estás familiarizado con la estructura de artículos de Hugo, solo necesitas colocar un archivo de imagen (casi todos los formatos son compatibles pero recomendamos `.png` o `.jpg`) que comience con `feature*` dentro de tu carpeta de artículo. Y eso es todo, Blowfish podrá usar la imagen tanto como miniatura dentro de tu sitio web como para tarjetas <a target="_blank" href="https://oembed.com/">oEmbed</a> en plataformas sociales.
|
||||
|
||||
[Aquí]({{< ref "thumbnails" >}}) también hay una guía con más información y un [ejemplo]({{< ref "thumbnail_sample" >}}) si quieres ver cómo puedes hacerlo.
|
||||
|
||||
## Idioma e i18n
|
||||
|
||||
Blowfish está optimizado para sitios web completamente multilingües y los recursos del tema están traducidos a varios idiomas de forma predeterminada. La configuración de idioma te permite generar múltiples versiones de tu contenido para proporcionar una experiencia personalizada a tus visitantes en su idioma nativo.
|
||||
|
||||
El tema actualmente soporta los siguientes idiomas por defecto:
|
||||
|
||||
| Idioma | Código |
|
||||
| --- | --- |
|
||||
| Árabe | `ar` |
|
||||
| Búlgaro | `bg` |
|
||||
| Bengalí | `bn` |
|
||||
| Catalán | `ca` |
|
||||
| Checo | `cs` |
|
||||
| Alemán | `de` |
|
||||
| Inglés | `en` |
|
||||
| Esperanto | `eo` |
|
||||
| Español (España) | `es` |
|
||||
| Finlandés | `fi` |
|
||||
| Francés | `fr` |
|
||||
| Gallego | `gl` |
|
||||
| Hebreo | `he` |
|
||||
| Croata | `hr` |
|
||||
| Húngaro | `hu` |
|
||||
| Indonesio | `id` |
|
||||
| Italiano | `it` |
|
||||
| Japonés | `ja` |
|
||||
| Coreano | `ko` |
|
||||
| Neerlandés | `nl` |
|
||||
| Persa | `fa` |
|
||||
| Polaco | `pl` |
|
||||
| Portugués (Brasil) | `pt-br` |
|
||||
| Portugués (Portugal) | `pt-pt` |
|
||||
| Rumano | `ro` |
|
||||
| Ruso | `ru` |
|
||||
| Tailandés | `th` |
|
||||
| Turco | `tr` |
|
||||
| Vietnamita | `vi` |
|
||||
| Chino simplificado (China) | `zh-cn` |
|
||||
| Chino tradicional (Taiwán) | `zh-tw` |
|
||||
|
||||
Las traducciones predeterminadas pueden sobrescribirse creando un archivo personalizado en `i18n/[code].yaml` que contenga las cadenas de traducción. También puedes usar este método para agregar nuevos idiomas. Si deseas compartir una nueva traducción con la comunidad, por favor [abre una pull request](https://github.com/nunocoracao/blowfish/pulls).
|
||||
|
||||
### Configuración
|
||||
|
||||
Para ser lo más flexible posible, se debe crear un archivo de configuración de idioma para cada idioma en el sitio web. Por defecto, Blowfish incluye una configuración de idioma en inglés en `config/_default/languages.en.toml`.
|
||||
|
||||
El archivo predeterminado puede usarse como plantilla para crear idiomas adicionales, o renombrarse si deseas escribir tu sitio web en un idioma diferente al inglés. Simplemente nombra el archivo usando el formato `languages.[language-code].toml`.
|
||||
|
||||
{{< alert >}}
|
||||
**Nota:** Asegúrate de que el parámetro `defaultContentLanguage` en la [configuración del sitio](#configuración-del-sitio) coincida con el código de idioma en el nombre del archivo de configuración de idioma.
|
||||
{{< /alert >}}
|
||||
|
||||
Para información detallada sobre todos los parámetros de configuración disponibles, consulta la documentación en inglés ya que los nombres de parámetros son técnicos y permanecen en su forma original.
|
||||
|
||||
## Parámetros del tema
|
||||
|
||||
Blowfish proporciona un gran número de parámetros de configuración que controlan cómo funciona el tema. La lista completa de todos los parámetros disponibles se encuentra en el archivo `config/_default/params.toml`.
|
||||
|
||||
Muchos de los valores predeterminados de artículos pueden sobrescribirse por artículo especificándolos en el front matter. Consulta la sección [Front Matter]({{< ref "front-matter" >}}) para más detalles.
|
||||
|
||||
## Otros archivos de configuración
|
||||
|
||||
El tema también incluye un archivo de configuración `markup.toml`. Este archivo contiene algunos parámetros importantes que aseguran que Hugo esté correctamente configurado para generar sitios construidos con Blowfish.
|
||||
|
||||
Siempre asegúrate de que este archivo esté presente en el directorio de configuración y que los valores requeridos estén establecidos. No hacerlo puede causar que ciertas características funcionen incorrectamente y podría resultar en comportamiento no deseado.
|
||||
@@ -0,0 +1,125 @@
|
||||
---
|
||||
title: "Configuration"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Toutes les variables de configuration disponibles dans Blowfish."
|
||||
slug: "configuration"
|
||||
tags: ["configuration", "documentation"]
|
||||
series: ["Documentation"]
|
||||
series_order: 4
|
||||
---
|
||||
|
||||
Blowfish est un thème hautement personnalisable et utilise certaines des dernières fonctionnalités de Hugo pour simplifier sa configuration.
|
||||
|
||||
Le thème est livré avec une configuration par défaut qui vous permet de démarrer avec un blog ou un site web statique de base.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Nous venons de lancer un outil CLI pour vous aider à démarrer avec Blowfish. Il vous aidera avec l'installation et la configuration. Installez l'outil CLI globalement en utilisant :
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< /alert >}}
|
||||
|
||||
> Les fichiers de configuration fournis avec le thème sont au format TOML car c'est la syntaxe Hugo par défaut. N'hésitez pas à convertir votre configuration en YAML ou JSON si vous le souhaitez.
|
||||
|
||||
La configuration par défaut du thème est documentée dans chaque fichier afin que vous puissiez librement ajuster les paramètres selon vos besoins.
|
||||
|
||||
{{< alert >}}
|
||||
Comme indiqué dans les [instructions d'installation]({{< ref "/docs/installation#set-up-theme-configuration-files" >}}), vous devez ajuster la configuration de votre thème en modifiant les fichiers dans le dossier `config/_default/` de votre projet Hugo et supprimer le fichier `hugo.toml` à la racine de votre projet.
|
||||
{{< /alert >}}
|
||||
|
||||
## Configuration du site
|
||||
|
||||
Les variables de configuration Hugo standard sont respectées dans tout le thème, cependant il y a certaines choses spécifiques qui doivent être configurées pour une meilleure expérience.
|
||||
|
||||
La configuration du site est gérée via le fichier `config/_default/hugo.toml`. Le tableau ci-dessous présente tous les paramètres que Blowfish utilise.
|
||||
|
||||
Notez que les noms de variables fournis dans ce tableau utilisent la notation pointée pour simplifier la structure de données TOML (c'est-à-dire que `outputs.home` fait référence à `[outputs] home`).
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Nom | Défaut | Description |
|
||||
| --- | --- | --- |
|
||||
| `theme` | `"blowfish"` | Lors de l'utilisation des modules Hugo, cette valeur de configuration doit être supprimée. Pour tous les autres types d'installation, cela doit être défini sur `blowfish` pour que le thème fonctionne. |
|
||||
| `baseURL` | _Non défini_ | L'URL vers la racine du site web. |
|
||||
| `defaultContentLanguage` | `"en"` | Cette valeur détermine la langue par défaut des composants du thème et du contenu. Consultez la section [langue et i18n](#langue-et-i18n) ci-dessous pour les codes de langue pris en charge. |
|
||||
| `enableRobotsTXT` | `true` | Lorsqu'il est activé, un fichier `robots.txt` sera créé à la racine du site permettant aux moteurs de recherche d'explorer l'ensemble du site. Si vous préférez fournir votre propre `robots.txt` préfabriqué, définissez sur `false` et placez votre fichier dans le répertoire `static`. Pour un contrôle complet, vous pouvez fournir une [mise en page personnalisée]({{< ref "content-examples#custom-layouts" >}}) pour générer ce fichier. |
|
||||
| `pagination.pagerSize` | `10` | Le nombre d'articles listés sur chaque page de la liste d'articles. |
|
||||
| `summaryLength` | `0` | Le nombre de mots utilisés pour générer le résumé de l'article lorsqu'aucun n'est fourni dans le [front matter]({{< ref "front-matter" >}}). Une valeur de `0` utilisera la première phrase. Cette valeur n'a aucun effet lorsque les résumés sont masqués. |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | Les formats de sortie générés pour le site. Blowfish nécessite HTML, RSS et JSON pour que tous les composants du thème fonctionnent correctement. |
|
||||
| `permalinks` | _Non défini_ | Consultez la [documentation Hugo](https://gohugo.io/configuration/permalinks/) pour la configuration des permaliens. |
|
||||
| `taxonomies` | _Non défini_ | Consultez la section [Organisation du contenu]({{< ref "getting-started#organising-content" >}}) pour la configuration des taxonomies. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
## Vignettes
|
||||
|
||||
Blowfish a été conçu pour qu'il soit facile d'ajouter un support visuel à vos articles. Si vous êtes familier avec la structure des articles Hugo, il vous suffit de placer un fichier image (presque tous les formats sont pris en charge mais nous recommandons `.png` ou `.jpg`) qui commence par `feature*` dans votre dossier d'article. Et c'est tout, Blowfish pourra alors utiliser l'image à la fois comme vignette sur votre site et pour les cartes <a target="_blank" href="https://oembed.com/">oEmbed</a> sur les plateformes sociales.
|
||||
|
||||
[Voici]({{< ref "thumbnails" >}}) également un guide avec plus d'informations et un [exemple]({{< ref "thumbnail_sample" >}}) si vous voulez voir comment faire.
|
||||
|
||||
## Langue et i18n
|
||||
|
||||
Blowfish est optimisé pour les sites web entièrement multilingues et les ressources du thème sont traduites dans plusieurs langues par défaut. La configuration de la langue vous permet de générer plusieurs versions de votre contenu pour offrir une expérience personnalisée à vos visiteurs dans leur langue maternelle.
|
||||
|
||||
Le thème prend actuellement en charge les langues suivantes par défaut :
|
||||
|
||||
| Langue | Code |
|
||||
| --- | --- |
|
||||
| Arabe | `ar` |
|
||||
| Bulgare | `bg` |
|
||||
| Bengali | `bn` |
|
||||
| Catalan | `ca` |
|
||||
| Tchèque | `cs` |
|
||||
| Allemand | `de` |
|
||||
| Anglais | `en` |
|
||||
| Espéranto | `eo` |
|
||||
| Espagnol (Espagne) | `es` |
|
||||
| Finnois | `fi` |
|
||||
| Français | `fr` |
|
||||
| Galicien | `gl` |
|
||||
| Hébreu | `he` |
|
||||
| Croate | `hr` |
|
||||
| Hongrois | `hu` |
|
||||
| Indonésien | `id` |
|
||||
| Italien | `it` |
|
||||
| Japonais | `ja` |
|
||||
| Coréen | `ko` |
|
||||
| Néerlandais | `nl` |
|
||||
| Persan | `fa` |
|
||||
| Polonais | `pl` |
|
||||
| Portugais (Brésil) | `pt-br` |
|
||||
| Portugais (Portugal) | `pt-pt` |
|
||||
| Roumain | `ro` |
|
||||
| Russe | `ru` |
|
||||
| Thaï | `th` |
|
||||
| Turc | `tr` |
|
||||
| Vietnamien | `vi` |
|
||||
| Chinois simplifié (Chine) | `zh-cn` |
|
||||
| Chinois traditionnel (Taïwan) | `zh-tw` |
|
||||
|
||||
Les traductions par défaut peuvent être remplacées en créant un fichier personnalisé dans `i18n/[code].yaml` contenant les chaînes de traduction. Vous pouvez également utiliser cette méthode pour ajouter de nouvelles langues. Si vous souhaitez partager une nouvelle traduction avec la communauté, veuillez [ouvrir une pull request](https://github.com/nunocoracao/blowfish/pulls).
|
||||
|
||||
### Configuration
|
||||
|
||||
Afin d'être aussi flexible que possible, un fichier de configuration de langue doit être créé pour chaque langue du site. Par défaut, Blowfish inclut une configuration de langue anglaise dans `config/_default/languages.en.toml`.
|
||||
|
||||
Le fichier par défaut peut être utilisé comme modèle pour créer des langues supplémentaires, ou renommé si vous souhaitez rédiger votre site dans une langue autre que l'anglais. Nommez simplement le fichier en utilisant le format `languages.[language-code].toml`.
|
||||
|
||||
{{< alert >}}
|
||||
**Note :** Assurez-vous que le paramètre `defaultContentLanguage` dans la [configuration du site](#configuration-du-site) correspond au code de langue dans le nom de fichier de configuration de langue.
|
||||
{{< /alert >}}
|
||||
|
||||
Pour des informations détaillées sur tous les paramètres de configuration disponibles, consultez la documentation en anglais car les noms de paramètres sont techniques et restent dans leur forme originale.
|
||||
|
||||
## Paramètres du thème
|
||||
|
||||
Blowfish fournit un grand nombre de paramètres de configuration qui contrôlent le fonctionnement du thème. La liste complète de tous les paramètres disponibles se trouve dans le fichier `config/_default/params.toml`.
|
||||
|
||||
De nombreuses valeurs par défaut des articles peuvent être remplacées article par article en les spécifiant dans le front matter. Consultez la section [Front Matter]({{< ref "front-matter" >}}) pour plus de détails.
|
||||
|
||||
## Autres fichiers de configuration
|
||||
|
||||
Le thème inclut également un fichier de configuration `markup.toml`. Ce fichier contient des paramètres importants qui garantissent que Hugo est correctement configuré pour générer des sites construits avec Blowfish.
|
||||
|
||||
Assurez-vous toujours que ce fichier est présent dans le répertoire de configuration et que les valeurs requises sont définies. Ne pas le faire peut entraîner un fonctionnement incorrect de certaines fonctionnalités et un comportement inattendu.
|
||||
@@ -28,29 +28,29 @@ npx blowfish-tools
|
||||
La configurazione predefinita del tema è documentata in ogni file in modo da poter regolare liberamente le impostazioni per soddisfare le proprie esigenze.
|
||||
|
||||
{{< alert >}}
|
||||
As outlined in the [installation instructions]({{< ref "/docs/installation#set-up-theme-configuration-files" >}}), you should adjust your theme configuration by modifying the files in the `config/_default/` folder of your Hugo project and delete the `config.toml` file in your project root.
|
||||
As outlined in the [installation instructions]({{< ref "/docs/installation#set-up-theme-configuration-files" >}}), you should adjust your theme configuration by modifying the files in the `config/_default/` folder of your Hugo project and delete the `hugo.toml` file in your project root.
|
||||
{{< /alert >}}
|
||||
|
||||
## Configurazioni del sito
|
||||
|
||||
Standard Hugo configuration variables are respected throughout the theme, however there are some specific things that should be configured for the best experience.
|
||||
|
||||
La configurazione del sito viene gestita tramite il file `config/_default/config.toml`. La tabella seguente descrive tutte le impostazioni di cui si avvale Blowfish.
|
||||
La configurazione del sito viene gestita tramite il file `config/_default/hugo.toml`. La tabella seguente descrive tutte le impostazioni di cui si avvale Blowfish.
|
||||
|
||||
Tieni presente che i nomi delle variabili forniti in questa tabella utilizzano il punto per semplificare la struttura dei dati TOML (ad esempio, "outputs.home" si riferisce a "[outputs] home").
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Name | Default | Description |
|
||||
| ------------------------ | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `theme` | `"blowfish"` | Quando si utilizzano i moduli Hugo, questo valore di configurazione deve essere rimosso. Per tutti gli altri tipi di installazione, questo deve essere impostato su "blowfish" affinché il tema funzioni. |
|
||||
| `baseURL` | _Not set_ | The URL to the root of the website. |
|
||||
| `defaultContentLanguage` | `"en"` | This value determines the default language of theme components and content. Refer to the [language and i18n](#lingua-e-i18n) section below for supported language codes. |
|
||||
| `enableRobotsTXT` | `true` | Se abilitato, verrà creato un file "robots.txt" nella radice del sito che consentirà ai motori di ricerca di eseguire la scansione dell'intero sito. Se preferisci fornire il tuo file `robots.txt` predefinito, impostalo su `false` e posiziona il file nella directory `static`. Per un controllo completo, puoi fornire un [layout personalizzato]({{< ref "content-examples#custom-layouts" >}}) per generare questo file. |
|
||||
| `pagination.pagerSize` | `10` | Il numero di articoli elencati in ciascuna pagina dell'elenco degli articoli. |
|
||||
| `summaryLength` | `0` | Il numero di parole utilizzate per generare il riepilogo dell'articolo quando non ne viene fornita una nella [front matter]({{< ref "front-matter" >}}). Un valore pari a "0" utilizzerà la prima frase. Questo valore non ha effetto quando i riepiloghi sono nascosti. |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | I formati di output generati per il sito. Blowfish richiede HTML, RSS e JSON affinché tutti i componenti del tema funzionino correttamente. |
|
||||
| `permalinks` | _Not set_ | Fare riferimento alla [documentazione di Hugo](https://gohugo.io/configuration/permalinks/) per la configurazione del permalink. |
|
||||
| `taxonomies` | _Not set_ | Fare riferimento alla sezione [Organizzazione dei contenuti]({{< ref "getting-started#organising-content" >}}) per la configurazione della tassonomia. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `theme` | `"blowfish"` | Quando si utilizzano i moduli Hugo, questo valore di configurazione deve essere rimosso. Per tutti gli altri tipi di installazione, questo deve essere impostato su "blowfish" affinché il tema funzioni. |
|
||||
| `baseURL` | _Not set_ | The URL to the root of the website. |
|
||||
| `defaultContentLanguage` | `"en"` | This value determines the default language of theme components and content. Refer to the [language and i18n](#lingua-e-i18n) section below for supported language codes. |
|
||||
| `enableRobotsTXT` | `true` | Se abilitato, verrà creato un file "robots.txt" nella radice del sito che consentirà ai motori di ricerca di eseguire la scansione dell'intero sito. Se preferisci fornire il tuo file `robots.txt` predefinito, impostalo su `false` e posiziona il file nella directory `static`. Per un controllo completo, puoi fornire un [layout personalizzato]({{< ref "content-examples#custom-layouts" >}}) per generare questo file. |
|
||||
| `pagination.pagerSize` | `10` | Il numero di articoli elencati in ciascuna pagina dell'elenco degli articoli. |
|
||||
| `summaryLength` | `0` | Il numero di parole utilizzate per generare il riepilogo dell'articolo quando non ne viene fornita una nella [front matter]({{< ref "front-matter" >}}). Un valore pari a "0" utilizzerà la prima frase. Questo valore non ha effetto quando i riepiloghi sono nascosti. |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | I formati di output generati per il sito. Blowfish richiede HTML, RSS e JSON affinché tutti i componenti del tema funzionino correttamente. |
|
||||
| `permalinks` | _Not set_ | Fare riferimento alla [documentazione di Hugo](https://gohugo.io/configuration/permalinks/) per la configurazione del permalink. |
|
||||
| `taxonomies` | _Not set_ | Fare riferimento alla sezione [Organizzazione dei contenuti]({{< ref "getting-started#organising-content" >}}) per la configurazione della tassonomia. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
## Thumbnails
|
||||
@@ -113,39 +113,39 @@ Il file predefinito può essere utilizzato come modello per creare lingue aggiun
|
||||
#### Globale
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Name | Default | Description |
|
||||
| -------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `languageCode` | `"en"` | Il codice della lingua Hugo per questo file. Può essere una lingua di livello superiore (ad esempio "en") o una variante secondaria (ad esempio "en-au") e deve corrispondere al codice della lingua nel nome del file. Hugo si aspetta che questo valore sia sempre in minuscolo. Per una corretta conformità HTML, imposta il parametro "isoCode" che fa distinzione tra maiuscole e minuscole. |
|
||||
| `languageName` | `"English"` | Il nome della lingua. |
|
||||
| `weight` | `1` | Il peso determina l'ordine delle lingue durante la creazione di siti multilingue. |
|
||||
| `title` | `"Blowfish"` | Il titolo del sito web. Questo verrà visualizzato nell'intestazione e nel piè di pagina del sito. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `languageCode` | `"en"` | Il codice della lingua Hugo per questo file. Può essere una lingua di livello superiore (ad esempio "en") o una variante secondaria (ad esempio "en-au") e deve corrispondere al codice della lingua nel nome del file. Hugo si aspetta che questo valore sia sempre in minuscolo. Per una corretta conformità HTML, imposta il parametro "isoCode" che fa distinzione tra maiuscole e minuscole. |
|
||||
| `languageName` | `"English"` | Il nome della lingua. |
|
||||
| `weight` | `1` | Il peso determina l'ordine delle lingue durante la creazione di siti multilingue. |
|
||||
| `title` | `"Blowfish"` | Il titolo del sito web. Questo verrà visualizzato nell'intestazione e nel piè di pagina del sito. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### Parametri
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Name | Default | Description |
|
||||
| ---------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `params.displayName` | `"EN"` | Il nome utilizzato quando la lingua appare sul sito web. |
|
||||
| `params.isoCode` | `"en"` | Il codice della lingua ISO per scopi di metadati HTML. Può essere una lingua di livello superiore (es. `en`) o una sottovariante (es. `en-AU`). |
|
||||
| `params.rtl` | `false` | Se si tratta o meno di un linguaggio RTL. Imposta su "true" per ridisporre il contenuto da destra a sinistra. Blowfish supporta pienamente l'uso simultaneo dei linguaggi RTL e LTR e si adatterà dinamicamente ad entrambi. |
|
||||
| `params.dateFormat` | `"2 January 2006"` | Come vengono formattate le date in questa lingua. Fare riferimento alla [documentazione di Hugo](https://gohugo.io/functions/time/format/#layout-string) per i formati accettabili. |
|
||||
| `params.logo` | _Not set_ | Il percorso relativo al file del logo del sito all'interno della cartella "assets/". Il file del logo deve essere fornito con una risoluzione 2x e supporta qualsiasi dimensione dell'immagine. |
|
||||
| `params.secondaryLogo` | _Not set_ | The relative path to the secondary site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. This should have an inverted/contrasting colour scheme to `logo`. If set, this logo will be shown when users toggle from the `defaultAppearance` mode. |
|
||||
| `params.description` | _Not set_ | The website description. This will be used in the site metadata. |
|
||||
| `params.copyright` | _Not set_ | A Markdown string for the site footer copyright message can include the placeholder { year } to dynamically insert the current year. If none is provided, Blowfish will automatically generate a copyright string using the site `title`. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `params.displayName` | `"EN"` | Il nome utilizzato quando la lingua appare sul sito web. |
|
||||
| `params.isoCode` | `"en"` | Il codice della lingua ISO per scopi di metadati HTML. Può essere una lingua di livello superiore (es. `en`) o una sottovariante (es. `en-AU`). |
|
||||
| `params.rtl` | `false` | Se si tratta o meno di un linguaggio RTL. Imposta su "true" per ridisporre il contenuto da destra a sinistra. Blowfish supporta pienamente l'uso simultaneo dei linguaggi RTL e LTR e si adatterà dinamicamente ad entrambi. |
|
||||
| `params.dateFormat` | `"2 January 2006"` | Come vengono formattate le date in questa lingua. Fare riferimento alla [documentazione di Hugo](https://gohugo.io/functions/time/format/#layout-string) per i formati accettabili. |
|
||||
| `params.logo` | _Not set_ | Il percorso relativo al file del logo del sito all'interno della cartella "assets/". Il file del logo deve essere fornito con una risoluzione 2x e supporta qualsiasi dimensione dell'immagine. |
|
||||
| `params.secondaryLogo` | _Not set_ | The relative path to the secondary site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. This should have an inverted/contrasting colour scheme to `logo`. If set, this logo will be shown when users toggle from the `defaultAppearance` mode. |
|
||||
| `params.description` | _Not set_ | The website description. This will be used in the site metadata. |
|
||||
| `params.copyright` | _Not set_ | A Markdown string for the site footer copyright message can include the placeholder { year } to dynamically insert the current year. If none is provided, Blowfish will automatically generate a copyright string using the site `title`. |
|
||||
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### Author
|
||||
|
||||
| Name | Default | Description |
|
||||
| ----------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `author.name` | _Not set_ | The author's name. This will be displayed in article footers, and on the homepage when the profile layout is used. |
|
||||
| `author.image` | _Not set_ | Path to the image file of the author. The image should be a 1:1 aspect ratio. The image can be placed in the site's `assets/` folder or can be external url. |
|
||||
| `author.headline` | _Not set_ | A Markdown string containing the author's headline. It will be displayed on the profile homepage under the author's name. |
|
||||
| `author.bio` | _Not set_ | A Markdown string containing the author's bio. It will be displayed in article footers. |
|
||||
| `author.links` | _Not set_ | The links to display alongside the author's details. The config file contains example links which can simply be uncommented to enable. The order that the links are displayed is determined by the order they appear in the array. Custom links can be added by providing corresponding SVG icon assets in `assets/icons/`. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `author.name` | _Not set_ | The author's name. This will be displayed in article footers, and on the homepage when the profile layout is used. |
|
||||
| `author.image` | _Not set_ | Path to the image file of the author. The image should be a 1:1 aspect ratio. The image can be placed in the site's `assets/` folder or can be external url. |
|
||||
| `author.headline` | _Not set_ | A Markdown string containing the author's headline. It will be displayed on the profile homepage under the author's name. |
|
||||
| `author.bio` | _Not set_ | A Markdown string containing the author's bio. It will be displayed in article footers. |
|
||||
| `author.links` | _Not set_ | The links to display alongside the author's details. The config file contains example links which can simply be uncommented to enable. The order that the links are displayed is determined by the order they appear in the array. Custom links can be added by providing corresponding SVG icon assets in `assets/icons/`. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
### Menus
|
||||
@@ -166,218 +166,221 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
|
||||
### Global
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, and`slate`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. |
|
||||
| `defaultAppearance` | `"light"` | The default theme appearance, either `light` or `dark`. |
|
||||
| `autoSwitchAppearance` | `true` | Whether the theme appearance automatically switches based upon the visitor's operating system preference. Set to `false` to force the site to always use the `defaultAppearance`. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, `slate`, `github`, and `one-light`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. |
|
||||
| `defaultAppearance` | `"light"` | The default theme appearance, either `light` or `dark`. |
|
||||
| `autoSwitchAppearance` | `true` | Whether the theme appearance automatically switches based upon the visitor's operating system preference. Set to `false` to force the site to always use the `defaultAppearance`. |
|
||||
| `enableA11y` | `false` | Whether to enable the accessibility toggle button. |
|
||||
| `enableSearch` | `false` | Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#configurazioni-del-sito) being set correctly. |
|
||||
| `enableCodeCopy` | `false` | Whether copy-to-clipboard buttons are enabled for `<code>` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. |
|
||||
| `mainSections` | _Not set_ | The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used. |
|
||||
| `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `robots` | _Not set_ | String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. |
|
||||
| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. |
|
||||
| `disableImageOptimization` | `false` | Disables image resize and optimization features across all the images in the site, except images using markdown syntax (``) |
|
||||
| `disableImageOptimizationMD` | `false` | Disables image resize and optimization features only for images using markdown syntax (``). |
|
||||
| `disableTextInHeader` | `false` | Disables text in header, useful for logo based headers. |
|
||||
| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
|
||||
| `defaultFeaturedImage` | _Not set_ | Default background image for all `featured` images across articles, will be overridden by a local `featured` image. |
|
||||
| `defaultSocialImage` | _Not set_ | Default image for social media sharing (Open Graph and Twitter). Will be overridden by a local `feature` image if available. |
|
||||
| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected |
|
||||
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
|
||||
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | Hash algorithm for CSS/JS file fingerprinting to prevent browser caching issues. Valid values are `sha512` (default), `sha384`, `sha256`. |
|
||||
| `enableSearch` | `false` | Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#configurazioni-del-sito) being set correctly. |
|
||||
| `enableCodeCopy` | `false` | Whether copy-to-clipboard buttons are enabled for `<code>` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. |
|
||||
| `enableStructuredBreadcrumbs` | `false` | Whether to add [BreadcrumbList](https://developers.google.com/search/docs/appearance/structured-data/breadcrumb) for SEO. Do NOT enable this if your content path does not match the URL, i.e., complex [URL setting](https://gohugo.io/content-management/urls/). |
|
||||
| `mainSections` | _Not set_ | The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used. |
|
||||
| `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `robots` | _Not set_ | String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. |
|
||||
| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. |
|
||||
| `disableImageOptimization` | `false` | Disables image resize and optimization features across all the images in the site, except images using markdown syntax (``) |
|
||||
| `disableImageOptimizationMD` | `false` | Disables image resize and optimization features only for images using markdown syntax (``). |
|
||||
| `disableTextInHeader` | `false` | Disables text in header, useful for logo based headers. |
|
||||
| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
|
||||
| `defaultFeaturedImage` | _Not set_ | Default background image for all `featured` images across articles, will be overridden by a local `featured` image. |
|
||||
| `defaultSocialImage` | _Not set_ | Default image for social media sharing (Open Graph and Twitter). Will be overridden by a local `feature` image if available. |
|
||||
| `hotlinkFeatureImage` | `false` | Hotlink external images in article feature images and article cards. Those images will not be processed by Hugo. |
|
||||
| `imagePosition` | _Not set_ | Sets the position of the default image using `object-position` attribute. Valid values are as specified in the [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position#try_it). |
|
||||
| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected |
|
||||
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
|
||||
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | Hash algorithm for CSS/JS file fingerprinting to prevent browser caching issues. Valid values are `sha512` (default), `sha384`, `sha256`. |
|
||||
|
||||
### Header
|
||||
|
||||
| Name | Default | Description |
|
||||
| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, and `fixed-fill-blur`. |
|
||||
|
||||
### Footer
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. |
|
||||
| `footer.showCopyright` | `true` | Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#lingua-e-i18n). |
|
||||
| `footer.showThemeAttribution` | `true` | Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page). |
|
||||
| `footer.showAppearanceSwitcher` | `false` | Whether or not to show the appearance switcher in the site footer. The browser's local storage is used to persist the visitor's preference. |
|
||||
| `footer.showScrollToTop` | `true` | When set to `true` the scroll to top arrow is displayed. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. |
|
||||
| `footer.showCopyright` | `true` | Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#lingua-e-i18n). |
|
||||
| `footer.showThemeAttribution` | `true` | Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page). |
|
||||
| `footer.showAppearanceSwitcher` | `false` | Whether or not to show the appearance switcher in the site footer. The browser's local storage is used to persist the visitor's preference. |
|
||||
| `footer.showScrollToTop` | `true` | When set to `true` the scroll to top arrow is displayed. |
|
||||
|
||||
### Homepage
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Can be set as local image from asset directory or external image url. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. |
|
||||
| `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. |
|
||||
| `homepage.showMoreLink` | `false` | Whether or not to display a show more link at the end of your posts that takes the user to a predefined place. |
|
||||
| `homepage.showMoreLinkDest` | `/posts` | The destination of the show more button. |
|
||||
| `homepage.cardView` | `false` | Display recent articles as a gallery of cards. |
|
||||
| `homepage.cardViewScreenWidth` | `false` | Enhance the width of the recent articles card gallery to take the full width available. |
|
||||
| `homepage.layoutBackgroundBlur` | `false` | Makes the background image in the homepage layout blur with the scroll |
|
||||
| `homepage.disableHeroImageFilter` | `false` | Whether to apply an image filter on the homepage background. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Can be set as local image from asset directory or external image url. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. |
|
||||
| `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. |
|
||||
| `homepage.showMoreLink` | `false` | Whether or not to display a show more link at the end of your posts that takes the user to a predefined place. |
|
||||
| `homepage.showMoreLinkDest` | `/posts` | The destination of the show more button. |
|
||||
| `homepage.cardView` | `false` | Display recent articles as a gallery of cards. |
|
||||
| `homepage.cardViewScreenWidth` | `false` | Enhance the width of the recent articles card gallery to take the full width available. |
|
||||
| `homepage.layoutBackgroundBlur` | `false` | Makes the background image in the homepage layout blur with the scroll |
|
||||
| `homepage.disableHeroImageFilter` | `false` | Whether to apply an image filter on the homepage background. |
|
||||
|
||||
### Article
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `article.showDate` | `true` | Whether or not article dates are displayed. |
|
||||
| `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showDateOnlyInArticle` | `false` | Show date within article even if not displayed in article listings/cards. |
|
||||
| `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. |
|
||||
| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
|
||||
| `article.showAuthorBottom` | `false` | Author boxes are displayed at the bottom of each page instead of the top. |
|
||||
| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
|
||||
| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
|
||||
| `article.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
|
||||
| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
|
||||
| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
|
||||
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
|
||||
| `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. |
|
||||
| `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. |
|
||||
| `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. |
|
||||
| `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. |
|
||||
| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. |
|
||||
| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. |
|
||||
| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. |
|
||||
| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `config.toml`. Please check the theme `config.toml` if you want to enable this feature and copy all the relevant _related_ entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. |
|
||||
| `article.relatedContentLimit` | `3` | Limit of related articles to display if `showRelatedContent` is turned on. |
|
||||
| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. |
|
||||
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
|
||||
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
|
||||
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `article.showDate` | `true` | Whether or not article dates are displayed. |
|
||||
| `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `article.showDateOnlyInArticle` | `false` | Show date within article even if not displayed in article listings/cards. |
|
||||
| `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. |
|
||||
| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
|
||||
| `article.showAuthorBottom` | `false` | Author boxes are displayed at the bottom of each page instead of the top. |
|
||||
| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
|
||||
| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `article.showHero = true`. |
|
||||
| `article.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
|
||||
| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
|
||||
| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
|
||||
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
|
||||
| `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. |
|
||||
| `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. |
|
||||
| `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. |
|
||||
| `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. |
|
||||
| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. |
|
||||
| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. |
|
||||
| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. |
|
||||
| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `hugo.toml`. Please check the theme `hugo.toml` if you want to enable this feature and copy all the relevant _related_ entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. |
|
||||
| `article.relatedContentLimit` | `3` | Limit of related articles to display if `showRelatedContent` is turned on. |
|
||||
| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. |
|
||||
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
|
||||
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
|
||||
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
|
||||
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "bluesky", "email", "facebook", "line", "linkedin", "mastodon", "pinterest", "reddit", "telegram", "twitter", and "whatsapp" |
|
||||
| `article.showZenMode` | `false` | Flag to activate Zen Mode reading feature for articles. |
|
||||
| `article.showZenMode` | `false` | Flag to activate Zen Mode reading feature for articles. |
|
||||
|
||||
### List
|
||||
|
||||
| Name | Default | Description |
|
||||
| ---------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `list.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each list page. |
|
||||
| `list.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
|
||||
| `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. |
|
||||
| `list.layoutBackgroundBlur` | `true` | Makes the background image in the background list heroStyle blur with the scroll |
|
||||
| `list.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
|
||||
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. |
|
||||
| `list.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#configurazioni-del-sito). |
|
||||
| `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `list.showLikes` | `false` | Whether or not list likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. |
|
||||
| `list.orderByWeight` | `false` | Whether or not articles are sorted by [weights](https://gohugo.io/methods/page/weight/). |
|
||||
| `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. |
|
||||
| `list.cardView` | `false` | Display lists as a gallery of cards. |
|
||||
| `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
|
||||
| `list.constrainItemsWidth` | `false` | Limit item width to `prose` to increase readability. Useful when no feature images are available. |
|
||||
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `list.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each list page. |
|
||||
| `list.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `list.showHero = true`. |
|
||||
| `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. |
|
||||
| `list.layoutBackgroundBlur` | `true` | Makes the background image in the background list heroStyle blur with the scroll |
|
||||
| `list.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
|
||||
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. |
|
||||
| `list.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#configurazioni-del-sito). |
|
||||
| `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `list.showLikes` | `false` | Whether or not list likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. |
|
||||
| `list.orderByWeight` | `false` | Whether or not articles are sorted by [weights](https://gohugo.io/methods/page/weight/). |
|
||||
| `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. |
|
||||
| `list.cardView` | `false` | Display lists as a gallery of cards. |
|
||||
| `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
|
||||
| `list.constrainItemsWidth` | `false` | Limit item width to `prose` to increase readability. Useful when no feature images are available. |
|
||||
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
|
||||
### Sitemap
|
||||
|
||||
| Name | Default | Description |
|
||||
| ----------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `sitemap.excludedKinds` | `["taxonomy", "term"]` | Kinds of content that should be excluded from the generated `/sitemap.xml` file. Refer to the [Hugo docs](https://gohugo.io/methods/page/kind/) for acceptable values. |
|
||||
|
||||
### Taxonomy
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------------ | --------- | ---------------------------------------------------------------------------------------------------------- |
|
||||
| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. |
|
||||
| `taxonomy.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each taxonomy page. |
|
||||
| `taxonomy.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
|
||||
| `taxonomy.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the taxonomy header. |
|
||||
| `taxonomy.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `taxonomy.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `taxonomy.showTableOfContents` | `false` | Whether or not the table of contents is displayed on taxonomies. |
|
||||
| `taxonomy.cardView` | `false` | Display lists as a gallery of cards. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. |
|
||||
| `taxonomy.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each taxonomy page. |
|
||||
| `taxonomy.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `article.taxonomy = true`. |
|
||||
| `taxonomy.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the taxonomy header. |
|
||||
| `taxonomy.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `taxonomy.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `taxonomy.showTableOfContents` | `false` | Whether or not the table of contents is displayed on taxonomies. |
|
||||
| `taxonomy.cardView` | `false` | Display lists as a gallery of cards. |
|
||||
|
||||
### Term
|
||||
|
||||
| Name | Default | Description |
|
||||
| -------------------------- | --------- | ---------------------------------------------------------------------------------------------------------- |
|
||||
| `term.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each term page. |
|
||||
| `term.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
|
||||
| `term.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the term header. |
|
||||
| `term.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `term.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `term.showTableOfContents` | `false` | Whether or not the table of contents is displayed on terms. |
|
||||
| `term.groupByYear` | `false` | Whether or not articles are grouped by year on term pages. |
|
||||
| `term.cardView` | `false` | Display lists as a gallery of cards. |
|
||||
| `term.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `term.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each term page. |
|
||||
| `term.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. Effective only if `term.showHero = true`. |
|
||||
| `term.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the term header. |
|
||||
| `term.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `term.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
| `term.showTableOfContents` | `false` | Whether or not the table of contents is displayed on terms. |
|
||||
| `term.groupByYear` | `false` | Whether or not articles are grouped by year on term pages. |
|
||||
| `term.cardView` | `false` | Display lists as a gallery of cards. |
|
||||
| `term.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
|
||||
|
||||
### Firebase
|
||||
|
||||
| Name | Default | Description |
|
||||
| ---------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `firebase.apiKey` | _Not set_ | Firebase apiKey, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.authDomain` | _Not set_ | Firebase authDomain, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.projectId` | _Not set_ | Firebase projectId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.storageBucket` | _Not set_ | Firebase storageBucket, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `firebase.apiKey` | _Not set_ | Firebase apiKey, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.authDomain` | _Not set_ | Firebase authDomain, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.projectId` | _Not set_ | Firebase projectId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.storageBucket` | _Not set_ | Firebase storageBucket, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.messagingSenderId` | _Not set_ | Firebase messagingSenderId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.appId` | _Not set_ | Firebase appId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.measurementId` | _Not set_ | Firebase measurementId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.appId` | _Not set_ | Firebase appId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
| `firebase.measurementId` | _Not set_ | Firebase measurementId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||
|
||||
### Fathom Analytics
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `fathomAnalytics.site` | _Not set_ | The site code generated by Fathom Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
||||
| `fathomAnalytics.domain` | _Not set_ | If using a custom domain with Fathom Analytics, provide it here to serve `script.js` from the custom domain. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `fathomAnalytics.site` | _Not set_ | The site code generated by Fathom Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
||||
| `fathomAnalytics.domain` | _Not set_ | If using a custom domain with Fathom Analytics, provide it here to serve `script.js` from the custom domain. |
|
||||
|
||||
### Umami Analytics
|
||||
|
||||
| Name | Default | Description |
|
||||
| -------------------------- | --------- |----------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `umamiAnalytics.websiteid` | _Not set_ | The site code generated by Umami Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
||||
| `umamiAnalytics.domain` | _Not set_ | If using a custom domain with Umami Analytics, provide it here to serve `script.js` from the custom domain. |
|
||||
| `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `umamiAnalytics.websiteid` | _Not set_ | The site code generated by Umami Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
||||
| `umamiAnalytics.domain` | _Not set_ | If using a custom domain with Umami Analytics, provide it here to serve `script.js` from the custom domain. |
|
||||
| `umamiAnalytics.dataDomains` | _Not set_ | If you want the tracker to only run on specific domains, provide it for your tracker script. This is a comma delimited list of domain names. Such as "yoursite.com,yoursite2.com". |
|
||||
| `umamiAnalytics.scriptName` | script.js | The name of the `script.js` used for anti-ad-blocking is configured by the environment variable `TRACKER_SCRIPT_NAME` |
|
||||
| `umamiAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. |
|
||||
| `umamiAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. |
|
||||
|
||||
### Seline Analytics
|
||||
|
||||
| Name | Default | Description |
|
||||
|-----------------------------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `selineAnalytics.token` | _Not set_ | The token generated by Seline Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
||||
| `selineAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `selineAnalytics.token` | _Not set_ | The token generated by Seline Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
||||
| `selineAnalytics.enableTrackEvent` | true | When set to `true` track event will add automatically. If you do not want to add track event, set it to `false`. |
|
||||
|
||||
### BuyMeACoffee
|
||||
|
||||
| Name | Default | Description |
|
||||
| ----------------------------------- | --------- | --------------------------------------------------------------------------- |
|
||||
| `buymeacoffee.identifier` | _Not set_ | The identifier to the target buymeacoffee account. |
|
||||
| `buymeacoffee.globalWidget` | _Not set_ | Activate the global buymeacoffee widget. |
|
||||
| `buymeacoffee.globalWidgetMessage` | _Not set_ | Message what will be displayed the first time a new user lands on the site. |
|
||||
| `buymeacoffee.globalWidgetColor` | _Not set_ | Widget color in hex format. |
|
||||
| `buymeacoffee.globalWidgetPosition` | _Not set_ | Position of the widget, i.e. "Left" or "Right" |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `buymeacoffee.identifier` | _Not set_ | The identifier to the target buymeacoffee account. |
|
||||
| `buymeacoffee.globalWidget` | _Not set_ | Activate the global buymeacoffee widget. |
|
||||
| `buymeacoffee.globalWidgetMessage` | _Not set_ | Message what will be displayed the first time a new user lands on the site. |
|
||||
| `buymeacoffee.globalWidgetColor` | `#FFDD00` | Widget color in hex format. |
|
||||
| `buymeacoffee.globalWidgetPosition` | _Not set_ | Position of the widget, i.e. "left" or "right" |
|
||||
|
||||
### Verifications
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------ | --------- | --------------------------------------------------------------------------------------- |
|
||||
| `verification.google` | _Not set_ | The site verification string provided by Google to be included in the site metadata. |
|
||||
| `verification.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `verification.google` | _Not set_ | The site verification string provided by Google to be included in the site metadata. |
|
||||
| `verification.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. |
|
||||
| `verification.pinterest` | _Not set_ | The site verification string provided by Pinterest to be included in the site metadata. |
|
||||
| `verification.yandex` | _Not set_ | The site verification string provided by Yandex to be included in the site metadata. |
|
||||
| `verification.yandex` | _Not set_ | The site verification string provided by Yandex to be included in the site metadata. |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
### RSSNext
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------ | --------- |--------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `rssnext.feedId` | _Not set_ | The rss `feedId` string provided by [RSSNext/Follow](https://follow.is/) to be included in the `rss.xml`, which can helps to claim rss feed as your own. |
|
||||
| `rssnext.userId` | _Not set_ | The rss `userId` string provided by [RSSNext/Follow](https://follow.is/) to be included in the `rss.xml`, which can helps to claim rss feed as your own. |
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `rssnext.feedId` | _Not set_ | The rss `feedId` string provided by [RSSNext/Follow](https://follow.is/) to be included in the `rss.xml`, which can helps to claim rss feed as your own. |
|
||||
| `rssnext.userId` | _Not set_ | The rss `userId` string provided by [RSSNext/Follow](https://follow.is/) to be included in the `rss.xml`, which can helps to claim rss feed as your own. |
|
||||
|
||||
### Advertisement
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------------ | --------- |-------------|
|
||||
| `advertisement.adsense` | _Not set_ | Your Google AdSense Publisher ID (e.g. `ca-pub-1234567890abcdef`). Set this parameter to enable AdSense ads on your site. |
|
||||
| `advertisement.adsense` | _Not set_ | Your Google AdSense Publisher ID (e.g. `ca-pub-1234567890abcdef`). Set this parameter to enable AdSense ads on your site. |
|
||||
|
||||
## Other configuration files
|
||||
|
||||
|
||||
@@ -27,29 +27,29 @@ npx blowfish-tools
|
||||
デフォルトのテーマ設定は各ファイルに記載されているため、必要に応じて設定を自由に調整できます。
|
||||
|
||||
{{< alert >}}
|
||||
[インストール手順]({{< ref "/docs/installation#set-up-theme-configuration-files" >}})で概説されているように、Hugo プロジェクトの `config/_default/` フォルダ内のファイルを修正し、プロジェクトルートの `config.toml` ファイルを削除することで、テーマ設定を調整する必要があります。
|
||||
[インストール手順]({{< ref "/docs/installation#set-up-theme-configuration-files" >}})で概説されているように、Hugo プロジェクトの `config/_default/` フォルダ内のファイルを修正し、プロジェクトルートの `hugo.toml` ファイルを削除することで、テーマ設定を調整する必要があります。
|
||||
{{< /alert >}}
|
||||
|
||||
## サイト設定
|
||||
|
||||
テーマ全体で標準の Hugo 設定変数が適用されますが、最適なエクスペリエンスを得るために設定する必要がある特定の事項があります。
|
||||
|
||||
サイト設定は `config/_default/config.toml` ファイルで管理されます。 下の表は、Blowfish が活用するすべての設定の概要を示しています。
|
||||
サイト設定は `config/_default/hugo.toml` ファイルで管理されます。 下の表は、Blowfish が活用するすべての設定の概要を示しています。
|
||||
|
||||
この表で提供されている変数名は、TOML データ構造を簡素化するためにドット表記を使用していることに注意してください(つまり、 `outputs.home` は `[outputs] home` を指します)。
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `theme` | `"blowfish"` | Hugo Modules を使用している場合は、この設定値を削除する必要があります。 他のすべてのインストールタイプでは、テーマが機能するためにこれを `blowfish` に設定する必要があります。 |
|
||||
| `baseURL` | _未設定_ | ウェブサイトのルートへの URL です。 |
|
||||
| `defaultContentLanguage` | `"en"` | この値は、テーマコンポーネントとコンテンツのデフォルト言語を決定します。 サポートされている言語コードについては、以下の[言語と i18n](#言語と-i18n) セクションを参照してください。 |
|
||||
| `enableRobotsTXT` | `true` | 有効にすると、検索エンジンがサイト全体をクロールできるようにする `robots.txt` ファイルがサイトルートに作成されます。 あらかじめ作成した独自の `robots.txt` を提供する場合は、`false` に設定し、ファイルを `static` ディレクトリに配置します。 完全に制御するには、このファイルを生成するための[カスタムレイアウト]({{< ref "content-examples#カスタムレイアウト" >}})を提供できます。 |
|
||||
| `pagination.pagerSize` | `10` | 記事リストの各ページにリストされる記事の数です。 |
|
||||
| `summaryLength` | `0` | [フロントマター]({{< ref "front-matter" >}})で提供されていない場合に、記事の概要を生成するために使用される単語の数です。 値 `0` は最初の文を使用します。 概要が非表示になっている場合、この値は効果がありません。 |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | サイト用に生成される出力形式です。 Blowfish では、すべてのテーマコンポーネントが正しく機能するために HTML、RSS、JSON が必要です。 |
|
||||
| `permalinks` | _未設定_ | パーマリンクの設定については、[Hugo ドキュメント](https://gohugo.io/configuration/permalinks/)を参照してください。 |
|
||||
| `taxonomies` | _未設定_ | 分類の設定については、[コンテンツの整理]({{< ref "getting-started#コンテンツの整理" >}})セクションを参照してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `theme` | `"blowfish"` | Hugo Modules を使用している場合は、この設定値を削除する必要があります。 他のすべてのインストールタイプでは、テーマが機能するためにこれを `blowfish` に設定する必要があります。 |
|
||||
| `baseURL` | _未設定_ | ウェブサイトのルートへの URL です。 |
|
||||
| `defaultContentLanguage` | `"en"` | この値は、テーマコンポーネントとコンテンツのデフォルト言語を決定します。 サポートされている言語コードについては、以下の[言語と i18n](#言語と-i18n) セクションを参照してください。 |
|
||||
| `enableRobotsTXT` | `true` | 有効にすると、検索エンジンがサイト全体をクロールできるようにする `robots.txt` ファイルがサイトルートに作成されます。 あらかじめ作成した独自の `robots.txt` を提供する場合は、`false` に設定し、ファイルを `static` ディレクトリに配置します。 完全に制御するには、このファイルを生成するための[カスタムレイアウト]({{< ref "content-examples#カスタムレイアウト" >}})を提供できます。 |
|
||||
| `pagination.pagerSize` | `10` | 記事リストの各ページにリストされる記事の数です。 |
|
||||
| `summaryLength` | `0` | [フロントマター]({{< ref "front-matter" >}})で提供されていない場合に、記事の概要を生成するために使用される単語の数です。 値 `0` は最初の文を使用します。 概要が非表示になっている場合、この値は効果がありません。 |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | サイト用に生成される出力形式です。 Blowfish では、すべてのテーマコンポーネントが正しく機能するために HTML、RSS、JSON が必要です。 |
|
||||
| `permalinks` | _未設定_ | パーマリンクの設定については、[Hugo ドキュメント](https://gohugo.io/configuration/permalinks/)を参照してください。 |
|
||||
| `taxonomies` | _未設定_ | 分類の設定については、[コンテンツの整理]({{< ref "getting-started#コンテンツの整理" >}})セクションを参照してください。 |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
|
||||
@@ -112,40 +112,40 @@ Blowfish は多言語ウェブサイト向けに最適化されており、テ
|
||||
#### グローバル
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| -------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `languageCode` | `"en"` | このファイルの Hugo 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-au`)にすることができ、ファイル名の言語コードと一致する必要があります。Hugo はこの値が常に小文字であることを想定しています。適切な HTML 準拠のために、大文字と小文字を区別する `isoCode` パラメータを設定します。 |
|
||||
| `languageName` | `"English"` | 言語の名前です。 |
|
||||
| `weight` | `1` | 重みは、多言語サイトを構築するときの言語の順序を決定します。 |
|
||||
| `title` | `"Blowfish"` | ウェブサイトのタイトルです。これは、サイトのヘッダーとフッターに表示されます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `languageCode` | `"en"` | このファイルの Hugo 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-au`)にすることができ、ファイル名の言語コードと一致する必要があります。Hugo はこの値が常に小文字であることを想定しています。適切な HTML 準拠のために、大文字と小文字を区別する `isoCode` パラメータを設定します。 |
|
||||
| `languageName` | `"English"` | 言語の名前です。 |
|
||||
| `weight` | `1` | 重みは、多言語サイトを構築するときの言語の順序を決定します。 |
|
||||
| `title` | `"Blowfish"` | ウェブサイトのタイトルです。これは、サイトのヘッダーとフッターに表示されます。 |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### パラメーター
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `params.displayName` | `"EN"` | ウェブサイトに言語が表示されるときに使用される名前です。 |
|
||||
| `params.isoCode` | `"en"` | HTML メタデータ用の ISO 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-AU`)にすることができます。 |
|
||||
| `params.rtl` | `false` | これが RTL 言語かどうかです。`true` に設定すると、コンテンツが右から左に並べ替えられます。 Blowfish は RTL 言語と LTR 言語の同時使用を完全にサポートしており、両方に動的に調整されます。 |
|
||||
| `params.dateFormat` | `"2 January 2006"` | この言語での日付のフォーマット方法です。使用できる形式については、[Hugo ドキュメント](https://gohugo.io/functions/time/format/#layout-string)を参照してください。 |
|
||||
| `params.logo` | _未設定_ | `assets/` フォルダ内のサイトロゴファイルへの相対パスです。ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 |
|
||||
| `params.secondaryLogo` | _未設定_ | `assets/` フォルダ内のセカンダリサイトロゴファイルへの相対パスです。 ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 これは、`logo` とは反転/対照的なカラースキームである必要があります。設定されている場合、このロゴは、ユーザーが `defaultAppearance` モードから切り替えたときに表示されます。 |
|
||||
| `params.description` | _未設定_ | ウェブサイトの説明です。これはサイトのメタデータで使用されます。 |
|
||||
| `params.copyright` | _未設定_ | サイトフッターの著作権メッセージの Markdown 文字列には、プレースホルダ { year } を含めて現在の年を動的に挿入できます。指定されていない場合、Blowfish はサイト `title` を使用して著作権文字列を自動的に生成します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `params.displayName` | `"EN"` | ウェブサイトに言語が表示されるときに使用される名前です。 |
|
||||
| `params.isoCode` | `"en"` | HTML メタデータ用の ISO 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-AU`)にすることができます。 |
|
||||
| `params.rtl` | `false` | これが RTL 言語かどうかです。`true` に設定すると、コンテンツが右から左に並べ替えられます。 Blowfish は RTL 言語と LTR 言語の同時使用を完全にサポートしており、両方に動的に調整されます。 |
|
||||
| `params.dateFormat` | `"2 January 2006"` | この言語での日付のフォーマット方法です。使用できる形式については、[Hugo ドキュメント](https://gohugo.io/functions/time/format/#layout-string)を参照してください。 |
|
||||
| `params.logo` | _未設定_ | `assets/` フォルダ内のサイトロゴファイルへの相対パスです。ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 |
|
||||
| `params.secondaryLogo` | _未設定_ | `assets/` フォルダ内のセカンダリサイトロゴファイルへの相対パスです。 ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 これは、`logo` とは反転/対照的なカラースキームである必要があります。設定されている場合、このロゴは、ユーザーが `defaultAppearance` モードから切り替えたときに表示されます。 |
|
||||
| `params.description` | _未設定_ | ウェブサイトの説明です。これはサイトのメタデータで使用されます。 |
|
||||
| `params.copyright` | _未設定_ | サイトフッターの著作権メッセージの Markdown 文字列には、プレースホルダ { year } を含めて現在の年を動的に挿入できます。指定されていない場合、Blowfish はサイト `title` を使用して著作権文字列を自動的に生成します。 |
|
||||
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### 著者(Author)
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `author.name` | _未設定_ | 著者の名前です。これは、記事のフッターと、プロフィールレイアウトが使用されている場合はホームページに表示されます。 |
|
||||
| `author.image` | _未設定_ | 著者の画像ファイルへのパスです。画像は縦横比 1:1 である必要があります。画像は、サイトの `assets/` フォルダに配置することも、外部 URL にすることもできます。 |
|
||||
| `author.headline` | _未設定_ | 著者の見出しを含む Markdown 文字列です。プロフィールホームページの著者の名前に下に表示されます。 |
|
||||
| `author.bio` | _未設定_ | 著者の略歴を含む Markdown 文字列です。記事のフッターに表示されます。 |
|
||||
| `author.links` | _未設定_ | 著者の詳細と一緒に表示するリンクです。設定ファイルには、コメントを外すだけで有効になるリンクの例が含まれています。リンクが表示される順序は、配列に表示される順序によって決まります。`assets/icons/` に対応する SVG アイコンアセットを提供することで、カスタムリンクを追加できます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `author.name` | _未設定_ | 著者の名前です。これは、記事のフッターと、プロフィールレイアウトが使用されている場合はホームページに表示されます。 |
|
||||
| `author.image` | _未設定_ | 著者の画像ファイルへのパスです。画像は縦横比 1:1 である必要があります。画像は、サイトの `assets/` フォルダに配置することも、外部 URL にすることもできます。 |
|
||||
| `author.headline` | _未設定_ | 著者の見出しを含む Markdown 文字列です。プロフィールホームページの著者の名前に下に表示されます。 |
|
||||
| `author.bio` | _未設定_ | 著者の略歴を含む Markdown 文字列です。記事のフッターに表示されます。 |
|
||||
| `author.links` | _未設定_ | 著者の詳細と一緒に表示するリンクです。設定ファイルには、コメントを外すだけで有効になるリンクの例が含まれています。リンクが表示される順序は、配列に表示される順序によって決まります。`assets/icons/` に対応する SVG アイコンアセットを提供することで、カスタムリンクを追加できます。 |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
### メニュー(Menus)
|
||||
@@ -166,195 +166,198 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
|
||||
|
||||
### グローバル
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `colorScheme` | `"blowfish"` | 使用するテーマのカラースキームです。有効な値は、`blowfish`(デフォルト)、`avocado`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate` です。詳細については、[カラースキーム]({{< ref "getting-started#カラースキーム" >}})セクションを参照してください。 |
|
||||
| `defaultAppearance` | `"light"` | デフォルトのテーマの外観です。`light` または `dark` のいずれかです。 |
|
||||
| `autoSwitchAppearance` | `true` | 訪問者のオペレーティングシステムの設定に基づいてテーマの外観を自動的に切り替えるかどうかです。`false` に設定すると、サイトは常に `defaultAppearance` を使用します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `colorScheme` | `"blowfish"` | 使用するテーマのカラースキームです。有効な値は、`blowfish`(デフォルト)、`avocado`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate`, `github`, `one-light` です。詳細については、[カラースキーム]({{< ref "getting-started#カラースキーム" >}})セクションを参照してください。 |
|
||||
| `defaultAppearance` | `"light"` | デフォルトのテーマの外観です。`light` または `dark` のいずれかです。 |
|
||||
| `autoSwitchAppearance` | `true` | 訪問者のオペレーティングシステムの設定に基づいてテーマの外観を自動的に切り替えるかどうかです。`false` に設定すると、サイトは常に `defaultAppearance` を使用します。 |
|
||||
| `enableA11y` | `false` | アクセシビリティ切り替えボタンを有効にするかどうか。 |
|
||||
| `enableSearch` | `false` | サイト内検索が有効かどうかです。`true` に設定すると、検索機能が有効になります。検索機能は、[サイト設定](#サイト設定)の `outputs.home` 設定が正しく設定されているかどうかに依存することに注意してください。 |
|
||||
| `enableCodeCopy` | `false` | `<code>` ブロックのクリップボードへのコピーボタンを有効にするかどうかです。コードコピーが正しく機能するには、`highlight.noClasses` パラメータを `false` に設定する必要があります。以下の[その他の設定ファイル](#その他の設定ファイル)について読んでください。 |
|
||||
| `mainSections` | _未設定_ | 最近の記事リストに表示するセクションです。指定しない場合は、記事数が最も多いセクションが使用されます。 |
|
||||
| `showViews` | _未設定_ | 記事とリストの表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `showLikes` | _未設定_ | 記事とリストのいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `robots` | _未設定_ | ロボットがサイトをどのように処理するかを示す文字列です。設定されている場合、ページヘッダーに出力されます。有効な値については、[Google のドキュメント](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)を参照してください。 |
|
||||
| `disableImageZoom` | `false` | サイト内のすべての画像の画像ズーム機能を無効にします。 |
|
||||
| `disableImageOptimization` | `false` | サイト内のすべての画像の画像サイズ変更と最適化機能を無効にします。Markdown 記法(例:``)の画像は対象外です。 |
|
||||
| `disableImageOptimizationMD` | `false` | Markdown 記法(例:``)の画像の画像サイズ変更と最適化機能のみを無効にします。他の画像には適用されます。 |
|
||||
| `disableTextInHeader` | `false` | ヘッダーのテキストを無効にします。ロゴベースのヘッダーに役立ちます。 |
|
||||
| `defaultBackgroundImage` | _未設定_ | `background` ホームページレイアウトと `background` ヒーロースタイルの両方のデフォルトの背景画像です。 |
|
||||
| `defaultFeaturedImage` | _未設定_ | 記事全体のすべての `featured` 画像のデフォルトの背景画像です。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `defaultSocialImage` | _未設定_ | ソーシャルメディア共有(Open Graph と Twitter)用のデフォルト画像。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `highlightCurrentMenuArea` | _未設定_ | メインメニューのメニュー項目が選択されているときにマークを付けます。 |
|
||||
| `smartTOC` | _未設定_ | スマート目次をアクティブにします。表示されている項目が強調表示されます。 |
|
||||
| `smartTOCHideUnfocusedChildren` | _未設定_ | スマート目次がオンになっている場合、フォーカスされていないときに、テーブルのより深いレベルが非表示になります。 |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | CSS/JSファイルのフィンガープリントに使用するハッシュアルゴリズム。ブラウザキャッシュの問題を防ぎます。有効値は `sha512`(デフォルト)、`sha384`、`sha256`。 |
|
||||
| `enableSearch` | `false` | サイト内検索が有効かどうかです。`true` に設定すると、検索機能が有効になります。検索機能は、[サイト設定](#サイト設定)の `outputs.home` 設定が正しく設定されているかどうかに依存することに注意してください。 |
|
||||
| `enableCodeCopy` | `false` | `<code>` ブロックのクリップボードへのコピーボタンを有効にするかどうかです。コードコピーが正しく機能するには、`highlight.noClasses` パラメータを `false` に設定する必要があります。以下の[その他の設定ファイル](#その他の設定ファイル)について読んでください。 |
|
||||
| `enableStructuredBreadcrumbs` | `false` | SEO のために [BreadcrumbList](https://developers.google.com/search/docs/appearance/structured-data/breadcrumb) を追加するかどうかを示す。コンテンツパスが URL と一致しない場合例えば複雑な [URL 設定](https://gohugo.io/content-management/urls/) では有効化しないことを示す。 |
|
||||
| `mainSections` | _未設定_ | 最近の記事リストに表示するセクションです。指定しない場合は、記事数が最も多いセクションが使用されます。 |
|
||||
| `showViews` | _未設定_ | 記事とリストの表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `showLikes` | _未設定_ | 記事とリストのいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `robots` | _未設定_ | ロボットがサイトをどのように処理するかを示す文字列です。設定されている場合、ページヘッダーに出力されます。有効な値については、[Google のドキュメント](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)を参照してください。 |
|
||||
| `disableImageZoom` | `false` | サイト内のすべての画像の画像ズーム機能を無効にします。 |
|
||||
| `disableImageOptimization` | `false` | サイト内のすべての画像の画像サイズ変更と最適化機能を無効にします。Markdown 記法(例:``)の画像は対象外です。 |
|
||||
| `disableImageOptimizationMD` | `false` | Markdown 記法(例:``)の画像の画像サイズ変更と最適化機能のみを無効にします。他の画像には適用されます。 |
|
||||
| `disableTextInHeader` | `false` | ヘッダーのテキストを無効にします。ロゴベースのヘッダーに役立ちます。 |
|
||||
| `defaultBackgroundImage` | _未設定_ | `background` ホームページレイアウトと `background` ヒーロースタイルの両方のデフォルトの背景画像です。 |
|
||||
| `defaultFeaturedImage` | _未設定_ | 記事全体のすべての `featured` 画像のデフォルトの背景画像です。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `defaultSocialImage` | _未設定_ | ソーシャルメディア共有(Open Graph と Twitter)用のデフォルト画像。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `hotlinkFeatureImage` | `false` | 記事のアイキャッチ画像や記事カードで外部画像をホットリンクします。これらの画像は Hugo によって処理されません。 |
|
||||
| `imagePosition` | _未設定_ | `object-position` 属性を使用してデフォルト画像の位置を設定します。有効な値は [MDN ドキュメント](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position#try_it) に記載されています。 |
|
||||
| `highlightCurrentMenuArea` | _未設定_ | メインメニューのメニュー項目が選択されているときにマークを付けます。 |
|
||||
| `smartTOC` | _未設定_ | スマート目次をアクティブにします。表示されている項目が強調表示されます。 |
|
||||
| `smartTOCHideUnfocusedChildren` | _未設定_ | スマート目次がオンになっている場合、フォーカスされていないときに、テーブルのより深いレベルが非表示になります。 |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | CSS/JSファイルのフィンガープリントに使用するハッシュアルゴリズム。ブラウザキャッシュの問題を防ぎます。有効値は `sha512`(デフォルト)、`sha384`、`sha256`。 |
|
||||
|
||||
### ヘッダー(Header)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --------------- | ---------- | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| `header.layout` | `"basic"` | サイト全体のヘッダーを定義します。サポートされている値は、`basic`、`fixed`、`fixed-fill`、`fixed-fill-blur` です。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `header.layout` | `"basic"` | サイト全体のヘッダーを定義します。サポートされている値は、`basic`、`fixed`、`fixed-fill`、`fixed-fill-blur` です。 |
|
||||
|
||||
### フッター(Footer)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `footer.showMenu` | `true` | フッターメニューを表示/非表示にします。これは、`config/_default/menus.en.toml` ファイルの `[[footer]]` セクションで設定できます。 |
|
||||
| `footer.showCopyright` | `true` | サイトのフッターに著作権文字列を表示するかどうかです。文字列自体は、[言語設定](#言語と-i18n) の `copyright` パラメータを使用してカスタマイズできることに注意してください。 |
|
||||
| `footer.showThemeAttribution` | `true` | サイトのフッターに「powered by」というテーマの帰属を表示するかどうかです。このメッセージを無効にする場合は、サイトの他の場所(たとえば、about ページ)でテーマの帰属を検討してください。 |
|
||||
| `footer.showAppearanceSwitcher` | `false` | サイトのフッターに外観スイッチャーを表示するかどうかです。 ブラウザのローカルストレージを使用して、訪問者の設定が保持されます。 |
|
||||
| `footer.showScrollToTop` | `true` | `true` に設定すると、トップへスクロールの矢印が表示されます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `footer.showMenu` | `true` | フッターメニューを表示/非表示にします。これは、`config/_default/menus.en.toml` ファイルの `[[footer]]` セクションで設定できます。 |
|
||||
| `footer.showCopyright` | `true` | サイトのフッターに著作権文字列を表示するかどうかです。文字列自体は、[言語設定](#言語と-i18n) の `copyright` パラメータを使用してカスタマイズできることに注意してください。 |
|
||||
| `footer.showThemeAttribution` | `true` | サイトのフッターに「powered by」というテーマの帰属を表示するかどうかです。このメッセージを無効にする場合は、サイトの他の場所(たとえば、about ページ)でテーマの帰属を検討してください。 |
|
||||
| `footer.showAppearanceSwitcher` | `false` | サイトのフッターに外観スイッチャーを表示するかどうかです。 ブラウザのローカルストレージを使用して、訪問者の設定が保持されます。 |
|
||||
| `footer.showScrollToTop` | `true` | `true` に設定すると、トップへスクロールの矢印が表示されます。 |
|
||||
|
||||
### ホームページ(Homepage)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `homepage.layout` | `"profile"` | ホームページのレイアウトです。有効な値は、`page`、`profile`、`hero`、`card`、`background`、`custom` です。`custom` に設定した場合、`/layouts/partials/home/custom.html` ファイルを作成して独自のレイアウトを提供する必要があります。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.homepageImage` | _未設定_ | `hero` レイアウトと `card` レイアウトで使用される画像です。アセットディレクトリからのローカル画像または外部画像 URL として設定できます。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.showRecent` | `false` | ホームページに最近の記事リストを表示するかどうかです。 |
|
||||
| `homepage.showRecentItems` | 5 | showRecent が true の場合に表示する記事の数です。変数が0に設定されている場合、または定義されていない場合は、システムはデフォルトで5つの記事に設定されます。 |
|
||||
| `homepage.showMoreLink` | `false` | ユーザーを事前に定義された場所に移動する「もっと見る」リンクを投稿の最後に表示するかどうかです。 |
|
||||
| `homepage.showMoreLinkDest` | `/posts` | 「もっと見る」ボタンの移動先です。 |
|
||||
| `homepage.cardView` | `false` | 最近の記事をカードのギャラリーとして表示します。 |
|
||||
| `homepage.cardViewScreenWidth` | `false` | 最近の記事カードギャラリーの幅を拡張して、利用可能な幅全体を使用します。 |
|
||||
| `homepage.layoutBackgroundBlur` | `false` | ホームページレイアウトの背景画像をスクロールに合わせてぼかします。 |
|
||||
| `homepage.disableHeroImageFilter` | `false` | ホームページの背景画像にフィルターを適用するかどうか。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `homepage.layout` | `"profile"` | ホームページのレイアウトです。有効な値は、`page`、`profile`、`hero`、`card`、`background`、`custom` です。`custom` に設定した場合、`/layouts/partials/home/custom.html` ファイルを作成して独自のレイアウトを提供する必要があります。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.homepageImage` | _未設定_ | `hero` レイアウトと `card` レイアウトで使用される画像です。アセットディレクトリからのローカル画像または外部画像 URL として設定できます。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.showRecent` | `false` | ホームページに最近の記事リストを表示するかどうかです。 |
|
||||
| `homepage.showRecentItems` | 5 | showRecent が true の場合に表示する記事の数です。変数が0に設定されている場合、または定義されていない場合は、システムはデフォルトで5つの記事に設定されます。 |
|
||||
| `homepage.showMoreLink` | `false` | ユーザーを事前に定義された場所に移動する「もっと見る」リンクを投稿の最後に表示するかどうかです。 |
|
||||
| `homepage.showMoreLinkDest` | `/posts` | 「もっと見る」ボタンの移動先です。 |
|
||||
| `homepage.cardView` | `false` | 最近の記事をカードのギャラリーとして表示します。 |
|
||||
| `homepage.cardViewScreenWidth` | `false` | 最近の記事カードギャラリーの幅を拡張して、利用可能な幅全体を使用します。 |
|
||||
| `homepage.layoutBackgroundBlur` | `false` | ホームページレイアウトの背景画像をスクロールに合わせてぼかします。 |
|
||||
| `homepage.disableHeroImageFilter` | `false` | ホームページの背景画像にフィルターを適用するかどうか。 |
|
||||
|
||||
### 記事(Article)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `article.showDate` | `true` | 記事の日付を表示するかどうかです。 |
|
||||
| `article.showViews` | `false` | 記事の表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showLikes` | `false` | 記事のいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showDateOnlyInArticle` | `false` | 記事リスト/カードに表示されていない場合でも、記事内に日付を表示します。 |
|
||||
| `article.showDateUpdated` | `false` | 記事が更新された日付を表示するかどうかです。 |
|
||||
| `article.showAuthor` | `true` | 記事のフッターに著者ボックスを表示するかどうかです。 |
|
||||
| `article.showAuthorBottom` | `false` | 著者ボックスは、各ページの上部ではなく下部に表示されます。 |
|
||||
| `article.showHero` | `false` | サムネイル画像を各記事ページ内でヒーロー画像として表示するかどうかです。 |
|
||||
| `article.heroStyle` | _未設定_ | ヒーロー画像を表示するスタイルです。有効なオプションは、`basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `article.layoutBackgroundBlur` | `true` | 背景記事 heroStyle の背景画像をスクロールに合わせてぼかします。 |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `article.showBreadcrumbs` | `false` | 記事のヘッダーにパンくずリストを表示するかどうかです。 |
|
||||
| `article.showDraftLabel` | `true` | サイトが `--buildDrafts` でビルドされたときに、記事の横にドラフトインジケータを表示するかどうかです。 |
|
||||
| `article.showEdit` | `false` | 記事コンテンツを編集するためのリンクを表示するかどうかです。 |
|
||||
| `article.editURL` | _未設定_ | `article.showEdit` がアクティブな場合、編集リンクの URL です。 |
|
||||
| `article.editAppendPath` | `true` | `article.showEdit` がアクティブな場合、現在の記事へのパスを `article.editURL` で設定された URL に追加するかどうかです。 |
|
||||
| `article.seriesOpened` | `false` | シリーズモジュールがデフォルトで開いた状態で表示されるかどうかです。 |
|
||||
| `article.showHeadingAnchors` | `true` | 記事内の見出しの横にアンカーリンク見出しを表示するかどうかです。 |
|
||||
| `article.showPagination` | `true` | 記事のフッターに次/前の記事リンクを表示するかどうかです。 |
|
||||
| `article.invertPagination` | `false` | 次/前の記事リンクの方向を反転するかどうかです。 |
|
||||
| `article.showReadingTime` | `true` | 記事の読了時間を表示するかどうかです。 |
|
||||
| `article.showTableOfContents` | `false` | 記事に目次を表示するかどうかです。 |
|
||||
| `article.showRelatedContent` | `false` | 各投稿の関連記事を表示します。`config.toml` に追加の設定が必要になる場合があります。この機能を有効にする場合は、テーマの `config.toml` を確認し、関連するすべての _related_ エントリをコピーしてください。また、関連記事については [Hugo のドキュメント](https://gohugo.io/content-management/related/) も確認してください。 |
|
||||
| `article.relatedContentLimit` | `3` | `showRelatedContent` がオンになっている場合に表示する関連記事の上限です。 |
|
||||
| `article.showTaxonomies` | `false` | この記事に関連するタクソノミーを表示するかどうかです。 |
|
||||
| `article.showAuthorsBadges` | `false` | `authors` タクソノミーを記事またはリストのヘッダーに表示するかどうかです。これには、「複数の著者」と `authors` タクソノミーの設定が必要です。この機能の設定方法の詳細については、[このページ]({{< ref "multi-author" >}}) を確認してください。 |
|
||||
| `article.showWordCount` | `false` | 記事の単語数を表示するかどうかです。 |
|
||||
| `article.showComments` | `false` | 記事のフッターの後に [コメントパーシャル]({{< ref "partials#コメント" >}}) を含めるかどうかです。 |
|
||||
| `article.sharingLinks` | _未設定_ | 各記事の最後に表示する共有リンクです。指定されていないか、`false` に設定されている場合、リンクは表示されません。使用可能な値は、"bluesky"、"email"、"facebook"、"line"、"linkedin"、"mastodon"、"pinterest"、"reddit"、"telegram"、"twitter"、"whatsapp"です。 |
|
||||
| `article.showZenMode` | `false` | 記事のZenモードリーダー機能を有効にするフラグです。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `article.showDate` | `true` | 記事の日付を表示するかどうかです。 |
|
||||
| `article.showViews` | `false` | 記事の表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showLikes` | `false` | 記事のいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showDateOnlyInArticle` | `false` | 記事リスト/カードに表示されていない場合でも、記事内に日付を表示します。 |
|
||||
| `article.showDateUpdated` | `false` | 記事が更新された日付を表示するかどうかです。 |
|
||||
| `article.showAuthor` | `true` | 記事のフッターに著者ボックスを表示するかどうかです。 |
|
||||
| `article.showAuthorBottom` | `false` | 著者ボックスは、各ページの上部ではなく下部に表示されます。 |
|
||||
| `article.showHero` | `false` | サムネイル画像を各記事ページ内でヒーロー画像として表示するかどうかです。 |
|
||||
| `article.heroStyle` | _未設定_ | ヒーロー画像を表示するスタイルです。有効なオプションは、`basic`、`big`、`background`、`thumbAndBackground` です。`article.showHero = true` の場合にのみ有効。 |
|
||||
| `article.layoutBackgroundBlur` | `true` | 背景記事 heroStyle の背景画像をスクロールに合わせてぼかします。 |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `article.showBreadcrumbs` | `false` | 記事のヘッダーにパンくずリストを表示するかどうかです。 |
|
||||
| `article.showDraftLabel` | `true` | サイトが `--buildDrafts` でビルドされたときに、記事の横にドラフトインジケータを表示するかどうかです。 |
|
||||
| `article.showEdit` | `false` | 記事コンテンツを編集するためのリンクを表示するかどうかです。 |
|
||||
| `article.editURL` | _未設定_ | `article.showEdit` がアクティブな場合、編集リンクの URL です。 |
|
||||
| `article.editAppendPath` | `true` | `article.showEdit` がアクティブな場合、現在の記事へのパスを `article.editURL` で設定された URL に追加するかどうかです。 |
|
||||
| `article.seriesOpened` | `false` | シリーズモジュールがデフォルトで開いた状態で表示されるかどうかです。 |
|
||||
| `article.showHeadingAnchors` | `true` | 記事内の見出しの横にアンカーリンク見出しを表示するかどうかです。 |
|
||||
| `article.showPagination` | `true` | 記事のフッターに次/前の記事リンクを表示するかどうかです。 |
|
||||
| `article.invertPagination` | `false` | 次/前の記事リンクの方向を反転するかどうかです。 |
|
||||
| `article.showReadingTime` | `true` | 記事の読了時間を表示するかどうかです。 |
|
||||
| `article.showTableOfContents` | `false` | 記事に目次を表示するかどうかです。 |
|
||||
| `article.showRelatedContent` | `false` | 各投稿の関連記事を表示します。`hugo.toml` に追加の設定が必要になる場合があります。この機能を有効にする場合は、テーマの `hugo.toml` を確認し、関連するすべての _related_ エントリをコピーしてください。また、関連記事については [Hugo のドキュメント](https://gohugo.io/content-management/related/) も確認してください。 |
|
||||
| `article.relatedContentLimit` | `3` | `showRelatedContent` がオンになっている場合に表示する関連記事の上限です。 |
|
||||
| `article.showTaxonomies` | `false` | この記事に関連するタクソノミーを表示するかどうかです。 |
|
||||
| `article.showAuthorsBadges` | `false` | `authors` タクソノミーを記事またはリストのヘッダーに表示するかどうかです。これには、「複数の著者」と `authors` タクソノミーの設定が必要です。この機能の設定方法の詳細については、[このページ]({{< ref "multi-author" >}}) を確認してください。 |
|
||||
| `article.showWordCount` | `false` | 記事の単語数を表示するかどうかです。 |
|
||||
| `article.showComments` | `false` | 記事のフッターの後に [コメントパーシャル]({{< ref "partials#コメント" >}}) を含めるかどうかです。 |
|
||||
| `article.sharingLinks` | _未設定_ | 各記事の最後に表示する共有リンクです。指定されていないか、`false` に設定されている場合、リンクは表示されません。使用可能な値は、"bluesky"、"email"、"facebook"、"line"、"linkedin"、"mastodon"、"pinterest"、"reddit"、"telegram"、"twitter"、"whatsapp"です。 |
|
||||
| `article.showZenMode` | `false` | 記事のZenモードリーダー機能を有効にするフラグです。 |
|
||||
|
||||
### リスト(List)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `list.showHero` | `false` | 各リストページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `list.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `list.showBreadcrumbs` | `false` | リストページのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `list.layoutBackgroundBlur` | `true` | `background` リストの heroStyle の背景画像をスクロールでぼかします。 |
|
||||
| `list.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `list.showTableOfContents` | `false` | リストページに目次を表示するかどうか。 |
|
||||
| `list.showSummary` | `false` | リストページに記事の要約を表示するかどうか。[フロントマター]({{< ref "front-matter" >}}) で要約が提供されていない場合、[サイト設定](#サイト設定) の `summaryLength` パラメータを使用して自動的に生成されます。 |
|
||||
| `list.showViews` | `false` | リストの閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showLikes` | `false` | リストのいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showCards` | `false` | 各記事をカードとして表示するか、シンプルなインラインテキストとして表示するかどうか。 |
|
||||
| `list.orderByWeight` | `false` | 記事を[重み](https://gohugo.io/methods/page/weight/)で並べ替えるかどうか。 |
|
||||
| `list.groupByYear` | `true` | リストページで記事を年別にグループ化するかどうか。 |
|
||||
| `list.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `list.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
| `list.constrainItemsWidth` | `false` | 読みやすくするために、アイテムの幅を `prose` に制限します。フィーチャー画像が利用できない場合に役立ちます。 |
|
||||
| `list.showTableOfContents` | `false` | 記事に目次を表示するかどうか。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `list.showHero` | `false` | 各リストページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `list.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。`list.showHero = true` の場合にのみ有効。 |
|
||||
| `list.showBreadcrumbs` | `false` | リストページのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `list.layoutBackgroundBlur` | `true` | `background` リストの heroStyle の背景画像をスクロールでぼかします。 |
|
||||
| `list.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `list.showTableOfContents` | `false` | リストページに目次を表示するかどうか。 |
|
||||
| `list.showSummary` | `false` | リストページに記事の要約を表示するかどうか。[フロントマター]({{< ref "front-matter" >}}) で要約が提供されていない場合、[サイト設定](#サイト設定) の `summaryLength` パラメータを使用して自動的に生成されます。 |
|
||||
| `list.showViews` | `false` | リストの閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showLikes` | `false` | リストのいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showCards` | `false` | 各記事をカードとして表示するか、シンプルなインラインテキストとして表示するかどうか。 |
|
||||
| `list.orderByWeight` | `false` | 記事を[重み](https://gohugo.io/methods/page/weight/)で並べ替えるかどうか。 |
|
||||
| `list.groupByYear` | `true` | リストページで記事を年別にグループ化するかどうか。 |
|
||||
| `list.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `list.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
| `list.constrainItemsWidth` | `false` | 読みやすくするために、アイテムの幅を `prose` に制限します。フィーチャー画像が利用できない場合に役立ちます。 |
|
||||
| `list.showTableOfContents` | `false` | 記事に目次を表示するかどうか。 |
|
||||
|
||||
### サイトマップ(Sitemap)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `sitemap.excludedKinds` | `["taxonomy", "term"]` | 生成された `/sitemap.xml` ファイルから除外するコンテンツの種類。許容される値については、[Hugo のドキュメント](https://gohugo.io/methods/page/kind/)を参照してください。 |
|
||||
|
||||
### タクソノミー(Taxonomy)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| `taxonomy.showTermCount` | `true` | タクソノミーリストにタクソノミー用語内の記事数を表示するかどうか。 |
|
||||
| `taxonomy.showHero` | `false` | 各タクソノミーページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `taxonomy.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `taxonomy.showBreadcrumbs` | `false` | タクソノミーのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `taxonomy.showViews` | `false` | 記事の閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showLikes` | `false` | 記事のいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showTableOfContents` | `false` | タクソノミーに目次を表示するかどうか。 |
|
||||
| `taxonomy.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `taxonomy.showTermCount` | `true` | タクソノミーリストにタクソノミー用語内の記事数を表示するかどうか。 |
|
||||
| `taxonomy.showHero` | `false` | 各タクソノミーページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `taxonomy.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。`taxonomy.showHero = true` の場合にのみ有効。 |
|
||||
| `taxonomy.showBreadcrumbs` | `false` | タクソノミーのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `taxonomy.showViews` | `false` | 記事の閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showLikes` | `false` | 記事のいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showTableOfContents` | `false` | タクソノミーに目次を表示するかどうか。 |
|
||||
| `taxonomy.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
|
||||
### ターム(Term)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| -------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| `term.showHero` | `false` | 各タームページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `term.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `term.showBreadcrumbs` | `false` | タームのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `term.showHero` | `false` | 各タームページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `term.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。`term.showHero = true` の場合にのみ有効。 |
|
||||
| `term.showBreadcrumbs` | `false` | タームのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `term.showViews` | `false` | 記事の閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `term.showLikes` | `false` | 記事のいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `term.showTableOfContents` | `false` | タームに目次を表示するかどうか。 |
|
||||
| `term.groupByYear` | `false` | タームページで記事を年別にグループ化するかどうか。 |
|
||||
| `term.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `term.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
| `term.showTableOfContents` | `false` | タームに目次を表示するかどうか。 |
|
||||
| `term.groupByYear` | `false` | タームページで記事を年別にグループ化するかどうか。 |
|
||||
| `term.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `term.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
|
||||
### Firebase
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `firebase.apiKey` | _未設定_ | Firebase との統合に必要な Firebase API キー。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.authDomain` | _未設定_ | Firebase との統合に必要な Firebase 認証ドメイン。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.projectId` | _未設定_ | Firebase との統合に必要な Firebase プロジェクト ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.storageBucket` | _未設定_ | Firebase との統合に必要な Firebase ストレージバケット。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.messagingSenderId` | _未設定_ | Firebase との統合に必要な Firebase メッセージング送信者 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.appId` | _未設定_ | Firebase との統合に必要な Firebase アプリ ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.measurementId` | _未設定_ | Firebase との統合に必要な Firebase 測定 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `firebase.apiKey` | _未設定_ | Firebase との統合に必要な Firebase API キー。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.authDomain` | _未設定_ | Firebase との統合に必要な Firebase 認証ドメイン。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.projectId` | _未設定_ | Firebase との統合に必要な Firebase プロジェクト ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.storageBucket` | _未設定_ | Firebase との統合に必要な Firebase ストレージバケット。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.messagingSenderId` | _未設定_ | Firebase との統合に必要な Firebase メッセージング送信者 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.appId` | _未設定_ | Firebase との統合に必要な Firebase アプリ ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.measurementId` | _未設定_ | Firebase との統合に必要な Firebase 測定 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
|
||||
### Fathom Analytics
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `fathomAnalytics.site` | _未設定_ | ウェブサイト用に Fathom Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `fathomAnalytics.domain` | _未設定_ | Fathom Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `fathomAnalytics.site` | _未設定_ | ウェブサイト用に Fathom Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `fathomAnalytics.domain` | _未設定_ | Fathom Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
|
||||
### Umami Analytics
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `umamiAnalytics.websiteid` | _未設定_ | ウェブサイト用に Umami Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `umamiAnalytics.domain` | _未設定_ | Umami Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
| `umamiAnalytics.dataDomains` | _未設定_ | トラッカーを特定のドメインでのみ実行したい場合は、トラッカースクリプトに指定します。これは、ドメイン名のカンマ区切りリストです。例えば "yoursite.com,yoursite2.com" のようになります。 |
|
||||
| `umamiAnalytics.scriptName` | script.js | アンチ広告ブロックに使用される `script.js` の名前は、環境変数 `TRACKER_SCRIPT_NAME` で設定されます。 |
|
||||
| `umamiAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `umamiAnalytics.websiteid` | _未設定_ | ウェブサイト用に Umami Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `umamiAnalytics.domain` | _未設定_ | Umami Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
| `umamiAnalytics.dataDomains` | _未設定_ | トラッカーを特定のドメインでのみ実行したい場合は、トラッカースクリプトに指定します。これは、ドメイン名のカンマ区切りリストです。例えば "yoursite.com,yoursite2.com" のようになります。 |
|
||||
| `umamiAnalytics.scriptName` | script.js | アンチ広告ブロックに使用される `script.js` の名前は、環境変数 `TRACKER_SCRIPT_NAME` で設定されます。 |
|
||||
| `umamiAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
|
||||
### Seline Analytics
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `selineAnalytics.token` | _未設定_ | ウェブサイト用に Seline Analytics によって生成されたトークン。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `selineAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `selineAnalytics.token` | _未設定_ | ウェブサイト用に Seline Analytics によって生成されたトークン。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `selineAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
|
||||
### BuyMeACoffee
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------------------------- | ---------- | ---------------------------------------------------------------------- |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `buymeacoffee.identifier` | _未設定_ | ターゲットの buymeacoffee アカウントの識別子。 |
|
||||
| `buymeacoffee.globalWidget` | _未設定_ | グローバル buymeacoffee ウィジェットを有効にします。 |
|
||||
| `buymeacoffee.globalWidgetMessage` | _未設定_ | 新しいユーザーが初めてサイトにアクセスしたときに表示されるメッセージ。 |
|
||||
| `buymeacoffee.globalWidgetColor` | _未設定_ | ウィジェットの色(16進数形式)。 |
|
||||
| `buymeacoffee.globalWidgetPosition` | _未設定_ | ウィジェットの位置。例えば "Left" または "Right" |
|
||||
| `buymeacoffee.globalWidgetColor` | `#FFDD00` | ウィジェットの色(16進数形式)。 |
|
||||
| `buymeacoffee.globalWidgetPosition` | _未設定_ | ウィジェットの位置。例えば "left" または "right" |
|
||||
|
||||
### verification
|
||||
|
||||
@@ -368,16 +371,16 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
|
||||
|
||||
### RSSNext
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `rssnext.feedId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `feedId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
| `rssnext.userId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `userId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `rssnext.feedId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `feedId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
| `rssnext.userId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `userId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
|
||||
### Advertisement
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | ---------- | ------------------------------------------------------------------ |
|
||||
| `advertisement.adsense` | _未設定_ | Google AdSense パブリッシャー ID (例:`ca-pub-1234567890abcdef`)。このパラメータを設定すると、サイト上で AdSense 広告が有効になります。 |
|
||||
| `advertisement.adsense` | _未設定_ | Google AdSense パブリッシャー ID (例:`ca-pub-1234567890abcdef`)。このパラメータを設定すると、サイト上で AdSense 広告が有効になります。 |
|
||||
|
||||
## その他の設定ファイル
|
||||
|
||||
|
||||