Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca56ac78a3 | ||
|
|
587d8eec1d | ||
|
|
7245635dc1 | ||
|
|
148837c017 | ||
|
|
5ef4024c40 | ||
|
|
134a044262 | ||
|
|
a4817aa442 | ||
|
|
03443c989f | ||
|
|
7bef4bb360 | ||
|
|
1784d3c13b | ||
|
|
d50d80bb34 | ||
|
|
b05eff3b30 | ||
|
|
b6e4156e6b | ||
|
|
96f11ba0e7 | ||
|
|
6f493fdbb9 | ||
|
|
984ca8490e | ||
|
|
5e0e09d415 | ||
|
|
7659c5f23d | ||
|
|
09f0573749 | ||
|
|
5b0cd34d5b | ||
|
|
0da79b9888 | ||
|
|
e50adceca0 | ||
|
|
3b2ea59367 | ||
|
|
c559ea3b74 | ||
|
|
e1fb257813 | ||
|
|
57f6c6708a | ||
|
|
1917c3ab51 | ||
|
|
bbf194ce31 | ||
|
|
d296e16e41 | ||
|
|
c71ce62fd5 | ||
|
|
ff4618e379 | ||
|
|
d862e6f789 | ||
|
|
e62da9e2d1 | ||
|
|
af0e11171c | ||
|
|
53a64328d7 | ||
|
|
091f9043ee | ||
|
|
345f806d80 | ||
|
|
405c905754 | ||
|
|
a89d96e4dd | ||
|
|
13602159d4 | ||
|
|
adb250108d | ||
|
|
cff88c00f5 | ||
|
|
1f82608cd6 | ||
|
|
74d03343b9 | ||
|
|
3ea1c3b49f | ||
|
|
84d03b8774 | ||
|
|
06936a4f15 | ||
|
|
8af7e8b855 | ||
|
|
7293b74ae5 | ||
|
|
db2932a16d | ||
|
|
ac252d5190 | ||
|
|
240201223f | ||
|
|
720b865312 | ||
|
|
a142fd55d3 | ||
|
|
1d761fc51a | ||
|
|
1c73bb7c3c | ||
|
|
65eb337501 | ||
|
|
7508edd884 | ||
|
|
0091ffab64 |
No files matched your search
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "blowfish",
|
||||
"owner": {
|
||||
"name": "Nuno Coração",
|
||||
"url": "https://github.com/nunocoracao"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "blowfish",
|
||||
"source": "./.claude/skills/blowfish",
|
||||
"description": "Teaches coding agents how to install, configure, and build sites with the Blowfish Hugo theme."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "blowfish",
|
||||
"description": "Teaches coding agents how to install, configure, and build sites with the Blowfish Hugo theme.",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
---
|
||||
name: blowfish
|
||||
description: Install, configure, and build sites with the Blowfish Hugo theme — setup methods, updates, configuration files, homepage layouts, front matter, shortcodes, customization, and theme architecture. Use when working on a Hugo site that uses (or wants to use) Blowfish, or when working on the theme itself.
|
||||
---
|
||||
|
||||
# Blowfish theme
|
||||
|
||||
Blowfish is a lightweight Hugo theme built with Tailwind CSS. Docs: https://blowfish.page/ · Repo: https://github.com/nunocoracao/blowfish
|
||||
|
||||
Requires Hugo **extended** edition, within the version range declared in the theme's `config.toml` under `[module.hugoVersion]` (check that file — the range is a rolling window that tracks recent Hugo releases).
|
||||
|
||||
## Installing
|
||||
|
||||
Full walkthrough: https://blowfish.page/docs/installation/
|
||||
|
||||
1. **Blowfish Tools CLI:** `npx blowfish-tools` — interactive setup that scaffolds the site and config. `npx blowfish-tools new <site>` creates project + theme in one go.
|
||||
2. **Git submodule:**
|
||||
```shell
|
||||
git init # if not already a repo
|
||||
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||
```
|
||||
Then set `theme = "blowfish"` in the site's `config/_default/hugo.toml`.
|
||||
3. **Hugo module:** `hugo mod init github.com/<user>/<repo>` then in `config/_default/module.toml`:
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
4. **Manual:** download the latest release archive, extract to `themes/blowfish/`, set `theme = "blowfish"`.
|
||||
|
||||
After installing (any method): delete the site's generated `hugo.toml` in the project root, and copy the theme's `config/_default/*.toml` files into the site's `config/_default/` (don't overwrite `module.toml` if using Hugo modules). A ready-made zip of the config files: https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip
|
||||
|
||||
## Updating
|
||||
|
||||
- **Git submodule:** `git submodule update --remote --merge`
|
||||
- **Hugo module:** `hugo mod get -u` (inspects `module.toml` + `go.mod`)
|
||||
- **Manual:** download the latest release and replace `themes/blowfish/` entirely (local edits inside the theme folder are lost — site-level overrides are safe).
|
||||
- **Upgrading v2 → v3:** fully backwards compatible; all new features are opt-in and nothing was removed or renamed. Hugo-module users change the import path `…/blowfish/v2` → `…/blowfish/v3` in `module.toml`, then `hugo mod get -u`. Other methods need no changes. Details: https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3
|
||||
|
||||
## Configuration
|
||||
|
||||
All config lives in the site's `config/_default/` (reference: https://blowfish.page/docs/configuration/):
|
||||
|
||||
- `hugo.toml` — core Hugo settings, theme/module import, taxonomies, related-content config.
|
||||
- `params.toml` — theme behavior. Key areas: `colorScheme`; `defaultAppearance`/`autoSwitchAppearance` (dark mode); `defaultBackgroundImage` + `backgroundCanvas` (site-wide fixed backdrop); `[header] layout` (`basic`, `fixed`, `fixed-fill`, `fixed-gradient`, `fixed-fill-blur`, `floating`) and `mobileMenuStyle` (`fullscreen`/`dropdown`); `[homepage] layout` (`page`, `profile`, `hero`, `card`, `background`, `landing`, `custom`) + `layoutSwitcher`; `[article]`, `[list]`, `[taxonomy]`, `[term]` display flags (hero styles, TOC, reading time/progress, breadcrumbs, `cardView`, `featureImageHover`, …); `[footer]`; search; analytics; comments; Firebase (views/likes).
|
||||
- `languages.<code>.toml` — site title, author profile (name, image, headline, bio, `links` social icons). One file per language for multilingual sites.
|
||||
- `menus.<code>.toml` — `[[main]]`, `[[subnavigation]]`, and `[[footer]]` entries (`name`, `pageRef`/`url`, `weight`, optional `pre` icon).
|
||||
- `markup.toml` — Goldmark config; keep `unsafe = true` (the theme relies on HTML in Markdown).
|
||||
|
||||
Front matter overrides most section params per page. Reference table: https://blowfish.page/docs/front-matter/
|
||||
|
||||
## Feature → docs map
|
||||
|
||||
Point users (and yourself) at the specific page:
|
||||
|
||||
- Getting started & colour schemes: https://blowfish.page/docs/getting-started/
|
||||
- Homepage layouts (incl. `landing` hero with `heroCaption`/`heroLead`/`heroButtons`/`heroImage` front matter): https://blowfish.page/docs/homepage-layout/
|
||||
- Front matter reference: https://blowfish.page/docs/front-matter/
|
||||
- All 40+ shortcodes with examples: https://blowfish.page/docs/shortcodes/
|
||||
- Content examples (article features in action): https://blowfish.page/docs/content-examples/
|
||||
- Series of articles: https://blowfish.page/docs/series/
|
||||
- Multi-author setup (`data/authors/*.json` + `authors` taxonomy): https://blowfish.page/docs/multi-author/
|
||||
- Thumbnails & feature images: https://blowfish.page/docs/thumbnails/
|
||||
- Partials (analytics, comments, extend-head/extend-footer hooks): https://blowfish.page/docs/partials/
|
||||
- Advanced customisation (fonts, custom schemes, overrides, npm build): https://blowfish.page/docs/advanced-customisation/
|
||||
- Firebase views/likes: https://blowfish.page/docs/firebase-views/
|
||||
- Hosting & deployment (Netlify, Vercel, GitHub Pages, …): https://blowfish.page/docs/hosting-deployment/
|
||||
|
||||
## Architecture (how to find things)
|
||||
|
||||
Understanding the theme's structure makes searching much faster:
|
||||
|
||||
- **Template resolution:** Hugo prefers site files over theme files at the same path. `layouts/_default/baseof.html` is the page skeleton (skip link, `<header>` with the configured header layout, `<main>`, footer, search modal, background canvas). `single.html` = articles, `list.html` = section listings, `terms.html` = taxonomy index (e.g. `/tags/`), `term.html` = one term's articles. All taxonomies share the same two templates.
|
||||
- **Partial naming convention:** `layouts/partials/<area>/<variant>.html`. Header layouts live in `partials/header/` (all variants delegate the actual menu bar to `header/basic.html`; components like `desktop-menu`, `mobile-menu`, `translations` are in `partials/header/components/`). Hero styles in `partials/hero/` (`basic`, `big`, `background`, `thumbAndBackground`). Homepage layouts in `partials/home/`. Article listing cards in `partials/article-link/` (`card`, `simple`, `card-related`); taxonomy term links in `partials/term-link/`. `partials/icon.html` inlines SVGs from `assets/icons/` by name.
|
||||
- **Param resolution pattern:** templates resolve display flags as front matter → section params → default, e.g. `.Params.showX | default (site.Params.article.showX | default false)`. Page scope is tracked via `.Scratch.Set "scope"` (`single`/`list`/`terms`/`term`) — some partials branch on it.
|
||||
- **Styling:** Tailwind source is `assets/css/main.css` (plus `assets/css/components/*`), compiled to `assets/css/compiled/main.css` which is **committed** — after changing templates that use new utility classes, run `npm run build` and commit the compiled file. Colour schemes are CSS custom-property files in `assets/css/schemes/<name>.css` defining `--color-neutral/primary/secondary-{50..900}` as RGB triplets; Tailwind maps them via `tailwind.config.js`. Note: the palette has **no 950 shades** — `*-neutral-950` etc. silently compile to nothing.
|
||||
- **JavaScript:** small feature scripts in `assets/js/` (appearance/dark-mode toggle, search, zen-mode, reading-progress, hero-scroll-fade, background-blur, …). Most are bundled into `main.bundle.js` in `partials/head.html`; page-conditional ones get their own fingerprinted `<script>` tag. Vendored libraries (mermaid, katex, chart.js, fuse, zoom, …) are copied from `node_modules` into `assets/lib/` by `vendor-copy` (config in `package.json` under `devVendorCopy`) — they are committed; heavy ones load only on pages that use them.
|
||||
- **i18n:** every user-facing string goes through `i18n/<lang>.yaml` lookups (`{{ i18n "key" }}`) — never hardcode text in templates. English is the fallback.
|
||||
- **Demo/testbed:** `exampleSite/` is both the docs site (blowfish.page) and the test environment. `npm run example` serves it locally at :1313 with the theme mounted via `--themesDir ../..`. Docs content lives in `exampleSite/content/docs/` with one `index.<lang>.md` per language.
|
||||
- **Icons:** `assets/icons/*.svg` (FontAwesome-derived, `fill="currentColor"`). An icon's filename is its name everywhere: social `links`, menu `pre`, the `icon`/`badge`/`button` shortcodes.
|
||||
|
||||
## Working on the theme itself
|
||||
|
||||
- `npm install` then `npm run example` — live demo at `http://localhost:1313`.
|
||||
- `npm run build` — recompile Tailwind into `assets/css/compiled/main.css` (commit it).
|
||||
- `npm run build-hugo` — production build of the docs site.
|
||||
- Conventions: 2-space indent, spaces inside template tags (`{{ $x }}`), extract repeated logic into partials, Gitmoji commit prefixes, no breaking changes (never rename partials or remove config options). See `CLAUDE.md` and `CONTRIBUTING.md`.
|
||||
- When adding/renaming config options, shortcodes, or layouts: update the docs in `exampleSite/content/docs/` (all languages) **and this skill**.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- Blank styling / missing classes → Hugo isn't the extended edition, or `themesDir`/module import is misconfigured.
|
||||
- New config not applying → the file must be in the **site's** `config/_default/`, not inside the theme.
|
||||
- Version warnings → keep Hugo within the `[module.hugoVersion]` range in the theme's `config.toml`.
|
||||
- A Tailwind class "not working" in a custom override → the compiled CSS is generated from the theme's sources; site-level classes need the site's own CSS (e.g. `assets/css/custom.css`, loaded automatically) or the class must already exist in the theme's compiled output.
|
||||
- Images not appearing as thumbnails → the image must be a page-bundle resource matching `*feature*`, `*cover*`, or `*thumbnail*`, or set `featureimage` in front matter.
|
||||
@@ -34,7 +34,13 @@ jobs:
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
run: |
|
||||
cat release-versions/hugo-latest.txt | \
|
||||
while read version; do sed -i'' -E "s/(max = \")[0-9]+\.[0-9]+\.[0-9]+(\")/\1${version#v}\2/g" config.toml; done
|
||||
while read version; do \
|
||||
v="${version#v}"; \
|
||||
minor="$(echo "$v" | cut -d. -f2)"; \
|
||||
min_minor="$((minor - 3))"; \
|
||||
sed -i'' -E "s/(max = \")[0-9]+\.[0-9]+\.[0-9]+(\")/\1${v}\2/g" config.toml; \
|
||||
sed -i'' -E "s/(min = \")[0-9]+\.[0-9]+\.[0-9]+(\")/\10.${min_minor}.0\2/g" config.toml; \
|
||||
done
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
HUGO_VERSION: 0.102.3
|
||||
HUGO_VERSION: 0.165.0
|
||||
steps:
|
||||
- name: Install Hugo CLI
|
||||
run: |
|
||||
|
||||
@@ -18,18 +18,28 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v10
|
||||
- uses: actions/stale@v11
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message:
|
||||
"This issue will be closed since it has been stale for 60 days."
|
||||
"This issue has had no activity for 60 days, so it has been marked
|
||||
as stale. If it is still relevant, just leave a comment and the
|
||||
label will be removed — otherwise it will close in 14 days. Closed
|
||||
issues can always be reopened. Thanks for helping keep the tracker
|
||||
healthy!"
|
||||
stale-pr-message:
|
||||
"This pull request will be closed since it has been stale for 60
|
||||
days."
|
||||
"This pull request has had no activity for 60 days, so it has been
|
||||
marked as stale. If you are still working on it, just leave a
|
||||
comment and the label will be removed — otherwise it will close in
|
||||
14 days. Closed pull requests can always be reopened."
|
||||
close-issue-message:
|
||||
"Closing due to inactivity. This is housekeeping, not a judgement
|
||||
on the issue — if it is still relevant, please reopen or leave a
|
||||
comment and it will get another look."
|
||||
stale-issue-label: "no-issue-activity"
|
||||
stale-pr-label: "no-pr-activity"
|
||||
days-before-stale: 60
|
||||
days-before-close: 0
|
||||
days-before-close: 14
|
||||
remove-stale-when-updated: true
|
||||
operations-per-run: 100
|
||||
exempt-issue-labels: 'keep,security'
|
||||
exempt-issue-labels: 'keep,security,bug,confirmed'
|
||||
@@ -0,0 +1,15 @@
|
||||
# Blowfish
|
||||
|
||||
Hugo theme built with Tailwind CSS. Templates in `layouts/`, Tailwind source in `assets/css/main.css` compiled to `assets/css/compiled/main.css` (committed), demo/testbed in `exampleSite/`, localization in `i18n/`.
|
||||
|
||||
## Working on the theme
|
||||
|
||||
- `npm install`, then `npm run example` to preview the demo site; `npm run build` to recompile Tailwind (commit the compiled CSS with template changes that use new classes).
|
||||
- All user-facing static text goes through `i18n/` lookups — never hardcode strings in templates.
|
||||
- 2-space indent; spaces inside Go template tags (`{{ $x }}`); extract repeated template logic into partials; follow the included Prettier config.
|
||||
- No breaking changes: don't rename partials, remove config options, or change template signatures — users' sites silently depend on them.
|
||||
- Single-purpose commits/PRs with Gitmoji prefixes and imperative mood (≤72-char summary).
|
||||
|
||||
## Agent skill — keep it in sync
|
||||
|
||||
`.claude/skills/blowfish/SKILL.md` teaches coding agents how to install, configure, and use Blowfish. **Any PR that adds/renames/removes a config option, shortcode, homepage/hero/header layout, or installation step must update the skill in the same PR.** Treat it like documentation: if `exampleSite/content/docs/` needs updating, the skill probably does too.
|
||||
@@ -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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfish ist ein leistungsstarkes, schlankes Theme für [Hugo](https://gohugo.io
|
||||
|
||||
🌏 [Demo-Website](https://blowfish.page/)
|
||||
📑 [Theme-Dokumentation](https://blowfish.page/docs/)
|
||||
💎 [Merchandise-Shop](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Fehlerberichte & Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Fragen & Feature-Anfragen](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Funktionen
|
||||
|
||||
- Vollständig responsives Layout mit Tailwind CSS 3.0
|
||||
- Vollständig responsives Layout mit Tailwind CSS 4
|
||||
- Mehrere Farbschemata (oder vollständig anpassbar)
|
||||
- Dark Mode (erzwungen ein/aus oder automatisch mit Benutzerumschaltung)
|
||||
- Mehrere Homepage-Layouts einschließlich einer produktartigen Landingpage mit Hero-Bild, Statistiken und Feature-Rastern
|
||||
- Schwebender Header im Glas-Look mit ⌘K / Ctrl+K Suchkürzel
|
||||
- Globale Hintergrund-Leinwand mit Hero-Bereichen, die sich beim Scrollen darin auflösen
|
||||
- Lesefortschrittsbalken für Artikel
|
||||
- Interaktiver Homepage-Layout-Umschalter für Live-Vorschauen
|
||||
- Agent-Skill, mit dem KI-Coding-Agenten (wie Claude Code) das Theme für Sie installieren und konfigurieren können
|
||||
- Druckfreundliche Seiten mit dedizierten Druckstilen
|
||||
- Hochgradig anpassbare Konfiguration
|
||||
- Firebase-Integration zur Unterstützung dynamischer Daten
|
||||
- Ansichtszähler & Like-Mechanismus
|
||||
- Verwandte Artikel
|
||||
- Mehrere Homepage-Layouts
|
||||
- Mehrere Autoren
|
||||
- Artikelserien
|
||||
- Datums- und gewichtsbasierte Artikelsortierung
|
||||
@@ -44,7 +46,7 @@ Blowfish ist ein leistungsstarkes, schlankes Theme für [Hugo](https://gohugo.io
|
||||
- Scrollbares Inhaltsverzeichnis
|
||||
- Mehrsprachige Inhaltsunterstützung einschließlich RTL-Sprachen
|
||||
- Möglichkeit, auf Beiträge auf Websites von Drittanbietern zu verlinken
|
||||
- Unterstützung für mehrere Shortcodes wie Gallery, Timeline, GitHub-Karten und Carousels
|
||||
- Über 40 Shortcodes einschließlich Gallery, Timeline, GitHub-Karten, Carousels, Stats, Feature-Rastern, Steps und CTA-Buttons
|
||||
- GitHub Alerts-Syntax, 15 Typen, zusammenklappbar
|
||||
- Buymeacoffee-Integration
|
||||
- Clientseitige Website-Suche mit Fuse.js
|
||||
@@ -80,11 +82,22 @@ Blowfish unterstützt mehrere Installationsmethoden - als git submodule, als Hug
|
||||
|
||||
Detaillierte Anweisungen für jede Methode finden Sie in der [Installations-Dokumentation](https://blowfish.page/docs/installation). Für die einfachste Einrichtung sollten Sie die Dokumentation konsultieren. Im Folgenden finden Sie eine Schnellstartanleitung mit Submodulen, wenn Sie git verwenden, oder Hugo Modules, wenn Sie bereits Erfahrung mit der Installation von Hugo-Themes haben.
|
||||
|
||||
### Schnellstart mit einem KI-Agenten
|
||||
|
||||
Blowfish enthält einen [Agent-Skill](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish), der KI-Coding-Agenten — wie Claude Code — beibringt, das Theme zu installieren, zu konfigurieren und Websites damit zu erstellen. Installieren Sie ihn über den Blowfish-Plugin-Marketplace in Claude Code:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
Oder kopieren Sie einfach den Skill-Ordner in Ihr Website-Repository unter `.claude/skills/blowfish/` — Agenten erkennen Projekt-Skills automatisch. Bitten Sie dann Ihren Agenten, Blowfish für Sie einzurichten.
|
||||
|
||||
### Schnellstart mit Blowfish Tools
|
||||
|
||||
> **Hinweis:** Stellen Sie sicher, dass Sie **Node.js**, **Git** und **Hugo** installiert haben und dass Sie ein neues Hugo-Projekt erstellt haben, bevor Sie fortfahren.
|
||||
|
||||
Wir haben gerade ein neues CLI-Tool gestartet, das Ihnen beim Einstieg in Blowfish hilft. Es erstellt ein neues Hugo-Projekt, installiert das Theme und richtet die Theme-Konfigurationsdateien für Sie ein. Es befindet sich noch in der Beta-Phase, also [melden Sie bitte alle Probleme, die Sie finden](https://github.com/nunocoracao/blowfish-tools).
|
||||
Blowfish Tools ist ein CLI-Tool, das Ihnen beim Einstieg in Blowfish hilft. Es erstellt ein neues Hugo-Projekt, installiert das Theme und richtet die Theme-Konfigurationsdateien für Sie ein. Bitte [melden Sie alle Probleme, die Sie finden](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Installieren Sie das CLI-Tool global mit npm (oder einem anderen Paketmanager):
|
||||
```shell
|
||||
@@ -137,7 +150,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. Starten Sie Ihren Server mit `hugo server` und das Theme wird automatisch heruntergeladen.
|
||||
@@ -156,6 +169,10 @@ Wenn neue Versionen veröffentlicht werden, können Sie das Theme mit Hugo aktua
|
||||
|
||||
Detaillierte [Update-Anweisungen](https://blowfish.page/docs/installation/#installing-updates) sind in der Dokumentation verfügbar.
|
||||
|
||||
### Upgrade von v2 auf v3
|
||||
|
||||
Blowfish v3 ist vollständig abwärtskompatibel: Jede neue Funktion ist optional und es wurden keine Konfigurationsoptionen oder Templates entfernt. Git-submodule- und manuelle Installationen werden wie gewohnt ohne Änderungen aktualisiert; Hugo-Module-Nutzer ändern lediglich den Importpfad in `config/_default/module.toml` von `github.com/nunocoracao/blowfish/v2` zu `github.com/nunocoracao/blowfish/v3` und führen `hugo mod get -u` aus. Details finden Sie in den [Upgrade-Anweisungen](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3).
|
||||
|
||||
---
|
||||
|
||||
## Mitwirken
|
||||
@@ -172,8 +189,4 @@ Wenn Sie in der Lage sind, einen Fehler zu beheben oder eine neue Funktion zu im
|
||||
|
||||
---
|
||||
|
||||
## Stargazers im Zeitverlauf
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfish está diseñado para ser un tema potente y ligero para [Hugo](https://g
|
||||
|
||||
🌏 [Sitio de demostración](https://blowfish.page/)
|
||||
📑 [Documentación del tema](https://blowfish.page/docs/)
|
||||
💎 [Tienda de merchandising](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Reportes de errores y problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Preguntas y solicitudes de funcionalidades](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Características
|
||||
|
||||
- Diseño totalmente responsive construido con Tailwind CSS 3.0
|
||||
- Diseño totalmente responsive construido con Tailwind CSS 4
|
||||
- Múltiples esquemas de color (o personaliza completamente el tuyo propio)
|
||||
- Modo oscuro (forzado activado/desactivado o cambio automático con opción de usuario)
|
||||
- Múltiples diseños de página de inicio, incluyendo una landing page estilo producto con imagen hero, estadísticas y cuadrículas de características
|
||||
- Encabezado flotante con efecto cristal y atajo de búsqueda ⌘K / Ctrl+K
|
||||
- Lienzo de fondo global con secciones hero que se disuelven en él al hacer scroll
|
||||
- Barra de progreso de lectura para artículos
|
||||
- Selector interactivo de diseños de página de inicio para previsualizaciones en vivo
|
||||
- Skill de agente para que los agentes de programación con IA (como Claude Code) instalen y configuren el tema por ti
|
||||
- Páginas aptas para impresión con estilos de impresión dedicados
|
||||
- Configuración altamente personalizable
|
||||
- Integración con Firebase para soportar datos dinámicos
|
||||
- Contador de vistas y mecanismo de likes
|
||||
- Artículos relacionados
|
||||
- Múltiples diseños de página de inicio
|
||||
- Múltiples autores
|
||||
- Series de artículos
|
||||
- Ordenación de artículos basada en fecha y peso
|
||||
@@ -44,7 +46,7 @@ Blowfish está diseñado para ser un tema potente y ligero para [Hugo](https://g
|
||||
- Tabla de contenidos con desplazamiento
|
||||
- Soporte de contenido multilingüe incluyendo idiomas RTL
|
||||
- Capacidad de enlazar a publicaciones en sitios web de terceros
|
||||
- Soporte para varios shortcodes como Gallery, Timeline, GitHub cards y Carousels
|
||||
- Más de 40 shortcodes incluyendo Gallery, Timeline, GitHub cards, Carousels, Stats, cuadrículas de características, Steps y botones CTA
|
||||
- Sintaxis de GitHub Alerts, 15 tipos, soporte plegable
|
||||
- Integración con Buymeacoffee
|
||||
- Búsqueda en el sitio del lado del cliente impulsada por Fuse.js
|
||||
@@ -80,11 +82,22 @@ Blowfish soporta varios métodos de instalación - como submódulo de git, módu
|
||||
|
||||
Las instrucciones detalladas para cada método se pueden encontrar en la documentación de [Instalación](https://blowfish.page/docs/installation). Deberías consultar la documentación para obtener la experiencia de configuración más simple. A continuación se presenta una guía de inicio rápido usando submódulos si estás usando git, o módulos de Hugo si ya tienes confianza instalando temas de Hugo.
|
||||
|
||||
### Inicio rápido con un agente de IA
|
||||
|
||||
Blowfish incluye un [agent skill](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) que enseña a los agentes de programación con IA — como Claude Code — a instalar, configurar y construir sitios con el tema. Instálalo desde el marketplace de plugins de Blowfish en Claude Code:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
O simplemente copia la carpeta del skill en el repositorio de tu sitio en `.claude/skills/blowfish/` — los agentes detectan los skills de proyecto automáticamente. Después pídele a tu agente que configure Blowfish por ti.
|
||||
|
||||
### Inicio rápido usando Blowfish Tools
|
||||
|
||||
> **Nota:** Asegúrate de tener **Node.js**, **Git** y **Hugo** instalados, y de haber creado un nuevo proyecto Hugo antes de continuar.
|
||||
|
||||
Acabamos de lanzar una nueva herramienta CLI para ayudarte a comenzar con Blowfish. Creará un nuevo proyecto Hugo, instalará el tema y configurará los archivos de configuración del tema por ti. Todavía está en beta, así que por favor [reporta cualquier problema que encuentres](https://github.com/nunocoracao/blowfish-tools).
|
||||
Blowfish Tools es una herramienta CLI que te ayuda a comenzar con Blowfish. Creará un nuevo proyecto Hugo, instalará el tema y configurará los archivos de configuración del tema por ti. Por favor [reporta cualquier problema que encuentres](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Instala la herramienta CLI globalmente usando npm (u otro gestor de paquetes):
|
||||
```shell
|
||||
@@ -137,7 +150,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. Inicia tu servidor usando `hugo server` y el tema se descargará automáticamente.
|
||||
@@ -156,6 +169,10 @@ A medida que se publiquen nuevas versiones, puedes actualizar el tema usando Hug
|
||||
|
||||
Las [instrucciones de actualización](https://blowfish.page/docs/installation/#installing-updates) detalladas están disponibles en la documentación.
|
||||
|
||||
### Actualización de v2 a v3
|
||||
|
||||
Blowfish v3 es totalmente retrocompatible: cada nueva característica es opcional y no se ha eliminado ninguna opción de configuración ni plantilla. Las instalaciones con submódulo de git y manuales se actualizan como de costumbre sin cambios; los usuarios de módulos de Hugo solo tienen que cambiar la ruta de importación en `config/_default/module.toml` de `github.com/nunocoracao/blowfish/v2` a `github.com/nunocoracao/blowfish/v3` y ejecutar `hugo mod get -u`. Consulta las [instrucciones de actualización](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3) para más detalles.
|
||||
|
||||
---
|
||||
|
||||
## Contribuciones
|
||||
@@ -172,8 +189,4 @@ Si puedes corregir un error o implementar una nueva característica, acepto PRs
|
||||
|
||||
---
|
||||
|
||||
## Stargazers a lo largo del tiempo
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | 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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfish est conçu pour être un thème puissant et léger pour [Hugo](https://
|
||||
|
||||
🌏 [Site de démonstration](https://blowfish.page/)
|
||||
📑 [Documentation du thème](https://blowfish.page/docs/)
|
||||
💎 [Boutique de produits dérivés](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Rapports de bugs et problèmes](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Questions et demandes de fonctionnalités](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
- Disposition entièrement responsive construite avec Tailwind CSS 3.0
|
||||
- Disposition entièrement responsive construite avec Tailwind CSS 4
|
||||
- Plusieurs palettes de couleurs (ou personnalisez entièrement la vôtre)
|
||||
- Mode sombre (forcé activé/désactivé ou basculement automatique avec commutateur utilisateur)
|
||||
- Plusieurs mises en page pour la page d'accueil, y compris une page d'atterrissage de style produit avec image hero, statistiques et grilles de fonctionnalités
|
||||
- En-tête flottant effet verre avec raccourci de recherche ⌘K / Ctrl+K
|
||||
- Canevas d'arrière-plan global avec des sections hero qui s'y dissolvent au défilement
|
||||
- Barre de progression de lecture pour les articles
|
||||
- Sélecteur interactif de mise en page de la page d'accueil pour des aperçus en direct
|
||||
- Skill d'agent permettant aux agents de codage IA (comme Claude Code) d'installer et de configurer le thème pour vous
|
||||
- Pages adaptées à l'impression avec des styles d'impression dédiés
|
||||
- Configuration hautement personnalisable
|
||||
- Intégration Firebase pour prendre en charge les données dynamiques
|
||||
- Compteur de vues et mécanisme de likes
|
||||
- Articles connexes
|
||||
- Plusieurs mises en page pour la page d'accueil
|
||||
- Plusieurs auteurs
|
||||
- Séries d'articles
|
||||
- Tri des articles basé sur la date et le poids
|
||||
@@ -44,7 +46,7 @@ Blowfish est conçu pour être un thème puissant et léger pour [Hugo](https://
|
||||
- Table des matières défilable
|
||||
- Support du contenu multilingue incluant la prise en charge des langues RTL
|
||||
- Possibilité de lier des articles sur des sites web tiers
|
||||
- Prise en charge de plusieurs shortcodes comme Gallery, Timeline, GitHub cards et Carousels
|
||||
- Plus de 40 shortcodes incluant Gallery, Timeline, GitHub cards, Carousels, Stats, grilles de fonctionnalités, Steps et boutons CTA
|
||||
- Syntaxe GitHub Alerts, 15 types, support pliable
|
||||
- Intégration Buymeacoffee
|
||||
- Recherche côté client alimentée par Fuse.js
|
||||
@@ -80,11 +82,22 @@ Blowfish prend en charge plusieurs méthodes d'installation - en tant que sous-m
|
||||
|
||||
Des instructions détaillées pour chaque méthode se trouvent dans la documentation [Installation](https://blowfish.page/docs/installation). Vous devriez consulter la documentation pour l'expérience de configuration la plus simple. Ci-dessous se trouve un guide de démarrage rapide utilisant les sous-modules si vous utilisez git, ou les modules Hugo si vous êtes déjà à l'aise avec l'installation de thèmes Hugo.
|
||||
|
||||
### Démarrage rapide avec un agent IA
|
||||
|
||||
Blowfish inclut un [agent skill](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) qui apprend aux agents de codage IA — comme Claude Code — à installer, configurer et construire des sites avec le thème. Installez-le depuis la marketplace de plugins Blowfish dans Claude Code :
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
Ou copiez simplement le dossier du skill dans le dépôt de votre site à l'emplacement `.claude/skills/blowfish/` — les agents détectent automatiquement les skills de projet. Demandez ensuite à votre agent de configurer Blowfish pour vous.
|
||||
|
||||
### Démarrage rapide avec Blowfish Tools
|
||||
|
||||
> **Note :** Assurez-vous d'avoir **Node.js**, **Git** et **Hugo** installés, et d'avoir créé un nouveau projet Hugo avant de continuer.
|
||||
|
||||
Nous venons de lancer un nouvel outil CLI pour vous aider à démarrer avec Blowfish. Il créera un nouveau projet Hugo, installera le thème et configurera les fichiers de configuration du thème pour vous. Il est encore en version bêta, veuillez donc [signaler tout problème que vous rencontrez](https://github.com/nunocoracao/blowfish-tools).
|
||||
Blowfish Tools est un outil CLI qui vous aide à démarrer avec Blowfish. Il créera un nouveau projet Hugo, installera le thème et configurera les fichiers de configuration du thème pour vous. Veuillez [signaler tout problème que vous rencontrez](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Installez l'outil CLI globalement en utilisant npm (ou un autre gestionnaire de paquets) :
|
||||
```shell
|
||||
@@ -137,7 +150,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. Démarrez votre serveur en utilisant `hugo server` et le thème sera téléchargé automatiquement.
|
||||
@@ -156,6 +169,10 @@ Au fur et à mesure que de nouvelles versions sont publiées, vous pouvez mettre
|
||||
|
||||
Des [instructions de mise à jour](https://blowfish.page/docs/installation/#installing-updates) détaillées sont disponibles dans la documentation.
|
||||
|
||||
### Mise à niveau de v2 vers v3
|
||||
|
||||
Blowfish v3 est entièrement rétrocompatible : chaque nouvelle fonctionnalité est optionnelle et aucune option de configuration ni aucun template n'a été supprimé. Les installations par sous-module git et manuelles se mettent à niveau comme d'habitude, sans aucun changement ; les utilisateurs de modules Hugo doivent simplement changer le chemin d'import dans `config/_default/module.toml` de `github.com/nunocoracao/blowfish/v2` à `github.com/nunocoracao/blowfish/v3` puis exécuter `hugo mod get -u`. Consultez les [instructions de mise à niveau](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3) pour plus de détails.
|
||||
|
||||
---
|
||||
|
||||
## Contribuer
|
||||
@@ -172,8 +189,4 @@ Si vous êtes en mesure de corriger un bug ou de mettre en œuvre une nouvelle f
|
||||
|
||||
---
|
||||
|
||||
## Évolution des stargazers
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Blowfish
|
||||
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,23 +13,27 @@ Blowfish dirancang sebagai tema yang kuat dan ringan untuk [Hugo](https://gohugo
|
||||
|
||||
🌏 [Situs demo](https://blowfish.page/)
|
||||
📑 [Dokumentasi tema](https://blowfish.page/docs/)
|
||||
💎 [Toko Merch](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Laporan bug & masalah](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Pertanyaan & permintaan fitur](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Belikan Saya Kopi" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Toko Merch &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
## Fitur
|
||||
|
||||
- Tata letak responsif sepenuhnya dengan Tailwind CSS 3.0
|
||||
- Tata letak responsif sepenuhnya dengan Tailwind CSS 4
|
||||
- Beragam skema warna (atau sesuaikan sendiri)
|
||||
- Mode gelap (paksa aktif/nonaktif atau otomatis dengan pengaturan pengguna)
|
||||
- Beragam tata letak halaman utama, termasuk landing page bergaya produk dengan gambar hero, statistik, dan grid fitur
|
||||
- Header kaca mengambang dengan pintasan pencarian ⌘K / Ctrl+K
|
||||
- Kanvas latar belakang global dengan bagian hero yang melebur ke dalamnya saat digulir
|
||||
- Bilah kemajuan membaca untuk artikel
|
||||
- Pengalih tata letak halaman utama interaktif untuk pratinjau langsung
|
||||
- Agent skill agar agen pemrograman AI (seperti Claude Code) dapat menginstal dan mengonfigurasi tema untuk Anda
|
||||
- Halaman ramah cetak dengan gaya cetak khusus
|
||||
- Konfigurasi yang sangat dapat disesuaikan
|
||||
- Integrasi Firebase untuk mendukung data dinamis
|
||||
- Penghitung tampilan & mekanisme suka
|
||||
- Artikel terkait
|
||||
- Beragam tata letak halaman utama
|
||||
- Dukungan untuk banyak penulis
|
||||
- Seri artikel
|
||||
- Penyortiran artikel berdasarkan tanggal dan bobot
|
||||
@@ -40,7 +44,7 @@ Blowfish dirancang sebagai tema yang kuat dan ringan untuk [Hugo](https://gohugo
|
||||
- Daftar isi yang dapat digulir
|
||||
- Dukungan untuk konten multibahasa termasuk bahasa RTL
|
||||
- Kemampuan untuk menautkan ke artikel di situs web pihak ketiga
|
||||
- Dukungan untuk beberapa shortcode seperti Galeri, Timeline, Kartu GitHub, dan Carousel
|
||||
- Lebih dari 40 shortcode termasuk Galeri, Timeline, Kartu GitHub, Carousel, Statistik, Grid fitur, Langkah, dan tombol CTA
|
||||
- Sintaks GitHub Alerts, 15 jenis, dukungan lipat
|
||||
- Integrasi BuyMeACoffee
|
||||
- Pencarian situs berbasis klien dengan Fuse.js
|
||||
@@ -74,13 +78,24 @@ Blowfish memiliki [dokumentasi lengkap](https://blowfish.page/docs/) yang mencak
|
||||
|
||||
Blowfish mendukung beberapa metode instalasi - sebagai submodul git, Modul Hugo, atau instalasi manual sepenuhnya.
|
||||
|
||||
Instruksi terperinci untuk setiap metode dapat ditemukan dalam [dokumentasi instalasi](https://blowfish.page/docs/installation).
|
||||
Instruksi terperinci untuk setiap metode dapat ditemukan dalam [dokumentasi instalasi](https://blowfish.page/docs/installation). Anda sebaiknya membaca dokumentasi untuk pengalaman penyiapan yang paling sederhana. Berikut ini adalah panduan memulai cepat menggunakan submodul jika Anda menggunakan git, atau modul Hugo jika Anda sudah terbiasa menginstal tema Hugo.
|
||||
|
||||
### Instalasi Cepat Menggunakan Agen AI
|
||||
|
||||
Blowfish menyertakan sebuah [agent skill](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) yang mengajarkan agen pemrograman AI — seperti Claude Code — cara menginstal, mengonfigurasi, dan membangun situs dengan tema ini. Instal dari marketplace plugin Blowfish di Claude Code:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
Atau cukup salin folder skill ke repositori situs Anda di `.claude/skills/blowfish/` — agen akan mengenali skill proyek secara otomatis. Kemudian minta agen Anda untuk menyiapkan Blowfish untuk Anda.
|
||||
|
||||
### Instalasi Cepat Menggunakan Blowfish Tools
|
||||
|
||||
> **Catatan:** Pastikan Anda sudah menginstal **Node.js**, **Git**, dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||
|
||||
Kami baru saja meluncurkan alat CLI baru untuk membantu Anda memulai dengan Blowfish. Ini akan membuat proyek Hugo baru, menginstal tema, dan mengatur file konfigurasi tema untuk Anda.
|
||||
Blowfish Tools adalah alat CLI yang membantu Anda memulai dengan Blowfish. Alat ini akan membuat proyek Hugo baru, menginstal tema, dan mengatur file konfigurasi tema untuk Anda. Silakan [laporkan masalah apa pun yang Anda temukan](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Instal alat CLI secara global menggunakan npm (atau manajer paket lainnya):
|
||||
```shell
|
||||
@@ -113,17 +128,45 @@ blowfish-tools new mynewsite
|
||||
|
||||
3. Hapus file `hugo.toml` di root proyek dan salin file `*.toml` dari tema ke dalam folder `config/_default/`.
|
||||
|
||||
Anda akan menemukan file konfigurasi tema ini di direktori cache Hugo, atau [unduh salinannya](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) dari GitHub.
|
||||
|
||||
4. Ikuti petunjuk [Memulai](https://blowfish.page/docs/getting-started/) untuk mengonfigurasi situs web Anda.
|
||||
|
||||
### Memperbarui Tema
|
||||
### Instalasi Cepat Menggunakan Hugo
|
||||
|
||||
Untuk memperbarui tema ke rilis terbaru, cukup jalankan perintah berikut di direktori proyek Anda:
|
||||
```shell
|
||||
hugo mod get -u
|
||||
```
|
||||
> **Catatan:** Pastikan Anda sudah menginstal **Go** dan **Hugo**, serta telah membuat proyek Hugo baru sebelum melanjutkan.
|
||||
|
||||
1. Dari direktori proyek Anda, inisialisasi Hugo Modules:
|
||||
```shell
|
||||
hugo mod init github.com/<username>/<repo-name>
|
||||
```
|
||||
|
||||
2. Buat `config/_default/module.toml` dan tambahkan berikut ini:
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. Jalankan server Anda menggunakan `hugo server` dan tema akan diunduh secara otomatis.
|
||||
|
||||
4. Di folder root situs web Anda, hapus file `hugo.toml` yang dibuat oleh Hugo. Salin file konfigurasi `*.toml` dari tema ke folder `config/_default/` Anda.
|
||||
|
||||
> **Catatan:** Jangan menimpa file `module.toml` yang Anda buat di atas!
|
||||
|
||||
Anda akan menemukan file konfigurasi tema ini di direktori cache Hugo, atau [unduh salinannya](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) dari GitHub.
|
||||
|
||||
5. Ikuti petunjuk [Memulai](https://blowfish.page/docs/getting-started/) untuk mengonfigurasi situs web Anda.
|
||||
|
||||
### Menginstal Pembaruan Tema
|
||||
|
||||
Saat rilis baru diterbitkan, Anda dapat memperbarui tema menggunakan Hugo. Cukup jalankan `hugo mod get -u` dari direktori proyek Anda dan tema akan diperbarui secara otomatis ke rilis terbaru.
|
||||
|
||||
Instruksi pembaruan selengkapnya tersedia dalam [dokumentasi instalasi](https://blowfish.page/docs/installation/#installing-updates).
|
||||
|
||||
### Peningkatan dari v2 ke v3
|
||||
|
||||
Blowfish v3 sepenuhnya kompatibel dengan versi sebelumnya: setiap fitur baru bersifat opsional dan tidak ada opsi konfigurasi atau templat yang dihapus. Instalasi submodul git dan manual diperbarui seperti biasa tanpa perubahan apa pun; pengguna modul Hugo cukup mengubah jalur impor di `config/_default/module.toml` dari `github.com/nunocoracao/blowfish/v2` menjadi `github.com/nunocoracao/blowfish/v3` lalu menjalankan `hugo mod get -u`. Lihat [instruksi peningkatan](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3) untuk detailnya.
|
||||
|
||||
---
|
||||
|
||||
## Kontribusi
|
||||
@@ -138,8 +181,6 @@ Jika Anda bisa memperbaiki bug atau menambahkan fitur baru, kontribusi dalam ben
|
||||
|
||||
---
|
||||
|
||||
## Grafik Stargazers
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfishは[Hugo](https://gohugo.io)のために設計された強力で軽量
|
||||
|
||||
🌏 [デモサイト](https://blowfish.page/)
|
||||
📑 [ドキュメント](https://blowfish.page/docs/)
|
||||
💎 [グッズストア](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [バグ報告と問題点](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [質問と機能リクエスト](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## 機能
|
||||
|
||||
- Tailwind CSS 3.0 で構築された、完璧なレスポンシブデザイン
|
||||
- Tailwind CSS 4 で構築された、完璧なレスポンシブデザイン
|
||||
- 複数の配色 (または、自分で完全にカスタマイズ可能)
|
||||
- ダークモード (強制オン/オフ か 自動選択・ユーザー切り替え)
|
||||
- ヒーロー画像・統計・機能グリッドを備えたプロダクト風ランディングページを含む、複数のホームページレイアウト
|
||||
- ⌘K / Ctrl+K 検索ショートカット付きのフローティング グラスヘッダー
|
||||
- スクロールに合わせてヒーローが溶け込むグローバル背景キャンバス
|
||||
- 記事の読了プログレスバー
|
||||
- ライブプレビューできるインタラクティブなホームページレイアウト切り替え機能
|
||||
- AI コーディングエージェント (Claude Code など) がテーマのインストールと設定を代行できるエージェントスキル
|
||||
- 専用の印刷スタイルによる印刷に適したページ
|
||||
- 高度なカスタマイズが可能な設定
|
||||
- Firebase 連携で動的データをサポート
|
||||
- 閲覧数といいね機能
|
||||
- 関連記事
|
||||
- 複数のホームページレイアウト
|
||||
- 複数人の著者
|
||||
- シリーズ記事
|
||||
- 日付と価値付けによる記事の並べ替え
|
||||
@@ -44,7 +46,7 @@ Blowfishは[Hugo](https://gohugo.io)のために設計された強力で軽量
|
||||
- スクロール可能な目次
|
||||
- RTL 言語を含む多言語コンテンツのサポート
|
||||
- サードパーティー ウェブサイトの投稿へのリンク
|
||||
- ギャラリー、タイムライン、GitHub カード、カルーセルなど、複数のショートコードに対応
|
||||
- ギャラリー、タイムライン、GitHub カード、カルーセル、統計、機能グリッド、ステップ、CTA ボタンなど、40 種類以上のショートコード
|
||||
- GitHub Alerts 構文、15 種類、折りたたみ対応
|
||||
- Buy Me a Coffee 連携
|
||||
- Fuse.js を利用したクライアントサイドのサイト内検索
|
||||
@@ -80,11 +82,22 @@ Blowfish は、git サブモジュール、Hugo モジュール、または完
|
||||
|
||||
各方法の詳細な手順は、[インストール](https://blowfish.page/docs/installation)ドキュメントに記載されています。最も簡単なセットアップ方法については、ドキュメントを参照してください。以下にクイックスタートガイドを示します。git を使用している場合はサブモジュール、Hugo テーマのインストールに慣れている場合は Hugo モジュールを使用するのがおすすめです。
|
||||
|
||||
### AI エージェントを使ったクイックスタート
|
||||
|
||||
Blowfish には、AI コーディングエージェント (Claude Code など) にテーマのインストール、設定、サイト構築の方法を教える[エージェントスキル](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish)が同梱されています。Claude Code で Blowfish プラグインマーケットプレイスからインストールしてください:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
または、スキルフォルダをサイトのリポジトリの `.claude/skills/blowfish/` にコピーするだけでも構いません。エージェントはプロジェクトスキルを自動的に認識します。あとはエージェントに Blowfish のセットアップを依頼してください。
|
||||
|
||||
### Blowfish Tools を使ったクイックスタート
|
||||
|
||||
> **注意:** **Node.js**、**Git**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||
|
||||
Blowfish を使い始めるのに役立つ新しい CLI ツールをリリースしました。このツールは、新しい Hugo プロジェクトを作成し、テーマをインストールし、テーマ設定ファイルをセットアップします。まだベータ版なので、[問題を見つけたら報告してください](https://github.com/nunocoracao/blowfish-tools)。
|
||||
Blowfish Tools は、Blowfish を使い始めるのに役立つ CLI ツールです。このツールは、新しい Hugo プロジェクトを作成し、テーマをインストールし、テーマ設定ファイルをセットアップします。[問題を見つけたら報告してください](https://github.com/nunocoracao/blowfish-tools)。
|
||||
|
||||
npm(または他のパッケージマネージャー)を使って CLI ツールをグローバルにインストールします:
|
||||
```shell
|
||||
@@ -137,7 +150,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. `hugo server` を使用してサーバーを起動すると、テーマが自動的にダウンロードされます。
|
||||
@@ -156,6 +169,10 @@ blowfish-tools new mynewsite
|
||||
|
||||
詳細な[アップデート手順](https://blowfish.page/docs/installation/#installing-updates)はドキュメントに記載されています。
|
||||
|
||||
### v2 から v3 へのアップグレード
|
||||
|
||||
Blowfish v3 は完全な後方互換性を備えています。新機能はすべてオプトインで、設定オプションやテンプレートの削除は一切ありません。git サブモジュールや手動インストールの場合は、変更なしで通常どおりアップグレードできます。Hugo モジュールを使用している場合は、`config/_default/module.toml` のインポートパスを `github.com/nunocoracao/blowfish/v2` から `github.com/nunocoracao/blowfish/v3` に変更して `hugo mod get -u` を実行するだけです。詳細は[アップグレード手順](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3)を参照してください。
|
||||
|
||||
---
|
||||
|
||||
## 貢献
|
||||
@@ -172,8 +189,4 @@ Blowfish は時間とともに進化していく予定です。必要に応じ
|
||||
|
||||
---
|
||||
|
||||
## スター数の推移
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohu
|
||||
|
||||
🌏 [Demo site](https://blowfish.page/)
|
||||
📑 [Theme documentation](https://blowfish.page/docs/)
|
||||
💎 [Merch Store](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Bug reports & issues](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Questions & feature requests](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
- Fully responsive layout built with Tailwind CSS 3.0
|
||||
- Fully responsive layout built with Tailwind CSS 4
|
||||
- Multiple colour schemes (or fully customise your own)
|
||||
- Dark mode (forced on/off or auto-switching with user toggle)
|
||||
- Multiple homepage layouts including a product-style landing page with hero image, stats, and feature grids
|
||||
- Floating glass header with ⌘K / Ctrl+K search shortcut
|
||||
- Global background canvas with heroes that dissolve into it on scroll
|
||||
- Reading progress bar for articles
|
||||
- Interactive homepage layout switcher for live previews
|
||||
- Agent skill so AI coding agents (like Claude Code) can install and configure the theme for you
|
||||
- Print-friendly pages with dedicated print styles
|
||||
- Highly customisable configuration
|
||||
- Firebase integration to support dynamic data
|
||||
- Views count & like mechanism
|
||||
- Related articles
|
||||
- Multiple homepage layouts
|
||||
- Multiple authors
|
||||
- Series of articles
|
||||
- Date and weight based article sorting
|
||||
@@ -44,7 +46,7 @@ Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohu
|
||||
- Scrollable table of contents
|
||||
- Multilingual content support including support for RTL languages
|
||||
- Ability to link to posts on third-party websites
|
||||
- Support for several shortcodes like Gallery, Timeline, GitHub cards, and Carousels
|
||||
- 40+ shortcodes including Gallery, Timeline, GitHub cards, Carousels, Stats, Feature grids, Steps, and CTA buttons
|
||||
- GitHub Alerts syntax, 15 types, collapsible support
|
||||
- Buymeacoffee integration
|
||||
- Client-side site search powered by Fuse.js
|
||||
@@ -80,11 +82,22 @@ Blowfish supports several installation methods - as a git submodule, a Hugo Modu
|
||||
|
||||
Detailed instructions for each method can be found in the [Installation](https://blowfish.page/docs/installation) docs. You should consult the documentation for the simplest setup experience. Below is a quick start guide using submodules if you are using git, or Hugo modules if you're already confident installing Hugo themes.
|
||||
|
||||
### Quick start with an AI agent
|
||||
|
||||
Blowfish ships an [agent skill](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) that teaches AI coding agents — like Claude Code — how to install, configure, and build sites with the theme. Install it from the Blowfish plugin marketplace in Claude Code:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
Or simply copy the skill folder into your site repository at `.claude/skills/blowfish/` — agents pick up project skills automatically. Then ask your agent to set up Blowfish for you.
|
||||
|
||||
### Quick start using Blowfish Tools
|
||||
|
||||
> **Note:** Ensure you have **Node.js**, **Git** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||
|
||||
We just launched a new CLI tool to help you get started with Blowfish. It will create a new Hugo project, install the theme and set up the theme configuration files for you. It's still in beta so please [report any issues you find](https://github.com/nunocoracao/blowfish-tools).
|
||||
Blowfish Tools is a CLI that helps you get started with Blowfish. It will create a new Hugo project, install the theme and set up the theme configuration files for you. Please [report any issues you find](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Install the CLI tool globally using npm (or other package manager):
|
||||
```shell
|
||||
@@ -137,7 +150,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. Start your server using `hugo server` and the theme will be downloaded automatically.
|
||||
@@ -156,6 +169,10 @@ As new releases are posted, you can update the theme using Hugo. Simply run `hug
|
||||
|
||||
Detailed [update instructions](https://blowfish.page/docs/installation/#installing-updates) are available in the docs.
|
||||
|
||||
### Upgrading from v2 to v3
|
||||
|
||||
Blowfish v3 is fully backwards compatible: every new feature is opt-in and no configuration options or templates were removed. Git submodule and manual installs upgrade as usual with no changes; Hugo module users just change the import path in `config/_default/module.toml` from `github.com/nunocoracao/blowfish/v2` to `github.com/nunocoracao/blowfish/v3` and run `hugo mod get -u`. See the [upgrade instructions](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3) for details.
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
@@ -172,8 +189,4 @@ If you're able to fix a bug or implement a new feature, I welcome PRs for this p
|
||||
|
||||
---
|
||||
|
||||
## Stargazers over time
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfish foi projetado para ser um tema poderoso e leve para [Hugo](https://gohu
|
||||
|
||||
🌏 [Site de demonstração](https://blowfish.page/)
|
||||
📑 [Documentação do tema](https://blowfish.page/docs/)
|
||||
💎 [Loja de produtos](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Relatórios de bugs e problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Perguntas e solicitações de recursos](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Recursos
|
||||
|
||||
- Layout totalmente responsivo construído com Tailwind CSS 3.0
|
||||
- Layout totalmente responsivo construído com Tailwind CSS 4
|
||||
- Múltiplos esquemas de cores (ou personalize completamente o seu próprio)
|
||||
- Modo escuro (forçado ligado/desligado ou alternância automática com botão do usuário)
|
||||
- Múltiplos layouts de página inicial, incluindo uma landing page estilo produto com imagem hero, estatísticas e grades de recursos
|
||||
- Cabeçalho flutuante com efeito de vidro e atalho de busca ⌘K / Ctrl+K
|
||||
- Tela de fundo global com seções hero que se dissolvem nela ao rolar a página
|
||||
- Barra de progresso de leitura para artigos
|
||||
- Seletor interativo de layouts da página inicial para pré-visualizações ao vivo
|
||||
- Skill de agente para que agentes de programação com IA (como o Claude Code) instalem e configurem o tema para você
|
||||
- Páginas adequadas para impressão com estilos de impressão dedicados
|
||||
- Configuração altamente personalizável
|
||||
- Integração com Firebase para suportar dados dinâmicos
|
||||
- Contagem de visualizações e mecanismo de curtidas
|
||||
- Artigos relacionados
|
||||
- Múltiplos layouts de página inicial
|
||||
- Múltiplos autores
|
||||
- Séries de artigos
|
||||
- Ordenação de artigos baseada em data e peso
|
||||
@@ -44,7 +46,7 @@ Blowfish foi projetado para ser um tema poderoso e leve para [Hugo](https://gohu
|
||||
- Índice com rolagem
|
||||
- Suporte a conteúdo multilíngue incluindo suporte para idiomas RTL
|
||||
- Capacidade de linkar para posts em sites de terceiros
|
||||
- Suporte para vários shortcodes como Gallery, Timeline, GitHub cards e Carousels
|
||||
- Mais de 40 shortcodes incluindo Gallery, Timeline, GitHub cards, Carousels, Stats, grades de recursos, Steps e botões CTA
|
||||
- Sintaxe de alertas do GitHub, 15 tipos, suporte recolhível
|
||||
- Integração com Buymeacoffee
|
||||
- Busca no site do lado do cliente alimentada por Fuse.js
|
||||
@@ -80,11 +82,22 @@ Blowfish suporta vários métodos de instalação - como submódulo git, Hugo Mo
|
||||
|
||||
Instruções detalhadas para cada método podem ser encontradas na documentação de [Instalação](https://blowfish.page/docs/installation). Você deve consultar a documentação para a experiência de configuração mais simples. Abaixo está um guia de início rápido usando submódulos se você estiver usando git, ou Hugo modules se você já estiver confiante em instalar temas Hugo.
|
||||
|
||||
### Início rápido com um agente de IA
|
||||
|
||||
Blowfish inclui um [agent skill](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) que ensina agentes de programação com IA — como o Claude Code — a instalar, configurar e construir sites com o tema. Instale-o a partir do marketplace de plugins do Blowfish no Claude Code:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
Ou simplesmente copie a pasta do skill para o repositório do seu site em `.claude/skills/blowfish/` — os agentes detectam skills de projeto automaticamente. Depois peça ao seu agente para configurar o Blowfish para você.
|
||||
|
||||
### Início rápido usando Blowfish Tools
|
||||
|
||||
> **Nota:** Certifique-se de ter **Node.js**, **Git** e **Hugo** instalados, e que você criou um novo projeto Hugo antes de prosseguir.
|
||||
|
||||
Acabamos de lançar uma nova ferramenta CLI para ajudá-lo a começar com Blowfish. Ela criará um novo projeto Hugo, instalará o tema e configurará os arquivos de configuração do tema para você. Ainda está em beta, então por favor [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||
Blowfish Tools é uma ferramenta CLI que ajuda você a começar com Blowfish. Ela criará um novo projeto Hugo, instalará o tema e configurará os arquivos de configuração do tema para você. Por favor [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Instale a ferramenta CLI globalmente usando npm (ou outro gerenciador de pacotes):
|
||||
```shell
|
||||
@@ -137,7 +150,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. Inicie seu servidor usando `hugo server` e o tema será baixado automaticamente.
|
||||
@@ -156,6 +169,10 @@ blowfish-tools new mynewsite
|
||||
|
||||
[Instruções detalhadas de atualização](https://blowfish.page/docs/installation/#installing-updates) estão disponíveis na documentação.
|
||||
|
||||
### Atualizando da v2 para a v3
|
||||
|
||||
Blowfish v3 é totalmente retrocompatível: todos os novos recursos são opcionais e nenhuma opção de configuração ou template foi removida. As instalações por submódulo git e manuais são atualizadas normalmente, sem alterações; usuários de módulos Hugo só precisam alterar o caminho de importação em `config/_default/module.toml` de `github.com/nunocoracao/blowfish/v2` para `github.com/nunocoracao/blowfish/v3` e executar `hugo mod get -u`. Consulte as [instruções de atualização](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3) para mais detalhes.
|
||||
|
||||
---
|
||||
|
||||
## Contribuindo
|
||||
@@ -172,8 +189,4 @@ Se você for capaz de corrigir um bug ou implementar um novo recurso, dou as boa
|
||||
|
||||
---
|
||||
|
||||
## Stargazers ao longo do tempo
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfish foi desenhado para ser um tema poderoso e leve para [Hugo](https://gohu
|
||||
|
||||
🌏 [Site de demonstração](https://blowfish.page/)
|
||||
📑 [Documentação do tema](https://blowfish.page/docs/)
|
||||
💎 [Loja de merchandising](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Relatórios de erros & problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [Questões & pedidos de funcionalidades](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## Funcionalidades
|
||||
|
||||
- Layout totalmente responsivo construído com Tailwind CSS 3.0
|
||||
- Layout totalmente responsivo construído com Tailwind CSS 4
|
||||
- Múltiplos esquemas de cores (ou personalize completamente o seu próprio)
|
||||
- Modo escuro (forçado ligado/desligado ou alternância automática com seletor do utilizador)
|
||||
- Múltiplos layouts de página inicial, incluindo uma landing page de estilo produto com imagem hero, estatísticas e grelhas de funcionalidades
|
||||
- Cabeçalho flutuante com efeito de vidro e atalho de pesquisa ⌘K / Ctrl+K
|
||||
- Tela de fundo global com secções hero que se dissolvem nela ao fazer scroll
|
||||
- Barra de progresso de leitura para artigos
|
||||
- Seletor interativo de layouts da página inicial para pré-visualizações em direto
|
||||
- Skill de agente para que agentes de programação com IA (como o Claude Code) instalem e configurem o tema por si
|
||||
- Páginas adequadas para impressão com estilos de impressão dedicados
|
||||
- Configuração altamente personalizável
|
||||
- Integração com Firebase para suportar dados dinâmicos
|
||||
- Contagem de visualizações & mecanismo de gostos
|
||||
- Artigos relacionados
|
||||
- Múltiplos layouts de página inicial
|
||||
- Múltiplos autores
|
||||
- Séries de artigos
|
||||
- Ordenação de artigos baseada em data e peso
|
||||
@@ -44,7 +46,7 @@ Blowfish foi desenhado para ser um tema poderoso e leve para [Hugo](https://gohu
|
||||
- Índice de conteúdos com scroll
|
||||
- Suporte para conteúdo multilingue incluindo suporte para línguas RTL
|
||||
- Capacidade de criar links para publicações em sites de terceiros
|
||||
- Suporte para vários shortcodes como Gallery, Timeline, GitHub cards e Carousels
|
||||
- Mais de 40 shortcodes incluindo Gallery, Timeline, GitHub cards, Carousels, Stats, grelhas de funcionalidades, Steps e botões CTA
|
||||
- Sintaxe GitHub Alerts, 15 tipos, suporte para elementos expansíveis
|
||||
- Integração Buymeacoffee
|
||||
- Pesquisa no site do lado do cliente alimentada por Fuse.js
|
||||
@@ -80,11 +82,22 @@ Blowfish suporta vários métodos de instalação - como um submódulo git, um M
|
||||
|
||||
Instruções detalhadas para cada método podem ser encontradas na documentação de [Instalação](https://blowfish.page/docs/installation). Deve consultar a documentação para a experiência de configuração mais simples. Abaixo está um guia de início rápido usando submódulos se estiver a usar git, ou módulos Hugo se já está confiante na instalação de temas Hugo.
|
||||
|
||||
### Início rápido com um agente de IA
|
||||
|
||||
Blowfish inclui um [agent skill](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish) que ensina agentes de programação com IA — como o Claude Code — a instalar, configurar e construir sites com o tema. Instale-o a partir do marketplace de plugins do Blowfish no Claude Code:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
Ou simplesmente copie a pasta do skill para o repositório do seu site em `.claude/skills/blowfish/` — os agentes detetam skills de projeto automaticamente. Depois peça ao seu agente para configurar o Blowfish por si.
|
||||
|
||||
### Início rápido usando Blowfish Tools
|
||||
|
||||
> **Nota:** Certifique-se de que tem **Node.js**, **Git** e **Hugo** instalados, e que criou um novo projeto Hugo antes de continuar.
|
||||
|
||||
Acabámos de lançar uma nova ferramenta CLI para ajudá-lo a começar com Blowfish. Ela irá criar um novo projeto Hugo, instalar o tema e configurar os ficheiros de configuração do tema para si. Ainda está em beta por isso [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||
Blowfish Tools é uma ferramenta CLI que o ajuda a começar com Blowfish. Ela irá criar um novo projeto Hugo, instalar o tema e configurar os ficheiros de configuração do tema para si. Por favor [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||
|
||||
Instale a ferramenta CLI globalmente usando npm (ou outro gestor de pacotes):
|
||||
```shell
|
||||
@@ -137,7 +150,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. Inicie o seu servidor usando `hugo server` e o tema será descarregado automaticamente.
|
||||
@@ -156,6 +169,10 @@ blowfish-tools new mynewsite
|
||||
|
||||
[Instruções detalhadas de atualização](https://blowfish.page/docs/installation/#installing-updates) estão disponíveis na documentação.
|
||||
|
||||
### Atualização da v2 para a v3
|
||||
|
||||
Blowfish v3 é totalmente retrocompatível: todas as novas funcionalidades são opcionais e nenhuma opção de configuração ou template foi removida. As instalações por submódulo git e manuais atualizam-se como habitualmente, sem alterações; os utilizadores de módulos Hugo apenas precisam de alterar o caminho de importação em `config/_default/module.toml` de `github.com/nunocoracao/blowfish/v2` para `github.com/nunocoracao/blowfish/v3` e executar `hugo mod get -u`. Consulte as [instruções de atualização](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3) para mais detalhes.
|
||||
|
||||
---
|
||||
|
||||
## Contribuir
|
||||
@@ -172,8 +189,4 @@ Se conseguir corrigir um erro ou implementar uma nova funcionalidade, aceito PRs
|
||||
|
||||
---
|
||||
|
||||
## Stargazers ao longo do tempo
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -1,7 +1,7 @@
|
||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [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.158.0)
|
||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.162.0)
|
||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||
[](https://themes.gohugo.io/themes/blowfish/)
|
||||

|
||||
@@ -13,27 +13,29 @@ Blowfish 是一个轻量有力的 Hugo 主题。它使用 Tailwind CSS 构建,
|
||||
|
||||
🌏 [示例站点](https://blowfish.page/zh-cn/)
|
||||
📑 [主题文档](https://blowfish.page/zh-cn/docs/)
|
||||
💎 [周边商店](http://tee.pub/lic/qwSlWVBL5zc)
|
||||
🐛 [Bug 问题报告](https://github.com/nunocoracao/blowfish/issues)
|
||||
💡 [问答和功能需求](https://github.com/nunocoracao/blowfish/discussions)
|
||||
|
||||
|
||||
|
||||
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||
|
||||
|
||||
|
||||
## 特性
|
||||
|
||||
- 使用 Tailwind CSS 3.0 构建全面响应式布局
|
||||
- 使用 Tailwind CSS 4 构建全面响应式布局
|
||||
- 多种配色方案,亦可完全由你定义
|
||||
- 夜间模式支持(手动开启/关闭或根据用户设备自动切换)
|
||||
- 多种主页布局,包括带有主视觉图、数据统计和功能网格的产品风格着陆页
|
||||
- 悬浮玻璃质感页眉,支持 ⌘K / Ctrl+K 搜索快捷键
|
||||
- 全局背景画布,主视觉区域随滚动溶入其中
|
||||
- 文章阅读进度条
|
||||
- 可实时预览的交互式主页布局切换器
|
||||
- 内置代理技能(agent skill),让 AI 编程代理(如 Claude Code)为你安装和配置主题
|
||||
- 配备专用打印样式的打印友好页面
|
||||
- 高度自主的配置方式
|
||||
- 集成 Firebase 以支持动态数据统计
|
||||
- 集成浏览次数统计和点赞机制
|
||||
- “相关文章”列表生成
|
||||
- 多种主页布局
|
||||
- 多作者模式支持
|
||||
- 可将文章整理成选集列表
|
||||
- 禅模式支持
|
||||
@@ -42,7 +44,7 @@ Blowfish 是一个轻量有力的 Hugo 主题。它使用 Tailwind CSS 构建,
|
||||
- 支持嵌套菜单和子导航菜单
|
||||
- 支持多语言内容,包括 RTL 语言
|
||||
- 可链接到第三方网站上的帖子
|
||||
- 支持多种简码,如图库、时间轴、GitHub 卡片和图片灯箱
|
||||
- 内置 40 多种简码,包括图库、时间轴、GitHub 卡片、轮播、数据统计、功能网格、步骤和 CTA 按钮
|
||||
- 支持 GitHub Alerts 语法、15 种类型和可折叠功能
|
||||
- 支持 Buymeacoffee
|
||||
- 拥有由 Fuse.js 支持的客户端一侧网站搜索功能
|
||||
@@ -77,11 +79,22 @@ Blowfish 支持多种安装方式,既能作为 git 子模块、Hugo 模块,
|
||||
|
||||
每种方法的详细说明都可以在 [安装](https://blowfish.page/zh-cn/docs/installation) 文档中找到。为了获得最简单的安装体验,请查阅文档。如果你使用的是 git,请阅读下面使用子模块的快速开始指南;如果你能安装 Hugo 主题,请阅读下面 Hugo 模块的快速开始指南。
|
||||
|
||||
### 使用 AI 代理快速开始
|
||||
|
||||
Blowfish 内置了一个[代理技能(agent skill)](https://github.com/nunocoracao/blowfish/tree/main/.claude/skills/blowfish),可以教 AI 编程代理(如 Claude Code)如何安装、配置主题并用它构建网站。在 Claude Code 中通过 Blowfish 插件市场安装:
|
||||
|
||||
```shell
|
||||
/plugin marketplace add nunocoracao/blowfish
|
||||
/plugin install blowfish@blowfish
|
||||
```
|
||||
|
||||
或者直接将技能文件夹复制到你网站仓库的 `.claude/skills/blowfish/` 目录中——代理会自动识别项目技能。然后让你的代理为你完成 Blowfish 的设置。
|
||||
|
||||
### 使用 Blowfish Tools 快速开始
|
||||
|
||||
> **注:** 请确保你已安装 **Node.js**、 **Git** 和 **Hugo** ,且已经创建了一个 Hugo 工程。
|
||||
|
||||
我们最新推出了一个新的 CLI 工具,帮助你开始使用 Blowfish。它将为你创建一个新的 Hugo 项目、安装主题并设置主题配置文件。它仍处于测试阶段,因此请 [报告你发现的任何问题](https://github.com/nunocoracao/blowfish-tools)。
|
||||
Blowfish Tools 是一个帮助你开始使用 Blowfish 的 CLI 工具。它将为你创建一个新的 Hugo 项目、安装主题并设置主题配置文件。请 [报告你发现的任何问题](https://github.com/nunocoracao/blowfish-tools)。
|
||||
|
||||
使用 npm(或其他软件包管理器)全局安装 CLI 工具:
|
||||
```shell
|
||||
@@ -134,7 +147,7 @@ blowfish-tools new mynewsite
|
||||
|
||||
```toml
|
||||
[[imports]]
|
||||
path = "github.com/nunocoracao/blowfish/v2"
|
||||
path = "github.com/nunocoracao/blowfish/v3"
|
||||
```
|
||||
|
||||
3. 运行 `hugo server` 启动你的本地服务器,本主题就会自动下载。
|
||||
@@ -153,6 +166,10 @@ blowfish-tools new mynewsite
|
||||
|
||||
详细的[更新指南](https://blowfish.page/zh-cn/docs/installation/#%E6%9B%B4%E6%96%B0%E4%B8%BB%E9%A2%98)在文档中。
|
||||
|
||||
### 从 v2 升级到 v3
|
||||
|
||||
Blowfish v3 完全向后兼容:所有新功能均为可选启用,没有删除任何配置选项或模板。git 子模块和手动安装的用户按常规方式升级即可,无需任何改动;Hugo 模块用户只需将 `config/_default/module.toml` 中的导入路径从 `github.com/nunocoracao/blowfish/v2` 改为 `github.com/nunocoracao/blowfish/v3`,然后运行 `hugo mod get -u`。详情请参阅[升级指南](https://blowfish.page/docs/installation/#upgrading-from-v2-to-v3)。
|
||||
|
||||
---
|
||||
|
||||
## 贡献
|
||||
@@ -169,8 +186,4 @@ Blowfish 将会持续进化。我打算不断增加功能,并按需进行修
|
||||
|
||||
---
|
||||
|
||||
## Star 数量统计
|
||||
|
||||
[](https://starchart.cc/nunocoracao/blowfish)
|
||||
|
||||
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||
@@ -23,6 +23,53 @@ body button {
|
||||
@apply transition-colors;
|
||||
}
|
||||
|
||||
/* Staggered entrance for the landing homepage hero. Removed entirely when a
|
||||
visitor requests reduced motion. */
|
||||
@keyframes landing-rise {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(0.9rem);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.landing-rise {
|
||||
animation: landing-rise 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
|
||||
}
|
||||
|
||||
.landing-rise-1 {
|
||||
animation-delay: 90ms;
|
||||
}
|
||||
|
||||
.landing-rise-2 {
|
||||
animation-delay: 180ms;
|
||||
}
|
||||
|
||||
.landing-rise-3 {
|
||||
animation-delay: 270ms;
|
||||
}
|
||||
|
||||
.landing-rise-4 {
|
||||
animation-delay: 360ms;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
html {
|
||||
scroll-behavior: auto !important;
|
||||
}
|
||||
|
||||
.landing-rise,
|
||||
.landing-rise-1,
|
||||
.landing-rise-2,
|
||||
.landing-rise-3,
|
||||
.landing-rise-4 {
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
button,
|
||||
[role="button"] {
|
||||
cursor: pointer;
|
||||
@@ -181,8 +228,102 @@ pre {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* ---- Print ---- */
|
||||
@page {
|
||||
margin: 2cm;
|
||||
}
|
||||
|
||||
@media print {
|
||||
html {
|
||||
color-scheme: light only;
|
||||
}
|
||||
body {
|
||||
background: #fff !important;
|
||||
color: #111 !important;
|
||||
max-width: none !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
/* Site chrome that makes no sense on paper */
|
||||
body > header,
|
||||
#background-canvas,
|
||||
.single_hero_background,
|
||||
#scroll-to-top,
|
||||
#bmc-wbtn {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Flatten decoration; dark mode prints light */
|
||||
* {
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
main,
|
||||
article,
|
||||
.prose,
|
||||
.prose *:not(pre):not(pre *) {
|
||||
color: #111 !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
pre,
|
||||
pre * {
|
||||
background: #f4f4f5 !important;
|
||||
color: #111 !important;
|
||||
white-space: pre-wrap !important;
|
||||
}
|
||||
|
||||
/* Links stay useful on paper */
|
||||
a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.prose a[href^="http"]::after {
|
||||
content: " (" attr(href) ")";
|
||||
font-size: 0.85em;
|
||||
color: #555;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
/* Sensible page flow */
|
||||
pre,
|
||||
blockquote,
|
||||
table,
|
||||
figure,
|
||||
img {
|
||||
break-inside: avoid;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4 {
|
||||
break-after: avoid;
|
||||
}
|
||||
img {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Background hero: feature image dissolves into the global background */
|
||||
.hero-canvas-fade {
|
||||
-webkit-mask-image: linear-gradient(to bottom, black 20%, transparent 92%);
|
||||
mask-image: linear-gradient(to bottom, black 20%, transparent 92%);
|
||||
}
|
||||
|
||||
/* Shortcode grids: a lone trailing card stretches across the full row */
|
||||
@media (min-width: 640px) and (max-width: 1023.98px) {
|
||||
.grid-balance > :last-child:nth-child(odd) {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1024px) {
|
||||
.grid-balance-3 > :last-child:nth-child(3n + 1) {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
.grid-balance-4 > :last-child:nth-child(4n + 1) {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
}
|
||||
|
||||
.thumbnail_card {
|
||||
min-width: 300px;
|
||||
aspect-ratio: var(--thumbnail-aspect-ratio, 1.5);
|
||||
height: auto;
|
||||
}
|
||||
@@ -333,7 +474,8 @@ body:has(#mobile-menu-toggle:checked) {
|
||||
.menuhide {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
white-space: nowrap;
|
||||
width: max-content;
|
||||
max-width: min(20rem, calc(100vw - 2rem));
|
||||
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
@@ -343,6 +485,21 @@ body:has(#mobile-menu-toggle:checked) {
|
||||
opacity 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
/* A backdrop-filter turns the header pill into a containing block for
|
||||
position:fixed descendants, which would trap the fullscreen mobile menu
|
||||
inside it. Lift the filter while that menu is open — the fullscreen
|
||||
overlay covers the header anyway, so the change is invisible. */
|
||||
header > div:has(.mobile-menu-fullscreen #mobile-menu-toggle:checked) {
|
||||
-webkit-backdrop-filter: none;
|
||||
backdrop-filter: none;
|
||||
}
|
||||
|
||||
/* Dropdowns near the end of the bar open leftward so they stay on screen */
|
||||
.nested-menu:nth-last-child(-n + 3) .menuhide,
|
||||
.mobile-header-row .menuhide {
|
||||
inset-inline-end: 0;
|
||||
}
|
||||
|
||||
.nested-menu:hover .menuhide,
|
||||
.nested-menu:focus-within .menuhide {
|
||||
opacity: 1;
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
/* Burufugu scheme — the mascot's own palette: sky-blue fish, coral glow, indigo night */
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
/* Indigo night */
|
||||
--color-neutral-50: 246, 247, 252;
|
||||
--color-neutral-100: 238, 240, 249;
|
||||
--color-neutral-200: 221, 224, 240;
|
||||
--color-neutral-300: 195, 200, 226;
|
||||
--color-neutral-400: 141, 148, 189;
|
||||
--color-neutral-500: 98, 106, 150;
|
||||
--color-neutral-600: 70, 78, 122;
|
||||
--color-neutral-700: 48, 55, 97;
|
||||
--color-neutral-800: 26, 33, 74;
|
||||
--color-neutral-900: 13, 18, 51;
|
||||
/* Sky blue (logo) */
|
||||
--color-primary-50: 240, 247, 254;
|
||||
--color-primary-100: 224, 239, 254;
|
||||
--color-primary-200: 186, 222, 253;
|
||||
--color-primary-300: 138, 197, 250;
|
||||
--color-primary-400: 96, 172, 246;
|
||||
--color-primary-500: 74, 158, 240;
|
||||
--color-primary-600: 47, 115, 205;
|
||||
--color-primary-700: 42, 98, 189;
|
||||
--color-primary-800: 38, 76, 152;
|
||||
--color-primary-900: 30, 58, 110;
|
||||
/* Coral */
|
||||
--color-secondary-50: 255, 246, 240;
|
||||
--color-secondary-100: 255, 234, 222;
|
||||
--color-secondary-200: 255, 211, 187;
|
||||
--color-secondary-300: 255, 180, 142;
|
||||
--color-secondary-400: 255, 138, 92;
|
||||
--color-secondary-500: 240, 112, 90;
|
||||
--color-secondary-600: 217, 87, 74;
|
||||
--color-secondary-700: 184, 64, 58;
|
||||
--color-secondary-800: 148, 50, 50;
|
||||
--color-secondary-900: 118, 40, 44;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 512"><path fill="currentColor" d="M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"/></svg>
|
||||
|
After Width: | Height: | Size: 901 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 98c26.5 0 49.4-10.5 61.8-30h55.7c8.5 0 16.6 3.3 22.6 9.4l77.3 77.2c12.5 12.5 12.5 32.8 0 45.3l-39.4 39.4c-11.8 11.8-30.8 12.6-43.5 1.7L376 228.6V416c0 26.5-21.5 48-48 48H184c-26.5 0-48-21.5-48-48V228.6L121.5 241c-12.7 10.9-31.7 10.1-43.5-1.7L38.6 199.9c-12.5-12.5-12.5-32.8 0-45.3l77.3-77.2c6-6.1 14.1-9.4 22.6-9.4h55.7c12.4 19.5 35.3 30 61.8 30z"/></svg>
|
||||
|
After Width: | Height: | Size: 452 B |
@@ -55,8 +55,8 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
const switcherMobile = document.getElementById("appearance-switcher-mobile");
|
||||
|
||||
// Load the i18n translations for the tooltips
|
||||
const darkLabel = '{{ i18n "footer.dark_appearance" }}';
|
||||
const lightLabel = '{{ i18n "footer.light_appearance" }}';
|
||||
const darkLabel = {{ i18n "footer.dark_appearance" | jsonify }};
|
||||
const lightLabel = {{ i18n "footer.light_appearance" | jsonify }};
|
||||
|
||||
updateMeta();
|
||||
this.updateLogo?.(getTargetAppearance());
|
||||
|
||||
@@ -23,9 +23,18 @@ function setBackgroundBlur(targetId, scrollDivisor = 300, disableBlur = false, i
|
||||
blurElement.style.opacity = scroll / scrollDivisor;
|
||||
}
|
||||
};
|
||||
let framePending = false;
|
||||
const requestBlurUpdate = () => {
|
||||
if (framePending) return;
|
||||
framePending = true;
|
||||
window.requestAnimationFrame(() => {
|
||||
framePending = false;
|
||||
updateBlur();
|
||||
});
|
||||
};
|
||||
blurElement.setAttribute("role", "presentation");
|
||||
blurElement.setAttribute("tabindex", "-1");
|
||||
window.addEventListener("scroll", updateBlur);
|
||||
window.addEventListener("scroll", requestBlurUpdate, { passive: true });
|
||||
updateBlur();
|
||||
}
|
||||
|
||||
@@ -33,7 +42,12 @@ document.querySelectorAll("script[data-blur-id]").forEach((script) => {
|
||||
const targetId = script.getAttribute("data-blur-id");
|
||||
const scrollDivisor = Number(script.getAttribute("data-scroll-divisor") || 300);
|
||||
const isMenuBlur = targetId === "menu-blur";
|
||||
const settings = JSON.parse(localStorage.getItem("a11ySettings") || "{}");
|
||||
let settings = {};
|
||||
try {
|
||||
settings = JSON.parse(localStorage.getItem("a11ySettings") || "{}");
|
||||
} catch (_) {
|
||||
settings = {};
|
||||
}
|
||||
const disableBlur = settings.disableBlur || false;
|
||||
setBackgroundBlur(targetId, scrollDivisor, disableBlur, isMenuBlur);
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
(function () {
|
||||
var script = document.currentScript;
|
||||
var target = document.getElementById(script.getAttribute("data-hero-id"));
|
||||
if (!target) return;
|
||||
var distance = parseInt(script.getAttribute("data-fade-distance"), 10) || 500;
|
||||
var ticking = false;
|
||||
function update() {
|
||||
ticking = false;
|
||||
var opacity = Math.max(0, 1 - window.scrollY / distance);
|
||||
target.style.opacity = opacity;
|
||||
target.style.visibility = opacity === 0 ? "hidden" : "visible";
|
||||
}
|
||||
window.addEventListener(
|
||||
"scroll",
|
||||
function () {
|
||||
if (!ticking) {
|
||||
ticking = true;
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
},
|
||||
{ passive: true }
|
||||
);
|
||||
update();
|
||||
})();
|
||||
@@ -0,0 +1,55 @@
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
function initLayoutSwitcher() {
|
||||
document.querySelectorAll("[data-layout-switcher]").forEach(function (lab) {
|
||||
var buttons = Array.prototype.slice.call(lab.querySelectorAll("[data-layout-switcher-button]"));
|
||||
var panels = lab.querySelectorAll("[data-layout-switcher-panel]");
|
||||
|
||||
var activate = function (layout, focusTab) {
|
||||
buttons.forEach(function (button) {
|
||||
var active = button.dataset.layoutSwitcherButton === layout;
|
||||
button.setAttribute("aria-selected", String(active));
|
||||
button.setAttribute("tabindex", active ? "0" : "-1");
|
||||
button.classList.toggle("border-primary-600", active);
|
||||
button.classList.toggle("bg-primary-600", active);
|
||||
button.classList.toggle("text-white", active);
|
||||
button.classList.toggle("dark:border-primary-500", active);
|
||||
button.classList.toggle("dark:bg-primary-500", active);
|
||||
if (active && focusTab) button.focus();
|
||||
});
|
||||
panels.forEach(function (panel) {
|
||||
panel.hidden = panel.dataset.layoutSwitcherPanel !== layout;
|
||||
});
|
||||
};
|
||||
|
||||
buttons.forEach(function (button, index) {
|
||||
button.addEventListener("click", function () {
|
||||
activate(button.dataset.layoutSwitcherButton, false);
|
||||
});
|
||||
button.addEventListener("keydown", function (event) {
|
||||
var target = null;
|
||||
if (event.key === "ArrowRight") {
|
||||
target = buttons[(index + 1) % buttons.length];
|
||||
} else if (event.key === "ArrowLeft") {
|
||||
target = buttons[(index - 1 + buttons.length) % buttons.length];
|
||||
} else if (event.key === "Home") {
|
||||
target = buttons[0];
|
||||
} else if (event.key === "End") {
|
||||
target = buttons[buttons.length - 1];
|
||||
}
|
||||
if (target) {
|
||||
event.preventDefault();
|
||||
activate(target.dataset.layoutSwitcherButton, true);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", initLayoutSwitcher);
|
||||
} else {
|
||||
initLayoutSwitcher();
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,103 @@
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
function syncCheckboxLabels(checkbox) {
|
||||
var expanded = checkbox.checked ? "true" : "false";
|
||||
document.querySelectorAll('label[role="button"][for="' + checkbox.id + '"]').forEach(function (label) {
|
||||
label.setAttribute("aria-expanded", expanded);
|
||||
});
|
||||
}
|
||||
|
||||
function setupCheckboxLabels() {
|
||||
var seen = {};
|
||||
document.querySelectorAll('label[role="button"][for]').forEach(function (label) {
|
||||
var checkbox = document.getElementById(label.getAttribute("for"));
|
||||
if (!checkbox || checkbox.type !== "checkbox") return;
|
||||
|
||||
// Enter/Space activates the label like a real button
|
||||
label.addEventListener("keydown", function (event) {
|
||||
if (event.key === "Enter" || event.key === " " || event.key === "Spacebar") {
|
||||
event.preventDefault();
|
||||
label.click();
|
||||
}
|
||||
});
|
||||
|
||||
if (!seen[checkbox.id]) {
|
||||
seen[checkbox.id] = true;
|
||||
checkbox.addEventListener("change", function () {
|
||||
syncCheckboxLabels(checkbox);
|
||||
});
|
||||
syncCheckboxLabels(checkbox);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setupMobileMenuEscape() {
|
||||
var toggle = document.getElementById("mobile-menu-toggle");
|
||||
if (!toggle) return;
|
||||
document.addEventListener("keydown", function (event) {
|
||||
if (event.key === "Escape" && toggle.checked) {
|
||||
toggle.checked = false;
|
||||
syncCheckboxLabels(toggle);
|
||||
var opener = document.querySelector('label[role="button"][for="mobile-menu-toggle"]');
|
||||
if (opener) opener.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setupMobileMenuOutsideClick() {
|
||||
var toggle = document.getElementById("mobile-menu-toggle");
|
||||
var dialog = document.getElementById("mobile-menu-dialog");
|
||||
if (!toggle || !dialog) return;
|
||||
document.addEventListener("click", function (event) {
|
||||
if (!toggle.checked || event.target === toggle) return;
|
||||
if (dialog.contains(event.target)) return;
|
||||
if (event.target.closest('label[for="mobile-menu-toggle"]')) return;
|
||||
toggle.checked = false;
|
||||
syncCheckboxLabels(toggle);
|
||||
});
|
||||
}
|
||||
|
||||
function setupDesktopDropdowns() {
|
||||
document.querySelectorAll(".nested-menu").forEach(function (menu) {
|
||||
var trigger = menu.querySelector("[aria-haspopup]");
|
||||
if (!trigger) return;
|
||||
var setExpanded = function (expanded) {
|
||||
trigger.setAttribute("aria-expanded", expanded ? "true" : "false");
|
||||
};
|
||||
menu.addEventListener("mouseenter", function () {
|
||||
setExpanded(true);
|
||||
});
|
||||
menu.addEventListener("mouseleave", function () {
|
||||
setExpanded(false);
|
||||
});
|
||||
menu.addEventListener("focusin", function () {
|
||||
setExpanded(true);
|
||||
});
|
||||
menu.addEventListener("focusout", function (event) {
|
||||
if (!menu.contains(event.relatedTarget)) setExpanded(false);
|
||||
});
|
||||
menu.addEventListener("keydown", function (event) {
|
||||
if (event.key === "Escape") {
|
||||
if (document.activeElement && menu.contains(document.activeElement)) {
|
||||
document.activeElement.blur();
|
||||
}
|
||||
setExpanded(false);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function init() {
|
||||
setupCheckboxLabels();
|
||||
setupMobileMenuEscape();
|
||||
setupMobileMenuOutsideClick();
|
||||
setupDesktopDropdowns();
|
||||
}
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", init);
|
||||
} else {
|
||||
init();
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,9 @@
|
||||
function readingProgress() {
|
||||
const bar = document.getElementById("reading-progress");
|
||||
if (!bar) return;
|
||||
const scrollable = document.documentElement.scrollHeight - window.innerHeight;
|
||||
bar.style.width = scrollable > 0 ? `${(window.scrollY / scrollable) * 100}%` : "0%";
|
||||
}
|
||||
|
||||
window.addEventListener("scroll", readingProgress, { passive: true });
|
||||
window.addEventListener("load", readingProgress);
|
||||
@@ -11,6 +11,7 @@ var last = output.lastChild;
|
||||
var searchVisible = false;
|
||||
var indexed = false;
|
||||
var hasResults = false;
|
||||
var previouslyFocused = null;
|
||||
|
||||
// Listen for events
|
||||
showButton ? showButton.addEventListener("click", displaySearch) : null;
|
||||
@@ -22,6 +23,11 @@ modal.addEventListener("click", function (event) {
|
||||
event.stopImmediatePropagation();
|
||||
return false;
|
||||
});
|
||||
const shortcutHint = document.getElementById("search-shortcut-hint");
|
||||
if (shortcutHint && !/Mac|iPhone|iPad/.test(navigator.platform)) {
|
||||
shortcutHint.textContent = "Ctrl K";
|
||||
}
|
||||
|
||||
document.addEventListener("keydown", function (event) {
|
||||
// Forward slash to open search wrapper
|
||||
if (event.key == "/") {
|
||||
@@ -35,11 +41,40 @@ document.addEventListener("keydown", function (event) {
|
||||
}
|
||||
}
|
||||
|
||||
// Cmd+K (macOS) / Ctrl+K to toggle search wrapper
|
||||
if (event.key.toLowerCase() == "k" && (event.metaKey || event.ctrlKey)) {
|
||||
event.preventDefault();
|
||||
if (searchVisible) {
|
||||
hideSearch();
|
||||
} else {
|
||||
displaySearch();
|
||||
}
|
||||
}
|
||||
|
||||
// Esc to close search wrapper
|
||||
if (event.key == "Escape") {
|
||||
hideSearch();
|
||||
}
|
||||
|
||||
// Trap Tab / Shift+Tab focus inside the modal while it is open
|
||||
if (event.key == "Tab" && searchVisible) {
|
||||
var focusable = modal.querySelectorAll('a[href], button, input, [tabindex="0"]');
|
||||
if (focusable.length > 0) {
|
||||
var firstFocusable = focusable[0];
|
||||
var lastFocusable = focusable[focusable.length - 1];
|
||||
if (!modal.contains(document.activeElement)) {
|
||||
event.preventDefault();
|
||||
firstFocusable.focus();
|
||||
} else if (event.shiftKey && document.activeElement == firstFocusable) {
|
||||
event.preventDefault();
|
||||
lastFocusable.focus();
|
||||
} else if (!event.shiftKey && document.activeElement == lastFocusable) {
|
||||
event.preventDefault();
|
||||
firstFocusable.focus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Down arrow to move down results list
|
||||
if (event.key == "ArrowDown") {
|
||||
if (searchVisible && hasResults) {
|
||||
@@ -91,6 +126,7 @@ function displaySearch() {
|
||||
buildIndex();
|
||||
}
|
||||
if (!searchVisible) {
|
||||
previouslyFocused = document.activeElement;
|
||||
document.body.style.overflow = "hidden";
|
||||
wrapper.style.visibility = "visible";
|
||||
input.focus();
|
||||
@@ -104,7 +140,12 @@ function hideSearch() {
|
||||
wrapper.style.visibility = "hidden";
|
||||
input.value = "";
|
||||
output.innerHTML = "";
|
||||
document.activeElement.blur();
|
||||
if (previouslyFocused && typeof previouslyFocused.focus === "function" && document.contains(previouslyFocused)) {
|
||||
previouslyFocused.focus();
|
||||
} else if (document.activeElement) {
|
||||
document.activeElement.blur();
|
||||
}
|
||||
previouslyFocused = null;
|
||||
searchVisible = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 mo}});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",this.position=void 0,this.length=void 0,this.rawMessage=void 0,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(void 0!==e.default)return e.default;return function(e){if("string"!=typeof e)return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}(Array.isArray(e.type)?e.type[0]:e.type)}function d(e,t,r,n){const o=r[t];e[t]=void 0!==o?n.processor?n.processor(o):o:p(n)}class g{constructor(e){void 0===e&&(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.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t of Object.keys(u))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 uo}});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,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}super(s),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,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={"&":"&",">":">","<":"<",'"':""","'":"'"},a=/[&><"']/g,l=e=>String(e).replace(a,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(Object.prototype.hasOwnProperty.call(e,"default")&&void 0!==e.default)return e.default;return function(e){if("string"!=typeof e)return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}(Array.isArray(e.type)?e.type[0]:e.type)}function d(e,t,r,n){const o=Object.prototype.hasOwnProperty.call(r,t)?r[t]:void 0,s=Object.prototype.hasOwnProperty.call(n,"processor")?n.processor:void 0;e[t]=void 0!==o?s?s(o):o:p(n)}class g{constructor(e){void 0===e&&(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.minRuleThickness=void 0,this.colorIsTextCLine truncated
|
||||
@@ -1,5 +1,5 @@
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.158.0"
|
||||
max = "0.164.0"
|
||||
min = "0.162.0"
|
||||
max = "0.165.0"
|
||||
@@ -36,6 +36,7 @@ title = "Blowfish"
|
||||
# { flickr = "https://www.flickr.com/photos/username/" },
|
||||
# { foursquare = "https://foursquare.com/username" },
|
||||
# { github = "https://github.com/username" },
|
||||
# { github_gist = "https://gist.github.com/username" },
|
||||
# { gitlab = "https://gitlab.com/username" },
|
||||
# { google = "https://www.google.com/" },
|
||||
# { hashnode = "https://username.hashnode.dev" },
|
||||
|
||||
@@ -26,6 +26,7 @@ disableTextInHeader = false
|
||||
# backgroundImageWidth = 1200
|
||||
|
||||
# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images
|
||||
# backgroundCanvas = false # render defaultBackgroundImage as a fixed backdrop on every page
|
||||
# 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
|
||||
@@ -53,7 +54,8 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
# 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
|
||||
layout = "basic" # valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur, floating
|
||||
# mobileMenuStyle = "fullscreen" # valid options: fullscreen, dropdown
|
||||
|
||||
[footer]
|
||||
showMenu = true
|
||||
@@ -63,7 +65,8 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
showScrollToTop = true
|
||||
|
||||
[homepage]
|
||||
layout = "profile" # valid options: page, profile, hero, card, background, custom
|
||||
layout = "profile" # valid options: page, profile, hero, card, background, landing, custom
|
||||
# layoutSwitcher = false # opt-in interactive preview of the built-in layouts
|
||||
#homepageImage = "IMAGE.jpg" # used in: hero, and card
|
||||
showRecent = false
|
||||
showRecentItems = 5
|
||||
@@ -96,6 +99,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
showPagination = true
|
||||
invertPagination = false
|
||||
showReadingTime = true
|
||||
showReadingProgress = false
|
||||
showTableOfContents = false
|
||||
# showRelatedContent = false
|
||||
# relatedContentLimit = 3
|
||||
@@ -111,6 +115,7 @@ forgejoDefaultServer = "https://v11.next.forgejo.org"
|
||||
|
||||
[list]
|
||||
showHero = false
|
||||
# featureImageHover = false # subtle zoom on card thumbnails on hover
|
||||
# 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
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
[
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3803196?v=4&s=80",
|
||||
"contributions": 2641,
|
||||
"contributions": 2648,
|
||||
"profile_url": "https://github.com/nunocoracao",
|
||||
"username": "nunocoracao"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/in/29110?v=4&s=80",
|
||||
"contributions": 610,
|
||||
"contributions": 614,
|
||||
"profile_url": "https://github.com/apps/dependabot",
|
||||
"username": "dependabot[bot]"
|
||||
},
|
||||
@@ -35,18 +35,18 @@
|
||||
"profile_url": "https://github.com/Lemon73-Computing",
|
||||
"username": "Lemon73-Computing"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/195884188?v=4&s=80",
|
||||
"contributions": 30,
|
||||
"profile_url": "https://github.com/servedsmart",
|
||||
"username": "servedsmart"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/20680212?v=4&s=80",
|
||||
"contributions": 30,
|
||||
"profile_url": "https://github.com/Weaxs",
|
||||
"username": "Weaxs"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/195884188?v=4&s=80",
|
||||
"contributions": 30,
|
||||
"profile_url": "https://github.com/servedsmart",
|
||||
"username": "servedsmart"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/7031754?v=4&s=80",
|
||||
"contributions": 28,
|
||||
@@ -61,7 +61,7 @@
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/271378955?v=4&s=80",
|
||||
"contributions": 15,
|
||||
"contributions": 16,
|
||||
"profile_url": "https://github.com/friday-oc",
|
||||
"username": "friday-oc"
|
||||
},
|
||||
@@ -77,12 +77,6 @@
|
||||
"profile_url": "https://github.com/Aphcity",
|
||||
"username": "Aphcity"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/63574588?v=4&s=80",
|
||||
"contributions": 13,
|
||||
"profile_url": "https://github.com/wermos",
|
||||
"username": "wermos"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/40151420?v=4&s=80",
|
||||
"contributions": 13,
|
||||
@@ -90,16 +84,16 @@
|
||||
"username": "ldericher"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/22768251?v=4&s=80",
|
||||
"contributions": 12,
|
||||
"profile_url": "https://github.com/daniel-odrinski",
|
||||
"username": "daniel-odrinski"
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/63574588?v=4&s=80",
|
||||
"contributions": 13,
|
||||
"profile_url": "https://github.com/wermos",
|
||||
"username": "wermos"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/48058525?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/39312305?v=4&s=80",
|
||||
"contributions": 12,
|
||||
"profile_url": "https://github.com/pfrogond",
|
||||
"username": "pfrogond"
|
||||
"profile_url": "https://github.com/insidemordecai",
|
||||
"username": "insidemordecai"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/14023456?v=4&s=80",
|
||||
@@ -108,10 +102,16 @@
|
||||
"username": "ragibson"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/39312305?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/48058525?v=4&s=80",
|
||||
"contributions": 12,
|
||||
"profile_url": "https://github.com/insidemordecai",
|
||||
"username": "insidemordecai"
|
||||
"profile_url": "https://github.com/pfrogond",
|
||||
"username": "pfrogond"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/22768251?v=4&s=80",
|
||||
"contributions": 12,
|
||||
"profile_url": "https://github.com/daniel-odrinski",
|
||||
"username": "daniel-odrinski"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/137512150?v=4&s=80",
|
||||
@@ -149,12 +149,6 @@
|
||||
"profile_url": "https://github.com/laterre39",
|
||||
"username": "laterre39"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/227486?v=4&s=80",
|
||||
"contributions": 8,
|
||||
"profile_url": "https://github.com/chrisbanes",
|
||||
"username": "chrisbanes"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/49299328?v=4&s=80",
|
||||
"contributions": 8,
|
||||
@@ -162,10 +156,10 @@
|
||||
"username": "LITUATUI"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80",
|
||||
"contributions": 7,
|
||||
"profile_url": "https://github.com/racehd",
|
||||
"username": "racehd"
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/227486?v=4&s=80",
|
||||
"contributions": 8,
|
||||
"profile_url": "https://github.com/chrisbanes",
|
||||
"username": "chrisbanes"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/927896?v=4&s=80",
|
||||
@@ -174,16 +168,10 @@
|
||||
"username": "fuse314"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/23740867?v=4&s=80",
|
||||
"contributions": 6,
|
||||
"profile_url": "https://github.com/mnjm",
|
||||
"username": "mnjm"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/593379?v=4&s=80",
|
||||
"contributions": 6,
|
||||
"profile_url": "https://github.com/androw",
|
||||
"username": "androw"
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/22131782?v=4&s=80",
|
||||
"contributions": 7,
|
||||
"profile_url": "https://github.com/racehd",
|
||||
"username": "racehd"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/48385577?v=4&s=80",
|
||||
@@ -192,34 +180,16 @@
|
||||
"username": "nofalbriansah"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/128139875?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/UmmItKin",
|
||||
"username": "UmmItKin"
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/593379?v=4&s=80",
|
||||
"contributions": 6,
|
||||
"profile_url": "https://github.com/androw",
|
||||
"username": "androw"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/92191413?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/mztiq",
|
||||
"username": "mztiq"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/5170081?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/iunn-sh",
|
||||
"username": "iunn-sh"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/27051374?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/ajmandourah",
|
||||
"username": "ajmandourah"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1886360?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/michaeldorner",
|
||||
"username": "michaeldorner"
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/23740867?v=4&s=80",
|
||||
"contributions": 6,
|
||||
"profile_url": "https://github.com/mnjm",
|
||||
"username": "mnjm"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/31572931?v=4&s=80",
|
||||
@@ -228,10 +198,34 @@
|
||||
"username": "jmmarino2"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/74207682?v=4&s=80",
|
||||
"contributions": 4,
|
||||
"profile_url": "https://github.com/d4rklynk",
|
||||
"username": "d4rklynk"
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1886360?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/michaeldorner",
|
||||
"username": "michaeldorner"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/27051374?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/ajmandourah",
|
||||
"username": "ajmandourah"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/5170081?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/iunn-sh",
|
||||
"username": "iunn-sh"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/92191413?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/mztiq",
|
||||
"username": "mztiq"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/128139875?v=4&s=80",
|
||||
"contributions": 5,
|
||||
"profile_url": "https://github.com/UmmItKin",
|
||||
"username": "UmmItKin"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/14915201?v=4&s=80",
|
||||
@@ -239,6 +233,12 @@
|
||||
"profile_url": "https://github.com/tekdahl",
|
||||
"username": "tekdahl"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/74207682?v=4&s=80",
|
||||
"contributions": 4,
|
||||
"profile_url": "https://github.com/d4rklynk",
|
||||
"username": "d4rklynk"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/43378713?v=4&s=80",
|
||||
"contributions": 4,
|
||||
@@ -287,12 +287,6 @@
|
||||
"profile_url": "https://github.com/deining",
|
||||
"username": "deining"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/14219201?v=4&s=80",
|
||||
"contributions": 4,
|
||||
"profile_url": "https://github.com/aakashnand",
|
||||
"username": "aakashnand"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/8541450?v=4&s=80",
|
||||
"contributions": 4,
|
||||
@@ -300,10 +294,28 @@
|
||||
"username": "AlanTanner"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/15385020?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/14219201?v=4&s=80",
|
||||
"contributions": 4,
|
||||
"profile_url": "https://github.com/aakashnand",
|
||||
"username": "aakashnand"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/100203867?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/ModdyLP",
|
||||
"username": "ModdyLP"
|
||||
"profile_url": "https://github.com/adilhyz",
|
||||
"username": "adilhyz"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/41281398?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/WilliamRagstad",
|
||||
"username": "WilliamRagstad"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/6476604?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/timcappalli",
|
||||
"username": "timcappalli"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1386868?v=4&s=80",
|
||||
@@ -312,10 +324,10 @@
|
||||
"username": "rlan"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/6476604?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/15385020?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/timcappalli",
|
||||
"username": "timcappalli"
|
||||
"profile_url": "https://github.com/ModdyLP",
|
||||
"username": "ModdyLP"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/139241743?v=4&s=80",
|
||||
@@ -329,18 +341,6 @@
|
||||
"profile_url": "https://github.com/GuillaumeASSIER",
|
||||
"username": "GuillaumeASSIER"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/41281398?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/WilliamRagstad",
|
||||
"username": "WilliamRagstad"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/100203867?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/adilhyz",
|
||||
"username": "adilhyz"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/85546881?v=4&s=80",
|
||||
"contributions": 3,
|
||||
@@ -360,22 +360,10 @@
|
||||
"username": "StepaniaH"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/43930380?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/13023025?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/albertonl",
|
||||
"username": "albertonl"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1080487?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/Scoty",
|
||||
"username": "Scoty"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3262190?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/chandlertee",
|
||||
"username": "chandlertee"
|
||||
"profile_url": "https://github.com/Coehill",
|
||||
"username": "Coehill"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1698841?v=4&s=80",
|
||||
@@ -384,10 +372,10 @@
|
||||
"username": "eallion"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/13023025?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3262190?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/Coehill",
|
||||
"username": "Coehill"
|
||||
"profile_url": "https://github.com/chandlertee",
|
||||
"username": "chandlertee"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/5670510?v=4&s=80",
|
||||
@@ -401,6 +389,18 @@
|
||||
"profile_url": "https://github.com/Goudarz",
|
||||
"username": "Goudarz"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1080487?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/Scoty",
|
||||
"username": "Scoty"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/43930380?v=4&s=80",
|
||||
"contributions": 3,
|
||||
"profile_url": "https://github.com/albertonl",
|
||||
"username": "albertonl"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/254813078?v=4&s=80",
|
||||
"contributions": 3,
|
||||
@@ -533,18 +533,18 @@
|
||||
"profile_url": "https://github.com/lukapiplica",
|
||||
"username": "lukapiplica"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/415688?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/adir1",
|
||||
"username": "adir1"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/4021653?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/pawelngei",
|
||||
"username": "pawelngei"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/415688?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/adir1",
|
||||
"username": "adir1"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/43662951?v=4&s=80",
|
||||
"contributions": 2,
|
||||
@@ -629,6 +629,24 @@
|
||||
"profile_url": "https://github.com/marians",
|
||||
"username": "marians"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1620160?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/gregpuzzles1",
|
||||
"username": "gregpuzzles1"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/8990777?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/jamesbraza",
|
||||
"username": "jamesbraza"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/84158931?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/joush007",
|
||||
"username": "joush007"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/48477808?v=4&s=80",
|
||||
"contributions": 2,
|
||||
@@ -647,30 +665,6 @@
|
||||
"profile_url": "https://github.com/jnonino",
|
||||
"username": "jnonino"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/84158931?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/joush007",
|
||||
"username": "joush007"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/8990777?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/jamesbraza",
|
||||
"username": "jamesbraza"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1620160?v=4&s=80",
|
||||
"contributions": 2,
|
||||
"profile_url": "https://github.com/gregpuzzles1",
|
||||
"username": "gregpuzzles1"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/152732280?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/rjwisloff",
|
||||
"username": "rjwisloff"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/6557195?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -689,6 +683,12 @@
|
||||
"profile_url": "https://github.com/urtzienriquez",
|
||||
"username": "urtzienriquez"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/101440816?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/HeTongRe4per",
|
||||
"username": "HeTongRe4per"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/3536736?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -785,6 +785,12 @@
|
||||
"profile_url": "https://github.com/fionnlinux",
|
||||
"username": "fionnlinux"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/apps/github-actions",
|
||||
"username": "github-actions[bot]"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/116770736?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -827,6 +833,12 @@
|
||||
"profile_url": "https://github.com/ItsJustRuby",
|
||||
"username": "ItsJustRuby"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/148021422?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/RussellChubb",
|
||||
"username": "RussellChubb"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/78424701?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -917,6 +929,12 @@
|
||||
"profile_url": "https://github.com/tomzx",
|
||||
"username": "tomzx"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/252658762?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/reyneese",
|
||||
"username": "reyneese"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/53149254?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -1043,12 +1061,6 @@
|
||||
"profile_url": "https://github.com/GrassBlock1",
|
||||
"username": "GrassBlock1"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/101440816?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/HeTongRe4per",
|
||||
"username": "HeTongRe4per"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/108755164?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -1163,6 +1175,12 @@
|
||||
"profile_url": "https://github.com/Ohdmire",
|
||||
"username": "Ohdmire"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/99347708?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/0r1k",
|
||||
"username": "0r1k"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/64088184?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -1175,12 +1193,6 @@
|
||||
"profile_url": "https://github.com/quasialex",
|
||||
"username": "quasialex"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/252658762?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/reyneese",
|
||||
"username": "reyneese"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/87516929?v=4&s=80",
|
||||
"contributions": 1,
|
||||
@@ -1308,10 +1320,10 @@
|
||||
"username": "graeme-a-stewart"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/583157?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1822861?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/manio",
|
||||
"username": "manio"
|
||||
"profile_url": "https://github.com/tSU-RooT",
|
||||
"username": "tSU-RooT"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/48291064?v=4&s=80",
|
||||
@@ -1572,10 +1584,10 @@
|
||||
"username": "technicat"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/1822861?v=4&s=80",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/152732280?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/tSU-RooT",
|
||||
"username": "tSU-RooT"
|
||||
"profile_url": "https://github.com/rjwisloff",
|
||||
"username": "rjwisloff"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/47142521?v=4&s=80",
|
||||
@@ -1702,5 +1714,11 @@
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/mariuskimmina",
|
||||
"username": "mariuskimmina"
|
||||
},
|
||||
{
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/583157?v=4&s=80",
|
||||
"contributions": 1,
|
||||
"profile_url": "https://github.com/manio",
|
||||
"username": "manio"
|
||||
}
|
||||
]
|
||||
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 1.7 MiB |
@@ -0,0 +1,34 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" preserveAspectRatio="xMidYMid slice">
|
||||
<defs>
|
||||
<radialGradient id="violet" cx="50%" cy="50%" r="50%">
|
||||
<stop offset="0" stop-color="#7c3aed" stop-opacity=".72"/>
|
||||
<stop offset="1" stop-color="#7c3aed" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="blue" cx="50%" cy="50%" r="50%">
|
||||
<stop offset="0" stop-color="#2563eb" stop-opacity=".68"/>
|
||||
<stop offset="1" stop-color="#2563eb" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
<filter id="blur"><feGaussianBlur stdDeviation="34"/></filter>
|
||||
<filter id="grain"><feTurbulence type="fractalNoise" baseFrequency=".8" numOctaves="3" stitchTiles="stitch"/><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 .09 0"/></filter>
|
||||
<linearGradient id="line" x1="0" x2="1"><stop stop-color="#60a5fa" stop-opacity="0"/><stop offset=".5" stop-color="#c4b5fd" stop-opacity=".52"/><stop offset="1" stop-color="#fb7185" stop-opacity="0"/></linearGradient>
|
||||
</defs>
|
||||
<rect width="1600" height="900" fill="#061126"/>
|
||||
<g filter="url(#blur)">
|
||||
<circle cx="280" cy="160" r="290" fill="url(#violet)">
|
||||
<animate attributeName="cx" values="280;440;280" dur="22s" repeatCount="indefinite"/>
|
||||
<animate attributeName="cy" values="160;260;160" dur="18s" repeatCount="indefinite"/>
|
||||
</circle>
|
||||
<circle cx="1320" cy="690" r="350" fill="url(#blue)">
|
||||
<animate attributeName="cx" values="1320;1160;1320" dur="26s" repeatCount="indefinite"/>
|
||||
<animate attributeName="cy" values="690;580;690" dur="20s" repeatCount="indefinite"/>
|
||||
</circle>
|
||||
<circle cx="900" cy="250" r="190" fill="url(#blue)" opacity=".7">
|
||||
<animate attributeName="cy" values="250;390;250" dur="16s" repeatCount="indefinite"/>
|
||||
</circle>
|
||||
</g>
|
||||
<g fill="none" stroke="url(#line)" stroke-width="1.5" opacity=".75">
|
||||
<path d="M-80 670 C250 420 470 850 770 600 S1320 280 1680 490"><animate attributeName="d" dur="19s" repeatCount="indefinite" values="M-80 670 C250 420 470 850 770 600 S1320 280 1680 490;M-80 570 C250 720 470 410 770 640 S1320 390 1680 390;M-80 670 C250 420 470 850 770 600 S1320 280 1680 490"/></path>
|
||||
<path d="M-60 760 C230 520 500 780 810 690 S1340 420 1660 610" opacity=".65"><animate attributeName="d" dur="24s" repeatCount="indefinite" values="M-60 760 C230 520 500 780 810 690 S1340 420 1660 610;M-60 660 C230 750 500 510 810 730 S1340 330 1660 520;M-60 760 C230 520 500 780 810 690 S1340 420 1660 610"/></path>
|
||||
</g>
|
||||
<rect width="1600" height="900" filter="url(#grain)" opacity=".55"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
@@ -19,4 +19,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -20,4 +20,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -19,4 +19,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -19,4 +19,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -19,4 +19,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -20,4 +20,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -19,4 +19,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -19,4 +19,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -19,4 +19,5 @@ title = "Blowfish"
|
||||
links = [
|
||||
{ x-twitter = "https://twitter.com/burufugu" },
|
||||
{ github = "https://github.com/nunocoracao/blowfish" },
|
||||
{ bluesky = "https://bsky.app/profile/burufugu.bsky.social" },
|
||||
]
|
||||
@@ -39,7 +39,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -49,6 +50,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -63,6 +64,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
#[[main]]
|
||||
# identifier = "mastodon"
|
||||
# pre = "mastodon"
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -49,6 +50,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -49,6 +50,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -63,6 +64,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
#[[main]]
|
||||
# identifier = "mastodon"
|
||||
# pre = "mastodon"
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "グッズ"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -63,6 +64,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
#[[main]]
|
||||
# identifier = "mastodon"
|
||||
# pre = "mastodon"
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -49,6 +50,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "Merch"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -49,6 +50,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
[[main]]
|
||||
identifier = "github"
|
||||
pre = "github"
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
weight = 90
|
||||
|
||||
[[main]]
|
||||
name = "周边"
|
||||
identifier = "merch"
|
||||
pre = "shirt"
|
||||
url = "https://www.teepublic.com/user/blowfish-store/t-shirts"
|
||||
weight = 100
|
||||
|
||||
@@ -63,6 +64,12 @@
|
||||
url = "https://twitter.com/burufugu"
|
||||
weight = 200
|
||||
|
||||
[[main]]
|
||||
identifier = "bluesky"
|
||||
pre = "bluesky"
|
||||
url = "https://bsky.app/profile/burufugu.bsky.social"
|
||||
weight = 250
|
||||
|
||||
#[[main]]
|
||||
# identifier = "mastodon"
|
||||
# pre = "mastodon"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Refer to the theme docs for more details about each of these parameters.
|
||||
# https://blowfish.page/docs/configuration/#theme-parameters
|
||||
|
||||
colorScheme = "blowfish"
|
||||
colorScheme = "burufugu"
|
||||
defaultAppearance = "dark" # valid options: light or dark
|
||||
autoSwitchAppearance = true
|
||||
|
||||
@@ -24,7 +24,8 @@ disableImageOptimizationMD = false
|
||||
disableTextInHeader = false
|
||||
# backgroundImageWidth = 1200
|
||||
|
||||
defaultBackgroundImage = "/img/background.svg"
|
||||
defaultBackgroundImage = "images/v3/site-background.svg"
|
||||
backgroundCanvas = true # render defaultBackgroundImage as a fixed backdrop on every page
|
||||
defaultFeaturedImage = "/img/featured.svg"
|
||||
defaultSocialImage = "/img/blowfish_banner.png"
|
||||
hotlinkFeatureImage = false
|
||||
@@ -40,7 +41,8 @@ smartTOCHideUnfocusedChildren = false
|
||||
fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256"
|
||||
|
||||
[header]
|
||||
layout = "fixed" # valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur
|
||||
layout = "floating" # valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur, floating
|
||||
mobileMenuStyle = "dropdown" # valid options: fullscreen, dropdown
|
||||
|
||||
[footer]
|
||||
showMenu = true
|
||||
@@ -50,9 +52,10 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
showScrollToTop = true
|
||||
|
||||
[homepage]
|
||||
layout = "custom" # valid options: page, profile, hero, card, background, custom
|
||||
layout = "landing" # valid options: page, profile, hero, card, background, landing, custom
|
||||
layoutSwitcher = true # opt-in interactive preview of the built-in layouts
|
||||
# homepageImage = "/img/iceland.jpg" # used in: hero, and card
|
||||
showRecent = false
|
||||
showRecent = true
|
||||
showRecentItems = 12
|
||||
showMoreLink = true
|
||||
showMoreLinkDest = "docs"
|
||||
@@ -83,6 +86,7 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
showPagination = true
|
||||
invertPagination = false
|
||||
showReadingTime = true
|
||||
showReadingProgress = true
|
||||
showTableOfContents = true
|
||||
showRelatedContent = true
|
||||
relatedContentLimit = 9
|
||||
@@ -108,6 +112,7 @@ fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384",
|
||||
cardView = true
|
||||
cardViewScreenWidth = false
|
||||
constrainItemsWidth = false
|
||||
featureImageHover = false
|
||||
|
||||
[sitemap]
|
||||
excludedKinds = []
|
||||
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "Willkommen bei Blowfish! :tada:"
|
||||
description: "Diese Seite wurde mit dem Blowfish-Theme für Hugo erstellt."
|
||||
title: "Baue eine Website, die unverwechselbar deine ist."
|
||||
description: "Ein modernes, flexibles Hugo-Theme für Blogs, Dokumentation, Portfolios und mehr."
|
||||
heroLead: "Blowfish bietet ausdrucksstarke Layouts, durchdachte Voreinstellungen und praktische Bausteine für deine Inhalte — damit du dich auf das konzentrieren kannst, was du sagen möchtest."
|
||||
heroButtons:
|
||||
- label: "Loslegen"
|
||||
url: "/de/docs/installation/"
|
||||
- label: "Dokumentation entdecken"
|
||||
url: "/de/docs/"
|
||||
style: "outline"
|
||||
- label: "Star auf GitHub"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="Homepage-Layouts" >}}Wähle die Struktur, die zu deiner Website passt.{{< /stat >}}
|
||||
{{< stat value="40+" label="Shortcodes" >}}Gestalte ausdrucksstarke Inhalte, ohne eigene Templates zu pflegen.{{< /stat >}}
|
||||
{{< stat value="100%" label="Deine Inhalte" >}}Portables Markdown, vertraute Hugo-Konfiguration, kein Lock-in.{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Dies ist eine Demo des <code id="layout">background</code> Layouts.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Layout wechseln ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Blowfish-tools Demo" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="Mach es zu deinem" url="/de/docs/configuration/" >}}
|
||||
Ein stimmiges System aus Layouts, Farben, Typografie und Inhaltssteuerung.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="Schneller gestalten" url="/de/docs/shortcodes/" label="Shortcodes durchstöbern" >}}
|
||||
Nützliche Komponenten für reichere Geschichten, klarere Dokumentation und weniger Eigenbau.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="Offen entwickelt" url="/de/users/" >}}
|
||||
Entdecke echte Websites, Community-Beiträge und Patterns, die sich in der Praxis bewähren.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="Gemacht für KI-Agents" url="/de/docs/installation/#agent-skill" label="Skill installieren" >}}
|
||||
Blowfish enthält einen Agent-Skill, der Claude Code und anderen Coding-Agents beibringt, das Theme zu installieren, zu konfigurieren und damit zu arbeiten.
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "¡Bienvenido a Blowfish! :tada:"
|
||||
description: "Esta página fue creada usando el tema Blowfish para Hugo."
|
||||
title: "Crea un sitio que sea inconfundiblemente tuyo."
|
||||
description: "Un tema de Hugo moderno y flexible para blogs, documentación, portafolios y más."
|
||||
heroLead: "Blowfish te ofrece layouts expresivos, valores predeterminados bien pensados y bloques de contenido prácticos, para que te concentres en lo que quieres contar."
|
||||
heroButtons:
|
||||
- label: "Empezar"
|
||||
url: "/es/docs/installation/"
|
||||
- label: "Explorar la documentación"
|
||||
url: "/es/docs/"
|
||||
style: "outline"
|
||||
- label: "Dale una estrella en GitHub"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="Layouts de portada" >}}Elige la estructura que mejor se adapta al sitio que estás creando.{{< /stat >}}
|
||||
{{< stat value="40+" label="Shortcodes" >}}Compón contenido expresivo sin mantener plantillas a medida.{{< /stat >}}
|
||||
{{< stat value="100%" label="Tu contenido" >}}Markdown portable, configuración familiar de Hugo y sin ataduras.{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Esta es una demostración del layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Cambiar layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Demo de Blowfish-tools" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="Hazlo tuyo" url="/es/docs/configuration/" >}}
|
||||
Un sistema coherente de layouts, colores, tipografía y controles de contenido.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="Compón más rápido" url="/es/docs/shortcodes/" label="Ver shortcodes" >}}
|
||||
Componentes útiles para historias más ricas, documentación más clara y menos código a medida.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="Hecho en abierto" url="/es/users/" >}}
|
||||
Explora sitios reales, contribuciones de la comunidad y patrones que funcionan en producción.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="Pensado para agentes de IA" url="/es/docs/installation/#skill-para-agentes" label="Instalar el skill" >}}
|
||||
Blowfish incluye un skill que enseña a Claude Code y otros agentes de programación a instalar, configurar y trabajar con el tema.
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "Bienvenue sur Blowfish ! :tada:"
|
||||
description: "Cette page a été créée avec le thème Blowfish pour Hugo."
|
||||
title: "Créez un site qui vous ressemble vraiment."
|
||||
description: "Un thème Hugo moderne et flexible pour les blogs, la documentation, les portfolios et plus encore."
|
||||
heroLead: "Blowfish vous offre des layouts expressifs, des réglages par défaut bien pensés et des blocs de contenu pratiques, pour vous concentrer sur ce que vous voulez dire."
|
||||
heroButtons:
|
||||
- label: "Commencer"
|
||||
url: "/fr/docs/installation/"
|
||||
- label: "Explorer la documentation"
|
||||
url: "/fr/docs/"
|
||||
style: "outline"
|
||||
- label: "Star sur GitHub"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="Layouts d'accueil" >}}Choisissez la structure qui convient au site que vous créez.{{< /stat >}}
|
||||
{{< stat value="40+" label="Shortcodes" >}}Composez un contenu expressif sans maintenir de templates sur mesure.{{< /stat >}}
|
||||
{{< stat value="100%" label="Votre contenu" >}}Markdown portable, configuration Hugo familière et aucune dépendance.{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Ceci est une démo du layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Changer de layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Démo de Blowfish-tools" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="Faites-le vôtre" url="/fr/docs/configuration/" >}}
|
||||
Un système cohérent de layouts, couleurs, typographie et contrôles de contenu.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="Composez plus vite" url="/fr/docs/shortcodes/" label="Parcourir les shortcodes" >}}
|
||||
Des composants utiles pour des histoires plus riches, une documentation plus claire et moins de code sur mesure.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="Développé au grand jour" url="/fr/users/" >}}
|
||||
Découvrez des sites réels, des contributions de la communauté et des patterns éprouvés en production.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="Conçu pour les agents IA" url="/fr/docs/installation/#skill-pour-agents" label="Installer le skill" >}}
|
||||
Blowfish inclut un skill qui apprend à Claude Code et à d'autres agents de codage à installer, configurer et utiliser le thème.
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,25 +1,37 @@
|
||||
---
|
||||
title: "Benvenuti a Blowfish!"
|
||||
description: "Questa pagina è stata creata utilizzando il tema Blowfish per Hugo."
|
||||
title: "Crea un sito che sia inconfondibilmente tuo."
|
||||
description: "Un tema Hugo moderno e flessibile per blog, documentazione, portfolio e altro."
|
||||
heroLead: "Blowfish ti offre layout espressivi, impostazioni predefinite ben pensate e blocchi di contenuto pratici, così puoi concentrarti su ciò che vuoi raccontare."
|
||||
heroButtons:
|
||||
- label: "Inizia"
|
||||
url: "/it/docs/installation/"
|
||||
- label: "Esplora la documentazione"
|
||||
url: "/it/docs/"
|
||||
style: "outline"
|
||||
- label: "Metti una stella su GitHub"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Questa è una demo del layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Cambia layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="Layout della homepage" >}}Scegli la struttura più adatta al sito che stai creando.{{< /stat >}}
|
||||
{{< stat value="40+" label="Shortcode" >}}Componi contenuti espressivi senza mantenere template su misura.{{< /stat >}}
|
||||
{{< stat value="100%" label="I tuoi contenuti" >}}Markdown portabile, configurazione Hugo familiare e nessun lock-in.{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Demo degli strumenti Blowfish" >}}
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="Rendilo tuo" url="/it/docs/configuration/" >}}
|
||||
Un sistema coerente di layout, colori, tipografia e controlli dei contenuti.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="Componi più velocemente" url="/it/docs/shortcodes/" label="Sfoglia gli shortcode" >}}
|
||||
Componenti utili per storie più ricche, documentazione più chiara e meno codice su misura.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="Sviluppato in aperto" url="/it/users/" >}}
|
||||
Esplora siti reali, contributi della community e pattern che reggono in produzione.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="Pensato per gli agenti IA" url="/it/docs/installation/#skill-per-agenti" label="Installa la skill" >}}
|
||||
Blowfish include una skill che insegna a Claude Code e ad altri agenti di programmazione a installare, configurare e usare il tema.
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "Blowfish へようこそ! :tada:"
|
||||
description: "このページは Hugo の Blowfish テーマを利用して構築されています。"
|
||||
title: "まぎれもなく自分らしいサイトを。"
|
||||
description: "ブログ、ドキュメント、ポートフォリオなどに使える、モダンで柔軟な Hugo テーマ。"
|
||||
heroLead: "Blowfish は表現力豊かなレイアウト、行き届いたデフォルト設定、実用的なコンテンツ部品を提供します。あなたは伝えたいことに集中するだけです。"
|
||||
heroButtons:
|
||||
- label: "はじめる"
|
||||
url: "/ja/docs/installation/"
|
||||
- label: "ドキュメントを見る"
|
||||
url: "/ja/docs/"
|
||||
style: "outline"
|
||||
- label: "GitHub でスターする"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="ホームページレイアウト" >}}作りたいサイトに合った構成を選べます。{{< /stat >}}
|
||||
{{< stat value="40+" label="ショートコード" >}}独自テンプレートを管理せずに、表現力豊かなコンテンツを作成できます。{{< /stat >}}
|
||||
{{< stat value="100%" label="あなたのコンテンツ" >}}ポータブルな Markdown、おなじみの Hugo 設定、ロックインなし。{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">こちらは <code id="layout">background</code> レイアウトのデモです。</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
レイアウトを変更する↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Blowfish-tools demo" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="自分好みに" url="/ja/docs/configuration/" >}}
|
||||
レイアウト、配色、タイポグラフィ、コンテンツ制御の一貫したシステム。
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="より速く作る" url="/ja/docs/shortcodes/" label="ショートコードを見る" >}}
|
||||
豊かなストーリーと明快なドキュメントのための便利なコンポーネント。
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="オープンに開発" url="/ja/users/" >}}
|
||||
実際のサイト、コミュニティの貢献、実運用に耐えるパターンを探索できます。
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="AI エージェント対応" url="/ja/docs/installation/#エージェントスキル" label="スキルをインストール" >}}
|
||||
Blowfish には、Claude Code などのコーディングエージェントにテーマのインストール・設定・活用方法を教えるエージェントスキルが付属しています。
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "Welcome to Blowfish! :tada:"
|
||||
description: "This page was built using the Blowfish theme for Hugo."
|
||||
title: "Build a site that feels unmistakably yours."
|
||||
description: "A modern, flexible Hugo theme for blogs, documentation, portfolios, and more."
|
||||
heroLead: "Blowfish gives you expressive layouts, thoughtful defaults, and practical content building blocks, so you can focus on the thing you want to say."
|
||||
heroButtons:
|
||||
- label: "Get started"
|
||||
url: "/docs/installation/"
|
||||
- label: "Explore the docs"
|
||||
url: "/docs/"
|
||||
style: "outline"
|
||||
- label: "Star on GitHub"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="Homepage layouts" >}}Choose the structure that suits the site you are making.{{< /stat >}}
|
||||
{{< stat value="40+" label="Shortcodes" >}}Compose expressive content without maintaining one-off templates.{{< /stat >}}
|
||||
{{< stat value="100%" label="Your content" >}}Portable Markdown, familiar Hugo configuration, and no lock-in.{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">This is a demo of the <code id="layout">background</code> layout.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Switch layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Blowfish-tools demo" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="Make it yours" url="/docs/configuration/" >}}
|
||||
A coherent system of layouts, colours, typography, and content controls.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="Compose faster" url="/docs/shortcodes/" label="Browse shortcodes" >}}
|
||||
Useful components for richer stories, clearer documentation, and less custom glue.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="Made in the open" url="/users/" >}}
|
||||
Explore real sites, community contributions, and patterns that hold up in production.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="Built for AI agents" url="/docs/installation/#agent-skill" label="Install the skill" >}}
|
||||
Blowfish ships an agent skill that teaches Claude Code and other coding agents how to install, configure, and build with the theme.
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "Bem-vindo ao Blowfish! :tada:"
|
||||
description: "Esta página foi criada usando o tema Blowfish para Hugo."
|
||||
title: "Crie um site que seja inconfundivelmente seu."
|
||||
description: "Um tema Hugo moderno e flexível para blogs, documentação, portfólios e muito mais."
|
||||
heroLead: "O Blowfish oferece layouts expressivos, padrões bem pensados e blocos de conteúdo práticos, para que você se concentre no que quer dizer."
|
||||
heroButtons:
|
||||
- label: "Começar"
|
||||
url: "/pt-br/docs/installation/"
|
||||
- label: "Explorar a documentação"
|
||||
url: "/pt-br/docs/"
|
||||
style: "outline"
|
||||
- label: "Dê uma estrela no GitHub"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="Layouts de página inicial" >}}Escolha a estrutura ideal para o site que você está criando.{{< /stat >}}
|
||||
{{< stat value="40+" label="Shortcodes" >}}Componha conteúdo expressivo sem manter templates sob medida.{{< /stat >}}
|
||||
{{< stat value="100%" label="Seu conteúdo" >}}Markdown portátil, configuração familiar do Hugo e sem lock-in.{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Esta é uma demonstração do layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Mudar layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Demo do Blowfish-tools" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="Deixe com a sua cara" url="/pt-br/docs/configuration/" >}}
|
||||
Um sistema coerente de layouts, cores, tipografia e controles de conteúdo.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="Componha mais rápido" url="/pt-br/docs/shortcodes/" label="Ver shortcodes" >}}
|
||||
Componentes úteis para histórias mais ricas, documentação mais clara e menos código sob medida.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="Feito abertamente" url="/pt-br/users/" >}}
|
||||
Explore sites reais, contribuições da comunidade e padrões que funcionam em produção.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="Feito para agentes de IA" url="/pt-br/docs/installation/#skill-para-agentes" label="Instalar a skill" >}}
|
||||
O Blowfish inclui uma skill que ensina o Claude Code e outros agentes de programação a instalar, configurar e trabalhar com o tema.
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "Bem-vindo ao Blowfish! :tada:"
|
||||
description: "Esta página foi criada utilizando o tema Blowfish para Hugo."
|
||||
title: "Crie um site que seja inconfundivelmente seu."
|
||||
description: "Um tema Hugo moderno e flexível para blogs, documentação, portefólios e muito mais."
|
||||
heroLead: "O Blowfish oferece layouts expressivos, predefinições bem pensadas e blocos de conteúdo práticos, para que se concentre no que quer dizer."
|
||||
heroButtons:
|
||||
- label: "Começar"
|
||||
url: "/pt-pt/docs/installation/"
|
||||
- label: "Explorar a documentação"
|
||||
url: "/pt-pt/docs/"
|
||||
style: "outline"
|
||||
- label: "Dê uma estrela no GitHub"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="Layouts de página inicial" >}}Escolha a estrutura ideal para o site que está a criar.{{< /stat >}}
|
||||
{{< stat value="40+" label="Shortcodes" >}}Componha conteúdo expressivo sem manter templates à medida.{{< /stat >}}
|
||||
{{< stat value="100%" label="O seu conteúdo" >}}Markdown portátil, configuração familiar do Hugo e sem dependências.{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">Esta é uma demonstração do layout <code id="layout">background</code>.</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
Mudar layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Demo do Blowfish-tools" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="Torne-o seu" url="/pt-pt/docs/configuration/" >}}
|
||||
Um sistema coerente de layouts, cores, tipografia e controlos de conteúdo.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="Componha mais depressa" url="/pt-pt/docs/shortcodes/" label="Ver shortcodes" >}}
|
||||
Componentes úteis para histórias mais ricas, documentação mais clara e menos código à medida.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="Feito abertamente" url="/pt-pt/users/" >}}
|
||||
Explore sites reais, contribuições da comunidade e padrões que resistem em produção.
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="Feito para agentes de IA" url="/pt-pt/docs/installation/#skill-para-agentes" label="Instalar a skill" >}}
|
||||
O Blowfish inclui uma skill que ensina o Claude Code e outros agentes de programação a instalar, configurar e trabalhar com o tema.
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,29 +1,37 @@
|
||||
---
|
||||
title: "欢迎来到 Blowfish! :tada:"
|
||||
description: "此页面是使用 Hugo 的 Blowfish 主题搭建的"
|
||||
title: "打造一个独一无二、真正属于你的网站。"
|
||||
description: "一款现代、灵活的 Hugo 主题,适用于博客、文档、作品集等。"
|
||||
heroLead: "Blowfish 提供富有表现力的布局、贴心的默认配置和实用的内容组件,让你专注于想要表达的内容。"
|
||||
heroButtons:
|
||||
- label: "快速开始"
|
||||
url: "/zh-cn/docs/installation/"
|
||||
- label: "浏览文档"
|
||||
url: "/zh-cn/docs/"
|
||||
style: "outline"
|
||||
- label: "在 GitHub 上加星标"
|
||||
url: "https://github.com/nunocoracao/blowfish"
|
||||
style: "outline"
|
||||
github: "nunocoracao/blowfish"
|
||||
heroImage: "images/v3/welcome.png"
|
||||
---
|
||||
|
||||
{{< stats >}}
|
||||
{{< stat value="5" label="首页布局" >}}选择最适合你网站的结构。{{< /stat >}}
|
||||
{{< stat value="40+" label="短代码" >}}无需维护一次性模板,即可创作富有表现力的内容。{{< /stat >}}
|
||||
{{< stat value="100%" label="内容完全属于你" >}}可移植的 Markdown、熟悉的 Hugo 配置、没有锁定。{{< /stat >}}
|
||||
{{< /stats >}}
|
||||
|
||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center pe-3 text-primary-400">
|
||||
{{< icon "triangle-exclamation" >}}
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert"> 这是 <code id="layout">background</code> 的样式示例。</span>
|
||||
<button
|
||||
id="switch-layout-button"
|
||||
class="px-4 mx-[3px] !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700"
|
||||
>
|
||||
切换 layout ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
```shell
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< youtubeLite id="SgXhGb-7QbU" label="Blowfish-tools demo" >}}
|
||||
|
||||
|
||||
{{< feature-grid >}}
|
||||
{{< feature icon="list-check" title="打造你的风格" url="/zh-cn/docs/configuration/" >}}
|
||||
布局、配色、排版与内容控制浑然一体。
|
||||
{{< /feature >}}
|
||||
{{< feature icon="code" title="更快地创作" url="/zh-cn/docs/shortcodes/" label="浏览短代码" >}}
|
||||
实用组件,让故事更丰富、文档更清晰、无需自制胶水代码。
|
||||
{{< /feature >}}
|
||||
{{< feature icon="heart" title="开放共建" url="/zh-cn/users/" >}}
|
||||
探索真实网站、社区贡献以及经受住生产考验的模式。
|
||||
{{< /feature >}}
|
||||
{{< feature icon="wand-magic-sparkles" title="为 AI 智能体而生" url="/zh-cn/docs/installation/#智能体技能" label="安装技能" >}}
|
||||
Blowfish 附带一个智能体技能,教 Claude Code 等编程智能体安装、配置和使用本主题。
|
||||
{{< /feature >}}
|
||||
{{< /feature-grid >}}
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Erweiterte Anpassung"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Erfahren Sie, wie Sie Blowfish manuell erstellen."
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Personalización avanzada"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Aprende cómo construir Blowfish manualmente."
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Personnalisation avancée"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Apprenez à construire Blowfish manuellement."
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Advanced Customisation"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Learn how to build Blowfish manually."
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "高度なカスタマイズ"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Blowfishを手動でビルドする方法を学びましょう。"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Advanced Customisation"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Learn how to build Blowfish manually."
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Personalização avançada"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Aprenda como construir o Blowfish manualmente."
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Personalização avançada"
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "Aprenda como construir o Blowfish manualmente."
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: 进阶自定义
|
||||
featureimage: "images/v3/advanced-customisation.png"
|
||||
weight: 13
|
||||
draft: false
|
||||
description: "了解如何手动构建 Blowfish。"
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Konfiguration"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Alle in Blowfish verfügbaren Konfigurationsvariablen."
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configuration"
|
||||
tags: ["konfiguration", "dokumentation"]
|
||||
series: ["Dokumentation"]
|
||||
@@ -13,13 +14,8 @@ Blowfish ist ein hochgradig anpassbares Theme und nutzt einige der neuesten Hugo
|
||||
|
||||
Das Theme wird mit einer Standardkonfiguration geliefert, die Sie mit einem einfachen Blog oder einer statischen Website zum Laufen bringt.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Wir haben gerade ein CLI-Tool veröffentlicht, das Ihnen beim Einstieg mit Blowfish hilft. Es unterstützt Sie bei Installation und Konfiguration. Installieren Sie das CLI-Tool global mit:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
Arbeitest du mit einem KI-Coding-Agent? Blowfish enthält einen **Agent-Skill**, der Agents wie Claude Code beibringt, das Theme zu installieren, zu konfigurieren und damit zu arbeiten — die Einrichtung ist auf der [Installationsseite]({{< ref "docs/installation" >}}) beschrieben.
|
||||
{{< /alert >}}
|
||||
|
||||
> Die mit dem Theme gelieferten Konfigurationsdateien werden im TOML-Format bereitgestellt, da dies die Standard-Hugo-Syntax ist. Sie können Ihre Konfiguration bei Bedarf in YAML oder JSON konvertieren.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Configuración"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Todas las variables de configuración disponibles en Blowfish."
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configuration"
|
||||
tags: ["configuración", "documentación"]
|
||||
series: ["Documentación"]
|
||||
@@ -13,13 +14,8 @@ Blowfish es un tema altamente personalizable y utiliza algunas de las últimas c
|
||||
|
||||
El tema viene con una configuración predeterminada que te permite empezar con un blog básico o sitio web estático.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Acabamos de lanzar una herramienta CLI para ayudarte a empezar con Blowfish. Te ayudará con la instalación y configuración. Instala la herramienta CLI globalmente usando:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
¿Trabajas con un agente de programación con IA? Blowfish incluye un **skill para agentes** que enseña a agentes como Claude Code a instalar, configurar y trabajar con el tema — consulta la [página de instalación]({{< ref "docs/installation" >}}) para configurarlo.
|
||||
{{< /alert >}}
|
||||
|
||||
> Los archivos de configuración incluidos con el tema se proporcionan en formato TOML ya que es la sintaxis predeterminada de Hugo. Siéntete libre de convertir tu configuración a YAML o JSON si lo deseas.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Configuration"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Toutes les variables de configuration disponibles dans Blowfish."
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configuration"
|
||||
tags: ["configuration", "documentation"]
|
||||
series: ["Documentation"]
|
||||
@@ -13,13 +14,8 @@ Blowfish est un thème hautement personnalisable et utilise certaines des derni
|
||||
|
||||
Le thème est livré avec une configuration par défaut qui vous permet de démarrer avec un blog ou un site web statique de base.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Nous venons de lancer un outil CLI pour vous aider à démarrer avec Blowfish. Il vous aidera avec l'installation et la configuration. Installez l'outil CLI globalement en utilisant :
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
Vous travaillez avec un agent de codage IA ? Blowfish inclut un **skill pour agents** qui apprend aux agents comme Claude Code à installer, configurer et utiliser le thème — consultez la [page d'installation]({{< ref "docs/installation" >}}) pour le mettre en place.
|
||||
{{< /alert >}}
|
||||
|
||||
> Les fichiers de configuration fournis avec le thème sont au format TOML car c'est la syntaxe Hugo par défaut. N'hésitez pas à convertir votre configuration en YAML ou JSON si vous le souhaitez.
|
||||
|
||||
@@ -4,6 +4,7 @@ title: "Configurazione"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Tutte le configurazioni disponibili in Blowfish."
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configurazioni"
|
||||
tags: ["config", "docs"]
|
||||
series: ["Documentazione"]
|
||||
@@ -14,13 +15,8 @@ Blowfish è un tema altamente personalizzabile e utilizza alcune delle più rece
|
||||
|
||||
Il tema viene fornito con una configurazione predefinita che ti consente di essere operativo con un blog di base o un sito Web statico.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
We just launched a CLI tool to help you get started with Blowfish. It will help you with installation and configuration. Install the CLI tool globally using:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
Lavori con un agente di programmazione IA? Blowfish include una **skill per agenti** che insegna ad agenti come Claude Code a installare, configurare e usare il tema — consulta la [pagina di installazione]({{< ref "docs/installation" >}}) per configurarla.
|
||||
{{< /alert >}}
|
||||
|
||||
> I file di configurazione forniti con il tema sono forniti in formato TOML dato che questa è la sintassi predefinita di Hugo. Sentiti libero di convertire la tua configurazione in YAML o JSON se lo desideri.
|
||||
@@ -168,7 +164,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, `slate`, `github`, and `one-light`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. |
|
||||
| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `burufugu`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, `slate`, `github`, and `one-light`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. |
|
||||
| `defaultAppearance` | `"light"` | The default theme appearance, either `light` or `dark`. |
|
||||
| `autoSwitchAppearance` | `true` | Whether the theme appearance automatically switches based upon the visitor's operating system preference. Set to `false` to force the site to always use the `defaultAppearance`. |
|
||||
| `enableA11y` | `false` | Whether to enable the accessibility toggle button. |
|
||||
@@ -184,6 +180,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `disableImageOptimizationMD` | `false` | Disables image resize and optimization features only for images using markdown syntax (``). |
|
||||
| `disableTextInHeader` | `false` | Disables text in header, useful for logo based headers. |
|
||||
| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
|
||||
| `backgroundCanvas` | `false` | Quando è `true`, mostra `defaultBackgroundImage` come sfondo fisso a tutto schermo dietro ogni pagina. Le pagine il cui hero disegna già un proprio sfondo fisso (ad esempio lo stile hero `background` con un'immagine in evidenza) sopprimono automaticamente il canvas, e gli hero non ricorrono più a `defaultBackgroundImage` come ripiego, dato che il canvas la mostra già. |
|
||||
| `defaultFeaturedImage` | _Not set_ | Default background image for all `featured` images across articles, will be overridden by a local `featured` image. |
|
||||
| `defaultSocialImage` | _Not set_ | Default image for social media sharing (Open Graph and Twitter). Will be overridden by a local `feature` image if available. |
|
||||
| `hotlinkFeatureImage` | `false` | Hotlink external images in article feature images and article cards. Those images will not be processed by Hugo. |
|
||||
@@ -197,7 +194,9 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, and `fixed-fill-blur`. |
|
||||
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, `fixed-fill-blur`, `fixed-gradient`, and `floating`. |
|
||||
| `header.mobileMenuStyle` | `"fullscreen"` | Definisce la presentazione del menu mobile. Impostare `"dropdown"` per un menu compatto ancorato sotto l'header. |
|
||||
| `list.featureImageHover` | `false` | Aggiunge una leggera transizione di zoom quando il visitatore passa il mouse su una scheda di articolo o di contenuti correlati. Le singole pagine possono sovrascriverla con `featureImageHover` nel front matter. |
|
||||
|
||||
### Footer
|
||||
|
||||
@@ -213,7 +212,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, `landing`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.layoutSwitcher` | `false` | Mostra un selettore interattivo che consente di visualizzare in anteprima, direttamente nella pagina, i layout integrati della homepage. Pensato per demo e revisioni di design, poiché renderizza tutti i layout in anteprima. |
|
||||
| `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Can be set as local image from asset directory or external image url. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. |
|
||||
| `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. |
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "設定"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Blowfish で使えるすべての設定変数"
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configuration"
|
||||
tags: ["config", "docs"]
|
||||
series: ["Documentation"]
|
||||
@@ -13,13 +14,8 @@ Blowfish は高度にカスタマイズ可能なテーマであり、最新の H
|
||||
|
||||
このテーマには、基本的なブログまたは静的サイトをすぐに立ち上げて実行できるデフォルト設定が付属しています。
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Blowfish を簡単に使い始められるように、新しい CLI ツールをリリースしました。インストールと設定に役立ちます。 グローバルに CLI ツールをインストールするには、以下を使用します。
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
AI コーディングエージェントを使っていますか?Blowfish には、Claude Code などのエージェントにテーマのインストール・設定・活用方法を教える**エージェントスキル**が付属しています。セットアップ方法は[インストールページ]({{< ref "docs/installation" >}})をご覧ください。
|
||||
{{< /alert >}}
|
||||
|
||||
> テーマにバンドルされている設定ファイルは、デフォルトの Hugo 構文である TOML 形式で提供されています。必要に応じて、設定を YAML または JSON に変換できます。
|
||||
@@ -168,7 +164,7 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `colorScheme` | `"blowfish"` | 使用するテーマのカラースキームです。有効な値は、`blowfish`(デフォルト)、`avocado`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate`, `github`, `one-light` です。詳細については、[カラースキーム]({{< ref "getting-started#カラースキーム" >}})セクションを参照してください。 |
|
||||
| `colorScheme` | `"blowfish"` | 使用するテーマのカラースキームです。有効な値は、`blowfish`(デフォルト)、`avocado`、`burufugu`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate`, `github`, `one-light` です。詳細については、[カラースキーム]({{< ref "getting-started#カラースキーム" >}})セクションを参照してください。 |
|
||||
| `defaultAppearance` | `"light"` | デフォルトのテーマの外観です。`light` または `dark` のいずれかです。 |
|
||||
| `autoSwitchAppearance` | `true` | 訪問者のオペレーティングシステムの設定に基づいてテーマの外観を自動的に切り替えるかどうかです。`false` に設定すると、サイトは常に `defaultAppearance` を使用します。 |
|
||||
| `enableA11y` | `false` | アクセシビリティ切り替えボタンを有効にするかどうか。 |
|
||||
@@ -184,6 +180,7 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
|
||||
| `disableImageOptimizationMD` | `false` | Markdown 記法(例:``)の画像の画像サイズ変更と最適化機能のみを無効にします。他の画像には適用されます。 |
|
||||
| `disableTextInHeader` | `false` | ヘッダーのテキストを無効にします。ロゴベースのヘッダーに役立ちます。 |
|
||||
| `defaultBackgroundImage` | _未設定_ | `background` ホームページレイアウトと `background` ヒーロースタイルの両方のデフォルトの背景画像です。 |
|
||||
| `backgroundCanvas` | `false` | `true` に設定すると、`defaultBackgroundImage` をすべてのページの背後に固定のフルビューポート背景として表示します。ヒーローが独自の固定背景を描画するページ(たとえば、アイキャッチ画像を使用した `background` ヒーロースタイル)では、キャンバスは自動的に抑制されます。また、キャンバスがすでに `defaultBackgroundImage` を表示しているため、ヒーローが `defaultBackgroundImage` にフォールバックすることはなくなります。 |
|
||||
| `defaultFeaturedImage` | _未設定_ | 記事全体のすべての `featured` 画像のデフォルトの背景画像です。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `defaultSocialImage` | _未設定_ | ソーシャルメディア共有(Open Graph と Twitter)用のデフォルト画像。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `hotlinkFeatureImage` | `false` | 記事のアイキャッチ画像や記事カードで外部画像をホットリンクします。これらの画像は Hugo によって処理されません。 |
|
||||
@@ -197,7 +194,9 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `header.layout` | `"basic"` | サイト全体のヘッダーを定義します。サポートされている値は、`basic`、`fixed`、`fixed-fill`、`fixed-fill-blur` です。 |
|
||||
| `header.layout` | `"basic"` | サイト全体のヘッダーを定義します。サポートされている値は、`basic`、`fixed`、`fixed-fill`、`fixed-fill-blur`、`fixed-gradient`、`floating` です。 |
|
||||
| `header.mobileMenuStyle` | `"fullscreen"` | モバイルメニューの表示方法を定義します。ヘッダーの下に固定されたコンパクトなメニューを表示するには `"dropdown"` に設定します。 |
|
||||
| `list.featureImageHover` | `false` | 訪問者が記事カードや関連コンテンツカードにホバーしたときに、控えめなズームのトランジションを追加します。個々のページでは、フロントマターの `featureImageHover` でこれをオーバーライドできます。 |
|
||||
|
||||
### フッター(Footer)
|
||||
|
||||
@@ -213,7 +212,8 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --- | --- | --- |
|
||||
| `homepage.layout` | `"profile"` | ホームページのレイアウトです。有効な値は、`page`、`profile`、`hero`、`card`、`background`、`custom` です。`custom` に設定した場合、`/layouts/partials/home/custom.html` ファイルを作成して独自のレイアウトを提供する必要があります。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.layout` | `"profile"` | ホームページのレイアウトです。有効な値は、`page`、`profile`、`hero`、`card`、`background`、`landing`、`custom` です。`custom` に設定した場合、`/layouts/partials/home/custom.html` ファイルを作成して独自のレイアウトを提供する必要があります。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.layoutSwitcher` | `false` | 組み込みのホームページレイアウトをその場でプレビューできるインタラクティブなスイッチャーを表示します。すべてのプレビューレイアウトをレンダリングするため、デモやデザインレビューでの利用を想定しています。 |
|
||||
| `homepage.homepageImage` | _未設定_ | `hero` レイアウトと `card` レイアウトで使用される画像です。アセットディレクトリからのローカル画像または外部画像 URL として設定できます。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.showRecent` | `false` | ホームページに最近の記事リストを表示するかどうかです。 |
|
||||
| `homepage.showRecentItems` | 5 | showRecent が true の場合に表示する記事の数です。変数が0に設定されている場合、または定義されていない場合は、システムはデフォルトで5つの記事に設定されます。 |
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Configuration"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "All the configuration variables available in Blowfish."
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configuration"
|
||||
tags: ["config", "docs"]
|
||||
series: ["Documentation"]
|
||||
@@ -13,13 +14,8 @@ Blowfish is a highly customisable theme and uses some of the latest Hugo feature
|
||||
|
||||
The theme ships with a default configuration that gets you up and running with a basic blog or static website.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
We just launched a CLI tool to help you get started with Blowfish. It will help you with installation and configuration. Install the CLI tool globally using:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
Working with an AI coding agent? Blowfish ships an **agent skill** that teaches agents like Claude Code how to install, configure, and build with the theme — see the [installation page]({{< ref "docs/installation" >}}) to set it up.
|
||||
{{< /alert >}}
|
||||
|
||||
> Configuration files bundled with the theme are provided in TOML format as this is the default Hugo syntax. Feel free to convert your config to YAML or JSON if you wish.
|
||||
@@ -62,6 +58,27 @@ Blowfish was built so it would be easy to add visual support to your articles. I
|
||||
|
||||
Blowfish is optimised for full multilingual websites and theme assets are translated into several languages out of the box. The language configuration allows you to generate multiple versions of your content to provide a customised experience to your visitors in their native language.
|
||||
|
||||
### 404 page quotes
|
||||
|
||||
The 404 page displays a random movie quote in the active site language. You can replace the bundled quotes by adding a `data/quotes404.json` file to your site. Each item needs a `line` and `source`; use `lang` to target a language. Language codes may be full codes such as `pt-PT` or base codes such as `pt`. Quotes without `lang` are treated as English for backwards compatibility.
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"lang": "en",
|
||||
"line": "You shall not pass!",
|
||||
"source": "The Fellowship of the Ring (2001)"
|
||||
},
|
||||
{
|
||||
"lang": "pt-PT",
|
||||
"line": "Não passarás!",
|
||||
"source": "The Fellowship of the Ring (2001)"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Blowfish tries an exact language match, then the base language, then English. If none are available, it selects from any configured quote.
|
||||
|
||||
The theme currently supports the following languages by default:
|
||||
|
||||
| Language | Code |
|
||||
@@ -186,7 +203,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, `slate`, `github`, and `one-light`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. |
|
||||
| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `burufugu`, `fire`, `ocean`, `forest`, `princess`, `neon`, `bloody`, `terminal`, `marvel`, `noir`, `autumn`, `congo`, `slate`, `github`, and `one-light`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. |
|
||||
| `defaultAppearance` | `"light"` | The default theme appearance, either `light` or `dark`. |
|
||||
| `autoSwitchAppearance` | `true` | Whether the theme appearance automatically switches based upon the visitor's operating system preference. Set to `false` to force the site to always use the `defaultAppearance`. |
|
||||
| `enableA11y` | `false` | Whether to enable the accessibility toggle button. |
|
||||
@@ -208,6 +225,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `backgroundImageWidth` | `1200` | Width (in pixels) to scale background images to. |
|
||||
| `disableTextInHeader` | `false` | Disables text in header, useful for logo based headers. |
|
||||
| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
|
||||
| `backgroundCanvas` | `false` | When `true`, renders `defaultBackgroundImage` as a fixed full-viewport backdrop behind every page. Pages whose hero paints its own fixed background (for example the `background` hero style with a feature image) automatically suppress the canvas, and heroes no longer fall back to `defaultBackgroundImage` since the canvas already displays it. |
|
||||
| `defaultFeaturedImage` | _Not set_ | Default background image for all `featured` images across articles, will be overridden by a local `featured` image. |
|
||||
| `defaultSocialImage` | _Not set_ | Default image for social media sharing (Open Graph and Twitter). Will be overridden by a local `feature` image. |
|
||||
| `hotlinkFeatureImage` | `false` | Hotlink external images in article feature images and article cards. Those images will not be processed by Hugo. |
|
||||
@@ -226,7 +244,9 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, and `fixed-fill-blur`. |
|
||||
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, `fixed-fill-blur`, `fixed-gradient`, and `floating`. |
|
||||
| `header.mobileMenuStyle` | `"fullscreen"` | Defines the mobile menu presentation. Set to `"dropdown"` for a compact menu anchored below the header. |
|
||||
| `list.featureImageHover` | `false` | Adds a subtle zoom transition when a visitor hovers a post or related-content card. Individual pages can override this with `featureImageHover` in front matter. |
|
||||
|
||||
### Footer
|
||||
|
||||
@@ -242,7 +262,8 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
|
||||
| Name | Default | Description |
|
||||
| --- | --- | --- |
|
||||
| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, `landing`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.layoutSwitcher` | `false` | Renders an interactive, in-place preview switcher for the built-in homepage layouts. Intended for demos and design review because it renders every preview layout. |
|
||||
| `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Can be set as local image from asset directory or external image url. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
|
||||
| `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. |
|
||||
| `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. |
|
||||
@@ -278,6 +299,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. |
|
||||
| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. |
|
||||
| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. |
|
||||
| `article.showReadingProgress` | `false` | When set to `true` a reading progress bar is displayed at the top of articles. |
|
||||
| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `hugo.toml`. Please check the theme `hugo.toml` if you want to enable this feature and copy all the relevant _related_ entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. |
|
||||
| `article.relatedContentLimit` | `3` | Limit of related articles to display if `showRelatedContent` is turned on. |
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Configuração"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Todas as variáveis de configuração disponíveis no Blowfish."
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configuration"
|
||||
tags: ["configuração", "documentação"]
|
||||
series: ["Documentação"]
|
||||
@@ -13,13 +14,8 @@ O Blowfish é um tema altamente personalizável e usa alguns dos recursos mais r
|
||||
|
||||
O tema vem com uma configuração padrão que permite você começar com um blog básico ou site estático.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Acabamos de lançar uma ferramenta CLI para ajudá-lo a começar com o Blowfish. Ela ajudará com a instalação e configuração. Instale a ferramenta CLI globalmente usando:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
Trabalha com um agente de programação com IA? O Blowfish inclui uma **skill para agentes** que ensina agentes como o Claude Code a instalar, configurar e trabalhar com o tema — veja a [página de instalação]({{< ref "docs/installation" >}}) para configurá-la.
|
||||
{{< /alert >}}
|
||||
|
||||
> Os arquivos de configuração incluídos com o tema são fornecidos no formato TOML, pois é a sintaxe padrão do Hugo. Sinta-se à vontade para converter sua configuração para YAML ou JSON, se desejar.
|
||||
|
||||
@@ -3,6 +3,7 @@ title: "Configuração"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "Todas as variáveis de configuração disponíveis no Blowfish."
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
slug: "configuration"
|
||||
tags: ["configuração", "documentação"]
|
||||
series: ["Documentação"]
|
||||
@@ -13,13 +14,8 @@ O Blowfish é um tema altamente personalizável e utiliza algumas das funcionali
|
||||
|
||||
O tema vem com uma configuração predefinida que lhe permite começar com um blogue básico ou site estático.
|
||||
|
||||
{{< alert "fire" >}}
|
||||
Acabámos de lançar uma ferramenta CLI para o ajudar a começar com o Blowfish. Irá ajudá-lo com a instalação e configuração. Instale a ferramenta CLI globalmente utilizando:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
Trabalha com um agente de programação com IA? O Blowfish inclui uma **skill para agentes** que ensina agentes como o Claude Code a instalar, configurar e trabalhar com o tema — consulte a [página de instalação]({{< ref "docs/installation" >}}) para a configurar.
|
||||
{{< /alert >}}
|
||||
|
||||
> Os ficheiros de configuração incluídos com o tema são fornecidos no formato TOML, pois é a sintaxe predefinida do Hugo. Sinta-se à vontade para converter a sua configuração para YAML ou JSON, se desejar.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "配置"
|
||||
featureimage: "images/v3/configuration-system.png"
|
||||
weight: 4
|
||||
draft: false
|
||||
description: "介绍 Blowfish 中所有可用的的配置变量。"
|
||||
@@ -13,13 +14,8 @@ Blowfish 是一个高度定制化的主题,使用到了一些 Hugo 中最新
|
||||
|
||||
主题附带了默认配置,可以让你快速启动一个基本的博客或静态网站。
|
||||
|
||||
{{< alert "fire" >}}
|
||||
我们刚刚推出了 CLI 工具,来帮助你快速上手 Blowfish。它将帮助你进行安装和配置。使用以下命令可以全局范围安装 CLI 工具:
|
||||
|
||||
```bash
|
||||
npx blowfish-tools
|
||||
```
|
||||
|
||||
{{< alert "wand-magic-sparkles" >}}
|
||||
在使用 AI 编程智能体?Blowfish 附带一个**智能体技能**,可以教 Claude Code 等智能体如何安装、配置和使用本主题 — 请参阅[安装页面]({{< ref "docs/installation" >}})进行设置。
|
||||
{{< /alert >}}
|
||||
|
||||
> 配置文件是基于 TOML 格式的,这也是 Hugo 默认支持的语法。当然如果你愿意,也可以将配置转换成 YAML 或 JSON 格式。
|
||||
@@ -168,7 +164,7 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
|
||||
|
||||
| 名称 | 默认值 | 描述 |
|
||||
| --- | --- | --- |
|
||||
| `colorScheme` | `"blowfish"` | 主题使用的颜色方案。合法的值有: `blowfish` (默认)、`avocado`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate`、`github` 和 `one-light`。 具体参考[颜色方案]({{< ref "getting-started#colour-schemes" >}})以获取更多信息。 |
|
||||
| `colorScheme` | `"blowfish"` | 主题使用的颜色方案。合法的值有: `blowfish` (默认)、`avocado`、`burufugu`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate`、`github` 和 `one-light`。 具体参考[颜色方案]({{< ref "getting-started#colour-schemes" >}})以获取更多信息。 |
|
||||
| `defaultAppearance` | `"light"` | 默认的主题外观,可以是 `light` 或者 `dark`。 |
|
||||
| `autoSwitchAppearance` | `true` | 主题外观是否根据访问者操作系统的偏好自动切换。设置为 `false` 会强制网站始终使用 `defaultAppearance`。 |
|
||||
| `enableA11y` | `false` | 是否启用无障碍切换按钮。 |
|
||||
@@ -188,6 +184,7 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
|
||||
| `backgroundImageWidth` | `1200` | 宽度(以像素为单位)用于缩放背景图像。 |
|
||||
| `disableTextInHeader` | `false` | 禁用文本类型的标题,对基于 logo 的标题很有用。 |
|
||||
| `defaultBackgroundImage` | 无 | 设置默认背景图,用于 `background` 和 `hero` 布局下的主页。 |
|
||||
| `backgroundCanvas` | `false` | 当设置为 `true` 时,将 `defaultBackgroundImage` 渲染为固定的全视口背景,显示在每个页面之后。如果页面的 hero 自身绘制了固定背景(例如使用特色图片的 `background` hero 样式),则会自动隐藏该背景画布;同时 hero 也不再回退使用 `defaultBackgroundImage`,因为背景画布已经显示了它。 |
|
||||
| `defaultFeaturedImage` | 无 | 设置默认背景图片,用于所有文章的`featured`图片,可以通过文章目录中的 `featured` 图片替换。 |
|
||||
| `defaultSocialImage` | 无 | 社交媒体分享(Open Graph 和 Twitter)使用的默认图片,可以通过文章目录中的 `featured` 图片替换。 |
|
||||
| `hotlinkFeatureImage` | `false` | 在文章特色图片和文章卡片中外链图片。这些图片不会被 Hugo 处理。 |
|
||||
@@ -201,7 +198,9 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
|
||||
|
||||
| 名称 | 默认值 | 描述 |
|
||||
| --- | --- | --- |
|
||||
| `header.layout` | `"basic"` | 定义整个站点的页头的布局,支持的参数有 `basic`、`fixed`、`fixed-fill`、and `fixed-fill-blur`. |
|
||||
| `header.layout` | `"basic"` | 定义整个站点的页头的布局,支持的参数有 `basic`、`fixed`、`fixed-fill`、`fixed-fill-blur`、`fixed-gradient` 和 `floating`。 |
|
||||
| `header.mobileMenuStyle` | `"fullscreen"` | 定义移动端菜单的展示方式。设置为 `"dropdown"` 可使用锚定在页头下方的紧凑菜单。 |
|
||||
| `list.featureImageHover` | `false` | 当访问者将鼠标悬停在文章卡片或相关内容卡片上时,添加轻微的缩放过渡效果。各个页面可以通过扉页参数中的 `featureImageHover` 覆盖此设置。 |
|
||||
|
||||
### 页脚
|
||||
|
||||
@@ -217,7 +216,8 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
|
||||
|
||||
| 名称 | 默认值 | 描述 |
|
||||
| --- | --- | --- |
|
||||
| `homepage.layout` | `"profile"` | 首页布局参数。合法的参数值有: `page`、`profile`、`hero`、`card`、`background` 或 `custom`。当你设置为 `custom` 时,你必须创建 `/layouts/partials/home/custom.html` 文件以定制自己的布局。参考[主页布局]({{< ref "homepage-layout" >}})来获取更多信息。 |
|
||||
| `homepage.layout` | `"profile"` | 首页布局参数。合法的参数值有: `page`、`profile`、`hero`、`card`、`background`、`landing` 或 `custom`。当你设置为 `custom` 时,你必须创建 `/layouts/partials/home/custom.html` 文件以定制自己的布局。参考[主页布局]({{< ref "homepage-layout" >}})来获取更多信息。 |
|
||||
| `homepage.layoutSwitcher` | `false` | 为内置的主页布局渲染一个可交互的原位预览切换器。由于它会渲染所有预览布局,主要用于演示和设计评审场景。 |
|
||||
| `homepage.homepageImage` | 无 | 在 `hero` 和 `card` 布局中使用的图像。图片可以来自于本地的资源目录,也可以是外部图像 URL。参考 [主页布局]({{< ref "homepage-layout" >}}) 来获取更多信息。 |
|
||||
| `homepage.showRecent` | `false` | 是否在主页展示最新文章列表。 |
|
||||
| `homepage.showRecentItems` | 5 | 如果将 `showRecent` 设置为 `true`,此参数用于显示多少篇文章。如果没有设置或者为0,则默认显示5篇文章。 |
|
||||
|
||||