update the theme
This commit is contained in:
parent
008abb31c3
commit
3988dc59f8
50 changed files with 6947 additions and 6547 deletions
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"projects": {
|
|
||||||
"default": "blowfish-21fff"
|
|
||||||
}
|
|
||||||
}
|
|
144
themes/blowfish/README.id.md
Normal file
144
themes/blowfish/README.id.md
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
**[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | Indonesian | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md)**
|
||||||
|
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish dirancang sebagai tema yang kuat dan ringan untuk [Hugo](https://gohugo.io). Tema ini dibuat menggunakan Tailwind CSS dengan desain yang bersih dan minimalis, yang mengutamakan konten Anda.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
🌏 [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
|
||||||
|
- Beragam skema warna (atau sesuaikan sendiri)
|
||||||
|
- Mode gelap (paksa aktif/nonaktif atau otomatis dengan pengaturan pengguna)
|
||||||
|
- 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
|
||||||
|
- Mode Zen untuk membaca artikel
|
||||||
|
- Fleksibel dengan berbagai jenis konten, taksonomi, dan menu
|
||||||
|
- Menu header dan footer
|
||||||
|
- Menu bersarang & sub-menu navigasi
|
||||||
|
- 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
|
||||||
|
- Integrasi BuyMeACoffee
|
||||||
|
- Pencarian situs berbasis klien dengan Fuse.js
|
||||||
|
- Diagram dan visualisasi menggunakan Mermaid
|
||||||
|
- Grafik menggunakan Chart.js
|
||||||
|
- Integrasi TypeIt
|
||||||
|
- Sematan YouTube dengan peningkatan kinerja
|
||||||
|
- Notasi matematika menggunakan KaTeX
|
||||||
|
- Ikon SVG dari FontAwesome 6
|
||||||
|
- Pengubahan ukuran gambar otomatis menggunakan Hugo Pipes
|
||||||
|
- Anchor heading, daftar isi, salin kode, tombol, lencana, dan lainnya
|
||||||
|
- Dukungan HTML dan emoji dalam artikel 🎉
|
||||||
|
- SEO-friendly dengan tautan berbagi ke media sosial
|
||||||
|
- Dukungan untuk Fathom Analytics dan Google Analytics
|
||||||
|
- Dukungan RSS feed, favicon, dan komentar
|
||||||
|
- Kustomisasi tingkat lanjut dengan definisi warna dan gaya Tailwind yang sederhana
|
||||||
|
- Dioptimalkan untuk kinerja dan aksesibilitas dengan skor Lighthouse sempurna
|
||||||
|
- Dokumentasi lengkap dengan pembaruan rutin
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Dokumentasi
|
||||||
|
|
||||||
|
Blowfish memiliki [dokumentasi lengkap](https://blowfish.page/docs/) yang mencakup semua aspek tema. Pastikan untuk [membaca dokumentasi](https://blowfish.page/docs/) guna mempelajari cara menggunakan tema dan fiturnya.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instalasi
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
||||||
|
### Instalasi Cepat Menggunakan Blowfish Tools
|
||||||
|
|
||||||
|
> **Catatan:** Pastikan Anda sudah menginstal **Node.js**, **Git**, **Go**, 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.
|
||||||
|
|
||||||
|
Instal alat CLI secara global menggunakan npm (atau manajer paket lainnya):
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Kemudian jalankan perintah berikut untuk memulai interaksi yang akan memandu Anda melalui proses pembuatan dan konfigurasi:
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Untuk membuat proyek Hugo baru dan menginstal tema sekaligus, gunakan:
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Instalasi Cepat Menggunakan Git Submodules
|
||||||
|
|
||||||
|
> **Catatan:** Pastikan Anda sudah menginstal **Git**, **Go**, dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||||
|
|
||||||
|
1. Dari direktori proyek Anda, inisialisasi git:
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Konfigurasikan Blowfish sebagai submodul git:
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Hapus file `config.toml` di root proyek dan salin file `*.toml` dari tema ke dalam folder `config/_default/`.
|
||||||
|
|
||||||
|
4. Ikuti petunjuk [Memulai](https://blowfish.page/docs/getting-started/) untuk mengonfigurasi situs web Anda.
|
||||||
|
|
||||||
|
### Memperbarui Tema
|
||||||
|
|
||||||
|
Untuk memperbarui tema ke rilis terbaru, cukup jalankan perintah berikut di direktori proyek Anda:
|
||||||
|
```shell
|
||||||
|
hugo mod get -u
|
||||||
|
```
|
||||||
|
|
||||||
|
Instruksi pembaruan selengkapnya tersedia dalam [dokumentasi instalasi](https://blowfish.page/docs/installation/#installing-updates).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Kontribusi
|
||||||
|
|
||||||
|
Blowfish akan terus berkembang seiring waktu. Jika Anda memiliki ide atau ingin melaporkan bug, silakan hubungi kami:
|
||||||
|
|
||||||
|
- 🐛 **Laporan bug & masalah:** Gunakan [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ide fitur baru:** Buat diskusi di [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **Pertanyaan umum:** Kunjungi [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
Jika Anda bisa memperbaiki bug atau menambahkan fitur baru, kontribusi dalam bentuk PR sangat dihargai. Pelajari lebih lanjut dalam [panduan kontribusi](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Grafik Stargazers
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
178
themes/blowfish/README.ja.md
Normal file
178
themes/blowfish/README.ja.md
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | 日本語
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfishは[Hugo](https://gohugo.io)のために設計された強力で軽量なテーマです。Tailwind CSS を使用し、コンテンツを優先したクリーンでミニマルなデザインでが特徴です。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [デモサイト](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 で構築された、完璧なレスポンシブデザイン
|
||||||
|
- 複数の配色 (または、自分で完全にカスタマイズ可能)
|
||||||
|
- ダークモード (強制オン/オフ か 自動選択・ユーザー切り替え)
|
||||||
|
- 高度なカスタマイズが可能な設定
|
||||||
|
- Firebase 連携で動的データをサポート
|
||||||
|
- 閲覧数といいね機能
|
||||||
|
- 関連記事
|
||||||
|
- 複数のホームページレイアウト
|
||||||
|
- 複数人の著者
|
||||||
|
- シリーズ記事
|
||||||
|
- 日付と価値付けによる記事の並べ替え
|
||||||
|
- 記事を読むための Zen モード
|
||||||
|
- あらゆるコンテンツタイプ、分類、メニューに柔軟に対応
|
||||||
|
- ヘッダー/フッターメニュー
|
||||||
|
- 階層化されたメニューとサブナビゲーションメニュー
|
||||||
|
- スクロール可能な目次
|
||||||
|
- RTL 言語を含む多言語コンテンツのサポート
|
||||||
|
- サードパーティー ウェブサイトの投稿へのリンク
|
||||||
|
- ギャラリー、タイムライン、GitHub カード、カルーセルなど、複数のショートコードに対応
|
||||||
|
- Buy Me a Coffee 連携
|
||||||
|
- Fuse.js を利用したクライアントサイドのサイト内検索
|
||||||
|
- Mermaid を使用したダイアグラムや視覚化
|
||||||
|
- Chart.js を使用したグラフ表示
|
||||||
|
- TypeIt 連携
|
||||||
|
- パフォーマンスを改善した YouTube 埋め込み
|
||||||
|
- KaTeX を使用した数式表現
|
||||||
|
- FontAwesome 6 の SVG アイコン
|
||||||
|
- Hugo Pipes を使用した画像の自動リサイズ
|
||||||
|
- アンカーリンク、目次、コードコピー、ボタン、バッジなど
|
||||||
|
- 記事内での HTML と絵文字のサポート 🎉
|
||||||
|
- ソーシャルメディアへの共有リンクを備えた SEO フレンドリーな設計
|
||||||
|
- Fathom Analytics と Google Analytics のサポート
|
||||||
|
- RSS フィード、ファビコン、コメント機能のサポート
|
||||||
|
- Tailwind の色定義とスタイルを使った高度なカスタマイズ
|
||||||
|
- Lighthouse で満点評価を獲得したパフォーマンスとアクセシビリティの最適化
|
||||||
|
- 充実したドキュメントと定期的なアップデート
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## ドキュメント
|
||||||
|
|
||||||
|
Blowfish には、テーマのあらゆる側面を網羅した[詳細なドキュメント](https://blowfish.page/docs/)があります。テーマの使い方や機能を詳しく知るために、必ず[ドキュメントを読んで](https://blowfish.page/docs/)ください。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## インストール
|
||||||
|
|
||||||
|
Blowfish は、git サブモジュール、Hugo モジュール、または完全な手動インストールなど、いくつかのインストール方法をサポートしています。
|
||||||
|
|
||||||
|
各方法の詳細な手順は、[インストール](https://blowfish.page/docs/installation)ドキュメントに記載されています。最も簡単なセットアップ方法については、ドキュメントを参照してください。以下にクイックスタートガイドを示します。git を使用している場合はサブモジュール、Hugo テーマのインストールに慣れている場合は Hugo モジュールを使用するのがおすすめです。
|
||||||
|
|
||||||
|
### Blowfish Tools を使ったクイックスタート
|
||||||
|
|
||||||
|
> **注意:** **Node.js**、**Git**、**Go**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||||
|
|
||||||
|
Blowfish を使い始めるのに役立つ新しい CLI ツールをリリースしました。このツールは、新しい Hugo プロジェクトを作成し、テーマをインストールし、テーマ設定ファイルをセットアップします。まだベータ版なので、[問題を見つけたら報告してください](https://github.com/nunocoracao/blowfish-tools)。
|
||||||
|
|
||||||
|
npm(または他のパッケージマネージャー)を使って CLI ツールをグローバルにインストールします:
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
`blowfish-tools` コマンドを実行すると、対話形式でプロジェクトの作成と設定をガイドするツールが起動します。
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
`blowfish-tools new` コマンドを実行すると、新しい Hugo プロジェクトを作成し、テーマを一度にインストールすることもできます。詳細については、CLI のヘルプを参照してください。
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### git サブモジュールを使ったクイックスタート
|
||||||
|
|
||||||
|
> **注意:** **Git**、**Go**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||||
|
|
||||||
|
1. プロジェクトディレクトリで、git を初期化します。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Blowfish を git サブモジュールとして設定します。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. ウェブサイトのルートフォルダで、Hugo によって生成された `config.toml` ファイルを削除します。テーマから `*.toml` 設定ファイルをコピーして、`config/_default/` フォルダに保存します。
|
||||||
|
|
||||||
|
これらのテーマ設定ファイルは、Hugo キャッシュディレクトリにあります。または、GitHub から[コピーをダウンロード](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)できます。
|
||||||
|
|
||||||
|
4. [Getting Started](https://blowfish.page/docs/getting-started/) の手順に従って、ウェブサイトを設定します。
|
||||||
|
|
||||||
|
### Hugo を使ったクイックスタート
|
||||||
|
|
||||||
|
> **注意:** **Go** と **Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||||
|
|
||||||
|
1. プロジェクトディレクトリから、Hugo Modules を初期化します。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. `config/_default/module.toml` を作成し、以下を追加します。
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. `hugo server` を使用してサーバーを起動すると、テーマが自動的にダウンロードされます。
|
||||||
|
|
||||||
|
4. ウェブサイトのルートフォルダにある、Hugo によって生成された `config.toml` ファイルを削除します。テーマの `*.toml` 設定ファイルを `config/_default/` フォルダにコピーします。
|
||||||
|
|
||||||
|
> **注意:** 上記で作成した `module.toml` ファイルを上書きしないでください!
|
||||||
|
|
||||||
|
これらのテーマ設定ファイルは、Hugo のキャッシュディレクトリにあります。または、GitHub から[コピーをダウンロード](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)できます。
|
||||||
|
|
||||||
|
5. [Getting Started](https://blowfish.page/docs/getting-started/) の手順に従って、ウェブサイトを設定します。
|
||||||
|
|
||||||
|
### テーマのアップデートのインストール
|
||||||
|
|
||||||
|
新しいリリースが公開されたら、Hugo を使ってテーマをアップデートできます。プロジェクトディレクトリから `hugo mod get -u` を実行するだけで、テーマは自動的に最新リリースにアップデートされます。
|
||||||
|
|
||||||
|
詳細な[アップデート手順](https://blowfish.page/docs/installation/#installing-updates)はドキュメントに記載されています。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 貢献
|
||||||
|
|
||||||
|
Blowfish は時間とともに進化していく予定です。必要に応じて機能の追加や変更を続けていく予定です。
|
||||||
|
|
||||||
|
問題や追加してほしい新機能の提案があれば、お気軽にご連絡ください。
|
||||||
|
|
||||||
|
- 🐛 **バグ報告と問題点:** [GitHub Issues](https://github.com/nunocoracao/blowfish/issues) を使用してください
|
||||||
|
- 💡 **新機能のアイデア:** [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) でディスカッションを開始してください
|
||||||
|
- 🙋♀️ **一般的な質問:** [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) へ進んでください
|
||||||
|
|
||||||
|
バグ修正や新機能の実装ができる方は、Pull Request を歓迎します。詳しくは[貢献ガイドライン](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md)をご覧ください。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## スター数の推移
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
|
@ -1,7 +1,6 @@
|
||||||
English | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md)
|
English | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md)
|
||||||
# Blowfish
|
# Blowfish
|
||||||
[](https://github.com/nunocoracao/blowfish/actions/workflows/firebase-production.yml)
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
[](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml)
|
|
||||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
[](https://themes.gohugo.io/themes/blowfish/)
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | 简体中文
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md) | 简体中文 | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md)
|
||||||
# Blowfish
|
# Blowfish
|
||||||
[](https://github.com/nunocoracao/blowfish/actions/workflows/firebase-production.yml)
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
[](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml)
|
|
||||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
|
||||||
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
[](https://themes.gohugo.io/themes/blowfish/)
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|
@ -116,7 +115,7 @@ blowfish-tools new mynewsite
|
||||||
|
|
||||||
3. 在你网站的根目录中删除由 Hugo 自动生成的 `config.toml`文件,并把主题文件夹中的`*.toml`配置文件复制到你的 `config/_default/`文件夹中
|
3. 在你网站的根目录中删除由 Hugo 自动生成的 `config.toml`文件,并把主题文件夹中的`*.toml`配置文件复制到你的 `config/_default/`文件夹中
|
||||||
|
|
||||||
你可在 Hugo 缓存目录中找到主题配置文件,或者也可以从[这里](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/nunocoracao/blowfish/tree/main/config/_default)下载一份。
|
你可在 Hugo 缓存目录中找到主题配置文件,或者也可以从[这里](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)下载一份。
|
||||||
|
|
||||||
4. 按照[入门指南](https://blowfish.page/zh-cn/docs/getting-started/)来配置你的网站
|
4. 按照[入门指南](https://blowfish.page/zh-cn/docs/getting-started/)来配置你的网站
|
||||||
|
|
||||||
|
@ -143,7 +142,7 @@ blowfish-tools new mynewsite
|
||||||
|
|
||||||
> **注** 不要覆盖之前的 `module.toml` !
|
> **注** 不要覆盖之前的 `module.toml` !
|
||||||
|
|
||||||
你可在 Hugo 缓存目录中找到主题配置文件,或者也可以从[这里](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/nunocoracao/blowfish/tree/main/config/_default)下载一份。
|
你可在 Hugo 缓存目录中找到主题配置文件,或者也可以从[这里](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)下载一份。
|
||||||
|
|
||||||
5. 按照[入门指南](https://blowfish.page/zh-cn/docs/getting-started/)来配置你的网站
|
5. 按照[入门指南](https://blowfish.page/zh-cn/docs/getting-started/)来配置你的网站
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,10 +1,9 @@
|
||||||
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||||
|
|
||||||
@import 'components/zen-mode.css';
|
@import './components/zen-mode.css';
|
||||||
|
|
||||||
@tailwind base;
|
@import "tailwindcss";
|
||||||
@tailwind components;
|
@config "../../tailwind.config.js";
|
||||||
@tailwind utilities;
|
|
||||||
|
|
||||||
body a,
|
body a,
|
||||||
body button {
|
body button {
|
||||||
|
|
|
@ -76,14 +76,24 @@ var updateMeta = () => {
|
||||||
{{ $secondaryLogo := resources.Get .Site.Params.SecondaryLogo }}
|
{{ $secondaryLogo := resources.Get .Site.Params.SecondaryLogo }}
|
||||||
{{ if and ($primaryLogo) ($secondaryLogo) }}
|
{{ if and ($primaryLogo) ($secondaryLogo) }}
|
||||||
var updateLogo = (targetAppearance) => {
|
var updateLogo = (targetAppearance) => {
|
||||||
var elems;
|
var imgElems = document.querySelectorAll("img.logo");
|
||||||
elems = document.querySelectorAll("img.logo")
|
var logoContainers = document.querySelectorAll("span.logo");
|
||||||
|
|
||||||
targetLogoPath =
|
targetLogoPath =
|
||||||
targetAppearance == "{{ .Site.Params.DefaultAppearance }}" ?
|
targetAppearance == "{{ .Site.Params.DefaultAppearance }}" ?
|
||||||
"{{ $primaryLogo.RelPermalink }}" : "{{ $secondaryLogo.RelPermalink }}"
|
"{{ $primaryLogo.RelPermalink }}" : "{{ $secondaryLogo.RelPermalink }}"
|
||||||
for (const elem of elems) {
|
for (const elem of imgElems) {
|
||||||
elem.setAttribute("src", targetLogoPath)
|
elem.setAttribute("src", targetLogoPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{{ if eq $primaryLogo.MediaType.SubType "svg" }}
|
||||||
|
targetContent =
|
||||||
|
targetAppearance == "{{ .Site.Params.DefaultAppearance }}" ?
|
||||||
|
`{{ $primaryLogo.Content | safeHTML }}` : `{{ $secondaryLogo.Content | safeHTML }}`
|
||||||
|
for (const container of logoContainers) {
|
||||||
|
container.innerHTML = targetContent;
|
||||||
|
}
|
||||||
|
{{ end }}
|
||||||
}
|
}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -2,6 +2,17 @@ function css(name) {
|
||||||
return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")";
|
return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
const mermaidDivs = document.querySelectorAll("div.mermaid");
|
||||||
|
|
||||||
|
for (const div of mermaidDivs) {
|
||||||
|
const preElement = div.querySelector("pre");
|
||||||
|
if (preElement) {
|
||||||
|
div.textContent = preElement.textContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
mermaid.initialize({
|
mermaid.initialize({
|
||||||
theme: "base",
|
theme: "base",
|
||||||
themeVariables: {
|
themeVariables: {
|
||||||
|
|
|
@ -20,6 +20,10 @@ function _toogleZenMode(zendModeButton) {
|
||||||
articleContent.classList.toggle('max-w-fit');
|
articleContent.classList.toggle('max-w-fit');
|
||||||
articleContent.classList.toggle('max-w-prose');
|
articleContent.classList.toggle('max-w-prose');
|
||||||
|
|
||||||
|
// Change width of article title
|
||||||
|
header.classList.toggle('max-w-full');
|
||||||
|
header.classList.toggle('max-w-prose');
|
||||||
|
|
||||||
// Read i18n title from data-attributes
|
// Read i18n title from data-attributes
|
||||||
const titleI18nDisable = zendModeButton.getAttribute('data-title-i18n-disable');
|
const titleI18nDisable = zendModeButton.getAttribute('data-title-i18n-disable');
|
||||||
const titleI18nEnable = zendModeButton.getAttribute('data-title-i18n-enable');
|
const titleI18nEnable = zendModeButton.getAttribute('data-title-i18n-enable');
|
||||||
|
|
File diff suppressed because one or more lines are too long
6
themes/blowfish/assets/lib/fuse/fuse.min.js
vendored
6
themes/blowfish/assets/lib/fuse/fuse.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};return function(){r.d(o,{default:function(){return d}});var e=r(771),t=r.n(e);const n=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},i=/^\\begin{/;var a=function(e,t){let r;const o=[],a=new RegExp("("+t.map((e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;r=e.search(a),-1!==r;){r>0&&(o.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));const a=t.findIndex((t=>e.startsWith(t.left)));if(r=n(t[a].right,e,t[a].left.length),-1===r)break;const l=e.slice(0,r+t[a].right.length),s=i.test(l)?l:e.slice(t[a].left.length,r);o.push({type:"math",data:s,rawData:l,display:t[a].display}),e=e.slice(r+t[a].right.length)}return""!==e&&o.push({type:"text",data:e}),o};const l=function(e,n){const r=a(e,n.delimiters);if(1===r.length&&"text"===r[0].type)return null;const o=document.createDocumentFragment();for(let e=0;e<r.length;e++)if("text"===r[e].type)o.appendChild(document.createTextNode(r[e].data));else{const i=document.createElement("span");let a=r[e].data;n.displayMode=r[e].display;try{n.preProcess&&(a=n.preProcess(a)),t().render(a,i,n)}catch(i){if(!(i instanceof t().ParseError))throw i;n.errorCallback("KaTeX auto-render: Failed to parse `"+r[e].data+"` with ",i),o.appendChild(document.createTextNode(r[e].rawData));continue}o.appendChild(i)}return o},s=function(e,t){for(let n=0;n<e.childNodes.length;n++){const r=e.childNodes[n];if(3===r.nodeType){let o=r.textContent,i=r.nextSibling,a=0;for(;i&&i.nodeType===Node.TEXT_NODE;)o+=i.textContent,i=i.nextSibling,a++;const s=l(o,t);if(s){for(let e=0;e<a;e++)r.nextSibling.remove();n+=s.childNodes.length-1,e.replaceChild(s,r)}else n+=a}else if(1===r.nodeType){const e=" "+r.className+" ";-1===t.ignoredTags.indexOf(r.nodeName.toLowerCase())&&t.ignoredClasses.every((t=>-1===e.indexOf(" "+t+" ")))&&s(r,t)}}};var d=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},s(e,n)}}(),o=o.default}()}));
|
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={757:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};r.d(o,{default:function(){return p}});var i=r(757),a=r.n(i);const l=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},s=/^\\begin{/;var d=function(e,t){let n;const r=[],o=new RegExp("("+t.map((e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;n=e.search(o),-1!==n;){n>0&&(r.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));const o=t.findIndex((t=>e.startsWith(t.left)));if(n=l(t[o].right,e,t[o].left.length),-1===n)break;const i=e.slice(0,n+t[o].right.length),a=s.test(i)?i:e.slice(t[o].left.length,n);r.push({type:"math",data:a,rawData:i,display:t[o].display}),e=e.slice(n+t[o].right.length)}return""!==e&&r.push({type:"text",data:e}),r};const c=function(e,t){const n=d(e,t.delimiters);if(1===n.length&&"text"===n[0].type)return null;const r=document.createDocumentFragment();for(let e=0;e<n.length;e++)if("text"===n[e].type)r.appendChild(document.createTextNode(n[e].data));else{const o=document.createElement("span");let i=n[e].data;t.displayMode=n[e].display;try{t.preProcess&&(i=t.preProcess(i)),a().render(i,o,t)}catch(o){if(!(o instanceof a().ParseError))throw o;t.errorCallback("KaTeX auto-render: Failed to parse `"+n[e].data+"` with ",o),r.appendChild(document.createTextNode(n[e].rawData));continue}r.appendChild(o)}return r},f=function(e,t){for(let n=0;n<e.childNodes.length;n++){const r=e.childNodes[n];if(3===r.nodeType){let o=r.textContent,i=r.nextSibling,a=0;for(;i&&i.nodeType===Node.TEXT_NODE;)o+=i.textContent,i=i.nextSibling,a++;const l=c(o,t);if(l){for(let e=0;e<a;e++)r.nextSibling.remove();n+=l.childNodes.length-1,e.replaceChild(l,r)}else n+=a}else if(1===r.nodeType){const e=" "+r.className+" ";-1===t.ignoredTags.indexOf(r.nodeName.toLowerCase())&&t.ignoredClasses.every((t=>-1===e.indexOf(" "+t+" ")))&&f(r,t)}}};var p=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},f(e,n)};return o=o.default}()}));
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
965
themes/blowfish/assets/lib/mermaid/mermaid.min.js
vendored
965
themes/blowfish/assets/lib/mermaid/mermaid.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
themes/blowfish/assets/lib/zoom/zoom.min.js
vendored
4
themes/blowfish/assets/lib/zoom/zoom.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -2,4 +2,4 @@
|
||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
extended = true
|
extended = true
|
||||||
min = "0.87.0"
|
min = "0.87.0"
|
||||||
max = "0.139.3"
|
max = "0.147.1"
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"hosting": {
|
|
||||||
"public": "public",
|
|
||||||
"ignore": [
|
|
||||||
"firebase.json",
|
|
||||||
"**/.*",
|
|
||||||
"**/node_modules/**"
|
|
||||||
],
|
|
||||||
"rewrites": [
|
|
||||||
{
|
|
||||||
"source": "**",
|
|
||||||
"destination": "/index.html"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -15,10 +15,19 @@ article:
|
||||||
word_count:
|
word_count:
|
||||||
one: "{{ .Count }} 文字"
|
one: "{{ .Count }} 文字"
|
||||||
other: "{{ .Count }} 文字"
|
other: "{{ .Count }} 文字"
|
||||||
|
views:
|
||||||
|
one: "{{ .Count }} ビュー"
|
||||||
|
other: "{{ .Count }} ビュー"
|
||||||
|
likes:
|
||||||
|
one: "{{ .Count }} いいね"
|
||||||
|
other: "{{ .Count }} いいね"
|
||||||
part_of_series: "この記事は連載の一部です"
|
part_of_series: "この記事は連載の一部です"
|
||||||
part: "パート"
|
part: "パート"
|
||||||
this_article: "この記事"
|
this_article: "この記事"
|
||||||
related_articles: "関連記事"
|
related_articles: "関連記事"
|
||||||
|
zen_mode_title:
|
||||||
|
enable: "Zenモードを有効にする"
|
||||||
|
disable: "Zenモードを無効にする"
|
||||||
|
|
||||||
author:
|
author:
|
||||||
byline_title: "著者"
|
byline_title: "著者"
|
||||||
|
@ -57,6 +66,9 @@ sharing:
|
||||||
pinterest: "Pinterestでピンする"
|
pinterest: "Pinterestでピンする"
|
||||||
reddit: "Redditに投稿する"
|
reddit: "Redditに投稿する"
|
||||||
twitter: "Twitterに投稿する"
|
twitter: "Twitterに投稿する"
|
||||||
|
bluesky: "Blueskyに投稿する"
|
||||||
|
whatsapp: "WhatsAppでシェアする"
|
||||||
|
telegram: "Telegramでシェアする"
|
||||||
|
|
||||||
shortcode:
|
shortcode:
|
||||||
recent_articles: "最近の記事"
|
recent_articles: "最近の記事"
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
{{ (.Resize "660x").RelPermalink }} 660w,
|
{{ (.Resize "660x").RelPermalink }} 660w,
|
||||||
{{ (.Resize "1024x").RelPermalink }} 1024w,
|
{{ (.Resize "1024x").RelPermalink }} 1024w,
|
||||||
{{ (.Resize "1320x").RelPermalink }} 2x"
|
{{ (.Resize "1320x").RelPermalink }} 2x"
|
||||||
|
data-zoom-src="{{ (.Resize "1320x").RelPermalink }}"
|
||||||
src="{{ (.Resize "660x").RelPermalink }}"
|
src="{{ (.Resize "660x").RelPermalink }}"
|
||||||
alt="{{ $altText }}"
|
alt="{{ $altText }}"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -15,11 +15,11 @@
|
||||||
class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400">↓</span>{{ i18n
|
class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400">↓</span>{{ i18n
|
||||||
"nav.skip_to_main" }}</a>
|
"nav.skip_to_main" }}</a>
|
||||||
</div>
|
</div>
|
||||||
{{ $header := print "partials/header/" .Site.Params.header.layout ".html" }}
|
{{ $header := print "header/" .Site.Params.header.layout ".html" }}
|
||||||
{{ if templates.Exists $header }}
|
{{ if templates.Exists ( printf "partials/%s" $header ) }}
|
||||||
{{ partial $header . }}
|
{{ partial $header . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "partials/header/basic.html" . }}
|
{{ partial "header/basic.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="relative flex flex-col grow">
|
<div class="relative flex flex-col grow">
|
||||||
<main id="main-content" class="grow">
|
<main id="main-content" class="grow">
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
{{ .Scratch.Set "scope" "list" }}
|
{{ .Scratch.Set "scope" "list" }}
|
||||||
{{ if .Site.Params.list.showHero | default false }}
|
{{ if .Site.Params.list.showHero | default false }}
|
||||||
{{ $heroStyle := print "partials/hero/" .Site.Params.list.heroStyle ".html" }}
|
{{ $heroStyle := print "hero/" .Site.Params.list.heroStyle ".html" }}
|
||||||
{{ if templates.Exists $heroStyle }}
|
{{ if templates.Exists ( printf "partials/%s" $heroStyle ) }}
|
||||||
{{ partial $heroStyle . }}
|
{{ partial $heroStyle . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "partials/hero/basic.html" . }}
|
{{ partial "hero/basic.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
{{ if .Params.showHero | default (.Site.Params.article.showHero | default false) }}
|
{{ if .Params.showHero | default (.Site.Params.article.showHero | default false) }}
|
||||||
{{ $heroStyle := .Params.heroStyle }}
|
{{ $heroStyle := .Params.heroStyle }}
|
||||||
{{ if not $heroStyle }}{{ $heroStyle = .Site.Params.article.heroStyle }}{{ end }}
|
{{ if not $heroStyle }}{{ $heroStyle = .Site.Params.article.heroStyle }}{{ end }}
|
||||||
{{ $heroStyle := print "partials/hero/" $heroStyle ".html" }}
|
{{ $heroStyle := print "hero/" $heroStyle ".html" }}
|
||||||
{{ if templates.Exists $heroStyle }}
|
{{ if templates.Exists ( printf "partials/%s" $heroStyle ) }}
|
||||||
{{ partial $heroStyle . }}
|
{{ partial $heroStyle . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "partials/hero/basic.html" . }}
|
{{ partial "hero/basic.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
@ -49,7 +49,16 @@
|
||||||
{{ $taxonomyLink = delimit (slice $baseURL "authors/" $author "/") "" }}
|
{{ $taxonomyLink = delimit (slice $baseURL "authors/" $author "/") "" }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ partial "author-extra.html" (dict "context" . "data" $authorData "link" $taxonomyLink) }}
|
|
||||||
|
{{ $finalLink := $taxonomyLink }}
|
||||||
|
{{ $currentLang := $.Site.Language.Lang }}
|
||||||
|
{{ if eq $.Site.LanguagePrefix "" }}
|
||||||
|
{{ $finalLink = printf "%sauthors/%s/" $baseURL $author }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $finalLink = printf "%s%s/authors/%s/" $baseURL $currentLang $author }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ partial "author-extra.html" (dict "context" . "data" $authorData "link" $finalLink) }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
{{ .Scratch.Set "scope" "term" }}
|
{{ .Scratch.Set "scope" "term" }}
|
||||||
{{ if .Site.Params.term.showHero | default false }}
|
{{ if .Site.Params.term.showHero | default false }}
|
||||||
{{ $heroStyle := print "partials/hero/" .Site.Params.term.heroStyle ".html" }}
|
{{ $heroStyle := print "hero/" .Site.Params.term.heroStyle ".html" }}
|
||||||
{{ if templates.Exists $heroStyle }}
|
{{ if templates.Exists ( printf "partials/%s" $heroStyle ) }}
|
||||||
{{ partial $heroStyle . }}
|
{{ partial $heroStyle . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "partials/hero/basic.html" . }}
|
{{ partial "hero/basic.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
{{ .Scratch.Set "scope" "list" }}
|
{{ .Scratch.Set "scope" "list" }}
|
||||||
{{ if .Site.Params.taxonomy.showHero | default false }}
|
{{ if .Site.Params.taxonomy.showHero | default false }}
|
||||||
{{ $heroStyle := print "partials/hero/" .Site.Params.taxonomy.heroStyle ".html" }}
|
{{ $heroStyle := print "hero/" .Site.Params.taxonomy.heroStyle ".html" }}
|
||||||
{{ if templates.Exists $heroStyle }}
|
{{ if templates.Exists ( printf "partials/%s" $heroStyle ) }}
|
||||||
{{ partial $heroStyle . }}
|
{{ partial $heroStyle . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "partials/hero/basic.html" . }}
|
{{ partial "hero/basic.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
{{ $partial := print "partials/home/" .Site.Params.homepage.layout ".html" }}
|
{{ $partial := print "home/" .Site.Params.homepage.layout ".html" }}
|
||||||
{{ if templates.Exists $partial }}
|
{{ if templates.Exists ( printf "partials/%s" $partial ) }}
|
||||||
{{ partial $partial . }}
|
{{ partial $partial . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "partials/home/profile.html" . }}
|
{{ partial "home/profile.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{{ $constrainItemsWidth := .Page.Site.Params.list.constrainItemsWidth | default false }}
|
{{ $constrainItemsWidth := .Page.Site.Params.list.constrainItemsWidth | default false }}
|
||||||
|
|
||||||
{{ $articleClasses := "flex flex-wrap article" }}
|
{{ $articleClasses := "flex flex-wrap md:flex-nowrap article" }}
|
||||||
{{ if .Site.Params.list.showCards }}
|
{{ if .Site.Params.list.showCards }}
|
||||||
{{ $articleClasses = delimit (slice $articleClasses "border border-neutral-200 dark:border-neutral-700 border-2 rounded-md overflow-hidden") " " }}
|
{{ $articleClasses = delimit (slice $articleClasses "border border-neutral-200 dark:border-neutral-700 border-2 rounded-md overflow-hidden") " " }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
{{ else if not .p1.IsHome }}
|
{{ else if not .p1.IsHome }}
|
||||||
{{ template "crumb" (dict "p1" .p1.Site.Home "p2" .p2 ) }}
|
{{ template "crumb" (dict "p1" .p1.Site.Home "p2" .p2 ) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<li class="inline {{ if or (eq .p1 .p2) (.p1.IsHome) }}hidden{{ end }}">
|
<li class="{{ if or (eq .p1 .p2) (.p1.IsHome) }}hidden{{else}}inline{{ end }}">
|
||||||
<a
|
<a
|
||||||
class="hover:underline decoration-neutral-300 dark:underline-neutral-600"
|
class="hover:underline decoration-neutral-300 dark:underline-neutral-600"
|
||||||
href="{{ .p1.RelPermalink }}"
|
href="{{ .p1.RelPermalink }}"
|
||||||
|
|
|
@ -115,9 +115,11 @@
|
||||||
{{ with .Site.Params.Author.links }}
|
{{ with .Site.Params.Author.links }}
|
||||||
{{ range $links := . }}
|
{{ range $links := . }}
|
||||||
{{ range $name, $url := $links }}
|
{{ range $name, $url := $links }}
|
||||||
|
{{ if not (strings.HasPrefix $url "mailto:") }}
|
||||||
<link href="{{ $url }}" rel="me" />{{ end }}
|
<link href="{{ $url }}" rel="me" />{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
{{/* Vendor */}}
|
{{/* Vendor */}}
|
||||||
{{ partial "vendor.html" . }}
|
{{ partial "vendor.html" . }}
|
||||||
{{/* Analytics */}}
|
{{/* Analytics */}}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<div style="padding-left:0;padding-right:0;padding-top:2px;padding-bottom:3px"
|
<div style="padding-left:0;padding-right:0;padding-top:2px;padding-bottom:3px"
|
||||||
class="main-menu flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start space-x-3">
|
class="main-menu flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start gap-x-3">
|
||||||
{{ if .Site.Params.Logo }}
|
{{ if .Site.Params.Logo }}
|
||||||
{{ $logo := resources.Get .Site.Params.Logo }}
|
{{ $logo := resources.Get .Site.Params.Logo }}
|
||||||
{{ if $logo }}
|
{{ if $logo }}
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
<nav class="hidden md:flex items-center space-x-5 md:ml-12 h-12">
|
<nav class="hidden md:flex items-center gap-x-5 md:ml-12 h-12">
|
||||||
|
|
||||||
{{ if .Site.Menus.main }}
|
{{ if .Site.Menus.main }}
|
||||||
{{ range .Site.Menus.main }}
|
{{ range .Site.Menus.main }}
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
{{/* Appearance switch */}}
|
{{/* Appearance switch */}}
|
||||||
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
|
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
|
||||||
<div
|
<div
|
||||||
class="{{ if .Site.Params.footer.showScrollToTop | default true -}} ltr:mr-14 rtl:ml-14 {{- end }} flex items-center">
|
class="{{ if .Site.Params.footer.showScrollToTop | default true -}} {{- end }} flex items-center">
|
||||||
<button id="appearance-switcher" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400">
|
<button id="appearance-switcher" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400">
|
||||||
<div class="flex items-center justify-center dark:hidden">
|
<div class="flex items-center justify-center dark:hidden">
|
||||||
{{ partial "icon.html" "moon" }}
|
{{ partial "icon.html" "moon" }}
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
</nav>
|
</nav>
|
||||||
<div class="flex md:hidden items-center space-x-5 md:ml-12 h-12">
|
<div class="flex md:hidden items-center gap-x-5 md:ml-12 h-12">
|
||||||
|
|
||||||
<span></span>
|
<span></span>
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
|
|
||||||
{{/* Appearance switch */}}
|
{{/* Appearance switch */}}
|
||||||
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
|
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
|
||||||
<button id="appearance-switcher-mobile" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400" style="margin-right:5px">
|
<button id="appearance-switcher-mobile" aria-label="Dark mode switcher" type="button" class="text-base hover:text-primary-600 dark:hover:text-primary-400 ltr:mr-1 rtl:ml-1">
|
||||||
<div class="flex items-center justify-center dark:hidden">
|
<div class="flex items-center justify-center dark:hidden">
|
||||||
{{ partial "icon.html" "moon" }}
|
{{ partial "icon.html" "moon" }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="-my-2 -mr-2 md:hidden">
|
<div class="-my-2 md:hidden">
|
||||||
|
|
||||||
<label id="menu-button" class="block">
|
<label id="menu-button" class="block">
|
||||||
{{ if .Site.Menus.main }}
|
{{ if .Site.Menus.main }}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="fixed inset-x-0 pl-[24px] pr-[24px]" style="z-index:100">
|
<div class="fixed inset-x-0 pl-[24px] pr-[24px]" style="z-index:100">
|
||||||
<div id="menu-blur" class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom bg-neutral dark:bg-neutral-800"></div>
|
<div id="menu-blur" class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom bg-neutral dark:bg-neutral-800"></div>
|
||||||
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
||||||
{{ partial "partials/header/basic.html" . }}
|
{{ partial "header/basic.html" . }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<div class="min-h-[148px]"></div>
|
<div class="min-h-[148px]"></div>
|
||||||
<div class="fixed inset-x-0 pl-[24px] pr-[24px] bg-neutral dark:bg-neutral-800" style="z-index:100">
|
<div class="fixed inset-x-0 pl-[24px] pr-[24px] bg-neutral dark:bg-neutral-800" style="z-index:100">
|
||||||
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
||||||
{{ partial "partials/header/basic.html" . }}
|
{{ partial "header/basic.html" . }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="fixed inset-x-0 pl-[24px] pr-[24px]" style="z-index:100">
|
<div class="fixed inset-x-0 pl-[24px] pr-[24px]" style="z-index:100">
|
||||||
<div id="menu-blur" class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl"></div>
|
<div id="menu-blur" class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl"></div>
|
||||||
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
||||||
{{ partial "partials/header/basic.html" . }}
|
{{ partial "header/basic.html" . }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="fixed inset-x-0 pl-[24px] pr-[24px]" style="z-index:100">
|
<div class="fixed inset-x-0 pl-[24px] pr-[24px]" style="z-index:100">
|
||||||
<div id="menu-blur" class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl"></div>
|
<div id="menu-blur" class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl"></div>
|
||||||
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
<div class="relative max-w-[64rem] ml-auto mr-auto">
|
||||||
{{ partial "partials/header/basic.html" . }}
|
{{ partial "header/basic.html" . }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if $homepageImage }}
|
{{ if $homepageImage }}
|
||||||
<img class="w-full h-[1000px] object-cover m-0 nozoom" src="{{ $homepageImage.RelPermalink }}" role="presentation">
|
<img class="w-full h-[1000px] object-cover m-0 nozoom" src="{{ $homepageImage.RelPermalink }}" role="presentation" style="margin: 0">
|
||||||
<div
|
<div
|
||||||
class="absolute inset-0 h-[1000px] bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal">
|
class="absolute inset-0 h-[1000px] bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if $homepageImage }}
|
{{ if $homepageImage }}
|
||||||
<img class="h-full w-full object-cover m-0 nozoom" src="{{ $homepageImage.RelPermalink }}">
|
<img class="h-full w-full object-cover m-0 nozoom" src="{{ $homepageImage.RelPermalink }}" style="margin: 0">
|
||||||
<div
|
<div
|
||||||
class="absolute inset-0 bg-gradient-to-r from-primary-500 to-secondary-600 dark:from-primary-600 dark:to-secondary-800 mix-blend-multiply">
|
class="absolute inset-0 bg-gradient-to-r from-primary-500 to-secondary-600 dark:from-primary-600 dark:to-secondary-800 mix-blend-multiply">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<div
|
<div
|
||||||
class="py-1 border-dotted border-neutral-300 ltr:-ml-5 ltr:border-l ltr:pl-5 rtl:-mr-5 rtl:border-r rtl:pr-5 dark:border-neutral-600">
|
class="py-1 border-dotted border-neutral-300 ltr:-ml-5 ltr:border-l ltr:pl-5 rtl:-mr-5 rtl:border-r rtl:pr-5 dark:border-neutral-600">
|
||||||
<a href="{{$post.Permalink}}">
|
<a href="{{$post.RelPermalink}}">
|
||||||
{{ i18n "article.part" }} {{ $post.Params.series_order }}: {{ $post.Params.title}}
|
{{ i18n "article.part" }} {{ $post.Params.series_order }}: {{ $post.Params.title}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{{ if .IsTranslated }}
|
{{ if .IsTranslated }}
|
||||||
<div>
|
<div>
|
||||||
<div class="cursor-pointer flex items-center nested-menu">
|
<div class="cursor-pointer flex items-center nested-menu">
|
||||||
<span class="mr-1">
|
<span class="ltr:mr-1 rtl:ml-1">
|
||||||
{{ partial "icon.html" "language" }}
|
{{ partial "icon.html" "language" }}
|
||||||
</span>
|
</span>
|
||||||
<div class="text-sm font-medium text-gray-500 hover:text-primary-600 dark:hover:text-primary-400" title="{{ .Title }}">
|
<div class="text-sm font-medium text-gray-500 hover:text-primary-600 dark:hover:text-primary-400" title="{{ .Title }}">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{{ $disableImageOptimization := .Site.Params.disableImageOptimization | default false }}
|
{{ $disableImageOptimization := .Site.Params.disableImageOptimization | default false }}
|
||||||
{{ if .Get "default" }}
|
{{ if .Get "default" }}
|
||||||
{{ template "_internal/shortcodes/figure.html" . }}
|
{{ partial "shortcodes/figure.html" . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{- $url := urls.Parse (.Get "src") }}
|
{{- $url := urls.Parse (.Get "src") }}
|
||||||
{{- $altText := .Get "alt" }}
|
{{- $altText := .Get "alt" }}
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
{{ (.Resize "1024x").RelPermalink }} 1024w,
|
{{ (.Resize "1024x").RelPermalink }} 1024w,
|
||||||
{{ (.Resize "1320x").RelPermalink }} 2x"
|
{{ (.Resize "1320x").RelPermalink }} 2x"
|
||||||
src="{{ (.Resize "660x").RelPermalink }}"
|
src="{{ (.Resize "660x").RelPermalink }}"
|
||||||
|
data-zoom-src="{{ (.Resize "1320x").RelPermalink }}"
|
||||||
alt="{{ $altText }}"
|
alt="{{ $altText }}"
|
||||||
/>
|
/>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -1,5 +1,31 @@
|
||||||
{{ $id := delimit (slice "gallery" (partial "functions/uid.html" .)) "-" }}
|
{{ $id := delimit (slice "gallery" (partial "functions/uid.html" .)) "-" }}
|
||||||
|
|
||||||
<div id="{{ $id }}" class="gallery">
|
<div id="{{ $id }}" class="gallery">
|
||||||
{{ .Inner }}
|
{{ $page := .Page }}
|
||||||
|
|
||||||
|
{{/* find all img tags */}}
|
||||||
|
{{ $imgTagRegex := `<img\s+[^>]*>` }}
|
||||||
|
{{ $imgTags := findRE $imgTagRegex .Inner }}
|
||||||
|
{{ $newContent := .Inner }}
|
||||||
|
|
||||||
|
{{ range $imgTags }}
|
||||||
|
{{ $imgTag := . }}
|
||||||
|
{{/* extract src attribute */}}
|
||||||
|
{{ $srcRegex := `src=['"]([^'"]+)['"]` }}
|
||||||
|
{{ $srcMatches := findRESubmatch $srcRegex $imgTag }}
|
||||||
|
|
||||||
|
{{ if $srcMatches }}
|
||||||
|
{{ $srcFull := index (index $srcMatches 0) 0 }}
|
||||||
|
{{ $src := index (index $srcMatches 0) 1 }}
|
||||||
|
|
||||||
|
{{ $resource := $page.Resources.GetMatch $src }}
|
||||||
|
{{ if $resource }}
|
||||||
|
{{ $newSrc := printf `src="%s"` $resource.RelPermalink }}
|
||||||
|
{{ $newImg := replace $imgTag $srcFull $newSrc }}
|
||||||
|
{{ $newContent = replace $newContent $imgTag $newImg }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $newContent | safeHTML }}
|
||||||
</div>
|
</div>
|
|
@ -4,6 +4,7 @@
|
||||||
{{- $githubColors := .Site.Data.githubColors -}}
|
{{- $githubColors := .Site.Data.githubColors -}}
|
||||||
{{- with $githubData -}}
|
{{- with $githubData -}}
|
||||||
|
|
||||||
|
<div class="github-card-wrapper">
|
||||||
<a id="{{ $id }}" target="_blank" href="{{ .html_url }}" class="cursor-pointer">
|
<a id="{{ $id }}" target="_blank" href="{{ .html_url }}" class="cursor-pointer">
|
||||||
<div
|
<div
|
||||||
class="w-full md:w-auto pt-3 p-5 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl">
|
class="w-full md:w-auto pt-3 p-5 border border-neutral-200 dark:border-neutral-700 border rounded-md shadow-2xl">
|
||||||
|
@ -64,4 +65,5 @@
|
||||||
.catch(error => console.error(error))
|
.catch(error => console.error(error))
|
||||||
</script>
|
</script>
|
||||||
</a>
|
</a>
|
||||||
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
<div class="mermaid" align="center">
|
<div class="mermaid" align="center">
|
||||||
{{ .Inner }}
|
<pre>{{ .Inner | safeHTML }}</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
{{ $header := .Get "header" }}
|
{{ $header := .Get "header" }}
|
||||||
{{ $badge := .Get "badge" }}
|
{{ $badge := .Get "badge" }}
|
||||||
{{ $subheader := .Get "subheader" }}
|
{{ $subheader := .Get "subheader" }}
|
||||||
{{ $text := .Get "text" }}
|
|
||||||
<li>
|
<li>
|
||||||
<div class="flex flex-start">
|
<div class="flex flex-start">
|
||||||
<div class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full -ml-12 mt-5">
|
<div class="bg-primary-500 dark:bg-primary-300 text-neutral-50 dark:text-neutral-700 min-w-[30px] h-8 text-2xl flex items-center justify-center rounded-full -ml-12 mt-5">
|
||||||
|
|
|
@ -1,24 +1,8 @@
|
||||||
[build]
|
[build]
|
||||||
command = "cd exampleSite && hugo --gc --minify -D -b $URL"
|
command = "cd exampleSite && hugo --gc --minify -D -b https://blowfish.page"
|
||||||
publish = "exampleSite/public"
|
publish = "exampleSite/public"
|
||||||
|
|
||||||
[build.environment]
|
[build.environment]
|
||||||
|
HUGO_VERSION = "0.142.0"
|
||||||
HUGO_THEMESDIR = "../.."
|
HUGO_THEMESDIR = "../.."
|
||||||
HUGO_THEME = "repo"
|
HUGO_THEME = "repo"
|
||||||
TZ = "Portugal/Lisbon"
|
|
||||||
|
|
||||||
[context.production.environment]
|
|
||||||
HUGO_VERSION = "0.104.1"
|
|
||||||
HUGO_ENV = "production"
|
|
||||||
|
|
||||||
[context.deploy-preview]
|
|
||||||
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
|
|
||||||
|
|
||||||
[context.deploy-preview.environment]
|
|
||||||
HUGO_VERSION = "0.104.1"
|
|
||||||
|
|
||||||
[context.branch-deploy]
|
|
||||||
command = "cd exampleSite && hugo --gc --minify -D -b $DEPLOY_PRIME_URL"
|
|
||||||
|
|
||||||
[context.branch-deploy.environment]
|
|
||||||
HUGO_VERSION = "0.104.1"
|
|
2698
themes/blowfish/package-lock.json
generated
2698
themes/blowfish/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -1,14 +1,14 @@
|
||||||
{
|
{
|
||||||
"name": "hugo-blowfish-theme",
|
"name": "hugo-blowfish-theme",
|
||||||
"version": "2.80.0",
|
"version": "2.85.1",
|
||||||
"description": "Blowfish theme for Hugo.",
|
"description": "Blowfish theme for Hugo.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "vendor-copy",
|
"postinstall": "vendor-copy",
|
||||||
"assets": "rimraf assets/vendor && vendor-copy",
|
"assets": "rimraf assets/vendor && vendor-copy",
|
||||||
"dev": "NODE_ENV=development ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
"dev": "NODE_ENV=development npx @tailwindcss/cli -c ./tailwind.config.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||||
"build": "NODE_ENV=production ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit",
|
"build": "NODE_ENV=production npx @tailwindcss/cli -c ./tailwind.config.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit",
|
||||||
"dev-windows": "set NODE_ENV=development&&node ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
"dev-windows": "set NODE_ENV=development&& npx @tailwindcss/cli -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit -w",
|
||||||
"build-windows": "set NODE_ENV=production&&node ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit",
|
"build-windows": "set NODE_ENV=production&& npx @tailwindcss/cli -i ./assets/css/main.css -o ./assets/css/compiled/main.css --jit",
|
||||||
"build-hugo": "hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/",
|
"build-hugo": "hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/",
|
||||||
"example": "hugo server -E -F --minify --source exampleSite --themesDir ../.. --buildDrafts -b http://localhost/ -p 1313",
|
"example": "hugo server -E -F --minify --source exampleSite --themesDir ../.. --buildDrafts -b http://localhost/ -p 1313",
|
||||||
"lighthouse": "lhci autorun"
|
"lighthouse": "lhci autorun"
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Nuno Coração",
|
"name": "Nuno Coração",
|
||||||
"github": "https://github.com/nunocoracao",
|
"github": "https://github.com/nunocoracao",
|
||||||
"url": "https://nunocoracao.com"
|
"url": "https://n9o.xyz"
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
|
@ -34,21 +34,23 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/nunocoracao/blowfish#readme",
|
"homepage": "https://github.com/nunocoracao/blowfish#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.15",
|
"@tailwindcss/cli": "^4.1.4",
|
||||||
"chart.js": "^4.4.6",
|
"@tailwindcss/typography": "^0.5.16",
|
||||||
"fuse.js": "^7.0.0",
|
"chart.js": "^4.4.9",
|
||||||
|
"fuse.js": "^7.1.0",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
"katex": "^0.16.11",
|
"katex": "^0.16.22",
|
||||||
"lite-youtube-embed": "^0.3.3",
|
"lite-youtube-embed": "^0.3.3",
|
||||||
"mermaid": "^11.4.0",
|
"medium-zoom": "^1.1.0",
|
||||||
"packery": "^2.1.2",
|
"mermaid": "^11.6.0",
|
||||||
"prettier": "^3.3.3",
|
"packery": "^3.0.0",
|
||||||
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-go-template": "^0.0.15",
|
"prettier-plugin-go-template": "^0.0.15",
|
||||||
"prettier-plugin-tailwindcss": "^0.6.9",
|
"prettier-plugin-tailwindcss": "^0.6.11",
|
||||||
"puppeteer": "^23.7.1",
|
"puppeteer": "^24.7.2",
|
||||||
"rimraf": "^6.0.1",
|
"rimraf": "^6.0.1",
|
||||||
"tailwind-scrollbar": "^3.1.0",
|
"tailwind-scrollbar": "^4.0.2",
|
||||||
"tailwindcss": "^3.4.14",
|
"tailwindcss": "^4.0.16",
|
||||||
"tw-elements": "2.0.0",
|
"tw-elements": "2.0.0",
|
||||||
"typeit": "^8.8.7",
|
"typeit": "^8.8.7",
|
||||||
"vendor-copy": "^3.0.1"
|
"vendor-copy": "^3.0.1"
|
||||||
|
@ -106,13 +108,17 @@
|
||||||
{
|
{
|
||||||
"from": "node_modules/lite-youtube-embed/src/lite-yt-embed.css",
|
"from": "node_modules/lite-youtube-embed/src/lite-yt-embed.css",
|
||||||
"to": "assets/lib/lite-youtube-embed/lite-yt-embed.css"
|
"to": "assets/lib/lite-youtube-embed/lite-yt-embed.css"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "node_modules/medium-zoom/dist/medium-zoom.min.js",
|
||||||
|
"to": "assets/lib/zoom/zoom.min.js"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@headlessui/react": "^2.2.0",
|
"@headlessui/react": "^2.2.2",
|
||||||
"@heroicons/react": "^2.1.5",
|
"@heroicons/react": "^2.2.0",
|
||||||
"@iamtraction/google-translate": "^2.0.1",
|
"@iamtraction/google-translate": "^2.0.1",
|
||||||
"@tailwindcss/forms": "^0.5.9",
|
"@tailwindcss/forms": "^0.5.10",
|
||||||
"commander": "^12.1.0"
|
"commander": "^13.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1 +1 @@
|
||||||
v0.139.3
|
v0.147.1
|
||||||
|
|
|
@ -13,7 +13,7 @@ features = ["syntax highlighting", "dark mode", "emoji", "firebase", "views"]
|
||||||
|
|
||||||
[author]
|
[author]
|
||||||
name = "Nuno Coracao"
|
name = "Nuno Coracao"
|
||||||
homepage = "https://nunocoracao.com/"
|
homepage = "https://n9o.xyz/"
|
||||||
|
|
||||||
[original]
|
[original]
|
||||||
author = "James Panther"
|
author = "James Panther"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue