Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9987868ee5 | ||
|
|
064ef5eb9a | ||
|
|
2e097b8ec5 | ||
|
|
165ee8c230 | ||
|
|
ae18817eb0 | ||
|
|
aa4f5aa80b | ||
|
|
981204d58e | ||
|
|
51adb817fa | ||
|
|
fc81fa2130 | ||
|
|
460c0b76e3 | ||
|
|
051c303e6c | ||
|
|
0caa9b899e | ||
|
|
c6fe30b029 | ||
|
|
2cb7d96bc7 | ||
|
|
dacb87679a | ||
|
|
1409d376f6 | ||
|
|
dcf72e72bf | ||
|
|
ff0f9d122f | ||
|
|
9993c53476 | ||
|
|
3a4e976273 | ||
|
|
6f594b5c2b | ||
|
|
686ec53f92 | ||
|
|
ea0a6c3698 | ||
|
|
6e4ed17ab7 | ||
|
|
d889efa6d4 | ||
|
|
0d9f458c52 | ||
|
|
7e3a8c1226 | ||
|
|
cc1c2d70e0 | ||
|
|
de2d75eee9 | ||
|
|
dbcce7f34b | ||
|
|
12471e0aa3 | ||
|
|
a15af8eca6 | ||
|
|
32fcb1a3be | ||
|
|
0219bb263c | ||
|
|
b27d78945c | ||
|
|
20e90ec4d4 | ||
|
|
59e5daa31f | ||
|
|
a9e6215540 | ||
|
|
3b265eaa0d | ||
|
|
3a158cf347 | ||
|
|
123add8b6c | ||
|
|
b19e10d4a4 | ||
|
|
a4ea872dd7 | ||
|
|
034be4227b | ||
|
|
666b12ab35 | ||
|
|
84174baea2 | ||
|
|
544fa955f6 | ||
|
|
301f179fb0 | ||
|
|
3cd3c6ee97 | ||
|
|
55bb04f362 | ||
|
|
d69989892b | ||
|
|
adce4c7ea2 | ||
|
|
553480f1df | ||
|
|
5b93191548 | ||
|
|
ce4cbd3c75 | ||
|
|
2991e0289d | ||
|
|
963b79e1aa | ||
|
|
24ba04bb43 | ||
|
|
1b0c182819 | ||
|
|
b8a56a299b | ||
|
|
cdc78b5128 | ||
|
|
e93a63f9d3 | ||
|
|
837cb9c19e | ||
|
|
6e1881c704 | ||
|
|
c0d0a26383 | ||
|
|
a1a28b1b29 | ||
|
|
64cb4fcd4b | ||
|
|
25c89f8812 | ||
|
|
8752844e99 | ||
|
|
9829d63bce | ||
|
|
0bb94e1b76 | ||
|
|
20e739a910 | ||
|
|
4d94addec4 | ||
|
|
e27e62f90d | ||
|
|
af1dd844ff | ||
|
|
8d66fd32ad | ||
|
|
5bb5684eb2 | ||
|
|
4f6dc780c8 | ||
|
|
30a98d5705 | ||
|
|
38888897b5 | ||
|
|
d5563e95b0 | ||
|
|
51bcb4b3d1 |
No files matched your search
@@ -0,0 +1,24 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "npm"
|
||||||
|
directory: "/"
|
||||||
|
target-branch: "dev"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
commit-message:
|
||||||
|
prefix: "📌"
|
||||||
|
labels:
|
||||||
|
- "dependencies"
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
target-branch: "dev"
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
|
day: "sunday"
|
||||||
|
commit-message:
|
||||||
|
prefix: "👷"
|
||||||
|
labels:
|
||||||
|
- "dependencies"
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
name: Build Theme
|
||||||
|
|
||||||
|
on: [pull_request_target]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: "${{ github.head_ref }}"
|
||||||
|
- name: Install dependencies and Build Theme
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
- run: npm install
|
||||||
|
- run: npm run assets
|
||||||
|
- name: Commit and push Chart.js changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
branch: "${{ github.head_ref }}"
|
||||||
|
push_options: "--dry-run"
|
||||||
|
file_pattern: "assets/lib/chart/*"
|
||||||
|
commit_message: "📦 Update packaged ChartJS"
|
||||||
|
- name: Commit Fuse changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
branch: "${{ github.head_ref }}"
|
||||||
|
push_options: "--dry-run"
|
||||||
|
file_pattern: "assets/lib/fuse/*"
|
||||||
|
commit_message: "📦 Update packaged FuseJS"
|
||||||
|
- name: Commit KaTeX changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
branch: "${{ github.head_ref }}"
|
||||||
|
push_options: "--dry-run"
|
||||||
|
file_pattern: "assets/lib/katex/*"
|
||||||
|
commit_message: "📦 Update packaged KaTeX"
|
||||||
|
- name: Commit Mermaid changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
branch: "${{ github.head_ref }}"
|
||||||
|
push_options: "--dry-run"
|
||||||
|
file_pattern: "assets/lib/mermaid/*"
|
||||||
|
commit_message: "📦 Update packaged Mermaid"
|
||||||
|
- run: npm run build
|
||||||
|
- name: Commit CSS changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
with:
|
||||||
|
branch: "${{ github.head_ref }}"
|
||||||
|
push_options: "--dry-run"
|
||||||
|
file_pattern: "assets/css/compiled/main.css"
|
||||||
|
commit_message: "💄 Rebuild CSS"
|
||||||
|
- run: git push
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
name: Test Build
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build Example Site
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Hugo
|
||||||
|
uses: peaceiris/actions-hugo@v2
|
||||||
|
with:
|
||||||
|
hugo-version: "latest"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
working-directory: ./exampleSite
|
||||||
|
run: hugo --minify --themesDir ../.. --baseURL https://nunocoracao.github.io/blowfish/
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
# Blowfish
|
# Blowfish
|
||||||
|
|
||||||
|
<a target="_blank" href="https://www.buymeacoffee.com/nunocoracao"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=nunocoracao&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff" /></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>
|
||||||
|
|
||||||
[](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml)
|
[](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)
|
||||||
@@ -11,6 +14,7 @@ Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohu
|
|||||||
|
|
||||||
🌏 [Demo site](https://nunocoracao.github.io/blowfish/)
|
🌏 [Demo site](https://nunocoracao.github.io/blowfish/)
|
||||||
📑 [Theme documentation](https://nunocoracao.github.io/blowfish/docs/)
|
📑 [Theme documentation](https://nunocoracao.github.io/blowfish/docs/)
|
||||||
|
💎 [Merch Store](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
🐛 [Bug reports & issues](https://github.com/nunocoracao/blowfish/issues)
|
🐛 [Bug reports & issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
💡 [Questions & feature requests](https://github.com/nunocoracao/blowfish/discussions)
|
💡 [Questions & feature requests](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
@@ -31,6 +35,7 @@ Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohu
|
|||||||
- Flexible with any content types, taxonomies and menus
|
- Flexible with any content types, taxonomies and menus
|
||||||
- Multilingual content support inlcuding support for RTL languages
|
- Multilingual content support inlcuding support for RTL languages
|
||||||
- Ability to link to posts on third-party websites
|
- Ability to link to posts on third-party websites
|
||||||
|
- Buymeacoffee integration
|
||||||
- Client-side site search powered by Fuse.js
|
- Client-side site search powered by Fuse.js
|
||||||
- Diagrams and visualisations using Mermaid
|
- Diagrams and visualisations using Mermaid
|
||||||
- Charts using Chart.js
|
- Charts using Chart.js
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*! Blowfish v0.0.1 | MIT License | https://github.com/nunocoracao/blowfish */
|
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||||
|
|
||||||
/*! tailwindcss v3.2.1 | MIT License | https://tailwindcss.com */
|
/*! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
|
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
2. Prevent adjustments of font size after orientation changes in iOS.
|
2. Prevent adjustments of font size after orientation changes in iOS.
|
||||||
3. Use a more readable tab size.
|
3. Use a more readable tab size.
|
||||||
4. Use the user's configured `sans` font-family by default.
|
4. Use the user's configured `sans` font-family by default.
|
||||||
|
5. Use the user's configured `sans` font-feature-settings by default.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
html {
|
html {
|
||||||
@@ -44,6 +45,8 @@ html {
|
|||||||
/* 3 */
|
/* 3 */
|
||||||
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||||
/* 4 */
|
/* 4 */
|
||||||
|
font-feature-settings: normal;
|
||||||
|
/* 5 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -629,53 +632,6 @@ select {
|
|||||||
--tw-backdrop-sepia: ;
|
--tw-backdrop-sepia: ;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-backdrop {
|
|
||||||
--tw-border-spacing-x: 0;
|
|
||||||
--tw-border-spacing-y: 0;
|
|
||||||
--tw-translate-x: 0;
|
|
||||||
--tw-translate-y: 0;
|
|
||||||
--tw-rotate: 0;
|
|
||||||
--tw-skew-x: 0;
|
|
||||||
--tw-skew-y: 0;
|
|
||||||
--tw-scale-x: 1;
|
|
||||||
--tw-scale-y: 1;
|
|
||||||
--tw-pan-x: ;
|
|
||||||
--tw-pan-y: ;
|
|
||||||
--tw-pinch-zoom: ;
|
|
||||||
--tw-scroll-snap-strictness: proximity;
|
|
||||||
--tw-ordinal: ;
|
|
||||||
--tw-slashed-zero: ;
|
|
||||||
--tw-numeric-figure: ;
|
|
||||||
--tw-numeric-spacing: ;
|
|
||||||
--tw-numeric-fraction: ;
|
|
||||||
--tw-ring-inset: ;
|
|
||||||
--tw-ring-offset-width: 0px;
|
|
||||||
--tw-ring-offset-color: #fff;
|
|
||||||
--tw-ring-color: rgb(59 130 246 / 0.5);
|
|
||||||
--tw-ring-offset-shadow: 0 0 #0000;
|
|
||||||
--tw-ring-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow: 0 0 #0000;
|
|
||||||
--tw-shadow-colored: 0 0 #0000;
|
|
||||||
--tw-blur: ;
|
|
||||||
--tw-brightness: ;
|
|
||||||
--tw-contrast: ;
|
|
||||||
--tw-grayscale: ;
|
|
||||||
--tw-hue-rotate: ;
|
|
||||||
--tw-invert: ;
|
|
||||||
--tw-saturate: ;
|
|
||||||
--tw-sepia: ;
|
|
||||||
--tw-drop-shadow: ;
|
|
||||||
--tw-backdrop-blur: ;
|
|
||||||
--tw-backdrop-brightness: ;
|
|
||||||
--tw-backdrop-contrast: ;
|
|
||||||
--tw-backdrop-grayscale: ;
|
|
||||||
--tw-backdrop-hue-rotate: ;
|
|
||||||
--tw-backdrop-invert: ;
|
|
||||||
--tw-backdrop-opacity: ;
|
|
||||||
--tw-backdrop-saturate: ;
|
|
||||||
--tw-backdrop-sepia: ;
|
|
||||||
}
|
|
||||||
|
|
||||||
::backdrop {
|
::backdrop {
|
||||||
--tw-border-spacing-x: 0;
|
--tw-border-spacing-x: 0;
|
||||||
--tw-border-spacing-y: 0;
|
--tw-border-spacing-y: 0;
|
||||||
@@ -1204,151 +1160,6 @@ select {
|
|||||||
border-radius: 0.12rem;
|
border-radius: 0.12rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prose-sm :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0.5714286em;
|
|
||||||
margin-bottom: 0.5714286em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-sm :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.1428571em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-sm :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.1428571em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-sm :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.1428571em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-sm :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.1428571em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-sm :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-sm :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-base :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0.75em;
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-base :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-base :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-base :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-base :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-base :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-base :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-lg :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0.8888889em;
|
|
||||||
margin-bottom: 0.8888889em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-lg :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-lg :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-lg :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-lg :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-lg :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-lg :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0.8em;
|
|
||||||
margin-bottom: 0.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-2xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0.8333333em;
|
|
||||||
margin-bottom: 0.8333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-2xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-2xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-2xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-2xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 1.3333333em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-2xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prose-2xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sr-only {
|
.sr-only {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 1px;
|
width: 1px;
|
||||||
@@ -1499,6 +1310,14 @@ select {
|
|||||||
margin-top: 1.25rem;
|
margin-top: 1.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mt-1 {
|
||||||
|
margin-top: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-2 {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.mt-12 {
|
.mt-12 {
|
||||||
margin-top: 3rem;
|
margin-top: 3rem;
|
||||||
}
|
}
|
||||||
@@ -1519,10 +1338,6 @@ select {
|
|||||||
margin-top: 1.5rem;
|
margin-top: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mt-1 {
|
|
||||||
margin-top: 0.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mb-6 {
|
.mb-6 {
|
||||||
margin-bottom: 1.5rem;
|
margin-bottom: 1.5rem;
|
||||||
}
|
}
|
||||||
@@ -1567,10 +1382,6 @@ select {
|
|||||||
margin-bottom: 2.5rem;
|
margin-bottom: 2.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mb-2 {
|
|
||||||
margin-bottom: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.-mb-1 {
|
.-mb-1 {
|
||||||
margin-bottom: -0.25rem;
|
margin-bottom: -0.25rem;
|
||||||
}
|
}
|
||||||
@@ -1739,10 +1550,6 @@ select {
|
|||||||
min-width: 1.8rem;
|
min-width: 1.8rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.min-w-\[2\.4rem\] {
|
|
||||||
min-width: 2.4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.min-w-\[220px\] {
|
.min-w-\[220px\] {
|
||||||
min-width: 220px;
|
min-width: 220px;
|
||||||
}
|
}
|
||||||
@@ -2059,6 +1866,10 @@ select {
|
|||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.p-1\.5 {
|
||||||
|
padding: 0.375rem;
|
||||||
|
}
|
||||||
|
|
||||||
.p-1 {
|
.p-1 {
|
||||||
padding: 0.25rem;
|
padding: 0.25rem;
|
||||||
}
|
}
|
||||||
@@ -2230,16 +2041,16 @@ select {
|
|||||||
line-height: 1.75rem;
|
line-height: 1.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-2xl {
|
|
||||||
font-size: 1.5rem;
|
|
||||||
line-height: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-base {
|
.text-base {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
line-height: 1.5rem;
|
line-height: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-2xl {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
line-height: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
.text-xs {
|
.text-xs {
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
line-height: 1rem;
|
line-height: 1rem;
|
||||||
@@ -3528,16 +3339,16 @@ body:has(#menu-controller:checked) {
|
|||||||
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
color: rgba(var(--color-primary-400), var(--tw-text-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark .dark\:text-neutral-300 {
|
|
||||||
--tw-text-opacity: 1;
|
|
||||||
color: rgba(var(--color-neutral-300), var(--tw-text-opacity));
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark .dark\:text-neutral-400 {
|
.dark .dark\:text-neutral-400 {
|
||||||
--tw-text-opacity: 1;
|
--tw-text-opacity: 1;
|
||||||
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
|
color: rgba(var(--color-neutral-400), var(--tw-text-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dark .dark\:text-neutral-300 {
|
||||||
|
--tw-text-opacity: 1;
|
||||||
|
color: rgba(var(--color-neutral-300), var(--tw-text-opacity));
|
||||||
|
}
|
||||||
|
|
||||||
.dark .dark\:text-neutral-800 {
|
.dark .dark\:text-neutral-800 {
|
||||||
--tw-text-opacity: 1;
|
--tw-text-opacity: 1;
|
||||||
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
|
color: rgba(var(--color-neutral-800), var(--tw-text-opacity));
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/*! Blowfish v0.0.1 | MIT License | https://github.com/nunocoracao/blowfish */
|
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||||
|
|
||||||
@tailwind base;
|
@tailwind base;
|
||||||
@tailwind components;
|
@tailwind components;
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
/*!
|
/*!
|
||||||
* Chart.js v3.9.1
|
* Chart.js v4.0.1
|
||||||
* https://www.chartjs.org
|
* https://www.chartjs.org
|
||||||
* (c) 2022 Chart.js Contributors
|
* (c) 2022 Chart.js Contributors
|
||||||
* Released under the MIT License
|
* Released under the MIT License
|
||||||
*/
|
*/
|
||||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";function t(){}const e=function(){let t=0;return function(){return t++}}();function i(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function n(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const o=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function a(t,e){return o(t)?t:e}function r(t,e){return void 0===t?e:t}const l=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function c(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function d(t,e,i,o){let a,r,l;if(s(t))if(r=t.length,o)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(n(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function u(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function f(t){if(s(t))return t.map(f);if(n(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=f(t[i[n]]);return e}return t}function g(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function p(t,e,i,s){if(!g(t))return;const o=e[t],a=i[t];n(o)&&n(a)?m(o,a,s):e[t]=f(a)}function m(t,e,i){const o=s(e)?e:[e],a=o.length;if(!n(t))return t;const r=(i=i||{}).merger||p;for(let s=0;s<a;++s){if(!n(e=o[s]))continue;const a=Object.keys(e);for(let s=0,n=a.length;s<n;++s)r(a[s],t,e,i)}return t}function b(t,e){return m(t,e,{merger:x})}function x(t,e,i){if(!g(t))return;const s=e[t],o=i[t];n(s)&&n(o)?b(s,o):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=f(o))}const _={"":t=>t,x:t=>t.x,y:t=>t.y};function y(t,e){const i=_[e]||(_[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const M=t=>void 0!==t,k=t=>"function"==typeof t,S=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function P(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const D=Math.PI,O=2*D,C=O+D,A=Number.POSITIVE_INFINITY,T=D/180,L=D/2,E=D/4,R=2*D/3,I=Math.log10,z=Math.sign;function F(t){const e=Math.round(t);t=N(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(I(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function V(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function B(t){return!isNaN(parseFloat(t))&&isFinite(t)}function N(t,e,i){return Math.abs(t-e)<i}function W(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function H(t){return t*(D/180)}function $(t){return t*(180/D)}function Y(t){if(!o(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function U(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*D&&(o+=O),{angle:o,distance:n}}function X(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function q(t,e){return(t-e+C)%O-D}function K(t){return(t%O+O)%O}function G(t,e,i,s){const n=K(t),o=K(e),a=K(i),r=K(o-n),l=K(a-n),h=K(n-o),c=K(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Z(t,e,i){return Math.max(e,Math.min(i,t))}function J(t){return Z(t,-32768,32767)}function Q(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function tt(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const et=(t,e,i,s)=>tt(t,i,s?s=>t[s][e]<=i:s=>t[s][e]<i),it=(t,e,i)=>tt(t,i,(s=>t[s][e]>=i));function st(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const nt=["push","pop","shift","splice","unshift"];function ot(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),nt.forEach((e=>{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function at(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(nt.forEach((e=>{delete t[e]})),delete t._chartjs)}function rt(t){const e=new Set;let i,s;for(i=0,s=t.length;i<s;++i)e.add(t[i]);return e.size===s?t:ALine truncated
|
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";function t(){}const e=(()=>{let t=0;return()=>t++})();function i(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function n(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function a(t,e){return o(t)?t:e}function r(t,e){return void 0===t?e:t}const l=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function c(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function d(t,e,i,o){let a,r,l;if(s(t))if(r=t.length,o)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(n(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function u(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function f(t){if(s(t))return t.map(f);if(n(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=f(t[i[n]]);return e}return t}function g(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function p(t,e,i,s){if(!g(t))return;const o=e[t],a=i[t];n(o)&&n(a)?m(o,a,s):e[t]=f(a)}function m(t,e,i){const o=s(e)?e:[e],a=o.length;if(!n(t))return t;const r=(i=i||{}).merger||p;let l;for(let e=0;e<a;++e){if(l=o[e],!n(l))continue;const s=Object.keys(l);for(let e=0,n=s.length;e<n;++e)r(s[e],t,l,i)}return t}function b(t,e){return m(t,e,{merger:x})}function x(t,e,i){if(!g(t))return;const s=e[t],o=i[t];n(s)&&n(o)?b(s,o):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=f(o))}const _={"":t=>t,x:t=>t.x,y:t=>t.y};function y(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function v(t,e){const i=_[e]||(_[e]=function(t){const e=y(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function M(t){return t.charAt(0).toUpperCase()+t.slice(1)}const w=t=>void 0!==t,k=t=>"function"==typeof t,S=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function P(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const D=Math.PI,C=2*D,O=C+D,A=Number.POSITIVE_INFINITY,T=D/180,L=D/2,E=D/4,R=2*D/3,I=Math.log10,z=Math.sign;function F(t,e,i){return Math.abs(t-e)<i}function V(t){const e=Math.round(t);t=F(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(I(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function B(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function N(t){return!isNaN(parseFloat(t))&&isFinite(t)}function W(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function H(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function j(t){return t*(D/180)}function $(t){return t*(180/D)}function Y(t){if(!o(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function U(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*D&&(o+=C),{angle:o,distance:n}}function X(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function q(t,e){return(t-e+O)%C-D}function K(t){return(t%C+C)%C}function G(t,e,i,s){const n=K(t),o=K(e),a=K(i),r=K(o-n),l=K(a-n),h=K(n-o),c=K(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Z(t,e,i){return Math.max(e,Math.min(i,t))}function J(t){return Z(t,-32768,32767)}function Q(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function tt(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const et=(t,e,i,s)=>tt(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),it=(t,e,i)=>tt(t,i,(s=>t[s][e]>=i));function st(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const nt=["push","pop","shift","splice","unshift"];function ot(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),nt.forEach((e=>{const i="_onData"+M(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function at(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(nt.forEach((e=>{delete t[e]})),delete t._chartjs)}function rt(t){const e=new Set;let i,s;for(i=0,s=t.length;i<sLine truncated
|
||||||
/*!
|
/*!
|
||||||
* @kurkle/color v0.2.1
|
* @kurkle/color v0.2.1
|
||||||
* https://github.com/kurkle/color#readme
|
* https://github.com/kurkle/color#readme
|
||||||
* (c) 2022 Jukka Kurkela
|
* (c) 2022 Jukka Kurkela
|
||||||
* Released under the MIT License
|
* Released under the MIT License
|
||||||
*/function bt(t){return t+.5|0}const xt=(t,e,i)=>Math.max(Math.min(t,i),e);function _t(t){return xt(bt(2.55*t),0,255)}function yt(t){return xt(bt(255*t),0,255)}function vt(t){return xt(bt(t/2.55)/100,0,1)}function wt(t){return xt(bt(100*t),0,100)}const Mt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},kt=[..."0123456789ABCDEF"],St=t=>kt[15&t],Pt=t=>kt[(240&t)>>4]+kt[15&t],Dt=t=>(240&t)>>4==(15&t);function Ot(t){var e=(t=>Dt(t.r)&&Dt(t.g)&&Dt(t.b)&&Dt(t.a))(t)?St:Pt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Ct=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function At(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Tt(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Lt(t,e,i){const s=At(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function Et(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function Rt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(yt)}function It(t,e,i){return Rt(At,t,e,i)}function zt(t){return(t%360+360)%360}function Ft(t){const e=Ct.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?_t(+e[5]):yt(+e[5]));const n=zt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return Rt(Lt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return Rt(Tt,t,e,i)}(n,o,a):It(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Vt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Bt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Nt;function Wt(t){Nt||(Nt=function(){const t={},e=Object.keys(Bt),i=Object.keys(Vt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Vt[o]);o=parseInt(Bt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Nt.transparent=[0,0,0,0]);const e=Nt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const jt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Ht=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,$t=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Yt(t,e,i){if(t){let s=Et(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),Line truncated
|
*/function xt(t){return t+.5|0}const _t=(t,e,i)=>Math.max(Math.min(t,i),e);function yt(t){return _t(xt(2.55*t),0,255)}function vt(t){return _t(xt(255*t),0,255)}function Mt(t){return _t(xt(t/2.55)/100,0,1)}function wt(t){return _t(xt(100*t),0,100)}const kt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},St=[..."0123456789ABCDEF"],Pt=t=>St[15&t],Dt=t=>St[(240&t)>>4]+St[15&t],Ct=t=>(240&t)>>4==(15&t);function Ot(t){var e=(t=>Ct(t.r)&&Ct(t.g)&&Ct(t.b)&&Ct(t.a))(t)?Pt:Dt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const At=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Tt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Lt(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Et(t,e,i){const s=Tt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function Rt(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function It(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(vt)}function zt(t,e,i){return It(Tt,t,e,i)}function Ft(t){return(t%360+360)%360}function Vt(t){const e=At.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?yt(+e[5]):vt(+e[5]));const n=Ft(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return It(Et,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return It(Lt,t,e,i)}(n,o,a):zt(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Bt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Wt;function Ht(t){Wt||(Wt=function(){const t={},e=Object.keys(Nt),i=Object.keys(Bt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Bt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Wt.transparent=[0,0,0,0]);const e=Wt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const jt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const $t=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Yt=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Ut(t,e,i){if(t){let s=Rt(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),Line truncated
|
||||||
|
//# sourceMappingURL=chart.umd.js.map
|
||||||
|
After Width: | Height: | Size: 519 KiB |
@@ -2,4 +2,4 @@
|
|||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
extended = true
|
extended = true
|
||||||
min = "0.87.0 "
|
min = "0.87.0 "
|
||||||
max = "0.105.0"
|
max = "0.106.0"
|
||||||
@@ -44,6 +44,7 @@ enableCodeCopy = true
|
|||||||
showAuthor = true
|
showAuthor = true
|
||||||
showHero = true
|
showHero = true
|
||||||
heroStyle = "basic" # valid options: basic, big, background
|
heroStyle = "basic" # valid options: basic, big, background
|
||||||
|
layoutBackgroundBlur = false # only used when heroStyle equals background
|
||||||
showBreadcrumbs = true
|
showBreadcrumbs = true
|
||||||
showDraftLabel = true
|
showDraftLabel = true
|
||||||
showEdit = true
|
showEdit = true
|
||||||
@@ -62,8 +63,12 @@ enableCodeCopy = true
|
|||||||
sharingLinks = [ "linkedin", "twitter", "whatsapp", "pinterest", "reddit", "facebook", "email"]
|
sharingLinks = [ "linkedin", "twitter", "whatsapp", "pinterest", "reddit", "facebook", "email"]
|
||||||
|
|
||||||
[list]
|
[list]
|
||||||
|
#showHero = true
|
||||||
|
#heroStyle = "background" # valid options: basic, big, background
|
||||||
showBreadcrumbs = false
|
showBreadcrumbs = false
|
||||||
showSummary = false
|
showSummary = false
|
||||||
|
#showViews = true
|
||||||
|
#showLikes = true
|
||||||
showTableOfContents = false
|
showTableOfContents = false
|
||||||
showCards = false
|
showCards = false
|
||||||
groupByYear = true
|
groupByYear = true
|
||||||
@@ -89,6 +94,13 @@ enableCodeCopy = true
|
|||||||
# site = "ABC12345"
|
# site = "ABC12345"
|
||||||
# domain = "llama.yoursite.com"
|
# domain = "llama.yoursite.com"
|
||||||
|
|
||||||
|
[buymeacoffee]
|
||||||
|
# identifier = ""
|
||||||
|
# globalWidget = true
|
||||||
|
# globalWidgetMessage = "Hello"
|
||||||
|
# globalWidgetColor = "#FFDD00"
|
||||||
|
# globalWidgetPosition = "Right"
|
||||||
|
|
||||||
[verification]
|
[verification]
|
||||||
# google = ""
|
# google = ""
|
||||||
# bing = ""
|
# bing = ""
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"links": {
|
||||||
"email": {
|
"email": {
|
||||||
"icon": "email",
|
"icon": "email",
|
||||||
"title": "sharing.email",
|
"title": "sharing.email",
|
||||||
@@ -29,4 +30,5 @@
|
|||||||
"title": "sharing.twitter",
|
"title": "sharing.twitter",
|
||||||
"url": "https://twitter.com/intent/tweet/?url=%s&text=%s"
|
"url": "https://twitter.com/intent/tweet/?url=%s&text=%s"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -30,17 +30,22 @@
|
|||||||
pageRef = "users"
|
pageRef = "users"
|
||||||
weight = 40
|
weight = 40
|
||||||
|
|
||||||
|
[[main]]
|
||||||
|
name = "Merch"
|
||||||
|
url = "http://tee.pub/lic/qwSlWVBL5zc"
|
||||||
|
weight = 50
|
||||||
|
|
||||||
[[main]]
|
[[main]]
|
||||||
identifier = "github"
|
identifier = "github"
|
||||||
pre = "github"
|
pre = "github"
|
||||||
url = "https://github.com/nunocoracao/blowfish"
|
url = "https://github.com/nunocoracao/blowfish"
|
||||||
weight = 50
|
weight = 60
|
||||||
|
|
||||||
[[main]]
|
[[main]]
|
||||||
identifier = "twitter"
|
identifier = "twitter"
|
||||||
pre = "twitter"
|
pre = "twitter"
|
||||||
url = "https://twitter.com/burufugu"
|
url = "https://twitter.com/burufugu"
|
||||||
weight = 60
|
weight = 70
|
||||||
|
|
||||||
|
|
||||||
# -- Footer Menu --
|
# -- Footer Menu --
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ mainSections = ["docs"]
|
|||||||
showAuthor = true
|
showAuthor = true
|
||||||
showHero = true
|
showHero = true
|
||||||
heroStyle = "background" # valid options: basic, big, background
|
heroStyle = "background" # valid options: basic, big, background
|
||||||
|
layoutBackgroundBlur = true # only used when heroStyle equals background
|
||||||
showBreadcrumbs = true
|
showBreadcrumbs = true
|
||||||
showDraftLabel = true
|
showDraftLabel = true
|
||||||
showEdit = true
|
showEdit = true
|
||||||
@@ -66,6 +67,8 @@ mainSections = ["docs"]
|
|||||||
heroStyle = "background" # valid options: basic, big, background
|
heroStyle = "background" # valid options: basic, big, background
|
||||||
showBreadcrumbs = false
|
showBreadcrumbs = false
|
||||||
showSummary = false
|
showSummary = false
|
||||||
|
showViews = true
|
||||||
|
showLikes = true
|
||||||
showTableOfContents = true
|
showTableOfContents = true
|
||||||
showCards = true
|
showCards = true
|
||||||
groupByYear = false
|
groupByYear = false
|
||||||
@@ -91,6 +94,13 @@ mainSections = ["docs"]
|
|||||||
# site = "ABC12345"
|
# site = "ABC12345"
|
||||||
# domain = "llama.yoursite.com"
|
# domain = "llama.yoursite.com"
|
||||||
|
|
||||||
|
[buymeacoffee]
|
||||||
|
identifier = "nunocoracao"
|
||||||
|
globalWidget = true
|
||||||
|
globalWidgetMessage = ""
|
||||||
|
globalWidgetColor = "#FFDD00"
|
||||||
|
globalWidgetPosition = "Right"
|
||||||
|
|
||||||
[verification]
|
[verification]
|
||||||
# google = ""
|
# google = ""
|
||||||
# bing = ""
|
# bing = ""
|
||||||
|
|||||||
@@ -3,6 +3,12 @@ title: "Welcome to Blowfish! :tada:"
|
|||||||
description: "This is a demo of the Blowfish theme for Hugo."
|
description: "This is a demo of the Blowfish theme for Hugo."
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!--center style="display:flex;align-items:center;flex-wrap:wrap;justify-content:space-evenly;">
|
||||||
|
<a target="_blank" href="https://www.buymeacoffee.com/nunocoracao"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=nunocoracao&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff" /></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>
|
||||||
|
</center-->
|
||||||
|
|
||||||
This is a demo site built entirely using Blowfish. It also contains a complete set of [theme documentation]({{< ref "docs" >}}). Blowfish is flexible and is great for both static page-based content (like this demo) or a traditional blog with a feed of recent posts.
|
This is a demo site built entirely using Blowfish. It also contains a complete set of [theme documentation]({{< ref "docs" >}}). Blowfish is flexible and is great for both static page-based content (like this demo) or a traditional blog with a feed of recent posts.
|
||||||
|
|
||||||
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
<div class="flex px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
|||||||
|
|
||||||
<!-- prettier-ignore-start -->
|
<!-- prettier-ignore-start -->
|
||||||
| Name | Default | Description |
|
| Name | Default | Description |
|
||||||
| ------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ----------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `colorScheme` | `"blowfish"` | The theme colour scheme to use. Valid values are `blowfish` (default), `avocado`, `ocean`, `fire` and `slate`. 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`, `ocean`, `fire` and `slate`. Refer to the [Colour Schemes]({{< ref "getting-started#colour-schemes" >}}) section for more details. |
|
||||||
| `defaultAppearance` | `"light"` | The default theme appearance, either `light` or `dark`. |
|
| `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`. |
|
| `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`. |
|
||||||
@@ -133,8 +133,11 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
|||||||
| `enableCodeCopy` | `false` | Whether copy-to-clipboard buttons are enabled for `<code>` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. |
|
| `enableCodeCopy` | `false` | Whether copy-to-clipboard buttons are enabled for `<code>` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. |
|
||||||
| `logo` | _Not set_ | The relative path to the site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. |
|
| `logo` | _Not set_ | The relative path to the site logo file within the `assets/` folder. The logo file should be provided at 2x resolution and supports any image dimensions. |
|
||||||
| `mainSections` | _Not set_ | The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used. |
|
| `mainSections` | _Not set_ | The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used. |
|
||||||
|
| `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||||
|
| `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||||
| `robots` | _Not set_ | String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. |
|
| `robots` | _Not set_ | String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. |
|
||||||
| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. |
|
| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. |
|
||||||
|
| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
|
||||||
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic` and `fixed`. |
|
| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic` and `fixed`. |
|
||||||
| `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. |
|
| `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. |
|
||||||
| `footer.showCopyright` | `true` | Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#language-and-i18n). |
|
| `footer.showCopyright` | `true` | Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#language-and-i18n). |
|
||||||
@@ -157,6 +160,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
|||||||
| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
|
| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
|
||||||
| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
|
| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
|
||||||
| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`. |
|
| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`. |
|
||||||
|
| `article.layoutBackgroundBlur` | `false` | Makes the background image in the background article heroStyle blur with the scroll |
|
||||||
| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
|
| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
|
||||||
| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
|
| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
|
||||||
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
|
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
|
||||||
@@ -178,21 +182,28 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
|||||||
| `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. |
|
| `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. |
|
||||||
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. |
|
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. |
|
||||||
| `list.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#site-configuration). |
|
| `list.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#site-configuration). |
|
||||||
|
| `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. |
|
||||||
|
| `list.showLikes` | `false` | Whether or not list likes are displayed. This requires firebase integrations to be enabled, look below. |
|
||||||
| `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. |
|
| `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. |
|
||||||
| `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. |
|
| `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. |
|
||||||
| `list.cardView` | `false` | Display lists as a gallery of cards. |
|
| `list.cardView` | `false` | Display lists as a gallery of cards. |
|
||||||
| `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
|
| `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
|
||||||
| `sitemap.excludedKinds` | `["taxonomy", "term"]` | Kinds of content that should be excluded from the generated `/sitemap.xml` file. Refer to the [Hugo docs](https://gohugo.io/templates/section-templates/#page-kinds) for acceptable values. |
|
| `sitemap.excludedKinds` | `["taxonomy", "term"]` | Kinds of content that should be excluded from the generated `/sitemap.xml` file. Refer to the [Hugo docs](https://gohugo.io/templates/section-templates/#page-kinds) for acceptable values. |
|
||||||
| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. |
|
| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. |
|
||||||
| `firebase.apiKey` | _Not set_ | Firebase apiKey, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish |
|
| `firebase.apiKey` | _Not set_ | Firebase apiKey, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||||
| `firebase.authDomain` | _Not set_ | Firebase authDomain, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish |
|
| `firebase.authDomain` | _Not set_ | Firebase authDomain, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||||
| `firebase.projectId` | _Not set_ | Firebase projectId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish |
|
| `firebase.projectId` | _Not set_ | Firebase projectId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||||
| `firebase.storageBucket` | _Not set_ | Firebase storageBucket, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish |
|
| `firebase.storageBucket` | _Not set_ | Firebase storageBucket, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||||
| `firebase.messagingSenderId` | _Not set_ | Firebase messagingSenderId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish |
|
| `firebase.messagingSenderId` | _Not set_ | Firebase messagingSenderId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||||
| `firebase.appId` | _Not set_ | Firebase appId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish |
|
| `firebase.appId` | _Not set_ | Firebase appId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||||
| `firebase.measurementId` | _Not set_ | Firebase measurementId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish |
|
| `firebase.measurementId` | _Not set_ | Firebase measurementId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
|
||||||
| `fathomAnalytics.site` | _Not set_ | The site code generated by Fathom Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
| `fathomAnalytics.site` | _Not set_ | The site code generated by Fathom Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
|
||||||
| `fathomAnalytics.domain` | _Not set_ | If using a custom domain with Fathom Analytics, provide it here to serve `script.js` from the custom domain. |
|
| `fathomAnalytics.domain` | _Not set_ | If using a custom domain with Fathom Analytics, provide it here to serve `script.js` from the custom domain. |
|
||||||
|
| `buymeacoffee.identifier` | _Not set_ | The identifier to the target buymeacoffee account. |
|
||||||
|
| `buymeacoffee.globalWidget` | _Not set_ | Activate the global buymeacoffee widget. |
|
||||||
|
| `buymeacoffee.globalWidgetMessage` | _Not set_ | Message what will be displayed the first time a new user lands on the site. |
|
||||||
|
| `buymeacoffee.globalWidgetColor` | _Not set_ | Widget color in hex format. |
|
||||||
|
| `buymeacoffee.globalWidgetPosition` | _Not set_ | Position of the widget, i.e. "Left" or "Right" |
|
||||||
| `verification.google` | _Not set_ | The site verification string provided by Google to be included in the site metadata. |
|
| `verification.google` | _Not set_ | The site verification string provided by Google to be included in the site metadata. |
|
||||||
| `verification.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. |
|
| `verification.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. |
|
||||||
| `verification.pinterest` | _Not set_ | The site verification string provided by Pinterest to be included in the site metadata. |
|
| `verification.pinterest` | _Not set_ | The site verification string provided by Pinterest to be included in the site metadata. |
|
||||||
|
|||||||
@@ -2,10 +2,13 @@
|
|||||||
title: "Showcase"
|
title: "Showcase"
|
||||||
description: "See what's possible with Blowfish."
|
description: "See what's possible with Blowfish."
|
||||||
|
|
||||||
|
showLikes: true
|
||||||
|
showViews: true
|
||||||
|
|
||||||
cascade:
|
cascade:
|
||||||
showEdit: false
|
showEdit: false
|
||||||
showReadingTime: false
|
showReadingTime: false
|
||||||
showSummary: true
|
showSummary: false
|
||||||
showLikes: false
|
showLikes: false
|
||||||
showViews: false
|
showViews: false
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: "Blowfish Artist"
|
||||||
|
date: 2022-11-06
|
||||||
|
externalUrl: "https://nunocoracao.github.io/blowfish_artist/"
|
||||||
|
---
|
||||||
|
After Width: | Height: | Size: 1.0 MiB |
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: "Blowfish Lite"
|
||||||
|
date: 2022-11-07
|
||||||
|
externalUrl: "https://nunocoracao.github.io/blowfish_lite/"
|
||||||
|
---
|
||||||
|
After Width: | Height: | Size: 107 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: "Blowfish Lowkey"
|
||||||
|
date: 2022-11-06
|
||||||
|
externalUrl: "https://nunocoracao.github.io/blowfish_lowkey/"
|
||||||
|
---
|
||||||
|
After Width: | Height: | Size: 703 KiB |
@@ -1,8 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: "Blowfish Template - GitHub Repo"
|
title: "Blowfish Template - GitHub Repo"
|
||||||
date: 2022-11-06
|
date: 2020-11-06
|
||||||
externalUrl: "https://github.com/nunocoracao/blowfish_template"
|
externalUrl: "https://github.com/nunocoracao/blowfish_template"
|
||||||
summary: "A simple template project to get you started. Blowfish theme already installed with a simple github pages action configured."
|
|
||||||
---
|
---
|
||||||
|
|
||||||
A simple template project to get you started. Blowfish theme already installed with a simple github pages action configured.
|
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: "Blowfish Template"
|
title: "Blowfish Template"
|
||||||
date: 2022-11-06
|
date: 2020-11-06
|
||||||
externalUrl: "https://nunocoracao.github.io/blowfish_template/"
|
externalUrl: "https://nunocoracao.github.io/blowfish_template/"
|
||||||
summary: "A simple template project to get you started. Blowfish theme already installed with a simple github pages action configured."
|
|
||||||
---
|
---
|
||||||
|
|
||||||
A simple template project to get you started. Blowfish theme already installed with a simple github pages action configured.
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: "Blowfish Artist - Repo"
|
||||||
|
date: 2021-11-06
|
||||||
|
externalUrl: "https://github.com/nunocoracao/blowfish_artist/"
|
||||||
|
---
|
||||||
|
After Width: | Height: | Size: 1.0 MiB |
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: "Blowfish Lite - Repo"
|
||||||
|
date: 2021-11-07
|
||||||
|
externalUrl: "https://github.com/nunocoracao/blowfish_lite/"
|
||||||
|
---
|
||||||
|
After Width: | Height: | Size: 107 KiB |
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
title: "Blowfish Lowkey - Repo"
|
||||||
|
date: 2021-11-06
|
||||||
|
externalUrl: "https://github.com/nunocoracao/blowfish_lowkey/"
|
||||||
|
---
|
||||||
|
After Width: | Height: | Size: 703 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 589 KiB |
|
After Width: | Height: | Size: 154 KiB |
|
After Width: | Height: | Size: 490 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 589 KiB |
|
After Width: | Height: | Size: 154 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 490 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 490 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 589 KiB |
|
After Width: | Height: | Size: 154 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 490 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 373 KiB |
@@ -12,6 +12,12 @@ article:
|
|||||||
word_count:
|
word_count:
|
||||||
one: "{{ .Count }} টি শব্দ"
|
one: "{{ .Count }} টি শব্দ"
|
||||||
other: "{{ .Count }} টি শব্দ"
|
other: "{{ .Count }} টি শব্দ"
|
||||||
|
views:
|
||||||
|
one: "{{ .Count }} বার দেখা হয়েছে"
|
||||||
|
other: "{{ .Count }} বার দেখা হয়েছে"
|
||||||
|
likes:
|
||||||
|
one: "{{ .Count }} বার পছন্দ করা হয়েছে"
|
||||||
|
other: "{{ .Count }} বার পছন্দ করা হয়েছে"
|
||||||
|
|
||||||
author:
|
author:
|
||||||
byline_title: "লেখক"
|
byline_title: "লেখক"
|
||||||
@@ -53,3 +59,6 @@ sharing:
|
|||||||
|
|
||||||
shortcode:
|
shortcode:
|
||||||
recent_articles: "সাম্প্রতিক"
|
recent_articles: "সাম্প্রতিক"
|
||||||
|
|
||||||
|
recent:
|
||||||
|
show_more: "আরো দেখুন"
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
article:
|
||||||
|
anchor_label: "Якорь"
|
||||||
|
date: "{{ .Date }}"
|
||||||
|
date_updated: "Обновлено: {{ .Date }}"
|
||||||
|
draft: "Черновик"
|
||||||
|
edit_title: "Редактировать содержимое"
|
||||||
|
reading_time:
|
||||||
|
one: "{{ .Count }} минута"
|
||||||
|
other: "{{ .Count }} минут"
|
||||||
|
reading_time_title: "Время чтения"
|
||||||
|
table_of_contents: "Оглавление"
|
||||||
|
word_count:
|
||||||
|
one: "{{ .Count }} слово"
|
||||||
|
other: "{{ .Count }} слов"
|
||||||
|
views:
|
||||||
|
one: "{{ .Count }} просмотр"
|
||||||
|
other: "{{ .Count }} просмотров"
|
||||||
|
likes:
|
||||||
|
one: "{{ .Count }} нравится"
|
||||||
|
other: "{{ .Count }} нравится"
|
||||||
|
|
||||||
|
author:
|
||||||
|
byline_title: "Автор"
|
||||||
|
|
||||||
|
code:
|
||||||
|
copy: "Копировать"
|
||||||
|
copied: "Скопировано"
|
||||||
|
|
||||||
|
error:
|
||||||
|
404_title: "Страница не найдена: в замешательстве:"
|
||||||
|
404_error: "Ошибка 404"
|
||||||
|
404_description: "Похоже, запрошенная вами страница не существует."
|
||||||
|
|
||||||
|
footer:
|
||||||
|
dark_appearance: "Переключить на темный вид"
|
||||||
|
light_appearance: "Переключить на светлый вид"
|
||||||
|
powered_by: "Работает на {{ .Hugo }} & {{ .Theme }}"
|
||||||
|
|
||||||
|
list:
|
||||||
|
externalurl_title: "Ссылка на внешний сайт"
|
||||||
|
no_articles: "Здесь пока нет статей."
|
||||||
|
|
||||||
|
nav:
|
||||||
|
scroll_to_top_title: "Пролистать наверх"
|
||||||
|
skip_to_main: "Перейти к основному содержимому"
|
||||||
|
|
||||||
|
search:
|
||||||
|
open_button_title: "Поиск (/)"
|
||||||
|
close_button_title: "Закрыть (Esc)"
|
||||||
|
input_placeholder: "Поиск"
|
||||||
|
|
||||||
|
sharing:
|
||||||
|
email: "Отправить по электронной почте"
|
||||||
|
facebook: "Поделиться через Facebook"
|
||||||
|
linkedin: "Поделиться через LinkedIn"
|
||||||
|
pinterest: "PДобавить в Pinterest"
|
||||||
|
reddit: "Отправить в Reddit"
|
||||||
|
twitter: "Твитнуть в Twitter"
|
||||||
|
|
||||||
|
shortcode:
|
||||||
|
recent_articles: "Недавние"
|
||||||
|
|
||||||
|
recent:
|
||||||
|
show_more: "Показать еще"
|
||||||
@@ -1,30 +1,20 @@
|
|||||||
{{- partial "partials/functions/warnings.html" .Site -}}
|
{{- partial "partials/functions/warnings.html" .Site -}}
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html
|
<html lang="{{ with .Site.Params.isoCode | default (.Site.LanguageCode | default " en") }} {{- . -}} {{ end }}" dir="{{ if .Site.Params.rtl | default false -}}
|
||||||
lang="{{ with .Site.Params.isoCode | default (.Site.LanguageCode | default "en") }}
|
|
||||||
{{- . -}}
|
|
||||||
{{ end }}"
|
|
||||||
dir="{{ if .Site.Params.rtl | default false -}}
|
|
||||||
rtl
|
rtl
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
ltr
|
ltr
|
||||||
{{- end }}"
|
{{- end }}" class="scroll-smooth" data-default-appearance="{{ .Site.Params.defaultAppearance | default " light" }}"
|
||||||
class="scroll-smooth"
|
data-auto-appearance="{{ .Site.Params.autoSwitchAppearance | default " true" }}">
|
||||||
data-default-appearance="{{ .Site.Params.defaultAppearance | default "light" }}"
|
{{- partial "head.html" . -}}
|
||||||
data-auto-appearance="{{ .Site.Params.autoSwitchAppearance | default "true" }}"
|
|
||||||
>
|
<body
|
||||||
{{- partial "head.html" . -}}
|
class="flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32">
|
||||||
<body
|
|
||||||
class="flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32"
|
|
||||||
>
|
|
||||||
<div id="the-top" class="absolute flex self-center">
|
<div id="the-top" class="absolute flex self-center">
|
||||||
<a
|
<a class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600"
|
||||||
class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600"
|
href="#main-content"><span
|
||||||
href="#main-content"
|
class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400">↓</span>{{ i18n
|
||||||
><span class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400"
|
"nav.skip_to_main" }}</a>
|
||||||
>↓</span
|
|
||||||
>{{ i18n "nav.skip_to_main" }}</a
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{{ $header := print "partials/header/" .Site.Params.header.layout ".html" }}
|
{{ $header := print "partials/header/" .Site.Params.header.layout ".html" }}
|
||||||
{{ if templates.Exists $header }}
|
{{ if templates.Exists $header }}
|
||||||
@@ -36,15 +26,10 @@
|
|||||||
<main id="main-content" class="grow">
|
<main id="main-content" class="grow">
|
||||||
{{ block "main" . }}{{ end }}
|
{{ block "main" . }}{{ end }}
|
||||||
{{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }}
|
{{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }}
|
||||||
<div
|
<div class="pointer-events-none absolute top-[100vh] bottom-0 w-12 ltr:right-0 rtl:left-0">
|
||||||
class="pointer-events-none absolute top-[100vh] bottom-0 w-12 ltr:right-0 rtl:left-0"
|
<a href="#the-top"
|
||||||
>
|
|
||||||
<a
|
|
||||||
href="#the-top"
|
|
||||||
class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 backdrop-blur hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400"
|
class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 backdrop-blur hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400"
|
||||||
aria-label="{{ i18n "nav.scroll_to_top_title" }}"
|
aria-label="{{ i18n " nav.scroll_to_top_title" }}" title="{{ i18n " nav.scroll_to_top_title" }}">
|
||||||
title="{{ i18n "nav.scroll_to_top_title" }}"
|
|
||||||
>
|
|
||||||
↑
|
↑
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -55,5 +40,10 @@
|
|||||||
{{- partial "search.html" . -}}
|
{{- partial "search.html" . -}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
{{ if .Site.Params.buymeacoffee.globalWidget | default false }}
|
||||||
|
<script data-name="BMC-Widget" data-cfasync="false" src="https://cdnjs.buymeacoffee.com/1.0.0/widget.prod.min.js"
|
||||||
|
data-id="{{ .Site.Params.buymeacoffee.identifier }}" data-description="Support me on Buy me a coffee!" data-message="{{ .Site.Params.buymeacoffee.globalWidgetMessage | default "" }}"
|
||||||
|
data-color="{{ .Site.Params.buymeacoffee.globalWidgetColor | default "#FFDD00" }}" data-position="{{ .Site.Params.buymeacoffee.globalWidgetPosition | default "Left" }}" data-x_margin="18" data-y_margin="18"></script>
|
||||||
|
{{ end }}
|
||||||
</html>
|
</html>
|
||||||
@@ -15,6 +15,9 @@
|
|||||||
{{ partial "breadcrumbs.html" . }}
|
{{ partial "breadcrumbs.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<h1 class="mt-5 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ .Title }}</h1>
|
<h1 class="mt-5 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ .Title }}</h1>
|
||||||
|
<div class="mt-1 mb-2 text-base text-neutral-500 dark:text-neutral-400 print:hidden">
|
||||||
|
{{ partial "article-meta-list.html" (dict "context" . "scope" "single") }}
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<section class="{{ if $toc -}}
|
<section class="{{ if $toc -}}
|
||||||
mt-12
|
mt-12
|
||||||
@@ -31,10 +34,125 @@
|
|||||||
<div class="min-w-0 min-h-0 max-w-prose">
|
<div class="min-w-0 min-h-0 max-w-prose">
|
||||||
{{ .Content | emojify }}
|
{{ .Content | emojify }}
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var liked_article = false
|
||||||
|
|
||||||
|
if (typeof auth !== 'undefined') {
|
||||||
|
var oid = "views_{{ .File.Path }}"
|
||||||
|
var id = oid ? oid.replaceAll("/", "-") : oid
|
||||||
|
|
||||||
|
var viewed = localStorage.getItem(id);
|
||||||
|
|
||||||
|
if (!viewed) {
|
||||||
|
auth.signInAnonymously()
|
||||||
|
.then(() => {
|
||||||
|
var docRef = db.collection('views').doc(id)
|
||||||
|
localStorage.setItem(id, true);
|
||||||
|
docRef.get().then((doc) => {
|
||||||
|
if (doc.exists) {
|
||||||
|
db.collection('views').doc(id).update({
|
||||||
|
views: firebase.firestore.FieldValue.increment(1)
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
db.collection('views').doc(id).set({ views: 1 })
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
console.log("Error getting document:", error);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
var errorCode = error.code;
|
||||||
|
var errorMessage = error.message;
|
||||||
|
console.error(errorCode, errorMessage)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var oid_likes = "likes_{{ .File.Path }}"
|
||||||
|
var id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes
|
||||||
|
|
||||||
|
var liked = localStorage.getItem(id_likes);
|
||||||
|
|
||||||
|
if (liked) {
|
||||||
|
liked_article = true
|
||||||
|
document.querySelectorAll("span[id='likes_button_heart']")[0].style.display = ""
|
||||||
|
document.querySelectorAll("span[id='likes_button_emtpty_heart']")[0].style.display = "none"
|
||||||
|
document.querySelectorAll("span[id='likes_button_text']")[0].innerText = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function like_article(id_likes) {
|
||||||
|
auth.signInAnonymously()
|
||||||
|
.then(() => {
|
||||||
|
var docRef = db.collection('likes').doc(id_likes)
|
||||||
|
docRef.get().then((doc) => {
|
||||||
|
liked_article = true
|
||||||
|
localStorage.setItem(id_likes, true);
|
||||||
|
document.querySelectorAll("span[id='likes_button_heart']")[0].style.display = ""
|
||||||
|
document.querySelectorAll("span[id='likes_button_emtpty_heart']")[0].style.display = "none"
|
||||||
|
document.querySelectorAll("span[id='likes_button_text']")[0].innerText = ""
|
||||||
|
if (doc.exists) {
|
||||||
|
db.collection('likes').doc(id_likes).update({
|
||||||
|
likes: firebase.firestore.FieldValue.increment(1)
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
db.collection('likes').doc(id_likes).set({ likes: 1 })
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
console.log("Error getting document:", error);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
var errorCode = error.code;
|
||||||
|
var errorMessage = error.message;
|
||||||
|
console.error(errorCode, errorMessage)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove_like_article(id_likes) {
|
||||||
|
auth.signInAnonymously()
|
||||||
|
.then(() => {
|
||||||
|
var docRef = db.collection('likes').doc(id_likes)
|
||||||
|
docRef.get().then((doc) => {
|
||||||
|
liked_article = false
|
||||||
|
localStorage.removeItem(id_likes);
|
||||||
|
document.querySelectorAll("span[id='likes_button_heart']")[0].style.display = "none"
|
||||||
|
document.querySelectorAll("span[id='likes_button_emtpty_heart']")[0].style.display = ""
|
||||||
|
document.querySelectorAll("span[id='likes_button_text']")[0].innerText = "\xa0Like"
|
||||||
|
if (doc.exists) {
|
||||||
|
db.collection('likes').doc(id_likes).update({
|
||||||
|
likes: firebase.firestore.FieldValue.increment(-1)
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
db.collection('likes').doc(id_likes).set({ likes: 0 })
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
console.log("Error getting document:", error);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
var errorCode = error.code;
|
||||||
|
var errorMessage = error.message;
|
||||||
|
console.error(errorCode, errorMessage)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function process_article() {
|
||||||
|
var oid_likes = "likes_{{ .File.Path }}"
|
||||||
|
var id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes
|
||||||
|
if (!liked_article) {
|
||||||
|
like_article(id_likes)
|
||||||
|
} else {
|
||||||
|
remove_like_article(id_likes)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
</section>
|
</section>
|
||||||
{{ if gt .Pages 0 }}
|
{{ if gt .Pages 0 }}
|
||||||
|
|
||||||
{{ if .Site.Params.list.cardView | default false }}
|
{{ if .Params.cardView | default (.Site.Params.list.cardView | default false) }}
|
||||||
|
|
||||||
{{ $cardViewScreenWidth := .Site.Params.list.cardViewScreenWidth}}
|
{{ $cardViewScreenWidth := .Site.Params.list.cardViewScreenWidth}}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{{/* Determine the correct context and scope */}}
|
||||||
|
{{/* This allows for different logic depending on where the partial is called */}}
|
||||||
|
{{ $context := . }}
|
||||||
|
{{ $scope := default nil }}
|
||||||
|
|
||||||
|
{{ if (reflect.IsMap . ) }}
|
||||||
|
{{ $context = .context }}
|
||||||
|
{{ $scope = cond (not .scope) nil .scope }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ with $context }}
|
||||||
|
{{ $meta := newScratch }}
|
||||||
|
|
||||||
|
{{/* Gather partials for this context */}}
|
||||||
|
|
||||||
|
{{ if (.Params.showViews | default (.Site.Params.list.showViews | default false)) }}
|
||||||
|
{{ $meta.Add "partials" (slice (partial "meta/views.html" .)) }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if (.Params.showLikes | default (.Site.Params.list.showLikes | default false)) }}
|
||||||
|
{{ $meta.Add "partials" (slice (partial "meta/likes.html" .)) }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if and (eq $scope "single") (.Params.showLikes | default (.Site.Params.list.showLikes | default false)) }}
|
||||||
|
{{ $meta.Add "partials" (slice (partial "meta/likes_button.html" .)) }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="flex flex-row flex-wrap items-center">
|
||||||
|
{{/* Output partials */}}
|
||||||
|
{{ with ($meta.Get "partials") }}
|
||||||
|
{{ delimit . "<span class=\"px-2 text-primary-500\">·</span>" }}
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ end }}
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
{{ range .data.social }}
|
{{ range .data.social }}
|
||||||
{{ range $name, $link := . }}
|
{{ range $name, $link := . }}
|
||||||
<a class="px-1 hover:text-primary-700 dark:hover:text-primary-400" href="{{ $link }}" target="_blank"
|
<a class="px-1 hover:text-primary-700 dark:hover:text-primary-400" href="{{ $link }}" target="_blank"
|
||||||
aria-label="{{ $name | title }}" rel="me noopener noreferrer">{{ partial "icon.html" $name }}</a>
|
aria-label="{{ $name | title }}" rel="me noopener noreferrer"><span class="inline-block align-text-bottom">{{ partial "icon.html" $name }}</span></a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
aria-label="{{ $name | title }}"
|
aria-label="{{ $name | title }}"
|
||||||
rel="me noopener noreferrer"
|
rel="me noopener noreferrer"
|
||||||
>{{ partial "icon.html" $name }}</a
|
><span class="inline-block align-text-bottom">{{ partial "icon.html" $name }}</span></a
|
||||||
>
|
>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
<li class="mb-1">
|
<li class="mb-1">
|
||||||
<a {{ if or (strings.HasPrefix .URL "http:") (strings.HasPrefix .URL "https:") }} target="_blank"{{ end }} class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
|
<a {{ if or (strings.HasPrefix .URL "http:") (strings.HasPrefix .URL "https:") }} target="_blank"{{ end }} class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
|
||||||
href="{{ .URL }}" title="{{ .Title }}">
|
href="{{ .URL }}" title="{{ .Title }}">
|
||||||
{{ partial "icon.html" .Pre }}
|
<span class="inline-block align-text-bottom">{{ partial "icon.html" .Pre }}</span>
|
||||||
{{ if and .Pre .Name }} {{ end }}
|
{{ if and .Pre .Name }} {{ end }}
|
||||||
{{ .Name | markdownify | emojify }}
|
{{ .Name | markdownify | emojify }}
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
target="_blank" {{ end }}
|
target="_blank" {{ end }}
|
||||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
|
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
|
||||||
href="{{ .URL }}" title="{{ .Title }}">
|
href="{{ .URL }}" title="{{ .Title }}">
|
||||||
{{ partial "icon.html" .Pre }}
|
<span class="inline-block align-text-bottom">{{ partial "icon.html" .Pre }}</span>
|
||||||
{{ if and .Pre .Name }} {{ end }}
|
{{ if and .Pre .Name }} {{ end }}
|
||||||
{{ .Name | markdownify | emojify }}
|
{{ .Name | markdownify | emojify }}
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{{- $images := .Resources.ByType "image" -}}
|
{{- $images := .Resources.ByType "image" -}}
|
||||||
{{- $featured := $images.GetMatch "*feature*" -}}
|
{{- $featured := $images.GetMatch "*feature*" -}}
|
||||||
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
||||||
|
{{- if not $featured }}{{ with .Site.Params.defaultBackgroundImage }}{{ $featured = resources.Get . }}{{ end }}{{ end -}}
|
||||||
{{- with $featured -}}
|
{{- with $featured -}}
|
||||||
{{ with .Resize "1200x" }}
|
{{ with .Resize "1200x" }}
|
||||||
<div id="hero" class="h-[150px] md:h-[200px]"></div>
|
<div id="hero" class="h-[150px] md:h-[200px]"></div>
|
||||||
@@ -12,6 +13,7 @@
|
|||||||
class="absolute inset-0 opacity-30 dark:opacity-60 bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral dark:to-neutral-800 mix-blend-normal">
|
class="absolute inset-0 opacity-30 dark:opacity-60 bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral dark:to-neutral-800 mix-blend-normal">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{ if $.Site.Params.article.layoutBackgroundBlur | default false }}
|
||||||
<div id="background-blur" class="fixed opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl"></div>
|
<div id="background-blur" class="fixed opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl"></div>
|
||||||
<script>
|
<script>
|
||||||
window.addEventListener('scroll', function (e) {
|
window.addEventListener('scroll', function (e) {
|
||||||
@@ -21,4 +23,5 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
@@ -4,9 +4,10 @@
|
|||||||
<div class="mx-auto max-w-7xl p-0">
|
<div class="mx-auto max-w-7xl p-0">
|
||||||
<div class="relative sm:overflow-hidden">
|
<div class="relative sm:overflow-hidden">
|
||||||
<div class="fixed inset-x-0 top-0" style="z-index:-10">
|
<div class="fixed inset-x-0 top-0" style="z-index:-10">
|
||||||
{{ with .Site.Params.homepage.homepageImage }}
|
{{ $homepageImage := "" }}
|
||||||
{{ $homepageImage := resources.Get . }}
|
{{ with .Site.Params.defaultBackgroundImage }}{{ $homepageImage = resources.Get . }}{{ end }}
|
||||||
{{ if $homepageImage }}
|
{{ with .Site.Params.homepage.homepageImage }}{{ $homepageImage = resources.Get . }}{{ end }}
|
||||||
|
{{ if not (eq $homepageImage "") }}
|
||||||
<img class="w-full h-[1000px] object-cover m-0 nozoom" src="{{ $homepageImage.RelPermalink }}">
|
<img class="w-full h-[1000px] object-cover m-0 nozoom" src="{{ $homepageImage.RelPermalink }}">
|
||||||
<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">
|
||||||
@@ -15,7 +16,6 @@
|
|||||||
class="opacity-70 absolute inset-0 h-[1000px] bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral dark:to-neutral-800 mix-blend-normal">
|
class="opacity-70 absolute inset-0 h-[1000px] bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral dark:to-neutral-800 mix-blend-normal">
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="relative px-4 py-16 sm:px-6 sm:py-24 lg:py-32 lg:px-8 flex flex-col items-center justify-center text-center">
|
<div class="relative px-4 py-16 sm:px-6 sm:py-24 lg:py-32 lg:px-8 flex flex-col items-center justify-center text-center">
|
||||||
{{ with .Site.Author.image }}
|
{{ with .Site.Author.image }}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{{ $icon := resources.Get (print "icons/" . ".svg") }}
|
{{ $icon := resources.Get (print "icons/" . ".svg") }}
|
||||||
{{ if $icon }}
|
{{ if $icon }}
|
||||||
<span class="relative inline-block align-text-bottom icon">
|
<span class="relative block icon">
|
||||||
{{ $icon.Content | safeHTML }}
|
{{ $icon.Content | safeHTML }}
|
||||||
</span>
|
</span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
title="{{ i18n "article.edit_title" }}"
|
title="{{ i18n "article.edit_title" }}"
|
||||||
>{{ partial "icon.html" "edit" }}</a
|
><span class="inline-block align-text-bottom">{{ partial "icon.html" "edit" }}</span></a
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
{{- /* Trim EOF */ -}}
|
{{- /* Trim EOF */ -}}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<span>
|
<span>
|
||||||
<span id="likes_{{ .File.Path }}" title="likes">0</span>
|
<span id="likes_{{ .File.Path }}" title="likes">0</span>
|
||||||
<span>{{ partial "icon.html" "heart" }}</span>
|
<span class="inline-block align-text-bottom">{{ partial "icon.html" "heart" }}</span>
|
||||||
</span>
|
</span>
|
||||||
{{- /* Trim EOF */ -}}
|
{{- /* Trim EOF */ -}}
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
<button id="likes_button"
|
<button id="likes_button"
|
||||||
class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"
|
class="rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400"
|
||||||
onclick="process_article()">
|
onclick="process_article()">
|
||||||
<span id="likes_button_heart" style="display:none">{{ partial "icon.html" "heart" }} </span>
|
<span id="likes_button_heart" style="display:none" class="inline-block align-text-bottom">{{ partial "icon.html" "heart" }} </span>
|
||||||
<span id="likes_button_emtpty_heart">{{ partial "icon.html" "heart-empty" }}</span>
|
<span id="likes_button_emtpty_heart" class="inline-block align-text-bottom">{{ partial "icon.html" "heart-empty" }}</span>
|
||||||
<span id="likes_button_text"> Like</span>
|
<span id="likes_button_text"> Like</span>
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<span>
|
<span>
|
||||||
<span id="views_{{ .File.Path }}" title="views">0</span>
|
<span id="views_{{ .File.Path }}" title="views">0</span>
|
||||||
<span>{{ partial "icon.html" "eye" }}</span>
|
<span class="inline-block align-text-bottom">{{ partial "icon.html" "eye" }}</span>
|
||||||
</span>
|
</span>
|
||||||
{{- /* Trim EOF */ -}}
|
{{- /* Trim EOF */ -}}
|
||||||
@@ -44,8 +44,9 @@
|
|||||||
<div class="mt-10 flex justify-center">
|
<div class="mt-10 flex justify-center">
|
||||||
<a href="{{ $showMoreLinkDest }}">
|
<a href="{{ $showMoreLinkDest }}">
|
||||||
<button
|
<button
|
||||||
class="bg-transparent hover:text-primary-500 prose dark:prose-invert font-semibold hover:text-white py-2 px-4 border border-primary-500 hover:border-transparent rounded">Show
|
class="bg-transparent hover:text-primary-500 prose dark:prose-invert font-semibold hover:text-white py-2 px-4 border border-primary-500 hover:border-transparent rounded">
|
||||||
More</button>
|
{{ i18n "recent.show_more" | markdownify | emojify }}
|
||||||
|
</button>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
{{ with .Params.sharingLinks | default (.Site.Params.article.sharingLinks | default false) }}
|
{{ with .Params.sharingLinks | default (.Site.Params.article.sharingLinks | default false) }}
|
||||||
{{ $links := site.Data.sharing }}
|
|
||||||
<section class="flex flex-row flex-wrap justify-center pt-4 text-xl">
|
<section class="flex flex-row flex-wrap justify-center pt-4 text-xl">
|
||||||
{{ range . }}
|
{{ range $.Site.Data.sharing.links }}
|
||||||
{{ with index $links . }}
|
{{ with . }}
|
||||||
<a
|
<a
|
||||||
class="m-1 inline-block min-w-[2.4rem] rounded bg-neutral-300 p-1 text-center text-neutral-700 hover:bg-primary-500 hover:text-neutral dark:bg-neutral-700 dark:text-neutral-300 dark:hover:bg-primary-400 dark:hover:text-neutral-800"
|
target="_blank"
|
||||||
|
class="m-1 rounded bg-neutral-300 p-1.5 text-neutral-700 hover:bg-primary-500 hover:text-neutral dark:bg-neutral-700 dark:text-neutral-300 dark:hover:bg-primary-400 dark:hover:text-neutral-800"
|
||||||
href="{{ printf .url $.Permalink $.Title }}"
|
href="{{ printf .url $.Permalink $.Title }}"
|
||||||
title="{{ i18n .title }}"
|
title="{{ i18n .title }}"
|
||||||
aria-label="{{ i18n .title }}"
|
aria-label="{{ i18n .title }}"
|
||||||
>{{ partial "icon.html" .icon }}</a
|
|
||||||
>
|
>
|
||||||
|
{{ partial "icon.html" .icon }}
|
||||||
|
</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -1,31 +1,31 @@
|
|||||||
{
|
{
|
||||||
"name": "hugo-blowfish-theme",
|
"name": "hugo-blowfish-theme",
|
||||||
"version": "2.6.0",
|
"version": "2.14.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "hugo-blowfish-theme",
|
"name": "hugo-blowfish-theme",
|
||||||
"version": "2.6.0",
|
"version": "2.14.0",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@headlessui/react": "^1.7.3",
|
"@headlessui/react": "^1.7.4",
|
||||||
"@heroicons/react": "^2.0.12",
|
"@heroicons/react": "^2.0.13",
|
||||||
"@tailwindcss/forms": "^0.5.3",
|
"@tailwindcss/forms": "^0.5.3",
|
||||||
"commander": "^9.4.1"
|
"commander": "^9.4.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.7",
|
"@tailwindcss/typography": "^0.5.8",
|
||||||
"chart.js": "^3.9.1",
|
"chart.js": "^4.0.1",
|
||||||
"fuse.js": "^6.6.2",
|
"fuse.js": "^6.6.2",
|
||||||
"katex": "^0.16.3",
|
"katex": "^0.16.3",
|
||||||
"mermaid": "^9.1.7",
|
"mermaid": "^9.2.2",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"prettier-plugin-go-template": "^0.0.13",
|
"prettier-plugin-go-template": "^0.0.13",
|
||||||
"prettier-plugin-tailwindcss": "^0.1.13",
|
"prettier-plugin-tailwindcss": "^0.1.13",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"tailwindcss": "^3.2.1",
|
"tailwindcss": "^3.2.4",
|
||||||
"vendor-copy": "^3.0.1"
|
"vendor-copy": "^3.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -36,9 +36,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@headlessui/react": {
|
"node_modules/@headlessui/react": {
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.4.tgz",
|
||||||
"integrity": "sha512-LGp06SrGv7BMaIQlTs8s2G06moqkI0cb0b8stgq7KZ3xcHdH3qMP+cRyV7qe5x4XEW/IGY48BW4fLesD6NQLng==",
|
"integrity": "sha512-D8n5yGCF3WIkPsjEYeM8knn9jQ70bigGGb5aUvN6y4BGxcT3OcOQOKcM3zRGllRCZCFxCZyQvYJF6ZE7bQUOyQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"client-only": "^0.0.1"
|
||||||
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@@ -48,9 +51,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@heroicons/react": {
|
"node_modules/@heroicons/react": {
|
||||||
"version": "2.0.12",
|
"version": "2.0.13",
|
||||||
"resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.12.tgz",
|
"resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.13.tgz",
|
||||||
"integrity": "sha512-FZxKh3i9aKIDxyALTgIpSF2t6V6/eZfF5mRu41QlwkX3Oxzecdm1u6dpft6PQGxIBwO7TKYWaMAYYL8mp/EaOg==",
|
"integrity": "sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": ">= 16"
|
"react": ">= 16"
|
||||||
}
|
}
|
||||||
@@ -99,9 +102,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss/typography": {
|
"node_modules/@tailwindcss/typography": {
|
||||||
"version": "0.5.7",
|
"version": "0.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.8.tgz",
|
||||||
"integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
|
"integrity": "sha512-xGQEp8KXN8Sd8m6R4xYmwxghmswrd0cPnNI2Lc6fmrC3OojysTBJJGSIVwPV56q4t6THFUK3HJ0EaWwpglSxWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lodash.castarray": "^4.4.0",
|
"lodash.castarray": "^4.4.0",
|
||||||
@@ -203,10 +206,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chart.js": {
|
"node_modules/chart.js": {
|
||||||
"version": "3.9.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.0.1.tgz",
|
||||||
"integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==",
|
"integrity": "sha512-5/8/9eBivwBZK81mKvmIwTb2Pmw4D/5h1RK9fBWZLLZ8mCJ+kfYNmV9rMrGoa5Hgy2/wVDBMLSUDudul2/9ihA==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"pnpm": "^7.0.0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chokidar": {
|
"node_modules/chokidar": {
|
||||||
"version": "3.5.3",
|
"version": "3.5.3",
|
||||||
@@ -245,6 +251,11 @@
|
|||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/client-only": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||||
|
},
|
||||||
"node_modules/color-name": {
|
"node_modules/color-name": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
@@ -1078,6 +1089,12 @@
|
|||||||
"integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==",
|
"integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/fast-clone": {
|
||||||
|
"version": "1.5.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/fast-clone/-/fast-clone-1.5.13.tgz",
|
||||||
|
"integrity": "sha512-0ez7coyFBQFjZtId+RJqJ+EQs61w9xARfqjqK0AD9vIUkSxWD4HvPt80+5evebZ1tTnv1GYKrPTipx7kOW5ipA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/fast-glob": {
|
"node_modules/fast-glob": {
|
||||||
"version": "3.2.12",
|
"version": "3.2.12",
|
||||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
|
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
|
||||||
@@ -1383,9 +1400,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/mermaid": {
|
"node_modules/mermaid": {
|
||||||
"version": "9.1.7",
|
"version": "9.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.2.2.tgz",
|
||||||
"integrity": "sha512-MRVHXy5FLjnUQUG7YS3UN9jEN6FXCJbFCXVGJQjVIbiR6Vhw0j/6pLIjqsiah9xoHmQU6DEaKOvB3S1g/1nBPA==",
|
"integrity": "sha512-6s7eKMqFJGS+0MYjmx8f6ZigqKBJVoSx5ql2gw6a4Aa+WJ49QiEJg7gPwywaBg3DZMs79UP7trESp4+jmaQccw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@braintree/sanitize-url": "^6.0.0",
|
"@braintree/sanitize-url": "^6.0.0",
|
||||||
@@ -1393,10 +1410,14 @@
|
|||||||
"dagre": "^0.8.5",
|
"dagre": "^0.8.5",
|
||||||
"dagre-d3": "^0.6.4",
|
"dagre-d3": "^0.6.4",
|
||||||
"dompurify": "2.4.0",
|
"dompurify": "2.4.0",
|
||||||
|
"fast-clone": "^1.5.13",
|
||||||
"graphlib": "^2.1.8",
|
"graphlib": "^2.1.8",
|
||||||
"khroma": "^2.0.0",
|
"khroma": "^2.0.0",
|
||||||
"moment-mini": "2.24.0",
|
"lodash": "^4.17.21",
|
||||||
"stylis": "^4.0.10"
|
"moment-mini": "^2.24.0",
|
||||||
|
"non-layered-tidy-tree-layout": "^2.0.2",
|
||||||
|
"stylis": "^4.1.2",
|
||||||
|
"uuid": "^9.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/micromatch": {
|
"node_modules/micromatch": {
|
||||||
@@ -1462,6 +1483,12 @@
|
|||||||
"ncp": "bin/ncp"
|
"ncp": "bin/ncp"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/non-layered-tidy-tree-layout": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/normalize-path": {
|
"node_modules/normalize-path": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||||
@@ -1876,9 +1903,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tailwindcss": {
|
"node_modules/tailwindcss": {
|
||||||
"version": "3.2.1",
|
"version": "3.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
|
||||||
"integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==",
|
"integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"arg": "^5.0.2",
|
"arg": "^5.0.2",
|
||||||
"chokidar": "^3.5.3",
|
"chokidar": "^3.5.3",
|
||||||
@@ -1894,7 +1921,7 @@
|
|||||||
"normalize-path": "^3.0.0",
|
"normalize-path": "^3.0.0",
|
||||||
"object-hash": "^3.0.0",
|
"object-hash": "^3.0.0",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"postcss": "^8.4.17",
|
"postcss": "^8.4.18",
|
||||||
"postcss-import": "^14.1.0",
|
"postcss-import": "^14.1.0",
|
||||||
"postcss-js": "^4.0.0",
|
"postcss-js": "^4.0.0",
|
||||||
"postcss-load-config": "^3.1.4",
|
"postcss-load-config": "^3.1.4",
|
||||||
@@ -1940,6 +1967,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||||
},
|
},
|
||||||
|
"node_modules/uuid": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"uuid": "dist/bin/uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vendor-copy": {
|
"node_modules/vendor-copy": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/vendor-copy/-/vendor-copy-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/vendor-copy/-/vendor-copy-3.0.1.tgz",
|
||||||
@@ -1986,15 +2022,17 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@headlessui/react": {
|
"@headlessui/react": {
|
||||||
"version": "1.7.3",
|
"version": "1.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.4.tgz",
|
||||||
"integrity": "sha512-LGp06SrGv7BMaIQlTs8s2G06moqkI0cb0b8stgq7KZ3xcHdH3qMP+cRyV7qe5x4XEW/IGY48BW4fLesD6NQLng==",
|
"integrity": "sha512-D8n5yGCF3WIkPsjEYeM8knn9jQ70bigGGb5aUvN6y4BGxcT3OcOQOKcM3zRGllRCZCFxCZyQvYJF6ZE7bQUOyQ==",
|
||||||
"requires": {}
|
"requires": {
|
||||||
|
"client-only": "^0.0.1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"@heroicons/react": {
|
"@heroicons/react": {
|
||||||
"version": "2.0.12",
|
"version": "2.0.13",
|
||||||
"resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.12.tgz",
|
"resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.13.tgz",
|
||||||
"integrity": "sha512-FZxKh3i9aKIDxyALTgIpSF2t6V6/eZfF5mRu41QlwkX3Oxzecdm1u6dpft6PQGxIBwO7TKYWaMAYYL8mp/EaOg==",
|
"integrity": "sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@nodelib/fs.scandir": {
|
"@nodelib/fs.scandir": {
|
||||||
@@ -2029,9 +2067,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tailwindcss/typography": {
|
"@tailwindcss/typography": {
|
||||||
"version": "0.5.7",
|
"version": "0.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
|
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.8.tgz",
|
||||||
"integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
|
"integrity": "sha512-xGQEp8KXN8Sd8m6R4xYmwxghmswrd0cPnNI2Lc6fmrC3OojysTBJJGSIVwPV56q4t6THFUK3HJ0EaWwpglSxWw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"lodash.castarray": "^4.4.0",
|
"lodash.castarray": "^4.4.0",
|
||||||
@@ -2109,9 +2147,9 @@
|
|||||||
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
|
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
|
||||||
},
|
},
|
||||||
"chart.js": {
|
"chart.js": {
|
||||||
"version": "3.9.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.0.1.tgz",
|
||||||
"integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==",
|
"integrity": "sha512-5/8/9eBivwBZK81mKvmIwTb2Pmw4D/5h1RK9fBWZLLZ8mCJ+kfYNmV9rMrGoa5Hgy2/wVDBMLSUDudul2/9ihA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"chokidar": {
|
"chokidar": {
|
||||||
@@ -2139,6 +2177,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"client-only": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
|
||||||
|
},
|
||||||
"color-name": {
|
"color-name": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
@@ -2837,6 +2880,12 @@
|
|||||||
"integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==",
|
"integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"fast-clone": {
|
||||||
|
"version": "1.5.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/fast-clone/-/fast-clone-1.5.13.tgz",
|
||||||
|
"integrity": "sha512-0ez7coyFBQFjZtId+RJqJ+EQs61w9xARfqjqK0AD9vIUkSxWD4HvPt80+5evebZ1tTnv1GYKrPTipx7kOW5ipA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"fast-glob": {
|
"fast-glob": {
|
||||||
"version": "3.2.12",
|
"version": "3.2.12",
|
||||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
|
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
|
||||||
@@ -3075,9 +3124,9 @@
|
|||||||
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
|
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
|
||||||
},
|
},
|
||||||
"mermaid": {
|
"mermaid": {
|
||||||
"version": "9.1.7",
|
"version": "9.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.2.2.tgz",
|
||||||
"integrity": "sha512-MRVHXy5FLjnUQUG7YS3UN9jEN6FXCJbFCXVGJQjVIbiR6Vhw0j/6pLIjqsiah9xoHmQU6DEaKOvB3S1g/1nBPA==",
|
"integrity": "sha512-6s7eKMqFJGS+0MYjmx8f6ZigqKBJVoSx5ql2gw6a4Aa+WJ49QiEJg7gPwywaBg3DZMs79UP7trESp4+jmaQccw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@braintree/sanitize-url": "^6.0.0",
|
"@braintree/sanitize-url": "^6.0.0",
|
||||||
@@ -3085,10 +3134,14 @@
|
|||||||
"dagre": "^0.8.5",
|
"dagre": "^0.8.5",
|
||||||
"dagre-d3": "^0.6.4",
|
"dagre-d3": "^0.6.4",
|
||||||
"dompurify": "2.4.0",
|
"dompurify": "2.4.0",
|
||||||
|
"fast-clone": "^1.5.13",
|
||||||
"graphlib": "^2.1.8",
|
"graphlib": "^2.1.8",
|
||||||
"khroma": "^2.0.0",
|
"khroma": "^2.0.0",
|
||||||
"moment-mini": "2.24.0",
|
"lodash": "^4.17.21",
|
||||||
"stylis": "^4.0.10"
|
"moment-mini": "^2.24.0",
|
||||||
|
"non-layered-tidy-tree-layout": "^2.0.2",
|
||||||
|
"stylis": "^4.1.2",
|
||||||
|
"uuid": "^9.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"micromatch": {
|
"micromatch": {
|
||||||
@@ -3136,6 +3189,12 @@
|
|||||||
"integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==",
|
"integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"non-layered-tidy-tree-layout": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"normalize-path": {
|
"normalize-path": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||||
@@ -3383,9 +3442,9 @@
|
|||||||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
|
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
|
||||||
},
|
},
|
||||||
"tailwindcss": {
|
"tailwindcss": {
|
||||||
"version": "3.2.1",
|
"version": "3.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
|
||||||
"integrity": "sha512-Uw+GVSxp5CM48krnjHObqoOwlCt5Qo6nw1jlCRwfGy68dSYb/LwS9ZFidYGRiM+w6rMawkZiu1mEMAsHYAfoLg==",
|
"integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"arg": "^5.0.2",
|
"arg": "^5.0.2",
|
||||||
"chokidar": "^3.5.3",
|
"chokidar": "^3.5.3",
|
||||||
@@ -3401,7 +3460,7 @@
|
|||||||
"normalize-path": "^3.0.0",
|
"normalize-path": "^3.0.0",
|
||||||
"object-hash": "^3.0.0",
|
"object-hash": "^3.0.0",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"postcss": "^8.4.17",
|
"postcss": "^8.4.18",
|
||||||
"postcss-import": "^14.1.0",
|
"postcss-import": "^14.1.0",
|
||||||
"postcss-js": "^4.0.0",
|
"postcss-js": "^4.0.0",
|
||||||
"postcss-load-config": "^3.1.4",
|
"postcss-load-config": "^3.1.4",
|
||||||
@@ -3431,6 +3490,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||||
},
|
},
|
||||||
|
"uuid": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"vendor-copy": {
|
"vendor-copy": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/vendor-copy/-/vendor-copy-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/vendor-copy/-/vendor-copy-3.0.1.tgz",
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "hugo-blowfish-theme",
|
"name": "hugo-blowfish-theme",
|
||||||
"version": "2.9.0",
|
"version": "2.14.1",
|
||||||
"description": "Blowfish theme for Hugo",
|
"description": "Blowfish theme for Hugo",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"fullinstall": "npm run preinstall && npm install && npm run postinstall",
|
||||||
"preinstall": "rimraf assets/vendor",
|
"preinstall": "rimraf assets/vendor",
|
||||||
"postinstall": "vendor-copy",
|
"postinstall": "vendor-copy",
|
||||||
"assets": "rimraf assets/vendor && vendor-copy",
|
"assets": "rimraf assets/vendor && vendor-copy",
|
||||||
@@ -33,16 +34,16 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/nunocoracao/blowfish#readme",
|
"homepage": "https://github.com/nunocoracao/blowfish#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.7",
|
"@tailwindcss/typography": "^0.5.8",
|
||||||
"chart.js": "^3.9.1",
|
"chart.js": "^4.0.1",
|
||||||
"fuse.js": "^6.6.2",
|
"fuse.js": "^6.6.2",
|
||||||
"katex": "^0.16.3",
|
"katex": "^0.16.3",
|
||||||
"mermaid": "^9.1.7",
|
"mermaid": "^9.2.2",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"prettier-plugin-go-template": "^0.0.13",
|
"prettier-plugin-go-template": "^0.0.13",
|
||||||
"prettier-plugin-tailwindcss": "^0.1.13",
|
"prettier-plugin-tailwindcss": "^0.1.13",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"tailwindcss": "^3.2.1",
|
"tailwindcss": "^3.2.4",
|
||||||
"vendor-copy": "^3.0.1"
|
"vendor-copy": "^3.0.1"
|
||||||
},
|
},
|
||||||
"vendorCopy": [],
|
"vendorCopy": [],
|
||||||
@@ -52,7 +53,7 @@
|
|||||||
"to": "assets/lib/mermaid/mermaid.min.js"
|
"to": "assets/lib/mermaid/mermaid.min.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": "node_modules/chart.js/dist/chart.min.js",
|
"from": "node_modules/chart.js/dist/chart.umd.js",
|
||||||
"to": "assets/lib/chart/chart.min.js"
|
"to": "assets/lib/chart/chart.min.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -77,8 +78,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@headlessui/react": "^1.7.3",
|
"@headlessui/react": "^1.7.4",
|
||||||
"@heroicons/react": "^2.0.12",
|
"@heroicons/react": "^2.0.13",
|
||||||
"@tailwindcss/forms": "^0.5.3",
|
"@tailwindcss/forms": "^0.5.3",
|
||||||
"commander": "^9.4.1"
|
"commander": "^9.4.1"
|
||||||
}
|
}
|
||||||
|
|||||||