Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9699d8c5d | ||
|
|
34b1f117fc | ||
|
|
6c7c4b6a9f | ||
|
|
a7fc9862e4 | ||
|
|
e0b8a49054 | ||
|
|
c4607f0a8f | ||
|
|
7d8b388bfb | ||
|
|
b5054889cb | ||
|
|
7b0904947d | ||
|
|
2c01906987 | ||
|
|
5342dd2128 | ||
|
|
b7d5f96bea | ||
|
|
f80473e761 | ||
|
|
6f6fba6d4d | ||
|
|
8671b01505 | ||
|
|
de2c627aac | ||
|
|
6d8a9b0712 | ||
|
|
62ffaac7ab | ||
|
|
64c437e67f | ||
|
|
6760c9de65 | ||
|
|
562db70231 | ||
|
|
ab9e81d586 | ||
|
|
56f66b633d | ||
|
|
d170cf3d96 | ||
|
|
26bbbbc288 | ||
|
|
5e144d4f11 | ||
|
|
86fd828353 | ||
|
|
a6ce29638a | ||
|
|
8b0691b632 | ||
|
|
863b64815c | ||
|
|
5df9ce4b32 | ||
|
|
e0e28b651a | ||
|
|
a9869a55a6 | ||
|
|
88863335fd | ||
|
|
6d33438e18 | ||
|
|
baf74cca1a | ||
|
|
1eb3d8da3e | ||
|
|
dff1858ca5 | ||
|
|
ab5c7b7c97 | ||
|
|
350458a3c5 | ||
|
|
c7305a9727 | ||
|
|
75a6f741c8 | ||
|
|
c37d7fcd21 | ||
|
|
7c2545d598 | ||
|
|
2d37ecace0 | ||
|
|
8d28507fe9 | ||
|
|
1e5b7fde7e | ||
|
|
27cdc57bda | ||
|
|
8eff80bb12 | ||
|
|
cda04a5061 | ||
|
|
da8ca782aa | ||
|
|
f2e9eaa80f | ||
|
|
8eb1f330c5 | ||
|
|
44f787680b | ||
|
|
270a0a74d2 | ||
|
|
a57db858b4 | ||
|
|
2e195fc1e1 | ||
|
|
a666aa54b8 | ||
|
|
89e261f8e4 | ||
|
|
d35a493ba0 | ||
|
|
78341b1822 | ||
|
|
58e075717e | ||
|
|
137860d31a | ||
|
|
cee3e324fd | ||
|
|
2b83b517cc | ||
|
|
cc5cd8f11a | ||
|
|
c6d40c6d3f | ||
|
|
8fda75b134 | ||
|
|
965b0ac6ef | ||
|
|
08f6ccd618 | ||
|
|
3864f6f095 | ||
|
|
9ec0e6810a | ||
|
|
a132a9c5e6 | ||
|
|
0e8848d9c8 | ||
|
|
deffce8a02 | ||
|
|
e2dfae4a64 | ||
|
|
8aac2d7585 | ||
|
|
b9883c761d | ||
|
|
7b0fbea8ab | ||
|
|
4d6a84b041 | ||
|
|
0bc71ebe8d | ||
|
|
ae9b25b69c | ||
|
|
1475200ab4 | ||
|
|
f04dd3659a | ||
|
|
9986ed01ff | ||
|
|
16acbfee52 | ||
|
|
4b864d00e5 | ||
|
|
5a274629e4 | ||
|
|
e917645fba | ||
|
|
82aef982f1 | ||
|
|
cc91b648ec | ||
|
|
10314cff71 | ||
|
|
a7a04c6c5e | ||
|
|
c4bb9ab9b6 | ||
|
|
15299c15ab | ||
|
|
78fa726ebb | ||
|
|
b9ee790d5d | ||
|
|
ee2fc91522 | ||
|
|
9bcb7d37d3 | ||
|
|
d8685e5c9c | ||
|
|
8a9fe666e4 | ||
|
|
a95f11fe56 | ||
|
|
0b5a29e251 | ||
|
|
03615baf92 | ||
|
|
0e29ae9c52 | ||
|
|
ce0d91fcd5 | ||
|
|
a18688473e | ||
|
|
2d5718dd11 | ||
|
|
8779739162 | ||
|
|
cdcbc40d47 | ||
|
|
eb19b988ec | ||
|
|
ca6fe5f967 | ||
|
|
4996869378 | ||
|
|
b0e07a7c0d | ||
|
|
7fdb8ba1b1 | ||
|
|
03be92ad0f | ||
|
|
39adcba775 | ||
|
|
70861235ba | ||
|
|
3f4636afc1 | ||
|
|
26790a12e6 | ||
|
|
a6dc9b52e4 | ||
|
|
a308a86365 | ||
|
|
7691ee18ed | ||
|
|
830b36a9fa | ||
|
|
7ea30cb4f1 | ||
|
|
1f0b3672b5 | ||
|
|
1f0a84a24b | ||
|
|
877a2609e9 | ||
|
|
18ac5b1920 | ||
|
|
7c127074f9 | ||
|
|
e9b51aadcd | ||
|
|
c8d1b46316 | ||
|
|
bad5bf18ac | ||
|
|
ce60eab796 | ||
|
|
99224f248c | ||
|
|
d0b6ea29b4 | ||
|
|
34c82f38ca | ||
|
|
342b3451b3 | ||
|
|
58b9aee2d0 | ||
|
|
524a6869c3 | ||
|
|
b0c563bc15 | ||
|
|
cbc8cf12cd | ||
|
|
503f60fe75 | ||
|
|
167ee1fa4c | ||
|
|
859685f0c2 | ||
|
|
a0fc381ba9 | ||
|
|
ef712c33f9 | ||
|
|
e84fc0e1c6 | ||
|
|
79a78bcef4 | ||
|
|
cc94a0e6c8 | ||
|
|
ffa18c9c4f | ||
|
|
8549e06095 | ||
|
|
01d8db1e4d | ||
|
|
e71a4109cf | ||
|
|
6e70744e9a | ||
|
|
471ee57621 | ||
|
|
28a04921a7 | ||
|
|
5af20c6f9a | ||
|
|
2aa15ce844 | ||
|
|
c92c0aa3ce | ||
|
|
c9271d1df2 | ||
|
|
c08f0a9ffa | ||
|
|
d7c2d69571 | ||
|
|
122d5c70aa | ||
|
|
45c9acab9e | ||
|
|
bcdab29c30 | ||
|
|
1bec932730 | ||
|
|
217a143e6b | ||
|
|
faea1bb046 | ||
|
|
26b89169e3 | ||
|
|
878ba448aa | ||
|
|
87fe076689 | ||
|
|
0b14915f54 | ||
|
|
d8416ee104 | ||
|
|
4c7ef61265 | ||
|
|
b1d22fb30a | ||
|
|
a839c82416 | ||
|
|
4b5ff6ab59 | ||
|
|
e9350de407 | ||
|
|
a7731a15be | ||
|
|
c0fadfb0b7 | ||
|
|
7af7ed9720 | ||
|
|
ab6c812198 | ||
|
|
20c6de4eb8 | ||
|
|
3a912caf92 | ||
|
|
d049a3f020 | ||
|
|
0036fb8c02 | ||
|
|
e6c8e05040 | ||
|
|
22a9b643de | ||
|
|
2d5bf43ea3 | ||
|
|
8a1669e1f4 | ||
|
|
a132c61d0c | ||
|
|
3dea18a9cb | ||
|
|
4cc9899469 | ||
|
|
e4fdf17032 | ||
|
|
4fddd9d1eb | ||
|
|
ae27bba4e9 | ||
|
|
71fc6ee8b8 | ||
|
|
15c580ab86 | ||
|
|
1d7579f3b0 | ||
|
|
3bc2b4b82e | ||
|
|
9e0ad31ec8 | ||
|
|
1b6df4c166 | ||
|
|
34610228ad | ||
|
|
4705b55e09 | ||
|
|
7fed4fa2d1 | ||
|
|
6f99fefab3 | ||
|
|
c74017c987 | ||
|
|
641c16a150 | ||
|
|
be7f6b6f8f | ||
|
|
55f2f22849 | ||
|
|
812effc613 | ||
|
|
02a7397119 | ||
|
|
e35bcc0f24 | ||
|
|
f18c6a0564 | ||
|
|
e1e59f0009 | ||
|
|
6e96c55f0a | ||
|
|
de0645aa3d | ||
|
|
7e1ecd5480 | ||
|
|
1771c92213 | ||
|
|
350d669406 | ||
|
|
c747c623eb | ||
|
|
fef811f3a1 | ||
|
|
4b7677ea89 | ||
|
|
03b2f4502a | ||
|
|
5fb61dee19 | ||
|
|
15bf0ea12a | ||
|
|
6cbe52620f | ||
|
|
81da343120 | ||
|
|
8de5e47efd | ||
|
|
91098a0135 | ||
|
|
9ffb78e7df | ||
|
|
e1c13d658d | ||
|
|
7059f91d57 | ||
|
|
6076126e4c | ||
|
|
ebfe68673f | ||
|
|
774e2e05c1 | ||
|
|
9d7798faa4 | ||
|
|
8a2f58be77 | ||
|
|
b2ef80da49 | ||
|
|
43c32d207b | ||
|
|
47e08a5633 | ||
|
|
857dc8de99 | ||
|
|
19a4e5f5af | ||
|
|
bebff03d62 | ||
|
|
af75177900 | ||
|
|
b61ca7359f | ||
|
|
1b4de022c2 | ||
|
|
e30ea0a5c9 | ||
|
|
43da14b0b3 | ||
|
|
d0a1a5b249 | ||
|
|
7742b4e239 | ||
|
|
faab08cec5 | ||
|
|
d38accc6ff | ||
|
|
58799b9847 | ||
|
|
ad697ff032 | ||
|
|
e753c191c3 | ||
|
|
c53c0ce6d6 | ||
|
|
8bdb64c6d7 | ||
|
|
8ac2ee05b8 | ||
|
|
326e3536e9 | ||
|
|
0cc0b57139 | ||
|
|
3b46fb243b | ||
|
|
8cd533569e | ||
|
|
889c87bf14 | ||
|
|
68cf60bd1d | ||
|
|
92c7b3ecdf | ||
|
|
f017af8d84 | ||
|
|
d4c8c941e4 | ||
|
|
72ca84791a | ||
|
|
94ff143975 | ||
|
|
38a04ae80b | ||
|
|
99d329c7b0 | ||
|
|
1408e8bb53 | ||
|
|
617c6f0c15 | ||
|
|
896bc473a8 | ||
|
|
712cb48fb2 | ||
|
|
73580313b4 | ||
|
|
b509f51f9b | ||
|
|
bbe38534d5 | ||
|
|
0e9a151ce5 | ||
|
|
54e7ebc4d9 | ||
|
|
76a23c05af | ||
|
|
3dd3d0fae8 | ||
|
|
166a326dc7 | ||
|
|
5ee9c27876 | ||
|
|
76edd20456 | ||
|
|
eb09b4ec25 | ||
|
|
8e1f46b102 | ||
|
|
33d013309d | ||
|
|
506740b1cf | ||
|
|
7b04a6407a | ||
|
|
788493921e | ||
|
|
25961a04d9 | ||
|
|
651804603a | ||
|
|
c107bc0c50 | ||
|
|
3960982afa | ||
|
|
ab668ca55d | ||
|
|
e63154d379 | ||
|
|
7dec363f54 | ||
|
|
827fab1ef9 | ||
|
|
63da02addc | ||
|
|
277f7a94cb | ||
|
|
750766a445 | ||
|
|
a975c43516 | ||
|
|
7a9baa1c50 | ||
|
|
82a593e0ed | ||
|
|
b096d35b85 | ||
|
|
2da29e25d5 | ||
|
|
96ef081d17 | ||
|
|
fbf833bce5 | ||
|
|
18ed97928f | ||
|
|
b7eeb165d1 | ||
|
|
39209dbab3 | ||
|
|
31019347aa | ||
|
|
faca690a95 | ||
|
|
be564f4ae1 | ||
|
|
77ac889406 | ||
|
|
8c9e51e310 | ||
|
|
269f09b8a6 | ||
|
|
3a9016a6d9 | ||
|
|
a402822d8b | ||
|
|
6da1c6b870 | ||
|
|
ed75c36449 | ||
|
|
2172b94fe6 | ||
|
|
69775ac779 | ||
|
|
37b5015278 | ||
|
|
ce657d3351 | ||
|
|
9d5806220e |
No files matched your search
@@ -5,7 +5,7 @@ version: 2
|
||||
updates:
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/"
|
||||
target-branch: "dev"
|
||||
target-branch: "main"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
day: "wednesday"
|
||||
@@ -15,7 +15,7 @@ updates:
|
||||
- "dependencies"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: "dev"
|
||||
target-branch: "main"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
day: "wednesday"
|
||||
|
||||
@@ -10,12 +10,12 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- run: zip -r config-default.zip config/_default
|
||||
- uses: actions/upload-artifact@v6
|
||||
- uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: config-default
|
||||
path: config-default.zip
|
||||
- name: Upload to release
|
||||
uses: softprops/action-gh-release@v2
|
||||
uses: softprops/action-gh-release@v3
|
||||
with:
|
||||
files: config-default.zip
|
||||
tag_name: ${{ github.event.release.tag_name }}
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
ref: dev
|
||||
ref: main
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
@@ -51,4 +51,4 @@ jobs:
|
||||
[2]: https://github.com/peter-evans/create-pull-request
|
||||
labels: dependencies, automated pr
|
||||
branch: hugo-new-version
|
||||
base: dev
|
||||
base: main
|
||||
@@ -42,7 +42,7 @@ jobs:
|
||||
submodules: recursive
|
||||
- name: Setup Pages
|
||||
id: pages
|
||||
uses: actions/configure-pages@v5
|
||||
uses: actions/configure-pages@v6
|
||||
- name: Build with Hugo
|
||||
env:
|
||||
# For maximum backward compatibility with Hugo modules
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
run: |
|
||||
hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v4
|
||||
uses: actions/upload-pages-artifact@v5
|
||||
with:
|
||||
path: ./docs
|
||||
|
||||
@@ -65,4 +65,4 @@ jobs:
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
uses: actions/deploy-pages@v5
|
||||
@@ -16,7 +16,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v3.0.0
|
||||
uses: peaceiris/actions-hugo@v3.2.1
|
||||
with:
|
||||
hugo-version: "latest"
|
||||
|
||||
|
||||
@@ -40,4 +40,5 @@ ga-pageviews.csv
|
||||
.Trashes
|
||||
.idea
|
||||
.Ulysses-Group.plist
|
||||
.Ulysses-Settings.plist
|
||||
.Ulysses-Settings.plist
|
||||
.watchfire/
|
||||
@@ -6,7 +6,6 @@
|
||||
"trailingComma": "all",
|
||||
"proseWrap": "always",
|
||||
"plugins": [
|
||||
"@awmottaz/prettier-plugin-void-html",
|
||||
"prettier-plugin-go-template"
|
||||
],
|
||||
"overrides": [
|
||||
|
||||
@@ -79,7 +79,14 @@
|
||||
"{{< /chart >}}"
|
||||
],
|
||||
"description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ",
|
||||
},
|
||||
},
|
||||
"email": {
|
||||
"prefix": ["BFS-email", "HSC-email", "email"],
|
||||
"body": [
|
||||
"{{< email email=\"mailto:${1:hello@test.com}\" text=\"${2:text}\" subject=\"${3:Reply to awesome article}\" >}}$0",
|
||||
],
|
||||
"description": "Creates an obfuscated mailto link. Documentation: https://blowfish.page/docs/shortcodes/#email ",
|
||||
},
|
||||
"figure": {
|
||||
"prefix": ["BFS-figure", "HSC-figure", "figure"],
|
||||
"body": [
|
||||
@@ -255,4 +262,4 @@
|
||||
"description": "Typewriter-Like text. Blowfish typeit Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#typeit https://www.typeitjs.com/docs/vanilla/usage/ ",
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
version: 1
|
||||
project_id: fafe4c77-495a-44fc-9eaf-8e38596cdc04
|
||||
name: blowfish
|
||||
status: active
|
||||
color: '#8b5cf6'
|
||||
default_agent: claude-code
|
||||
sandbox: auto
|
||||
auto_merge: true
|
||||
auto_delete_branch: true
|
||||
auto_start_tasks: true
|
||||
notifications:
|
||||
muted: false
|
||||
definition: |
|
||||
Blowfish is a powerful, lightweight Hugo theme built with Tailwind CSS.
|
||||
Repo: https://github.com/nunocoracao/blowfish · Demo & docs: https://blowfish.page/
|
||||
|
||||
Stack & layout:
|
||||
- Hugo theme (min Hugo 0.141.0). Templates in `layouts/`, partials in `layouts/partials/`, shortcodes in `layouts/shortcodes/`.
|
||||
- Tailwind CSS 4 via `@tailwindcss/cli` — source in `assets/css/main.css`, output in `assets/css/compiled/main.css`.
|
||||
- JS vendored from `node_modules/` into `assets/lib/` via `vendor-copy` (configured in `package.json` under `devVendorCopy`).
|
||||
- Localisation strings live in `i18n/`. All static text MUST go through `i18n` lookups, never hardcoded.
|
||||
- `exampleSite/` is the testbed. Run `npm run example` (or `:core` / `:production`) to preview locally.
|
||||
- `config/` holds default theme config; users override in their own site.
|
||||
|
||||
Coding conventions (from CONTRIBUTING.md):
|
||||
- 2-space indent. Spaces inside Go template tags: `{{< alert >}}` not `{{<alert>}}`.
|
||||
- Extract repeated template logic into partials.
|
||||
- Relative asset paths without leading slash; trailing slash for folders (e.g. `static/img/`).
|
||||
- Prettier config is included; respect it.
|
||||
|
||||
PR & commit rules (strict — enforced):
|
||||
- Single-purpose PRs only. Do NOT bundle unrelated changes (e.g. bug fix + version bump + new user entry). Mixed PRs get closed.
|
||||
- NO breaking changes unless strictly required by a dependency. Renaming partials, removing config options, or changing template signatures will be rejected — they silently break user customisations.
|
||||
- Commits: Gitmoji prefix, imperative mood ("Fix bug", not "Fixed"), ≤72-char summary, no trailing period. Reference issue numbers when relevant.
|
||||
- Commit incrementally rather than one giant commit.
|
||||
|
||||
Before marking a task done:
|
||||
- If templates/CSS/JS changed, run `npm run example` and verify in the browser. Type-checks alone don't validate Hugo theme behavior.
|
||||
- Check that any new user-facing string is wired through `i18n/` for all supported languages (or at least English with a clear note).
|
||||
- Don't bump `package.json` version or touch `release-versions/` as part of a feature/fix PR — those are released separately.
|
||||
created_at: 2026-05-04T23:12:29.75161Z
|
||||
updated_at: 2026-05-04T23:12:30.276795Z
|
||||
next_task_number: 1
|
||||
@@ -0,0 +1,33 @@
|
||||
# Secrets & Setup Instructions
|
||||
|
||||
Use this file to tell agents how to access external services and credentials
|
||||
for this project. Agents will read these instructions before starting work.
|
||||
|
||||
## Examples
|
||||
|
||||
### CLI Tools (already authenticated)
|
||||
```
|
||||
# Firebase — I'm already logged in via `firebase login`
|
||||
# Use `firebase use <project-id>` to switch projects
|
||||
|
||||
# AWS — credentials configured in default profile
|
||||
# Use `aws sts get-caller-identity` to verify access
|
||||
|
||||
# gcloud — authenticated via `gcloud auth login`
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
```
|
||||
# Set these before running the app:
|
||||
# export DATABASE_URL=<value>
|
||||
# export API_KEY=<value>
|
||||
```
|
||||
|
||||
### API Keys & Tokens
|
||||
```
|
||||
# Stripe test key: use the key in .env.local
|
||||
# OpenAI: use the org key from 1Password CLI (`op read ...`)
|
||||
```
|
||||
|
||||
---
|
||||
Delete this sample content and replace with your own instructions.
|
||||
@@ -1,6 +1,6 @@
|
||||
## How to contribute to Blowfish
|
||||
|
||||
All development occurs on the `dev` branch and new PRs should be forked from here.
|
||||
All development occurs on the `main` branch and new PRs should be forked from here.
|
||||
|
||||
### Bugs & other issues
|
||||
|
||||
@@ -31,6 +31,17 @@ All development occurs on the `dev` branch and new PRs should be forked from her
|
||||
- If you have a general question, these should be asked using [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions). Feel free to open a [new discussion](https://github.com/nunocoracao/blowfish/discussions/new) to ask your question using the "Q&A" category.
|
||||
- Be sure to check if your question has already been answered by searching [existing Q&A discussions](https://github.com/nunocoracao/blowfish/discussions/categories/q-a).
|
||||
|
||||
### Breaking changes
|
||||
|
||||
- We do not accept breaking changes unless they are strictly required to keep supporting the project (e.g. a dependency deprecating a feature we rely on).
|
||||
- Changes that would cause existing user customizations to silently stop working (such as renaming partial paths, removing config options, or changing template signatures) will be rejected.
|
||||
- If you're unsure whether your change is breaking, open a discussion first.
|
||||
|
||||
### Pull request guidelines
|
||||
|
||||
- Keep PRs focused on a single change. Do not bundle unrelated modifications (e.g. bug fix + version bump + new user entry) into the same PR.
|
||||
- PRs that mix multiple unrelated changes will be closed and the author will be asked to split them.
|
||||
|
||||
### Coding conventions
|
||||
|
||||
- Indent using 2 spaces (soft tabs).
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
github: [nunocoracao]
|
||||
custom:
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [nunocoracao] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||
polar: # Replace with a single Polar username
|
||||
buy_me_a_coffee: nunocoracao # Replace with a single Buy Me a Coffee username
|
||||
thanks_dev: # Replace with a single thanks.dev username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
[
|
||||
"https://www.paypal.me/nunocoracao",
|
||||
"https://www.buymeacoffee.com/nunocoracao",
|
||||
]
|
||||
@@ -1,7 +1,7 @@
|
||||
[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/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[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/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[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/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[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.141.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
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.141.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[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/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[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/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[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.141.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
|
||||
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
||||
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||
@layer properties;
|
||||
@layer theme, base, components, utilities;
|
||||
@@ -263,9 +263,15 @@
|
||||
.-start-6 {
|
||||
inset-inline-start: calc(var(--spacing) * -6);
|
||||
}
|
||||
.start {
|
||||
inset-inline-start: var(--spacing);
|
||||
}
|
||||
.start-\[calc\(max\(-50vw\,-800px\)\+50\%\)\] {
|
||||
inset-inline-start: calc(max(-50vw, -800px) + 50%);
|
||||
}
|
||||
.end {
|
||||
inset-inline-end: var(--spacing);
|
||||
}
|
||||
.end-6 {
|
||||
inset-inline-end: calc(var(--spacing) * 6);
|
||||
}
|
||||
@@ -276,7 +282,7 @@
|
||||
top: calc(var(--spacing) * 0);
|
||||
}
|
||||
.top-1\/2 {
|
||||
top: calc(1/2 * 100%);
|
||||
top: calc(1 / 2 * 100%);
|
||||
}
|
||||
.top-5 {
|
||||
top: calc(var(--spacing) * 5);
|
||||
@@ -284,6 +290,9 @@
|
||||
.top-20 {
|
||||
top: calc(var(--spacing) * 20);
|
||||
}
|
||||
.top-full {
|
||||
top: 100%;
|
||||
}
|
||||
.right-0 {
|
||||
right: calc(var(--spacing) * 0);
|
||||
}
|
||||
@@ -300,7 +309,7 @@
|
||||
left: calc(var(--spacing) * 0);
|
||||
}
|
||||
.left-1\/2 {
|
||||
left: calc(1/2 * 100%);
|
||||
left: calc(1 / 2 * 100%);
|
||||
}
|
||||
.-z-10 {
|
||||
z-index: calc(10 * -1);
|
||||
@@ -970,9 +979,6 @@
|
||||
.mb-3 {
|
||||
margin-bottom: calc(var(--spacing) * 3);
|
||||
}
|
||||
.mb-4 {
|
||||
margin-bottom: calc(var(--spacing) * 4);
|
||||
}
|
||||
.mb-5 {
|
||||
margin-bottom: calc(var(--spacing) * 5);
|
||||
}
|
||||
@@ -1100,7 +1106,7 @@
|
||||
height: calc(var(--spacing) * 0);
|
||||
}
|
||||
.h-1\/2 {
|
||||
height: calc(1/2 * 100%);
|
||||
height: calc(1 / 2 * 100%);
|
||||
}
|
||||
.h-3 {
|
||||
height: calc(var(--spacing) * 3);
|
||||
@@ -1144,6 +1150,9 @@
|
||||
.h-84 {
|
||||
height: calc(var(--spacing) * 84);
|
||||
}
|
||||
.h-120 {
|
||||
height: calc(var(--spacing) * 120);
|
||||
}
|
||||
.h-\[3px\] {
|
||||
height: 3px;
|
||||
}
|
||||
@@ -1237,6 +1246,9 @@
|
||||
.w-full {
|
||||
width: 100%;
|
||||
}
|
||||
.w-max {
|
||||
width: max-content;
|
||||
}
|
||||
.w-screen {
|
||||
width: 100vw;
|
||||
}
|
||||
@@ -1249,6 +1261,9 @@
|
||||
.max-w-20 {
|
||||
max-width: calc(var(--spacing) * 20);
|
||||
}
|
||||
.max-w-48 {
|
||||
max-width: calc(var(--spacing) * 48);
|
||||
}
|
||||
.max-w-\[200px\] {
|
||||
max-width: 200px;
|
||||
}
|
||||
@@ -1319,7 +1334,7 @@
|
||||
flex-basis: auto;
|
||||
}
|
||||
.-translate-x-1\/2 {
|
||||
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
||||
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
||||
translate: var(--tw-translate-x) var(--tw-translate-y);
|
||||
}
|
||||
.-translate-x-full {
|
||||
@@ -1331,7 +1346,7 @@
|
||||
translate: var(--tw-translate-x) var(--tw-translate-y);
|
||||
}
|
||||
.-translate-y-1\/2 {
|
||||
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
||||
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
||||
translate: var(--tw-translate-x) var(--tw-translate-y);
|
||||
}
|
||||
.-translate-y-8 {
|
||||
@@ -1434,6 +1449,13 @@
|
||||
.gap-4 {
|
||||
gap: calc(var(--spacing) * 4);
|
||||
}
|
||||
.space-y-2 {
|
||||
:where(& > :not(:last-child)) {
|
||||
--tw-space-y-reverse: 0;
|
||||
margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
|
||||
margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
|
||||
}
|
||||
}
|
||||
.space-y-3 {
|
||||
:where(& > :not(:last-child)) {
|
||||
--tw-space-y-reverse: 0;
|
||||
@@ -1624,6 +1646,10 @@
|
||||
--tw-border-style: dotted;
|
||||
border-style: dotted;
|
||||
}
|
||||
.border-none {
|
||||
--tw-border-style: none;
|
||||
border-style: none;
|
||||
}
|
||||
.border-solid {
|
||||
--tw-border-style: solid;
|
||||
border-style: solid;
|
||||
@@ -1643,6 +1669,9 @@
|
||||
.border-primary-500 {
|
||||
border-color: rgba(var(--color-primary-500), 1);
|
||||
}
|
||||
.border-secondary-400 {
|
||||
border-color: rgba(var(--color-secondary-400), 1);
|
||||
}
|
||||
.border-secondary-500 {
|
||||
border-color: rgba(var(--color-secondary-500), 1);
|
||||
}
|
||||
@@ -1730,6 +1759,9 @@
|
||||
background-color: color-mix(in oklab, rgba(var(--color-neutral-500), 1) 50%, transparent);
|
||||
}
|
||||
}
|
||||
.bg-neutral-900 {
|
||||
background-color: rgba(var(--color-neutral-900), 1);
|
||||
}
|
||||
.bg-neutral\/25 {
|
||||
background-color: color-mix(in srgb, rgba(rgba(var(--color-neutral), 1), 1) 25%, transparent);
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
@@ -1932,9 +1964,6 @@
|
||||
.pe-3 {
|
||||
padding-inline-end: calc(var(--spacing) * 3);
|
||||
}
|
||||
.pt-1 {
|
||||
padding-top: calc(var(--spacing) * 1);
|
||||
}
|
||||
.pt-2 {
|
||||
padding-top: calc(var(--spacing) * 2);
|
||||
}
|
||||
@@ -2158,6 +2187,9 @@
|
||||
.text-primary-800 {
|
||||
color: rgba(var(--color-primary-800), 1);
|
||||
}
|
||||
.text-secondary-700 {
|
||||
color: rgba(var(--color-secondary-700), 1);
|
||||
}
|
||||
.text-transparent {
|
||||
color: transparent;
|
||||
}
|
||||
@@ -2252,6 +2284,10 @@
|
||||
--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
||||
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
||||
}
|
||||
.shadow-md {
|
||||
--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
||||
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
||||
}
|
||||
.shadow-sm {
|
||||
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
||||
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
||||
@@ -2279,6 +2315,11 @@
|
||||
--tw-blur: blur(8px) !important;
|
||||
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,) !important;
|
||||
}
|
||||
.drop-shadow {
|
||||
--tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.1))) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.06)));
|
||||
--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow( 0 1px 1px rgb(0 0 0 / 0.06));
|
||||
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
||||
}
|
||||
.invert {
|
||||
--tw-invert: invert(100%);
|
||||
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
||||
@@ -2425,6 +2466,23 @@
|
||||
rotate: 0deg;
|
||||
}
|
||||
}
|
||||
.group-focus-within\:visible {
|
||||
&:is(:where(.group):focus-within *) {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
.group-focus-within\:opacity-100 {
|
||||
&:is(:where(.group):focus-within *) {
|
||||
opacity: 100%;
|
||||
}
|
||||
}
|
||||
.group-hover\:visible {
|
||||
&:is(:where(.group):hover *) {
|
||||
@media (hover: hover) {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
.group-hover\:scale-110 {
|
||||
&:is(:where(.group):hover *) {
|
||||
@media (hover: hover) {
|
||||
@@ -2848,7 +2906,7 @@
|
||||
}
|
||||
.sm\:w-1\/2 {
|
||||
@media (width >= 640px) {
|
||||
width: calc(1/2 * 100%);
|
||||
width: calc(1 / 2 * 100%);
|
||||
}
|
||||
}
|
||||
.sm\:grid-cols-2 {
|
||||
@@ -2936,7 +2994,7 @@
|
||||
}
|
||||
.md\:w-1\/3 {
|
||||
@media (width >= 853px) {
|
||||
width: calc(1/3 * 100%);
|
||||
width: calc(1 / 3 * 100%);
|
||||
}
|
||||
}
|
||||
.md\:w-auto {
|
||||
@@ -3051,7 +3109,7 @@
|
||||
}
|
||||
.lg\:w-1\/4 {
|
||||
@media (width >= 1024px) {
|
||||
width: calc(1/4 * 100%);
|
||||
width: calc(1 / 4 * 100%);
|
||||
}
|
||||
}
|
||||
.lg\:w-auto {
|
||||
@@ -3131,7 +3189,7 @@
|
||||
}
|
||||
.xl\:w-1\/4 {
|
||||
@media (width >= 1280px) {
|
||||
width: calc(1/4 * 100%);
|
||||
width: calc(1 / 4 * 100%);
|
||||
}
|
||||
}
|
||||
.xl\:grid-cols-4 {
|
||||
@@ -3219,6 +3277,11 @@
|
||||
border-color: rgba(var(--color-primary-600), 1);
|
||||
}
|
||||
}
|
||||
.dark\:border-secondary-600 {
|
||||
&:is(.dark *) {
|
||||
border-color: rgba(var(--color-secondary-600), 1);
|
||||
}
|
||||
}
|
||||
.dark\:border-white\/10 {
|
||||
&:is(.dark *) {
|
||||
border-color: color-mix(in oklab, #fff 10%, transparent);
|
||||
@@ -3271,6 +3334,11 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.dark\:bg-neutral-100 {
|
||||
&:is(.dark *) {
|
||||
background-color: rgba(var(--color-neutral-100), 1);
|
||||
}
|
||||
}
|
||||
.dark\:bg-neutral-400 {
|
||||
&:is(.dark *) {
|
||||
background-color: rgba(var(--color-neutral-400), 1);
|
||||
@@ -3428,6 +3496,11 @@
|
||||
color: rgba(var(--color-neutral-800), 1);
|
||||
}
|
||||
}
|
||||
.dark\:text-neutral-900 {
|
||||
&:is(.dark *) {
|
||||
color: rgba(var(--color-neutral-900), 1);
|
||||
}
|
||||
}
|
||||
.dark\:text-primary-200 {
|
||||
&:is(.dark *) {
|
||||
color: rgba(var(--color-primary-200), 1);
|
||||
@@ -3438,6 +3511,11 @@
|
||||
color: rgba(var(--color-primary-400), 1);
|
||||
}
|
||||
}
|
||||
.dark\:text-secondary-400 {
|
||||
&:is(.dark *) {
|
||||
color: rgba(var(--color-secondary-400), 1);
|
||||
}
|
||||
}
|
||||
.dark\:text-white {
|
||||
&:is(.dark *) {
|
||||
color: #fff;
|
||||
@@ -4158,6 +4236,55 @@ body.zen-mode-enable {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
.gist-container .gist {
|
||||
h1 {
|
||||
margin-bottom: calc(var(--spacing) * 4);
|
||||
}
|
||||
.gist-file {
|
||||
border: 1px solid rgb(var(--color-neutral-300));
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.gist-meta {
|
||||
background-color: white;
|
||||
color: rgb(var(--color-neutral-600));
|
||||
border-radius: 0 0 8px 8px;
|
||||
}
|
||||
.gist-meta a {
|
||||
color: rgb(var(--color-primary-600));
|
||||
}
|
||||
.highlight tr {
|
||||
border-bottom: none;
|
||||
}
|
||||
.gist-file .file {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.dark & {
|
||||
.gist-file {
|
||||
border-color: rgb(var(--color-neutral-800));
|
||||
}
|
||||
.gist-data {
|
||||
background-color: rgb(var(--color-neutral-900));
|
||||
border-bottom: 1px solid rgb(var(--color-neutral-800));
|
||||
}
|
||||
.gist-meta {
|
||||
background-color: rgb(26, 26, 26);
|
||||
color: rgb(var(--color-neutral-400));
|
||||
}
|
||||
.gist-meta a {
|
||||
color: rgb(var(--color-primary-400));
|
||||
}
|
||||
.blob-wrapper {
|
||||
filter: invert(0.9) hue-rotate(180deg);
|
||||
background-color: #fff;
|
||||
}
|
||||
.gist-data {
|
||||
background: rgb(26, 26, 26);
|
||||
color: rgb(var(--color-neutral-100));
|
||||
}
|
||||
}
|
||||
}
|
||||
.a11y-panel-enter-active {
|
||||
animation: slideInFromTop 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
||||
}
|
||||
@@ -4573,10 +4700,12 @@ pre {
|
||||
}
|
||||
.thumbnail_card {
|
||||
min-width: 300px;
|
||||
height: 200px;
|
||||
aspect-ratio: var(--thumbnail-aspect-ratio, 1.5);
|
||||
height: auto;
|
||||
}
|
||||
.thumbnail_card_related {
|
||||
height: 150px;
|
||||
aspect-ratio: var(--thumbnail-aspect-ratio, 1.5);
|
||||
height: auto;
|
||||
}
|
||||
.thumbnail {
|
||||
width: 300px;
|
||||
|
||||
@@ -83,6 +83,22 @@
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
.gallery figure {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.gallery figcaption {
|
||||
margin-top: 0.25rem;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1.25rem;
|
||||
color: rgb(var(--color-neutral-600));
|
||||
}
|
||||
|
||||
.dark .gallery figcaption {
|
||||
color: rgb(var(--color-neutral-400));
|
||||
}
|
||||
@media (width >= 640px) {
|
||||
.sm\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
.gist-container .gist {
|
||||
h1 {
|
||||
margin-bottom: calc(var(--spacing) * 4);
|
||||
}
|
||||
.gist-file {
|
||||
border: 1px solid rgb(var(--color-neutral-300));
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.gist-meta {
|
||||
background-color: white;
|
||||
color: rgb(var(--color-neutral-600));
|
||||
border-radius: 0 0 8px 8px;
|
||||
}
|
||||
.gist-meta a {
|
||||
color: rgb(var(--color-primary-600));
|
||||
}
|
||||
.highlight tr {
|
||||
border-bottom: none;
|
||||
}
|
||||
.gist-file .file {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Dark Mode */
|
||||
.dark & {
|
||||
.gist-file {
|
||||
border-color: rgb(var(--color-neutral-800));
|
||||
}
|
||||
.gist-data {
|
||||
background-color: rgb(var(--color-neutral-900));
|
||||
border-bottom: 1px solid rgb(var(--color-neutral-800));
|
||||
}
|
||||
.gist-meta {
|
||||
background-color: rgb(26, 26, 26);
|
||||
color: rgb(var(--color-neutral-400));
|
||||
}
|
||||
.gist-meta a {
|
||||
color: rgb(var(--color-primary-400));
|
||||
}
|
||||
.blob-wrapper {
|
||||
filter: invert(0.9) hue-rotate(180deg);
|
||||
background-color: #fff;
|
||||
}
|
||||
.gist-data {
|
||||
background: rgb(26, 26, 26);
|
||||
color: rgb(var(--color-neutral-100));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
@import "./components/chroma.css" layer(utilities);
|
||||
@import "./components/tabs.css" layer(utilities);
|
||||
@import "./components/zen-mode.css";
|
||||
@import "./components/gist.css";
|
||||
@import "./components/a11y.css";
|
||||
@import "./components/admonition.css" layer(components);
|
||||
|
||||
@@ -182,11 +183,13 @@ pre {
|
||||
|
||||
.thumbnail_card {
|
||||
min-width: 300px;
|
||||
height: 200px;
|
||||
aspect-ratio: var(--thumbnail-aspect-ratio, 1.5);
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.thumbnail_card_related {
|
||||
height: 150px;
|
||||
aspect-ratio: var(--thumbnail-aspect-ratio, 1.5);
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.thumbnail {
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg fill="currentColor" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><path d="M10.617 11.473l4.686 3.695-3.102-7.662zM12 0C5.371 0 0 5.371 0 12s5.371 12 12 12 12-5.371 12-12S18.629 0 12 0zm5.797 17.305c-.011.471-.403.842-.875.83-.236 0-.416-.09-.664-.293l-6.19-5-2.079 5.203H6.191L11.438 5.44c.124-.314.427-.52.764-.506.326-.014.63.189.742.506l4.774 11.494c.045.111.08.234.08.348-.001.009-.001.009-.001.023z"/></svg>
|
||||
|
After Width: | Height: | Size: 478 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 35"><path fill="currentColor" d="m0 35 12.172-7L0 21ZM12.172 0 0 7l12.172 7v14l12.172-7V7Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 162 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z"/></svg>
|
||||
|
After Width: | Height: | Size: 205 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -1,4 +0,0 @@
|
||||
document.getElementById("button_likes") &&
|
||||
document.getElementById("button_likes").addEventListener("click", () => {
|
||||
process_article();
|
||||
});
|
||||
@@ -0,0 +1,13 @@
|
||||
(function () {
|
||||
const links = document.querySelectorAll(".email-link");
|
||||
links.forEach((link) => {
|
||||
let email = atob(link.getAttribute("data-email"));
|
||||
const subject = link.getAttribute("data-subject");
|
||||
let mailto = email.startsWith("mailto:") ? email : "mailto:" + email;
|
||||
|
||||
if (subject) {
|
||||
mailto += (mailto.includes("?") ? "&" : "?") + "subject=" + encodeURIComponent(subject);
|
||||
}
|
||||
link.href = mailto;
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,154 @@
|
||||
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.23.0/firebase-app.js";
|
||||
import {
|
||||
getFirestore,
|
||||
doc,
|
||||
getDoc,
|
||||
setDoc,
|
||||
updateDoc,
|
||||
increment,
|
||||
onSnapshot,
|
||||
} from "https://www.gstatic.com/firebasejs/9.23.0/firebase-firestore.js";
|
||||
import { getAuth, signInAnonymously } from "https://www.gstatic.com/firebasejs/9.23.0/firebase-auth.js";
|
||||
|
||||
let app, db, auth, oids;
|
||||
try {
|
||||
const configEl = document.getElementById("firebase-config");
|
||||
if (!configEl?.textContent) {
|
||||
throw new Error("Firebase config element not found");
|
||||
}
|
||||
|
||||
const data = JSON.parse(configEl.textContent);
|
||||
app = initializeApp(data.config);
|
||||
|
||||
oids = {
|
||||
views: configEl.getAttribute("data-views"),
|
||||
likes: configEl.getAttribute("data-likes"),
|
||||
};
|
||||
|
||||
db = getFirestore(app);
|
||||
auth = getAuth(app);
|
||||
} catch (e) {
|
||||
console.error("Firebase initialization failed:", e.message);
|
||||
throw e;
|
||||
}
|
||||
|
||||
const id = oids?.views?.replaceAll("/", "-");
|
||||
const id_likes = oids?.likes?.replaceAll("/", "-");
|
||||
let liked = false;
|
||||
let authReady = false;
|
||||
|
||||
function formatNumber(n) {
|
||||
return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
function toggleLoaders(node) {
|
||||
var classesString = node.className;
|
||||
if (classesString == "") return;
|
||||
var classes = classesString.split(" ");
|
||||
for (var i in classes) {
|
||||
node.classList.toggle(classes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function updateDisplay(collection, nodeId) {
|
||||
const node = document.getElementById(nodeId);
|
||||
if (!node) return;
|
||||
|
||||
const docId = nodeId.replaceAll("/", "-");
|
||||
onSnapshot(
|
||||
doc(db, collection, docId),
|
||||
(snapshot) => {
|
||||
node.innerText = snapshot.exists() ? formatNumber(snapshot.data()[collection]) : 0;
|
||||
toggleLoaders(node);
|
||||
},
|
||||
(error) => {
|
||||
console.error("Firebase snapshot update failed:", error);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
async function recordView(id) {
|
||||
if (!id || localStorage.getItem(id)) return;
|
||||
|
||||
try {
|
||||
const ref = doc(db, "views", id);
|
||||
const snap = await getDoc(ref);
|
||||
|
||||
snap.exists() ? await updateDoc(ref, { views: increment(1) }) : await setDoc(ref, { views: 1 });
|
||||
|
||||
localStorage.setItem(id, true);
|
||||
} catch (e) {
|
||||
console.error("Record view operation failed:", e.message);
|
||||
}
|
||||
}
|
||||
|
||||
function updateButton(isLiked) {
|
||||
const hearts = document.querySelectorAll("span[id='button_likes_heart']");
|
||||
const empties = document.querySelectorAll("span[id='button_likes_emtpty_heart']");
|
||||
const texts = document.querySelectorAll("span[id='button_likes_text']");
|
||||
|
||||
hearts.forEach((el) => {
|
||||
el.style.display = isLiked ? "" : "none";
|
||||
});
|
||||
empties.forEach((el) => {
|
||||
el.style.display = isLiked ? "none" : "";
|
||||
});
|
||||
texts.forEach((el) => {
|
||||
el.innerText = isLiked ? "" : "\xa0Like";
|
||||
});
|
||||
}
|
||||
|
||||
async function toggleLike(add) {
|
||||
if (!id_likes || !authReady) return;
|
||||
|
||||
try {
|
||||
const ref = doc(db, "likes", id_likes);
|
||||
const snap = await getDoc(ref);
|
||||
|
||||
liked = add;
|
||||
add ? localStorage.setItem(id_likes, true) : localStorage.removeItem(id_likes);
|
||||
updateButton(add);
|
||||
|
||||
snap.exists()
|
||||
? await updateDoc(ref, { likes: increment(add ? 1 : -1) })
|
||||
: await setDoc(ref, { likes: add ? 1 : 0 });
|
||||
} catch (e) {
|
||||
console.error("Like operation failed:", e.message);
|
||||
liked = !add;
|
||||
add ? localStorage.removeItem(id_likes) : localStorage.setItem(id_likes, true);
|
||||
updateButton(!add);
|
||||
}
|
||||
}
|
||||
|
||||
signInAnonymously(auth)
|
||||
.then(() => {
|
||||
authReady = true;
|
||||
|
||||
document.querySelectorAll("span[id^='views_']").forEach((node) => {
|
||||
if (node.id) updateDisplay("views", node.id);
|
||||
});
|
||||
|
||||
document.querySelectorAll("span[id^='likes_']").forEach((node) => {
|
||||
if (node.id) updateDisplay("likes", node.id);
|
||||
});
|
||||
|
||||
recordView(id);
|
||||
|
||||
if (id_likes && localStorage.getItem(id_likes)) {
|
||||
liked = true;
|
||||
updateButton(true);
|
||||
}
|
||||
|
||||
const likeButton = document.getElementById("button_likes");
|
||||
if (likeButton) {
|
||||
likeButton.addEventListener("click", () => {
|
||||
toggleLike(!liked);
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Firebase anonymous sign-in failed:", error.message);
|
||||
authReady = false;
|
||||
});
|
||||
|
||||
window.process_article = () => toggleLike(!liked);
|
||||
@@ -1,131 +0,0 @@
|
||||
const pageScriptElement = document.currentScript;
|
||||
const oid =
|
||||
pageScriptElement && pageScriptElement.getAttribute("data-oid")
|
||||
? pageScriptElement.getAttribute("data-oid")
|
||||
: (console.error("data-oid is null"), null);
|
||||
const oid_likes =
|
||||
pageScriptElement && pageScriptElement.getAttribute("data-oid-likes")
|
||||
? pageScriptElement.getAttribute("data-oid-likes")
|
||||
: (console.error("data-oid-likes is null"), null);
|
||||
let liked_page = false;
|
||||
const id = oid ? oid.replaceAll("/", "-") : oid;
|
||||
const id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes;
|
||||
|
||||
if (typeof auth !== "undefined") {
|
||||
const viewed = localStorage.getItem(id);
|
||||
|
||||
if (!viewed) {
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
const docRef = db.collection("views").doc(id);
|
||||
localStorage.setItem(id, true);
|
||||
docRef
|
||||
.get()
|
||||
.then((doc) => {
|
||||
if (doc.exists) {
|
||||
db.collection("views")
|
||||
.doc(id)
|
||||
.update({
|
||||
views: firebase.firestore.FieldValue.increment(1),
|
||||
});
|
||||
} else {
|
||||
db.collection("views").doc(id).set({ views: 1 });
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
const errorCode = error.code;
|
||||
const errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
|
||||
const liked = localStorage.getItem(id_likes);
|
||||
|
||||
if (liked) {
|
||||
liked_page = true;
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "";
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none";
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "";
|
||||
}
|
||||
}
|
||||
|
||||
function like_article(id_likes) {
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
const docRef = db.collection("likes").doc(id_likes);
|
||||
docRef
|
||||
.get()
|
||||
.then((doc) => {
|
||||
liked_page = true;
|
||||
localStorage.setItem(id_likes, true);
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "";
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none";
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "";
|
||||
if (doc.exists) {
|
||||
db.collection("likes")
|
||||
.doc(id_likes)
|
||||
.update({
|
||||
likes: firebase.firestore.FieldValue.increment(1),
|
||||
});
|
||||
} else {
|
||||
db.collection("likes").doc(id_likes).set({ likes: 1 });
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
const errorCode = error.code;
|
||||
const errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
|
||||
function remove_like_article(id_likes) {
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
const docRef = db.collection("likes").doc(id_likes);
|
||||
docRef
|
||||
.get()
|
||||
.then((doc) => {
|
||||
liked_page = false;
|
||||
localStorage.removeItem(id_likes);
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "none";
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "";
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "\xa0Like";
|
||||
if (doc.exists) {
|
||||
db.collection("likes")
|
||||
.doc(id_likes)
|
||||
.update({
|
||||
likes: firebase.firestore.FieldValue.increment(-1),
|
||||
});
|
||||
} else {
|
||||
db.collection("likes").doc(id_likes).set({ likes: 0 });
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
const errorCode = error.code;
|
||||
const errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
|
||||
function process_article() {
|
||||
if (!liked_page) {
|
||||
like_article(id_likes);
|
||||
} else {
|
||||
remove_like_article(id_likes);
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
if (typeof auth !== "undefined") {
|
||||
var viewsCollection = db.collection("views");
|
||||
var likesCollection = db.collection("likes");
|
||||
|
||||
function numberWithCommas(x) {
|
||||
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
function toggleLoaders(node) {
|
||||
var classesString = node.className;
|
||||
if (classesString == "") return;
|
||||
var classes = classesString.split(" ");
|
||||
for (var i in classes) {
|
||||
node.classList.toggle(classes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
var update_views = function (node, id) {
|
||||
viewsCollection.doc(id).onSnapshot((doc) => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
node.innerText = numberWithCommas(data.views);
|
||||
} else {
|
||||
node.innerText = 0;
|
||||
}
|
||||
toggleLoaders(node);
|
||||
});
|
||||
};
|
||||
|
||||
var update_likes = function (node, id) {
|
||||
likesCollection.doc(id).onSnapshot((doc) => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
node.innerText = numberWithCommas(data.likes);
|
||||
} else {
|
||||
node.innerText = 0;
|
||||
}
|
||||
toggleLoaders(node);
|
||||
});
|
||||
};
|
||||
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
var views_nodes = document.querySelectorAll("span[id^='views_']");
|
||||
|
||||
for (var i in views_nodes) {
|
||||
var node = views_nodes[i];
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id;
|
||||
if (id) {
|
||||
update_views(node, id);
|
||||
}
|
||||
}
|
||||
|
||||
var likes_nodes = document.querySelectorAll("span[id^='likes_']");
|
||||
|
||||
for (var i in likes_nodes) {
|
||||
var node = likes_nodes[i];
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id;
|
||||
if (id) {
|
||||
update_likes(node, id);
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
var errorCode = error.code;
|
||||
var errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
@@ -27,7 +27,7 @@ function _getPackeryOptions(nodeGallery) {
|
||||
}
|
||||
|
||||
(function init() {
|
||||
$(window).on("load", function () {
|
||||
window.addEventListener("load", function () {
|
||||
let packeries = [];
|
||||
let nodeGalleries = document.querySelectorAll(".gallery");
|
||||
|
||||
@@ -35,6 +35,5 @@ function _getPackeryOptions(nodeGallery) {
|
||||
let packery = new Packery(nodeGallery, _getPackeryOptions(nodeGallery));
|
||||
packeries.push(packery);
|
||||
});
|
||||
console.groupEnd();
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* Fuse.js v7.3.0 - Lightweight fuzzy-search (http://fusejs.io)
|
||||
*
|
||||
* Copyright (c) 2026 Kiro Risk (http://kiro.me)
|
||||
* All Rights Reserved. Apache Software License 2.0
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
"use strict";function t(t){return Array.isArray?Array.isArray(t):"[object Array]"===u(t)}function e(t){return null==t?"":function(t){if("string"==typeof t)return t;if("bigint"==typeof t)return t.toString();const e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(t)}function s(t){return"string"==typeof t}function i(t){return"number"==typeof t}function n(t){return!0===t||!1===t||function(t){return r(t)&&null!==t}(t)&&"[object Boolean]"==u(t)}function r(t){return"object"==typeof t}function c(t){return null!=t}function o(t){return!t.trim().length}function u(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const h=Object.prototype.hasOwnProperty;class a{constructor(t){this._keys=[],this._keyMap={};let e=0;t.forEach(t=>{const s=l(t);this._keys.push(s),this._keyMap[s.id]=s,e+=s.weight}),this._keys.forEach(t=>{t.weight/=e})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function l(e){let i=null,n=null,r=null,c=1,o=null;if(s(e)||t(e))r=e,i=d(e),n=g(e);else{if(!h.call(e,"name"))throw new Error((t=>`Missing ${t} property in key`)("name"));const t=e.name;if(r=t,h.call(e,"weight")&&(c=e.weight,c<=0))throw new Error((t=>`Property 'weight' in key '${t}' must be a positive integer`)(t));i=d(t),n=g(t),o=e.getFn}return{path:i,id:n,weight:c,src:r,getFn:o}}function d(e){return t(e)?e:e.split(".")}function g(e){return t(e)?e.join("."):e}const f={useExtendedSearch:!1,useTokenSearch:!1,getFn:function(r,o){const u=[];let h=!1;const a=(r,o,l,d)=>{if(c(r))if(o[l]){const g=r[o[l]];if(!c(g))return;if(l===o.length-1&&(s(g)||i(g)||n(g)||"bigint"==typeof g))u.push(void 0!==d?{v:e(g),i:d}:e(g));else if(t(g)){h=!0;for(let t=0,e=g.length;t<e;t+=1)a(g[t],o,l+1,t)}else o.length&&a(g,o,l+1,d)}else u.push(void 0!==d?{v:r,i:d}:r)};return a(r,s(o)?o.split("."):o,0),h?u:u[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},p=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,e)=>t.score===e.score?t.idx<e.idx?-1:1:t.score<e.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...f}),A=/[^ ]+/g;class m{constructor({getFn:t=p.getFn,fieldNormWeight:e=p.fieldNormWeight}={}){this.norm=function(t=1,e=3){const s=new Map,i=Math.pow(10,e);return{get(e){const n=e.match(A).length;if(s.has(n))return s.get(n);const r=1/Math.pow(n,.5*t),c=parseFloat(Math.round(r*i)/i);return s.set(n,c),c},clear(){s.clear()}}}(e,3),this.getFn=t,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((t,e)=>{this._keysMap[t.id]=e})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,s(this.docs[0])?this.docs.forEach((t,e)=>{this._addString(t,e)}):this.docs.forEach((t,e)=>{this._addObject(t,e)}),this.norm.clear())}add(t){const e=this.size();s(t)?this._addString(t,e):this._addObject(t,e)}removeAt(t){this.records.splice(t,1);for(let e=t,s=this.size();e<s;e+=1)this.records[e].i-=1}removeAll(t){for(let e=t.length-1;e>=0;e-=1)this.records.splice(t[e],1);for(let t=0,e=this.records.length;t<e;t+=1)this.records[t].i=t}getValueForItemAtKeyId(t,e){return t[this._keysMap[e]]}size(){return this.records.length}_addString(t,e){if(!c(t)||o(t))return;const s={v:t,i:e,n:this.norm.get(t)};this.records.push(s)}_addObject(i,n){const r={i:n,$:{}};this.keys.forEach((n,u)=>{const h=n.getFn?n.getFn(i):this.getFn(i,n.path);if(c(h))if(t(h)){const t=[];for(let i=0,n=h.length;i<n;i+=1){const n=h[i];if(c(n))if(s(n)){if(!o(n)){const e={v:n,i:i,n:this.norm.get(n)};t.push(e)}}else if(c(n.v)){const i=s(n.v)?n.v:e(n.v);if(!o(i)){const e={v:i,i:n.i,n:this.norm.get(i)};t.push(e)}}}r.$[u]=t}else if(s(h)&&!o(h)){const t={v:h,n:this.norm.get(h)};r.$[u]=t}}),this.records.push(r)}toJSON(){return{keys:this.keys.map(({getFn:t,...e})=>e),records:this.records}}}function C(t,e,{getFn:s=p.getFn,fieldNormWeight:i=p.fieldNormWeight}={}){const n=new m({getFn:s,fieldNormWeight:i});return n.setKeys(t.map(l)),n.setSources(e),n.create(),n}const M=32;function y(t,e,s,{location:i=p.location,distance:n=p.distance,threshold:r=p.threshold,findAllMatches:c=p.findAllMatches,minMatchCharLength:o=p.minMatchCharLength,includeMatches:u=p.includeMatches,ignoreLocation:h=p.ignoreLocation}={}){if(e.length>M)throw new Error(`Pattern length exceeds max of ${M}.`);const a=e.length,l=t.length,d=Math.max(0,Math.min(i,l));let g=r,f=d;const A=(t,e)=>{const s=t/a;if(h)return s;const i=Math.abs(d-e);return n?s+i/n:i?1:s},m=o>1||u,C=m?Array(l):[];let y;for(;(y=t.indexOf(e,f))>-1;){const t=A(0,y);if(g=Math.min(t,g),f=y+a,m){let t=0;for(;t<a;)C[y+t]=1,t+=1}}f=-1;let x=[],F=1,D=a+l;const E=1<<a-1;for(let e=0;e<a;e+=1){let i=0,n=D;for(;i<n;){A(e,d+n)<=g?i=n:D=n,n=Math.floor((D-i)/2+i)}D=n;let r=Math.max(1,d-n+1);const o=c?l:Math.min(d+n,l)+a,u=Array(o+2);u[o+1]=(1<<e)-1;for(let i=o;i>=r;i-=1){const n=i-1,c=sLine truncated
|
||||
@@ -1,9 +0,0 @@
|
||||
/**
|
||||
* Fuse.js v7.1.0 - Lightweight fuzzy-search (http://fusejs.io)
|
||||
*
|
||||
* Copyright (c) 2025 Kiro Risk (http://kiro.me)
|
||||
* All Rights Reserved. Apache Software License 2.0
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){o(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,v(r.key),r)}}function u(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},a(e)}function s(e,t){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},s(e,t)}function h(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=a(e);if(t){var i=a(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h(this,n)}}function f(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function g(e){return Array.isArray?Array.isArray(e):"[object Array]"===M(e)}var y=1/0;function p(e){return null==e?"":function(e){if("string"==typeof e)return e;var t=e+"";return"0"==t&&1/e==-y?"-0":t}(e)}function A(e){return"string"==typeof e}function m(e){return"number"==typeof e}function C(e){return!0===e||!1===e||function(e){return k(e)&&null!==e}(e)&&"[object Boolean]"==M(e)}function k(e){return"object"===n(e)}function E(e){return null!=e}function F(e){return!e.trim().length}function M(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var b=function(e){return"Missing ".concat(e," property in key")},D=function(e){return"Property 'weight' in key '".concat(e,"' must be a positive integer")},B=Object.prototype.hasOwnProperty,x=function(){function e(t){var n=this;r(this,e),this._keys=[],this._keyMap={};var i=0;t.forEach((function(e){var t=w(e);n._keys.push(t),n._keyMap[t.id]=t,i+=t.weight})),this._keys.forEach((function(e){e.weight/=i}))}return u(e,[{key:"get",value:function(e){return this._keyMap[e]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function w(e){var t=null,n=null,r=null,i=1,u=null;if(A(e)||g(e))r=e,t=S(e),n=L(e);else{if(!B.call(e,"name"))throw new ErLine truncated
|
||||
@@ -1,2 +0,0 @@
|
||||
/*! jQuery v3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween | (c) OpenJS Foundation and other contributors | jquery.org/license */
|
||||
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},m=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||m).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var de=oe.pop,pe=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function d(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+Line truncated
|
||||
@@ -1 +1 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};r.d(o,{default:function(){return p}});var i=r(757),a=r.n(i);const l=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},s=/^\\begin{/;var d=function(e,t){let n;const r=[],o=new RegExp("("+t.map((e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;n=e.search(o),-1!==n;){n>0&&(r.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const o=t.findIndex((t=>e.startsWith(t.left)));if(n=l(t[o].right,e,t[o].left.length),-1===n)break;const i=e.slice(0,n+t[o].right.length),a=s.test(i)?i:e.slice(t[o].left.length,n);r.push({type:"math",data:a,rawData:i,display:t[o].display}),e=e.slice(n+t[o].right.length)}return""!==e&&r.push({type:"text",data:e}),r};const c=function(e,t){const n=d(e,t.delimiters);if(1===n.length&&"text"===n[0].type)return null;const r=document.createDocumentFragment();for(let e=0;e<n.length;e++)if("text"===n[e].type)r.appendChild(document.createTextNode(n[e].data));else{const o=document.createElement("span");let i=n[e].data;t.displayMode=n[e].display;try{t.preProcess&&(i=t.preProcess(i)),a().render(i,o,t)}catch(o){if(!(o instanceof a().ParseError))throw o;t.errorCallback("KaTeX auto-render: Failed to parse `"+n[e].data+"` with ",o),r.appendChild(document.createTextNode(n[e].rawData));continue}r.appendChild(o)}return r},f=function(e,t){for(let n=0;n<e.childNodes.length;n++){const r=e.childNodes[n];if(3===r.nodeType){let o=r.textContent,i=r.nextSibling,a=0;for(;i&&i.nodeType===Node.TEXT_NODE;)o+=i.textContent,i=i.nextSibling,a++;const l=c(o,t);if(l){for(let e=0;e<a;e++)r.nextSibling.remove();n+=l.childNodes.length-1,e.replaceChild(l,r)}else n+=a}else if(1===r.nodeType){const e=" "+r.className+" ";-1===t.ignoredTags.indexOf(r.nodeName.toLowerCase())&&t.ignoredClasses.every((t=>-1===e.indexOf(" "+t+" ")))&&f(r,t)}}};var p=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},f(e,n)};return o=o.default}()}));
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};r.d(o,{default:function(){return p}});var i=r(757),a=r.n(i);const l=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},s=/^\\begin{/;var d=function(e,t){let n;const r=[],o=new RegExp("("+t.map(e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")).join("|")+")");for(;n=e.search(o),-1!==n;){n>0&&(r.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const o=t.findIndex(t=>e.startsWith(t.left));if(n=l(t[o].right,e,t[o].left.length),-1===n)break;const i=e.slice(0,n+t[o].right.length),a=s.test(i)?i:e.slice(t[o].left.length,n);r.push({type:"math",data:a,rawData:i,display:t[o].display}),e=e.slice(n+t[o].right.length)}return""!==e&&r.push({type:"text",data:e}),r};const c=function(e,t){const n=d(e,t.delimiters);if(1===n.length&&"text"===n[0].type)return null;const r=document.createDocumentFragment();for(let e=0;e<n.length;e++)if("text"===n[e].type)r.appendChild(document.createTextNode(n[e].data));else{const o=document.createElement("span");let i=n[e].data;t.displayMode=n[e].display;try{t.preProcess&&(i=t.preProcess(i)),a().render(i,o,t)}catch(o){if(!(o instanceof a().ParseError))throw o;t.errorCallback("KaTeX auto-render: Failed to parse `"+n[e].data+"` with ",o),r.appendChild(document.createTextNode(n[e].rawData));continue}r.appendChild(o)}return r},f=function(e,t){for(let o=0;o<e.childNodes.length;o++){const i=e.childNodes[o];if(3===i.nodeType){var n;let a=null!=(n=i.textContent)?n:"",l=i.nextSibling,s=0;for(;l&&l.nodeType===Node.TEXT_NODE;){var r;a+=null!=(r=l.textContent)?r:"",l=l.nextSibling,s++}const d=c(a,t);if(d){for(let e=0;e<s;e++)i.nextSibling.remove();o+=d.childNodes.length-1,e.replaceChild(d,i)}else o+=s}else if(1===i.nodeType){const e=" "+i.className+" ";!t.ignoredTags.has(i.nodeName.toLowerCase())&&t.ignoredClasses.every(t=>!e.includes(" "+t+" "))&&f(i,t)}}};var p=function(e,t){if(!e)throw new Error("No element provided to render");const n={};Object.assign(n,t),n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=new Set((null==t?void 0:t.ignoredTags)||["script","noscript","style","textarea","pre","code","option"]),n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},f(e,n)};return o=o.default}()});
|
||||
@@ -1 +1 @@
|
||||
@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
|
||||
@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={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
|
||||
!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 io}});class r extends Error{constructor(e,t){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,l;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),l=o+15<e.length?e.slice(o,o+15)+"\u2026":e.slice(o),s+=r+t+l}super(s),this.name="ParseError",Object.setPrototypeOf(this,r.prototype),this.position=n,null!=n&&null!=o&&(this.length=o-n),this.rawMessage=e}}var n=r;const o=/([A-Z])/g,s=e=>e.replace(o,"-$1").toLowerCase(),i={"&":"&",">":">","<":"<",'"':""","'":"'"},l=/[&><"']/g,a=e=>String(e).replace(l,e=>i[e]),c=e=>"ordgroup"===e.type||"color"===e.type?1===e.body.length?c(e.body[0]):e:"font"===e.type?c(e.body):e,h=new Set(["mathord","textord","atom"]),m=e=>h.has(c(e).type),u={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 p(e){if("default"in e)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 d{constructor(e){void 0===e&&(e={}),e=e||{};for(const t of Object.keys(u)){const r=u[t],n=e[t];this[t]=void 0!==n?r.processor?r.processor(n):n:p(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r)Line truncated
|
||||
@@ -1,5 +1,5 @@
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.141.0"
|
||||
max = "0.154.5"
|
||||
min = "0.158.0"
|
||||
max = "0.161.1"
|
||||
@@ -1,6 +1,6 @@
|
||||
disabled = false
|
||||
languageCode = "en"
|
||||
languageName = "English"
|
||||
locale = "en"
|
||||
label = "English"
|
||||
weight = 1
|
||||
title = "Blowfish"
|
||||
|
||||
@@ -62,15 +62,18 @@ title = "Blowfish"
|
||||
# { spotify = "https://open.spotify.com/user/userid" },
|
||||
# { stack-overflow = "https://stackoverflow.com/users/userid/username" },
|
||||
# { steam = "https://steamcommunity.com/profiles/userid" },
|
||||
# { strava = "https://www.strava.com/athletes/username" },
|
||||
# { telegram = "https://t.me/username" },
|
||||
# { threads = "https://www.threads.net/@username" },
|
||||
# { tiktok = "https://tiktok.com/@username" },
|
||||
# { tumblr = "https://username.tumblr.com" },
|
||||
# { twitch = "https://twitch.tv/username" },
|
||||
# { untappd = "https://untappd.com/user/username" },
|
||||
# { twitter = "https://twitter.com/username" },
|
||||
# { x-twitter = "https://twitter.com/username" },
|
||||
# { whatsapp = "https://wa.me/phone-number" },
|
||||
# { youtube = "https://youtube.com/username" },
|
||||
# { ko-fi = "https://ko-fi.com/username" },
|
||||
# { codeberg = "https://codeberg.org/username"},
|
||||
# { printables = "https://www.printables.com/@username"},
|
||||
# ]
|
||||
@@ -29,6 +29,8 @@ disableTextInHeader = false
|
||||
# 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
|
||||
# Thumbnail aspect ratio as a number (e.g., "1.5", "1.0", "1.777")
|
||||
# thumbnailAspectRatio = "1.5"
|
||||
# imagePosition = "50% 50%"
|
||||
|
||||
# highlightCurrentMenuArea = true
|
||||
@@ -40,6 +42,9 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
giteaDefaultServer = "https://git.fsfe.org"
|
||||
forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
|
||||
[seo]
|
||||
# metaDescriptionOrder = ["summary", "description", "site"] # Controls the fallback order for the HTML meta description. Valid values are "summary", "description", and "site".
|
||||
|
||||
[header]
|
||||
layout = "basic" # valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur
|
||||
|
||||
@@ -87,8 +92,10 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
showTableOfContents = false
|
||||
# showRelatedContent = false
|
||||
# relatedContentLimit = 3
|
||||
showTaxonomies = false # use showTaxonomies OR showCategoryOnly, not both
|
||||
showCategoryOnly = false # use showTaxonomies OR showCategoryOnly, not both
|
||||
showTaxonomies = false # Enable the display of taxonomies for the related article.
|
||||
showCategories = true # These will show if showTaxonomies is true.
|
||||
showTags = true # These will show if showTaxonomies is true.
|
||||
showCategoriesInSecondaryColor = false # This will change the color of category badges, so the user can better distinguish between the two. Only if showTaxonomies is true.
|
||||
showAuthorsBadges = false
|
||||
showWordCount = true
|
||||
# sharingLinks = [ "linkedin", "twitter", "bluesky", "mastodon", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram", "line"]
|
||||
@@ -119,6 +126,8 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
showTermCount = true
|
||||
showHero = false
|
||||
# heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
|
||||
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
|
||||
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
|
||||
showBreadcrumbs = false
|
||||
showViews = false
|
||||
showLikes = false
|
||||
@@ -128,6 +137,8 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
[term]
|
||||
showHero = false
|
||||
# heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
|
||||
layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
|
||||
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
|
||||
showBreadcrumbs = false
|
||||
showViews = false
|
||||
showLikes = false
|
||||
|
||||
@@ -52,6 +52,6 @@
|
||||
"mastodon": {
|
||||
"icon": "mastodon",
|
||||
"title": "sharing.mastodon",
|
||||
"url": "https://s2f.kytta.dev/?text=%[2]s %[1]s"
|
||||
"url": "https://share.joinmastodon.org/#text=%[2]s %[1]s"
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
[{"avatar_url":"https://avatars.githubusercontent.com/u/928965?u=f5d781ca0eb5cb5c7ce9e5ee5d3b24dae3d6e987\u0026v=4\u0026s=128","profile_url":"https://github.com/nazar-pc","username":"nazar-pc"},{"avatar_url":"https://avatars.githubusercontent.com/u/17061177?v=4\u0026s=128","profile_url":"https://github.com/ytocquet","username":"ytocquet"},{"avatar_url":"https://avatars.githubusercontent.com/u/49299328?v=4\u0026s=128","profile_url":"https://github.com/LITUATUI","username":"LITUATUI"}]
|
||||
[{"avatar_url":"https://avatars.githubusercontent.com/u/928965?u=f5d781ca0eb5cb5c7ce9e5ee5d3b24dae3d6e987\u0026v=4\u0026s=128","profile_url":"https://github.com/nazar-pc","username":"nazar-pc"},{"avatar_url":"https://avatars.githubusercontent.com/u/17061177?u=dfc0b44e86fa09e96605ec9c7775f4f98df90a20\u0026v=4\u0026s=128","profile_url":"https://github.com/ytocquet","username":"ytocquet"},{"avatar_url":"https://avatars.githubusercontent.com/u/147227691?v=4\u0026s=128","profile_url":"https://github.com/AtmosphericIgnition","username":"AtmosphericIgnition"}]
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "de"
|
||||
languageName = "Deutsch"
|
||||
locale = "de"
|
||||
label = "Deutsch"
|
||||
weight = 3
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "en"
|
||||
languageName = "English"
|
||||
locale = "en"
|
||||
label = "English"
|
||||
weight = 1
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "es"
|
||||
languageName = "Español"
|
||||
locale = "es"
|
||||
label = "Español"
|
||||
weight = 6
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "fr"
|
||||
languageName = "Français"
|
||||
locale = "fr"
|
||||
label = "Français"
|
||||
weight = 2
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "it"
|
||||
languageName = "Italiano"
|
||||
locale = "it"
|
||||
label = "Italiano"
|
||||
weight = 4
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "ja"
|
||||
languageName = "日本語"
|
||||
locale = "ja"
|
||||
label = "日本語"
|
||||
weight = 8
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "pt-br"
|
||||
languageName = "Português (Brasil)"
|
||||
locale = "pt-br"
|
||||
label = "Português (Brasil)"
|
||||
weight = 6
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "pt-pt"
|
||||
languageName = "Português (Portugal)"
|
||||
locale = "pt-pt"
|
||||
label = "Português (Portugal)"
|
||||
weight = 5
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
languageCode = "zh-cn"
|
||||
languageName = "简体中文"
|
||||
locale = "zh-cn"
|
||||
label = "简体中文"
|
||||
weight = 9
|
||||
title = "Blowfish"
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ The theme currently supports the following languages by default:
|
||||
| Language | Code |
|
||||
| ---------------------------- | ------- |
|
||||
| Arabic | `ar` |
|
||||
| Basque | `eu` |
|
||||
| Bulgarian | `bg` |
|
||||
| Bengali | `bn` |
|
||||
| Catalan | `ca` |
|
||||
@@ -185,6 +186,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `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. |
|
||||
| `seo.metaDescriptionOrder` | `["summary", "description", "site"]` | Controls the fallback order for the HTML meta description. Valid values are `summary`, `description`, and `site`. Use `["description", "summary", "site"]` if you want front matter `description` to take precedence over `summary`. |
|
||||
| `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 (``). |
|
||||
@@ -244,8 +246,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `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.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. |
|
||||
| `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. |
|
||||
@@ -260,7 +262,9 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `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 all the taxonomies related to this article are displayed. |
|
||||
| `article.showCategoryOnly` | `false` | Whether or not the "category" taxonomy is displayed. `showTaxonomies` should be `false` when this param is used, otherwise duplicates will appear. |
|
||||
| `article.showCategories` | `true` | Whether or not the `category` taxonomies are displayed. Requires `showTaxonomies` to be `true`. |
|
||||
| `article.showTags` | `true` | Whether or not the `tag` taxonomies are displayed. Requires `showTaxonomies` to be `true`. |
|
||||
| `article.showCategoriesInSecondaryColor` | `false` | This will make the `category` taxonomy badges to show in a secondary color, so the user can better distinguish between categories and tags. Requires `showTaxonomies` to be `true`. |
|
||||
| `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. |
|
||||
@@ -274,9 +278,9 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| --- | --- | --- |
|
||||
| `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.layoutBackgroundBlur` | `true` | Makes the background image in the background list heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. |
|
||||
| `list.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. |
|
||||
| `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](#site-configuration). |
|
||||
| `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||
@@ -302,6 +306,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `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 `taxonomy.showHero = true`. |
|
||||
| `taxonomy.layoutBackgroundBlur` | `true` | Makes the background image in the background taxonomy heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. |
|
||||
| `taxonomy.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. |
|
||||
| `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. |
|
||||
@@ -314,6 +320,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| --- | --- | --- |
|
||||
| `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.layoutBackgroundBlur` | `true` | Makes the background image in the background term heroStyle blur with the scroll. Only used when `heroStyle` equals `background` or `thumbAndBackground`. |
|
||||
| `term.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. Only used when `heroStyle` equals `background`. |
|
||||
| `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. |
|
||||
|
||||
@@ -9,7 +9,7 @@ series: ["部署教程"]
|
||||
series_order: 4
|
||||
---
|
||||
|
||||
Blowfish 适宜个高度定制化的主题,使用到了一些 Hugo 中最新的特性来简化配置方式。
|
||||
Blowfish 是一个高度定制化的主题,使用到了一些 Hugo 中最新的特性来简化配置方式。
|
||||
|
||||
主题附带了默认配置,可以让你快速启动一个基本的博客或静态网站。
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Diese Anweisungen bringen Sie von einem komplett leeren Zustand mit Hugo und Blo
|
||||
Wenn Sie Hugo noch nicht verwendet haben, müssen Sie es [auf Ihrem lokalen Computer installieren](https://gohugo.io/getting-started/installing). Sie können überprüfen, ob es bereits installiert ist, indem Sie den Befehl `hugo version` ausführen.
|
||||
|
||||
{{< alert >}}
|
||||
Stellen Sie sicher, dass Sie **Hugo Version 0.141.0** oder höher verwenden, da das Theme einige der neuesten Hugo-Funktionen nutzt.
|
||||
Stellen Sie sicher, dass Sie **Hugo Version 0.158.0** oder höher verwenden, da das Theme einige der neuesten Hugo-Funktionen nutzt.
|
||||
{{< /alert >}}
|
||||
|
||||
Sie finden detaillierte Installationsanweisungen für Ihre Plattform in der [Hugo-Dokumentation](https://gohugo.io/getting-started/installing).
|
||||
|
||||
@@ -22,7 +22,7 @@ Estas instrucciones te ayudarán a empezar con Hugo y Blowfish desde un estado c
|
||||
Si nunca has usado Hugo antes, necesitarás [instalarlo en tu máquina local](https://gohugo.io/getting-started/installing). Puedes verificar si ya está instalado ejecutando el comando `hugo version`.
|
||||
|
||||
{{< alert >}}
|
||||
Asegúrate de estar usando **Hugo versión 0.141.0** o posterior, ya que el tema aprovecha algunas de las últimas características de Hugo.
|
||||
Asegúrate de estar usando **Hugo versión 0.158.0** o posterior, ya que el tema aprovecha algunas de las últimas características de Hugo.
|
||||
{{< /alert >}}
|
||||
|
||||
Puedes encontrar instrucciones de instalación detalladas para tu plataforma en la [documentación de Hugo](https://gohugo.io/getting-started/installing).
|
||||
|
||||
@@ -22,7 +22,7 @@ Ces instructions vous permettront de démarrer avec Hugo et Blowfish à partir d
|
||||
Si vous n'avez jamais utilisé Hugo auparavant, vous devrez [l'installer sur votre machine locale](https://gohugo.io/getting-started/installing). Vous pouvez vérifier s'il est déjà installé en exécutant la commande `hugo version`.
|
||||
|
||||
{{< alert >}}
|
||||
Assurez-vous d'utiliser **Hugo version 0.141.0** ou ultérieure car le thème tire parti de certaines des dernières fonctionnalités de Hugo.
|
||||
Assurez-vous d'utiliser **Hugo version 0.158.0** ou ultérieure car le thème tire parti de certaines des dernières fonctionnalités de Hugo.
|
||||
{{< /alert >}}
|
||||
|
||||
Vous pouvez trouver des instructions d'installation détaillées pour votre plateforme dans la [documentation Hugo](https://gohugo.io/getting-started/installing).
|
||||
|
||||
@@ -23,7 +23,7 @@ Se non hai mai utilizzato Hugo prima, dovrai [installarlo nella tua local machin
|
||||
Puoi verificare se hai già installato Hugo utilizzando il comando `hugo version`.
|
||||
|
||||
{{< alert >}}
|
||||
Assicurati di usare la **versione 0.141.0 di Hugo** o successiva, poiché il tema sfrutta alcune delle ultime caratteristiche di Hugo.
|
||||
Assicurati di usare la **versione 0.158.0 di Hugo** o successiva, poiché il tema sfrutta alcune delle ultime caratteristiche di Hugo.
|
||||
{{< /alert >}}
|
||||
|
||||
Puoi trovare le istruzioni dettagliate sull'installazione per la propria piattaforma in [Documenti Hugo](https://gohugo.io/getting-started/installing).
|
||||
|
||||
@@ -22,7 +22,7 @@ Hugo の[クイックスタートガイド](https://gohugo.io/getting-started/qu
|
||||
Hugo を初めて使用する場合は、[公式サイトの手順](https://gohugo.io/getting-started/installing)に従って、ローカルマシンにインストールしてください。すでにインストールされているかどうかは、コマンド `hugo version` を実行して確認できます。
|
||||
|
||||
{{< alert >}}
|
||||
テーマは最新の Hugo の機能を活用しているため、**Hugo バージョン 0.141.0 以降**を使用していることを確認してください。
|
||||
テーマは最新の Hugo の機能を活用しているため、**Hugo バージョン 0.158.0 以降**を使用していることを確認してください。
|
||||
{{< /alert >}}
|
||||
|
||||
お使いのプラットフォームに合わせた詳細なインストール手順は、[Hugo の公式ドキュメント](https://gohugo.io/getting-started/installing)に記載されています。
|
||||
|
||||
@@ -22,7 +22,7 @@ These instructions will get you up and running using Hugo and Blowfish from a co
|
||||
If you haven't used Hugo before, you will need to [install it onto your local machine](https://gohugo.io/getting-started/installing). You can check if it's already installed by running the command `hugo version`.
|
||||
|
||||
{{< alert >}}
|
||||
Make sure you are using **Hugo version 0.141.0** or later as the theme takes advantage of some of the latest Hugo features.
|
||||
Make sure you are using **Hugo version 0.158.0** or later as the theme takes advantage of some of the latest Hugo features.
|
||||
{{< /alert >}}
|
||||
|
||||
You can find detailed installation instructions for your platform in the [Hugo docs](https://gohugo.io/getting-started/installing).
|
||||
|
||||
@@ -22,7 +22,7 @@ Estas instruções vão te ajudar a começar com Hugo e Blowfish a partir de um
|
||||
Se você nunca usou Hugo antes, precisará [instalá-lo em sua máquina local](https://gohugo.io/getting-started/installing). Você pode verificar se já está instalado executando o comando `hugo version`.
|
||||
|
||||
{{< alert >}}
|
||||
Certifique-se de estar usando **Hugo versão 0.141.0** ou posterior, pois o tema aproveita alguns dos recursos mais recentes do Hugo.
|
||||
Certifique-se de estar usando **Hugo versão 0.158.0** ou posterior, pois o tema aproveita alguns dos recursos mais recentes do Hugo.
|
||||
{{< /alert >}}
|
||||
|
||||
Você pode encontrar instruções de instalação detalhadas para sua plataforma na [documentação do Hugo](https://gohugo.io/getting-started/installing).
|
||||
|
||||
@@ -22,7 +22,7 @@ Estas instruções irão ajudá-lo a começar com Hugo e Blowfish a partir de um
|
||||
Se nunca utilizou Hugo antes, precisará de [instalá-lo na sua máquina local](https://gohugo.io/getting-started/installing). Pode verificar se já está instalado executando o comando `hugo version`.
|
||||
|
||||
{{< alert >}}
|
||||
Certifique-se de que está a utilizar **Hugo versão 0.141.0** ou posterior, pois o tema aproveita algumas das funcionalidades mais recentes do Hugo.
|
||||
Certifique-se de que está a utilizar **Hugo versão 0.158.0** ou posterior, pois o tema aproveita algumas das funcionalidades mais recentes do Hugo.
|
||||
{{< /alert >}}
|
||||
|
||||
Pode encontrar instruções de instalação detalhadas para a sua plataforma na [documentação do Hugo](https://gohugo.io/getting-started/installing).
|
||||
|
||||
@@ -22,7 +22,7 @@ series_order: 2
|
||||
如果你之前没有使用过 Hugo,你首先需要了解[在本地机器安装 Hugo](https://gohugo.io/getting-started/installing)。你可以通过运行命令 `hugo version` 来检查是否安装完成。
|
||||
|
||||
{{< alert >}}
|
||||
确保你使用 **Hugo 0.141.0** 或更高的版本,Blowfish 主题中使用了最新的 Hugo 特性。
|
||||
确保你使用 **Hugo 0.158.0** 或更高的版本,Blowfish 主题中使用了最新的 Hugo 特性。
|
||||
{{< /alert >}}
|
||||
|
||||
你可以在 [Hugo 文档](https://gohugo.io/getting-started/installing) 中找到不同平台更加详细的安装指南。
|
||||
|
||||
@@ -46,6 +46,8 @@ Um die Umami Analytics-Unterstützung zu aktivieren, geben Sie einfach Ihren [Um
|
||||
Wenn Sie auch die benutzerdefinierte Domain-Funktion von Umami verwenden und deren Skript von Ihrer Domain bereitstellen möchten, können Sie zusätzlich den Konfigurationswert `domain` angeben. Wenn Sie keinen `domain`-Wert angeben, wird das Skript direkt von Umami DNS (analytics.umami.is) geladen.
|
||||
Wenn Sie möchten, dass der Tracker nur auf bestimmten Domains ausgeführt wird, können Sie den Konfigurationswert `dataDomains` angeben. Wenn Sie keinen `dataDomains`-Wert angeben, wird das Skript auf jeder Website ausgeführt, bei der `domain` und `websiteid` übereinstimmen. Wenn die Umgebungsvariable `TRACKER_SCRIPT_NAME` konfiguriert ist, können Sie einen benutzerdefinierten Skriptnamen `scriptName` angeben. Wenn sie nicht konfiguriert ist, kommentieren Sie sie entweder aus oder verwenden Sie den Standard `script.js`.
|
||||
|
||||
Wenn Sie die Do Not Track Einstellung im Browser berücksichtigen möchten, dann setzen Sie `doNotTrack` auf `true`, Blowfish berücksichtigt die Do Not Track Einstellung standardmäßig nicht.
|
||||
|
||||
{{< alert >}}
|
||||
**Hinweis:** Wenn Sie Umami Analytics aktivieren, unterstützt Blowfish [Umami Track Event](https://umami.is/docs/track-events) automatisch. Wenn Sie Track Event nicht unterstützen möchten, muss der Parameter `enableTrackEvent` auf `false` gesetzt werden.
|
||||
{{< /alert >}}
|
||||
@@ -58,6 +60,7 @@ Wenn Sie möchten, dass der Tracker nur auf bestimmten Domains ausgeführt wird,
|
||||
domain = "llama.yoursite.com"
|
||||
dataDomains = "yoursite.com,yoursite2.com"
|
||||
scriptName = "TRACKER_SCRIPT_NAME"
|
||||
doNotTrack = false
|
||||
enableTrackEvent = true
|
||||
```
|
||||
|
||||
|
||||
@@ -46,6 +46,8 @@ To enable Umami Analytics support, simply provide your [Umami tracking code](htt
|
||||
If you also use the custom domain feature of Umami and would like to serve their script from your domain, you can also additionally provide the `domain` configuration value. If you don't provide a `domain` value, the script will load directly from Umami DNS (analytics.umami.is).
|
||||
If you want the tracker to only run on specific domains, you can provide the `dataDomains` configuration value. If you don't provide a `dataDomains` value, the script will run on any website where the `domain` and`websiteid` match. If the environment variable `TRACKER_SCRIPT_NAME` is configured, you can specify a custom script name `scriptName`. If it is not configured, either comment it out or use the default `script.js`.
|
||||
|
||||
If you want to honor the Do Not Track setting of the users browser, you have to set `doNotTrack` to `true`. Blowfish does not honor the Do Not Track setting per default.
|
||||
|
||||
{{< alert >}}
|
||||
**Note:** If you enable Umami Analytics, Blowfish will support [Umami Track Event](https://umami.is/docs/track-events) automatically. If you do not want to support Track Event, the param `enableTrackEvent` must set to `false`.
|
||||
{{< /alert >}}
|
||||
@@ -59,6 +61,7 @@ If you want the tracker to only run on specific domains, you can provide the `da
|
||||
dataDomains = "yoursite.com,yoursite2.com"
|
||||
scriptName = "TRACKER_SCRIPT_NAME"
|
||||
enableTrackEvent = true
|
||||
doNotTrack = false
|
||||
```
|
||||
|
||||
### Seline Analytics
|
||||
|
||||
@@ -96,6 +96,127 @@ The alert sign (`+` or `-`) is optional to control whether the admonition is fol
|
||||
|
||||
> [!INFO]- Customize admonition
|
||||
> See the [admonition customization guide](https://github.com/nunocoracao/blowfish/blob/main/layouts/_default/_markup/render-blockquote.html).
|
||||
## Accordion
|
||||
|
||||
`accordion` creates a collapsible set of panels. Use the `accordionItem` sub-shortcode to define each item. You can control whether multiple items can be open at the same time using the `mode` parameter.
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Parameter | Description |
|
||||
| --------- | ------------------------------------------------------------------------------------------------- |
|
||||
| `mode` | **Optional.** `collapse` (single open) or `open` (multiple open). Defaults to `collapse`. |
|
||||
| `separated` | **Optional.** `true` to show each item as a separate card. Defaults to `false` (joined list). |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
`accordionItem` parameters:
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Parameter | Description |
|
||||
| --------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `title` | **Required.** Title shown in the item header. |
|
||||
| `open` | **Optional.** Set to `true` to have the item open by default. |
|
||||
| `header` | **Optional.** Alias for `title`, kept for compatibility with other shortcodes. |
|
||||
| `icon` | **Optional.** Icon name to display before the title. |
|
||||
| `align` | **Optional.** Align text within the item: `left`, `center`, `right` |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
**Example 1: `mode="open"` (multiple items can be open) + `separated=true`**
|
||||
|
||||
```md
|
||||
{{</* accordion mode="open" separated=true */>}}
|
||||
{{</* accordionItem title="Markdown example" icon="code" open=true */>}}
|
||||
This item demonstrates Markdown rendering:
|
||||
- **Bold text**
|
||||
- Lists
|
||||
- `inline code`
|
||||
{{</* /accordionItem */>}}
|
||||
|
||||
{{</* accordionItem title="Shortcode example" md=false */>}}
|
||||
This item demonstrates shortcode rendering with <code>md=false</code>:
|
||||
|
||||
{{</* alert */>}}This is an inline alert.{{</* /alert */>}}
|
||||
{{</* /accordionItem */>}}
|
||||
{{</* /accordion */>}}
|
||||
```
|
||||
|
||||
{{< accordion mode="open" separated=true >}}
|
||||
{{< accordionItem title="Markdown example" icon="code" open=true >}}
|
||||
This item demonstrates Markdown rendering:
|
||||
- **Bold text**
|
||||
- Lists
|
||||
- `inline code`
|
||||
{{< /accordionItem >}}
|
||||
|
||||
{{< accordionItem title="Shortcode example" md=false >}}
|
||||
This item demonstrates shortcode rendering with <code>md=false</code>:
|
||||
|
||||
{{< alert >}}This is an inline alert.{{< /alert >}}
|
||||
{{< /accordionItem >}}
|
||||
{{< /accordion >}}
|
||||
|
||||
**Example 2: `mode="collapse"` (only one item open at a time)**
|
||||
|
||||
```md
|
||||
{{</* accordion mode="collapse" */>}}
|
||||
{{</* accordionItem title="First item" open=true */>}}
|
||||
This item uses Markdown with a short list:
|
||||
1. One
|
||||
2. Two
|
||||
3. Three
|
||||
{{</* /accordionItem */>}}
|
||||
|
||||
{{</* accordionItem title="Second item" md=false */>}}
|
||||
This item includes another shortcode:
|
||||
{{</* badge */>}}Tip{{</* /badge */>}}
|
||||
{{</* /accordionItem */>}}
|
||||
{{</* /accordion */>}}
|
||||
```
|
||||
|
||||
{{< accordion mode="collapse" >}}
|
||||
{{< accordionItem title="First item" open=true >}}
|
||||
This item uses Markdown with a short list:
|
||||
1. One
|
||||
2. Two
|
||||
3. Three
|
||||
{{< /accordionItem >}}
|
||||
|
||||
{{< accordionItem title="Second item" md=false >}}
|
||||
This item includes another shortcode:
|
||||
{{< badge >}}Tip{{< /badge >}}
|
||||
{{< /accordionItem >}}
|
||||
{{< /accordion >}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Ansible Galaxy Card
|
||||
|
||||
`ansible` renders a card for an [Ansible Galaxy](https://galaxy.ansible.com/) entry, fetched at build time. It accepts either a `role` or a `collection` parameter, both in `namespace.name` form.
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| Parameter | Description |
|
||||
| ------------ | ------------------------------------------------------------------------------------ |
|
||||
| `role` | [String] Galaxy role in the format `namespace.name`, e.g. `geerlingguy.docker` |
|
||||
| `collection` | [String] Galaxy collection in the format `namespace.name`, e.g. `community.general` |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
Set exactly one of `role` or `collection` per call.
|
||||
|
||||
All card values are fetched at build time via Hugo's `resources.GetRemote`. Galaxy does not allow cross-origin requests, so the card is not refreshed in the browser — rebuild the site to update the values.
|
||||
|
||||
**Example 1: Role**
|
||||
|
||||
```md
|
||||
{{</* ansible role="geerlingguy.docker" */>}}
|
||||
```
|
||||
|
||||
{{< ansible role="geerlingguy.docker" >}}
|
||||
|
||||
**Example 2: Collection**
|
||||
|
||||
```md
|
||||
{{</* ansible collection="community.general" */>}}
|
||||
```
|
||||
|
||||
{{< ansible collection="community.general" >}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
@@ -141,7 +262,7 @@ New article!
|
||||
|
||||
## Button
|
||||
|
||||
`button` outputs a styled button component which can be used to highlight a primary action. It has three optional variables `href`, `target` and `rel` which can be used to specify the URL, target and relation of the link.
|
||||
`button` outputs a styled button component which can be used to highlight a primary action. It has four optional variables `pageRef`, `href`, `target` and `rel`. `pageRef` resolves an internal page reference using the current page context, producing a language- and trailing-slash-aware URL that is consistent with the theme's navigation menus. `href` accepts any URL or path. When both are set, `pageRef` takes precedence.
|
||||
|
||||
**Example:**
|
||||
|
||||
@@ -155,6 +276,18 @@ Call to action
|
||||
Call to action
|
||||
{{< /button >}}
|
||||
|
||||
**Example using `pageRef`:**
|
||||
|
||||
```md
|
||||
{{</* button pageRef="docs/getting-started" */>}}
|
||||
Get started
|
||||
{{</* /button */>}}
|
||||
```
|
||||
|
||||
{{< button pageRef="docs/getting-started" >}}
|
||||
Get started
|
||||
{{< /button >}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Carousel
|
||||
@@ -165,10 +298,13 @@ Call to action
|
||||
| Parameter | Description |
|
||||
| --- | --- |
|
||||
| `images` | **Required.** A regex string to match image names or URLs. |
|
||||
| `captions` | **Optional.** A list of `key:caption` pairs. Keys can be image filenames (for local images) or full URLs (for remote images). Captions support Markdown. |
|
||||
| `aspectRatio` | **Optional.** The aspect ratio for the carousel. It is set to `16-9` by default. |
|
||||
| `interval` | **Optional.** The interval for the auto-scrooling, specified in milliseconds. Defaults to `2000` (2s) |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
Captions are matched by key. For local images, use the filename (e.g. `01.jpg`). For remote images, use the full URL.
|
||||
|
||||
**Example 1:** 16:9 aspect ratio and verbose list of images
|
||||
|
||||
```md
|
||||
@@ -185,6 +321,14 @@ Call to action
|
||||
|
||||
{{< carousel images="gallery/*" aspectRatio="21-9" interval="2500" >}}
|
||||
|
||||
**Example 3:** Add captions
|
||||
|
||||
```md
|
||||
{{</* carousel images="gallery/*" captions="{01.jpg:First image with *formatting*,02.jpg:Second image with a [link](https://example.com)}" */>}}
|
||||
```
|
||||
|
||||
{{< carousel images="gallery/*" captions="{01.jpg:First image with *formatting*,02.jpg:Second image with a [link](https://example.com)}" >}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Chart
|
||||
@@ -277,6 +421,18 @@ This shortcode is for importing code from external sources easily without copyin
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Email
|
||||
|
||||
Creates an obfuscated mailto link:
|
||||
|
||||
```md
|
||||
{{</* email email="mailto:hello@test.com" text="text" subject="Reply to awesome article" */>}}
|
||||
```
|
||||
|
||||
{{< email email="mailto:hello@test.com" text="text" subject="Reply to awesome article" >}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Figure
|
||||
|
||||
Blowfish includes a `figure` shortcode for adding images to content. The shortcode replaces the base Hugo functionality in order to provide additional performance benefits.
|
||||
@@ -292,6 +448,7 @@ The `figure` shortcode accepts six parameters:
|
||||
| `alt` | [Alternative text description](https://moz.com/learn/seo/alt-text) for the image. |
|
||||
| `caption` | Markdown for the image caption, which will be displayed below the image. |
|
||||
| `class` | Additional CSS classes to apply to the image. |
|
||||
| `figureClass` | Additional CSS classes to apply to the `<figure>` wrapper. Useful for galleries. |
|
||||
| `href` | URL that the image should be linked to. |
|
||||
| `target` | The target attribute for the `href` URL. |
|
||||
| `nozoom` | `nozoom=true` disables the image "zoom" functionality. This is most useful in combination with a `href` link. |
|
||||
@@ -349,6 +506,8 @@ Blowfish also supports automatic conversion of images included using standard Ma
|
||||
|
||||
In order to add images to the gallery, use `img` tags for each image and add `class="grid-wXX"` in order for the gallery to be able to identify the column width for each image. The widths available by default start at 10% and go all the way to 100% in 5% increments. For example, to set the width to 65%, set the class to `grid-w65`. Additionally, widths for 33% and 66% are also available in order to build galleries with 3 cols. You can also leverage tailwind's responsive indicators to have a reponsive grid.
|
||||
|
||||
If you need captions, you can use the `figure` shortcode inside the gallery. When doing so, set the grid width on the `figure` using `figureClass`, and use `caption` for the text.
|
||||
|
||||
**Example 1: normal gallery**
|
||||
|
||||
```md
|
||||
@@ -401,6 +560,24 @@ In order to add images to the gallery, use `img` tags for each image and add `cl
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
**Example 3: gallery with captions (using `figure`)**
|
||||
|
||||
```md
|
||||
{{</* gallery */>}}
|
||||
{{</* figure src="gallery/01.jpg" alt="Gallery image 1" caption="First caption" figureClass="grid-w33" */>}}
|
||||
{{</* figure src="gallery/02.jpg" alt="Gallery image 2" caption="Second caption" figureClass="grid-w33" */>}}
|
||||
{{</* figure src="gallery/03.jpg" alt="Gallery image 3" caption="Third caption" figureClass="grid-w33" */>}}
|
||||
{{</* /gallery */>}}
|
||||
```
|
||||
|
||||
{{< gallery >}}
|
||||
{{< figure src="gallery/01.jpg" alt="Gallery image 1" caption="First caption" figureClass="grid-w33" >}}
|
||||
{{< figure src="gallery/02.jpg" alt="Gallery image 2" caption="Second caption" figureClass="grid-w33" >}}
|
||||
{{< figure src="gallery/03.jpg" alt="Gallery image 3" caption="Third caption" figureClass="grid-w33" >}}
|
||||
{{< /gallery >}}
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Gist
|
||||
|
||||
`gist` shortcode allows you to embed a GitHub Gist directly into your content by specifying the Gist user, ID, and optionally a specific file.
|
||||
@@ -759,6 +936,7 @@ The `tabs` shortcode is commonly used to present different variants of a particu
|
||||
| `default` | **Optional.** Label of the tab to be active by default. If not set, the first tab will be active. |
|
||||
| `label` | **Required.** The text label displayed on the tab button. |
|
||||
| `icon` | **Optional.** Icon name to display before the label. |
|
||||
| `md` | **Optional.** Render tab content as Markdown (default `true`). Set `md=false` to allow nested shortcodes inside tab content. |
|
||||
|
||||
**Example 1: Basic Usage**
|
||||
|
||||
@@ -785,8 +963,8 @@ The `tabs` shortcode is commonly used to present different variants of a particu
|
||||
```
|
||||
{{</* /tab */>}}
|
||||
|
||||
{{</* tab label="Linux" */>}}
|
||||
See [documentation](https://code.visualstudio.com/docs/setup/linux#_install-vs-code-on-linux).
|
||||
{{</* tab label="Linux" md=false */>}}
|
||||
{{</* alert */>}}See [documentation](https://code.visualstudio.com/docs/setup/linux#_install-vs-code-on-linux).{{</* /alert */>}}
|
||||
{{</* /tab */>}}
|
||||
|
||||
{{</* /tabs */>}}
|
||||
@@ -816,8 +994,8 @@ The `tabs` shortcode is commonly used to present different variants of a particu
|
||||
```
|
||||
{{< /tab >}}
|
||||
|
||||
{{< tab label="Linux" >}}
|
||||
See [documentation](https://code.visualstudio.com/docs/setup/linux#_install-vs-code-on-linux).
|
||||
{{< tab label="Linux" md=false >}}
|
||||
{{< alert >}}See [documentation](https://code.visualstudio.com/docs/setup/linux#_install-vs-code-on-linux).{{< /alert >}}
|
||||
{{< /tab >}}
|
||||
|
||||
{{< /tabs >}}
|
||||
|
||||
@@ -11,7 +11,7 @@ series_order: 8
|
||||
|
||||
除了所有[默认 Hugo 简码](https://gohugo.io/content-management/shortcodes/) 之外,Blowfish 还添加了一些额外的功能。
|
||||
|
||||
## Alert
|
||||
## 醒目框
|
||||
|
||||
`alert` 可以将其中内容输出为文章中的风格化消息框。它对于吸引读者注意您不想让读者错过的重要信息很有用。
|
||||
|
||||
@@ -64,7 +64,7 @@ This is an error!
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Admonition
|
||||
## 提示框
|
||||
|
||||
Admonition 用于在内容中插入醒目提示。
|
||||
|
||||
@@ -99,7 +99,7 @@ Admonition 的用途与 alert shortcode 类似,但其实现方式是通过 Hug
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Article
|
||||
## 文章嵌入
|
||||
|
||||
`Article` 将把一篇文章嵌入到一个 markdown 文件中。 参数中的 `link`应该是要嵌入的文件的 `.RelPermalink`。请注意,如果简码引用其父级文件,则它不会显示任何内容。 *注意:如果您在 Blowfish(即 /blowfish/)等子文件夹中运行网站,请在链接中包含该路径。*
|
||||
|
||||
@@ -121,7 +121,7 @@ Admonition 的用途与 alert shortcode 类似,但其实现方式是通过 Hug
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Badge
|
||||
## 徽章
|
||||
|
||||
`badge` 输出一个美观的徽章组件,该组件对于显示元数据很有用。
|
||||
|
||||
@@ -139,7 +139,7 @@ New article!
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Button
|
||||
## 按钮
|
||||
|
||||
`button` 输出一个样式化的按钮组件,可用于突出显示主要操作。它有三个可选变量 `href`、`target` 和 `rel`,可用于指定链接的 URL、目标和关系。
|
||||
|
||||
@@ -157,7 +157,7 @@ Call to action
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Carousel
|
||||
## 滑动画册
|
||||
|
||||
`carousel` 用于生成可交互且具有视觉吸引力的方式展示多个图像的画廊。这允许用户滑动浏览多个图像,同时仅占用单个图像的垂直空间。 所有图像均使用父组件的完整宽度并使用预定义的宽高比 `16:9` 、 `21:9` 或 `32:9` 之一显示。
|
||||
|
||||
@@ -187,7 +187,7 @@ Call to action
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Chart
|
||||
## 图表
|
||||
|
||||
`chart` 使用 Chart.js 库将图表嵌入到使用简单结构化数据的文章中。它支持多种[不同的图表样式](https://www.chartjs.org/docs/latest/samples/),并且所有内容都可以在简码中进行配置。只需在简码中提供图表参数,Chart.js 将完成剩下的工作。
|
||||
|
||||
@@ -225,7 +225,7 @@ data: {
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Code Importer
|
||||
## 导入源码
|
||||
|
||||
此短代码用于轻松从外部源导入代码,无需复制和粘贴
|
||||
|
||||
@@ -306,7 +306,7 @@ Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用
|
||||

|
||||
```
|
||||
|
||||
## Forgejo Card
|
||||
## Forgejo 卡片
|
||||
|
||||
`forgejo` allows you to quickly link a Forgejo repository via the forgejo API, providing real-time updates on stats such as stars and forks.
|
||||
|
||||
@@ -345,7 +345,7 @@ Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Gallery
|
||||
## 排布画册
|
||||
|
||||
`gallery` 允许您以响应式一次展示多个图像,并具有更加多样化和有趣的布局的图库。
|
||||
|
||||
@@ -612,7 +612,7 @@ Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
## Lead
|
||||
## 开篇语
|
||||
|
||||
`lead` 用于强调文章的开头。它可以用来设计介绍的样式,或者指出一条重要的信息。只需将任何 Markdown 内容包装在 `lead` 简码中即可。
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ Una característica muy solicitada: ¡Blowfish ahora es multilingüe! Si publica
|
||||
|
||||
<div class="text-2xl text-center" style="font-size: 2.8rem">🇬🇧 🇩🇪 🇫🇷 🇪🇸 🇨🇳 🇧🇷 🇹🇷 🇧🇩</div>
|
||||
|
||||
Gracias a las contribuciones de la comunidad, Blowfish ya ha sido traducido a [treinta idiomas](https://github.com/nunocoracao/blowfish/tree/main/i18n), y se añadirán más con el tiempo. Por cierto, ¡los [pull requests](https://github.com/nunocoracao/blowfish/pulls) para nuevos idiomas siempre son bienvenidos!
|
||||
Gracias a las contribuciones de la comunidad, Blowfish ya ha sido traducido a [treinta y dos idiomas](https://github.com/nunocoracao/blowfish/tree/main/i18n), y se añadirán más con el tiempo. Por cierto, ¡los [pull requests](https://github.com/nunocoracao/blowfish/pulls) para nuevos idiomas siempre son bienvenidos!
|
||||
|
||||
## Soporte para idiomas RTL
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ A highly requested feature, Blowfish is now multilingual! If you publish your co
|
||||
|
||||
<div class="text-2xl text-center" style="font-size: 2.8rem">🇬🇧 🇩🇪 🇫🇷 🇪🇸 🇨🇳 🇧🇷 🇹🇷 🇧🇩</div>
|
||||
|
||||
Thanks to submissions from the community, Blowfish has already been translated into [thirty languages](https://github.com/nunocoracao/blowfish/tree/main/i18n) with more to be added over time. By the way, [pull requests](https://github.com/nunocoracao/blowfish/pulls) for new languages are always welcome!
|
||||
Thanks to submissions from the community, Blowfish has already been translated into [thirty-two languages](https://github.com/nunocoracao/blowfish/tree/main/i18n) with more to be added over time. By the way, [pull requests](https://github.com/nunocoracao/blowfish/pulls) for new languages are always welcome!
|
||||
|
||||
## RTL language support
|
||||
|
||||
|
||||
@@ -15,116 +15,4 @@ Zusätzlich werden benutzerdefinierte Icons vollständig unterstützt. Stellen S
|
||||
|
||||
Die vollständige Liste der integrierten Icons und ihre entsprechenden Namen finden Sie unten.
|
||||
|
||||
| Icon-Name | Vorschau |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ Además, los iconos personalizados también son totalmente compatibles. Simpleme
|
||||
|
||||
La lista completa de iconos integrados y sus nombres correspondientes se puede consultar a continuación.
|
||||
|
||||
| Nombre del icono | Vista previa |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ De plus, les icônes personnalisées sont entièrement prises en charge. Fournis
|
||||
|
||||
La liste complète des icônes intégrées et leurs noms correspondants est référencée ci-dessous.
|
||||
|
||||
| Nom de l'icône | Aperçu |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ Additionally, custom icons are also fully supported. Simply provide your own SVG
|
||||
|
||||
The full list of built-in icons and their corresponding names can referenced below.
|
||||
|
||||
| Icon name | Preview |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
|
||||
|
||||
組み込んでいるアイコンと対応する名称の全リストは以下を参照してください。
|
||||
|
||||
| アイコン名 | プレビュー |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ Additionally, custom icons are also fully supported. Simply provide your own SVG
|
||||
|
||||
The full list of built-in icons and their corresponding names can referenced below.
|
||||
|
||||
| Icon name | Preview |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ Além disso, ícones personalizados também são totalmente suportados. Simplesm
|
||||
|
||||
A lista completa de ícones integrados e seus nomes correspondentes pode ser consultada abaixo.
|
||||
|
||||
| Nome do ícone | Visualização |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ Além disso, os ícones personalizados também são totalmente suportados. Simpl
|
||||
|
||||
A lista completa de ícones integrados e os seus nomes correspondentes pode ser consultada abaixo.
|
||||
|
||||
| Nome do ícone | Pré-visualização |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
@@ -15,116 +15,4 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
|
||||
|
||||
下面是所有的内置图标及其名称。
|
||||
|
||||
| 图标名称 | 预览 |
|
||||
| -------------------- | --------------------------------- |
|
||||
| amazon | {{< icon amazon >}} |
|
||||
| apple | {{< icon apple >}} |
|
||||
| bars | {{< icon bars >}} |
|
||||
| bell | {{< icon bell >}} |
|
||||
| blogger | {{< icon blogger >}} |
|
||||
| bluesky | {{< icon bluesky >}} |
|
||||
| bomb | {{< icon bomb >}} |
|
||||
| bug | {{< icon bug >}} |
|
||||
| check | {{< icon check >}} |
|
||||
| circle-info | {{< icon circle-info >}} |
|
||||
| cloud | {{< icon cloud >}} |
|
||||
| cloud-moon | {{< icon cloud-moon >}} |
|
||||
| code | {{< icon code>}} |
|
||||
| codeberg | {{< icon codeberg >}} |
|
||||
| codepen | {{< icon codepen >}} |
|
||||
| comment | {{< icon comment >}} |
|
||||
| dev | {{< icon dev >}} |
|
||||
| discourse | {{< icon discourse >}} |
|
||||
| docker | {{< icon docker >}} |
|
||||
| download | {{< icon download >}} |
|
||||
| dribbble | {{< icon dribbble >}} |
|
||||
| edit | {{< icon edit >}} |
|
||||
| email | {{< icon email >}} |
|
||||
| envelope | {{< icon envelope >}} |
|
||||
| expand | {{< icon expand >}} |
|
||||
| eye | {{< icon eye >}} |
|
||||
| facebook | {{< icon facebook >}} |
|
||||
| fediverse | {{< icon fediverse >}} |
|
||||
| fire | {{< icon fire >}} |
|
||||
| flickr | {{< icon flickr >}} |
|
||||
| fork | {{< icon fork >}} |
|
||||
| foursquare | {{< icon foursquare >}} |
|
||||
| ghost | {{< icon ghost >}} |
|
||||
| github | {{< icon github >}} |
|
||||
| gitlab | {{< icon gitlab >}} |
|
||||
| globe | {{< icon globe >}} |
|
||||
| goodreads | {{< icon goodreads >}} |
|
||||
| google | {{< icon google >}} |
|
||||
| google-scholar | {{< icon google-scholar >}} |
|
||||
| graduation-cap | {{< icon graduation-cap >}} |
|
||||
| hackernews | {{< icon hackernews >}} |
|
||||
| hashnode | {{< icon hashnode >}} |
|
||||
| heart-empty | {{< icon heart-empty >}} |
|
||||
| heart | {{< icon heart >}} |
|
||||
| image | {{< icon image >}} |
|
||||
| instagram | {{< icon instagram >}} |
|
||||
| itch-io | {{< icon itch-io >}} |
|
||||
| keybase | {{< icon keybase >}} |
|
||||
| keyoxide | {{< icon keyoxide >}} |
|
||||
| kickstarter | {{< icon kickstarter >}} |
|
||||
| ko-fi | {{< icon ko-fi >}} |
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
| location-dot | {{< icon location-dot >}} |
|
||||
| lock | {{< icon lock >}} |
|
||||
| mastodon | {{< icon mastodon >}} |
|
||||
| matrix | {{< icon matrix >}} |
|
||||
| medium | {{< icon medium >}} |
|
||||
| microsoft | {{< icon microsoft >}} |
|
||||
| moon | {{< icon moon >}} |
|
||||
| mug-hot | {{< icon mug-hot >}} |
|
||||
| music | {{< icon music >}} |
|
||||
| orcid | {{< icon orcid >}} |
|
||||
| patreon | {{< icon patreon >}} |
|
||||
| paypal | {{< icon paypal >}} |
|
||||
| peertube | {{< icon peertube >}} |
|
||||
| pencil | {{< icon pencil >}} |
|
||||
| pgpkey | {{< icon pgpkey >}} |
|
||||
| phone | {{< icon phone >}} |
|
||||
| pinterest | {{< icon pinterest >}} |
|
||||
| pixelfed | {{< icon pixelfed >}} |
|
||||
| poo | {{< icon poo >}} |
|
||||
| reddit | {{< icon reddit >}} |
|
||||
| researchgate | {{< icon researchgate >}} |
|
||||
| rss | {{< icon rss >}} |
|
||||
| rss-square | {{< icon rss-square >}} |
|
||||
| scale-balanced | {{< icon scale-balanced >}} |
|
||||
| search | {{< icon search >}} |
|
||||
| shield | {{< icon shield >}} |
|
||||
| signal | {{< icon signal >}} |
|
||||
| skull-crossbones | {{< icon skull-crossbones >}} |
|
||||
| slack | {{< icon slack >}} |
|
||||
| snapchat | {{< icon snapchat >}} |
|
||||
| soundcloud | {{< icon soundcloud >}} |
|
||||
| spotify | {{< icon spotify >}} |
|
||||
| stack-overflow | {{< icon stack-overflow >}} |
|
||||
| star | {{< icon star >}} |
|
||||
| steam | {{< icon steam >}} |
|
||||
| stripe | {{< icon stripe >}} |
|
||||
| substack | {{< icon substack >}} |
|
||||
| sun | {{< icon sun >}} |
|
||||
| tag | {{< icon tag >}} |
|
||||
| telegram | {{< icon telegram >}} |
|
||||
| threads | {{< icon threads >}} |
|
||||
| tiktok | {{< icon tiktok >}} |
|
||||
| triangle-exclamation | {{< icon triangle-exclamation >}} |
|
||||
| tumblr | {{< icon tumblr >}} |
|
||||
| twitch | {{< icon twitch >}} |
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
{{< icon-ref >}}
|
||||
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 27 KiB |
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [Persönliche Seite, Themenautor]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [sitio personal, Autor del tema]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [Site personnel, Auteur du thème]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [Sito personale, Autore del tema]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [個人サイト, テーマ作者]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [Site pessoal, Autor do tema]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [Site pessoal, Autor do tema]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "n9o.xyz"
|
||||
tags: [个人网站, 主题作者]
|
||||
tags: [Personal site,Theme author]
|
||||
externalUrl: "https://n9o.xyz"
|
||||
weight: 1
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "madoke.org"
|
||||
tags: [Persönliche Seite]
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://madoke.org/"
|
||||
weight: 2
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "madoke.org"
|
||||
tags: [sitio personal]
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://madoke.org/"
|
||||
weight: 2
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "madoke.org"
|
||||
tags: [Site personnel]
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://madoke.org/"
|
||||
weight: 2
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "madoke.org"
|
||||
tags: [Sito personale]
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://madoke.org/"
|
||||
weight: 2
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "madoke.org"
|
||||
tags: [個人サイト]
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://madoke.org/"
|
||||
weight: 2
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "madoke.org"
|
||||
tags: [Site pessoal]
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://madoke.org/"
|
||||
weight: 2
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "madoke.org"
|
||||
tags: [Site pessoal]
|
||||
tags: [Personal site]
|
||||
externalUrl: "https://madoke.org/"
|
||||
weight: 2
|
||||
showDate: false
|
||||
@@ -11,4 +11,3 @@
|
||||
showViews: false
|
||||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||