Compare commits

..

97 Commits

Author SHA1 Message Date
Nuno Coração ea0a6c3698 Merge pull request #247 from nunocoracao/dev
Dev
2022-11-14 20:54:42 +00:00
Nuno Coração 6e4ed17ab7 tested and prepd release version 2022-11-14 20:53:56 +00:00
Nuno Coração d889efa6d4 Merge pull request #246 from chrisbanes/cb/sharing-links
Allow overwriting of sharing links
2022-11-14 20:45:19 +00:00
Nuno Coração 0d9f458c52 Merge pull request #244 from nunocoracao/dependabot/npm_and_yarn/dev/tailwindcss-3.2.4
📌 Bump tailwindcss from 3.2.3 to 3.2.4
2022-11-14 20:44:44 +00:00
Nuno Coração 7e3a8c1226 Merge pull request #243 from vorons/patch-1
Create ru.yaml
2022-11-14 20:44:26 +00:00
Chris Banes cc1c2d70e0 Allow overwriting of sharing links
This PR changes this by grouping the links within an object key: `Site.Data.sharing.links`. This means that sites can provide their own
`data/sharing.json` file and overwrite the `links` key, to provide links of their own links.
2022-11-14 09:53:48 +00:00
dependabot[bot] de2d75eee9 📌 Bump tailwindcss from 3.2.3 to 3.2.4
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.2.3...v3.2.4)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 05:12:02 +00:00
Сергей Ворон dbcce7f34b Create ru.yaml 2022-11-14 07:46:55 +03:00
Nuno Coração 12471e0aa3 Merge pull request #242 from nunocoracao/dev
Merge dev
2022-11-14 00:05:10 +00:00
Nuno Coração a15af8eca6 bumped version 2022-11-14 00:04:26 +00:00
Nuno Coração 32fcb1a3be Merge pull request #241 from madoke/main
 Add default background image theme param
2022-11-14 00:00:29 +00:00
madoke 0219bb263c add default background image to theme 2022-11-13 23:28:38 +00:00
Nuno Coração b27d78945c removed buymeacoffee and merch buttons 2022-11-13 23:06:24 +00:00
Nuno Coração 20e90ec4d4 Merge pull request #240 from nunocoracao/dev
Dev
2022-11-13 19:41:34 +00:00
Nuno Coração 59e5daa31f Merge pull request #239 from nunocoracao/236-buymeacoffee-integration
Integration with buymeacoffee
2022-11-13 19:40:13 +00:00
Nuno Coração a9e6215540 implemented global widget for buymeacoffee 2022-11-13 19:39:55 +00:00
Nuno Coração 3b265eaa0d Merge pull request #238 from nunocoracao/main
sync
2022-11-13 19:12:38 +00:00
Nuno Coração 3a158cf347 Merge pull request #237 from nunocoracao/main
sync
2022-11-13 19:12:10 +00:00
Nuno Coração 123add8b6c Update _index.md 2022-11-13 16:17:25 +00:00
Nuno Coração b19e10d4a4 Update README.md 2022-11-13 16:15:59 +00:00
Nuno Coração a4ea872dd7 Update README.md 2022-11-13 16:07:07 +00:00
Nuno Coração 034be4227b add logo to main folder 2022-11-13 15:37:06 +00:00
Nuno Coração 666b12ab35 Update README.md 2022-11-13 13:54:31 +00:00
Nuno Coração 84174baea2 fixed buymeacoffee 2022-11-13 13:52:44 +00:00
Nuno Coração 544fa955f6 added buymeacoffee 2022-11-13 13:48:26 +00:00
Nuno Coração 301f179fb0 Update README.md 2022-11-13 13:37:36 +00:00
Nuno Coração 3cd3c6ee97 Update README.md 2022-11-13 13:33:45 +00:00
Nuno Coração 55bb04f362 Merge pull request #235 from nunocoracao/dev
Dev
2022-11-13 12:27:35 +00:00
Nuno Coração d69989892b final tests and version bump 2022-11-13 12:27:19 +00:00
Nuno Coração adce4c7ea2 Merge pull request #234 from tarunjana/patch-1
Improve Bengali translation
2022-11-13 12:22:39 +00:00
Nuno Coração 553480f1df Merge pull request #233 from nunocoracao/dependabot/npm_and_yarn/dev/tailwindcss/typography-0.5.8
📌 Bump @tailwindcss/typography from 0.5.7 to 0.5.8
2022-11-13 12:19:07 +00:00
Nuno Coração 5b93191548 added list level cardView control 2022-11-11 17:14:05 +00:00
Tarun Kumar Jana ce4cbd3c75 Improve Bengali translation
Added the following keys:

- `views`
- `likes`
- `show_more`
2022-11-11 20:53:52 +05:30
dependabot[bot] 2991e0289d 📌 Bump @tailwindcss/typography from 0.5.7 to 0.5.8
Bumps [@tailwindcss/typography](https://github.com/tailwindcss/typography) from 0.5.7 to 0.5.8.
- [Release notes](https://github.com/tailwindcss/typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindcss/typography/compare/v0.5.7...v0.5.8)

---
updated-dependencies:
- dependency-name: "@tailwindcss/typography"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-11 05:19:19 +00:00
Nuno Coração 963b79e1aa updated version 2022-11-10 22:24:15 +00:00
Nuno Coração 24ba04bb43 Merge pull request #231 from nunocoracao/230-an-option-to-disable-blur-on-scroll-for-articles-with-featured-images
230 an option to disable blur on scroll for articles with featured images
2022-11-10 22:21:18 +00:00
Nuno Coração 1b0c182819 added layoutBackgroundBlur parameter to articles 2022-11-10 22:21:05 +00:00
Nuno Coração b8a56a299b Merge pull request #228 from nunocoracao/revert-223-dependabot/npm_and_yarn/tailwindcss/typography-0.5.8
Revert "📌 Bump @tailwindcss/typography from 0.5.7 to 0.5.8"
2022-11-10 21:54:17 +00:00
Nuno Coração cdc78b5128 Revert "📌 Bump @tailwindcss/typography from 0.5.7 to 0.5.8" 2022-11-10 21:54:04 +00:00
Nuno Coração e93a63f9d3 Merge pull request #223 from nunocoracao/dependabot/npm_and_yarn/tailwindcss/typography-0.5.8
📌 Bump @tailwindcss/typography from 0.5.7 to 0.5.8
2022-11-10 21:53:56 +00:00
Nuno Coração 837cb9c19e Merge pull request #224 from nunocoracao/dependabot/npm_and_yarn/heroicons/react-2.0.13
📌 Bump @heroicons/react from 2.0.12 to 2.0.13
2022-11-10 21:53:39 +00:00
Nuno Coração 6e1881c704 Merge branch 'dev' into dependabot/npm_and_yarn/heroicons/react-2.0.13 2022-11-10 21:53:27 +00:00
Nuno Coração c0d0a26383 Merge pull request #225 from nunocoracao/dependabot/npm_and_yarn/mermaid-9.2.2
📌 Bump mermaid from 9.1.7 to 9.2.2
2022-11-10 21:51:00 +00:00
Nuno Coração a1a28b1b29 Merge pull request #226 from nunocoracao/dependabot/npm_and_yarn/headlessui/react-1.7.4
📌 Bump @headlessui/react from 1.7.3 to 1.7.4
2022-11-10 21:50:35 +00:00
Nuno Coração 64cb4fcd4b Merge pull request #227 from nunocoracao/dependabot/npm_and_yarn/tailwindcss-3.2.3
📌 Bump tailwindcss from 3.2.1 to 3.2.3
2022-11-10 21:49:55 +00:00
Nuno Coração 25c89f8812 Update dependabot.yml 2022-11-10 21:47:18 +00:00
dependabot[bot] 8752844e99 📌 Bump tailwindcss from 3.2.1 to 3.2.3
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.2.1 to 3.2.3.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.2.1...v3.2.3)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 21:46:51 +00:00
dependabot[bot] 9829d63bce 📌 Bump @headlessui/react from 1.7.3 to 1.7.4
Bumps [@headlessui/react](https://github.com/tailwindlabs/headlessui/tree/HEAD/packages/@headlessui-react) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/tailwindlabs/headlessui/releases)
- [Changelog](https://github.com/tailwindlabs/headlessui/blob/main/packages/@headlessui-react/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/headlessui/commits/@headlessui/react@v1.7.4/packages/@headlessui-react)

---
updated-dependencies:
- dependency-name: "@headlessui/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 21:46:36 +00:00
dependabot[bot] 0bb94e1b76 📌 Bump mermaid from 9.1.7 to 9.2.2
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 9.1.7 to 9.2.2.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/mermaid-js/mermaid/compare/v9.1.7...v9.2.2)

---
updated-dependencies:
- dependency-name: mermaid
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 21:45:57 +00:00
dependabot[bot] 20e739a910 📌 Bump @heroicons/react from 2.0.12 to 2.0.13
Bumps [@heroicons/react](https://github.com/tailwindlabs/heroicons) from 2.0.12 to 2.0.13.
- [Release notes](https://github.com/tailwindlabs/heroicons/releases)
- [Changelog](https://github.com/tailwindlabs/heroicons/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/heroicons/compare/v2.0.12...v2.0.13)

---
updated-dependencies:
- dependency-name: "@heroicons/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 21:45:40 +00:00
dependabot[bot] 4d94addec4 📌 Bump @tailwindcss/typography from 0.5.7 to 0.5.8
Bumps [@tailwindcss/typography](https://github.com/tailwindcss/typography) from 0.5.7 to 0.5.8.
- [Release notes](https://github.com/tailwindcss/typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindcss/typography/compare/v0.5.7...v0.5.8)

---
updated-dependencies:
- dependency-name: "@tailwindcss/typography"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-10 21:45:27 +00:00
Nuno Coração e27e62f90d Create dependabot.yml 2022-11-10 21:44:43 +00:00
Nuno Coração af1dd844ff Update _index.md 2022-11-09 12:24:53 +00:00
Nuno Coração 8d66fd32ad Update _index.md 2022-11-09 12:24:25 +00:00
Nuno Coração 5bb5684eb2 Update _index.md 2022-11-09 12:23:42 +00:00
Nuno Coração 4f6dc780c8 Update package.json 2022-11-09 12:05:48 +00:00
Nuno Coração 30a98d5705 Merge pull request #221 from nunocoracao/220-lists-should-also-have-views-and-likes
added likes and views to lists
2022-11-09 12:05:28 +00:00
Nuno Coração 38888897b5 added likes and views to lists 2022-11-09 12:05:11 +00:00
Nuno Coração d5563e95b0 updated showcases 2022-11-07 22:39:00 +00:00
Nuno Coração 51bcb4b3d1 added blowfish lite to showcase 2022-11-07 21:53:11 +00:00
Nuno Coração c456627c39 small fix on background 2022-11-06 23:16:52 +00:00
Nuno Coração 7189216109 Merge pull request #218 from nunocoracao/217-search-modal-z-index
Fixed z-index of search modal
2022-11-06 23:11:19 +00:00
Nuno Coração b6d57a2ed9 Fixed z-index of search modal 2022-11-06 23:11:00 +00:00
Nuno Coração b4e4f46ed9 Update package.json 2022-11-06 23:04:39 +00:00
Nuno Coração 1399cc60a3 Update package.json 2022-11-06 23:04:21 +00:00
Nuno Coração c977caaa2b Merge pull request #216 from nunocoracao/213-lists-should-support-coverfeature-images
213 lists should support coverfeature images
2022-11-06 23:04:00 +00:00
Nuno Coração 4008bbf92c added docs 2022-11-06 23:03:40 +00:00
Nuno Coração afd1928cd2 added support for cover images in lists 2022-11-06 22:57:15 +00:00
Nuno Coração 1ea543da24 Merge pull request #215 from nunocoracao/211-fixed-header-+-navigating-to-a-anchor-=-bug
fixed anchors
2022-11-06 22:29:22 +00:00
Nuno Coração 8ec3504224 fixed anchors 2022-11-06 22:28:52 +00:00
Nuno Coração c7156995e7 Merge pull request #214 from nunocoracao/212-background-hero-image-margin-top-is-too-high
corrected margins for backgroun hero image
2022-11-06 21:11:50 +00:00
Nuno Coração 2de1df4227 corrected margins for backgroun hero image 2022-11-06 21:11:36 +00:00
Nuno Coração 7bcfea2cfb adding header.layout to docs 2022-11-06 19:56:14 +00:00
Nuno Coração 1263500587 Update package.json 2022-11-06 19:49:38 +00:00
Nuno Coração af3af38509 Merge pull request #210 from nunocoracao/201-fixed-main-menu
added new fixed header
2022-11-06 19:49:03 +00:00
Nuno Coração 28689bcf58 added new fixed header 2022-11-06 19:48:41 +00:00
Nuno Coração 5bfacfa68b Merge pull request #209 from nunocoracao/204-homepage-background-mode-blur-improvements
corrected case for layoutBackgroundBlur parameter
2022-11-06 19:10:23 +00:00
Nuno Coração 2f2b159cb7 corrected case for layoutBackgroundBlur parameter 2022-11-06 19:09:18 +00:00
Nuno Coração cade256b72 Merge pull request #203 from kame404/main
improved Japanese translation
2022-11-06 19:07:14 +00:00
Nuno Coração 16ef0b849e Merge pull request #208 from nunocoracao/204-homepage-background-mode-blur-improvements
add blur parameter to homepage background setup
2022-11-06 19:05:20 +00:00
Nuno Coração c3ee4b41be add blur parameter to homepage background setup 2022-11-06 19:05:01 +00:00
Nuno Coração 5f52400e1e Merge pull request #207 from nunocoracao/205-cards-background-blur-improvements
removed blur from list view without card config
2022-11-06 18:54:22 +00:00
Nuno Coração 3751b9970b removed blur from list view without card config 2022-11-06 18:54:01 +00:00
Nuno Coração e708455557 Merge pull request #206 from nunocoracao/200-homepage-background-icons-in-light-mode-need-to-be-darker
Improvements to icon colors in homepage background setup
2022-11-06 18:49:16 +00:00
Nuno Coração 9a847af0e7 corrected colors 2022-11-06 18:48:41 +00:00
Nuno Coração 3948277d5f small fix on docs 2022-11-06 18:43:35 +00:00
kame404 a4daa9ddca improved Japanese translation 2022-11-06 22:27:57 +09:00
Nuno Coração 10be63c502 Update package.json 2022-11-06 10:58:36 +00:00
Nuno Coração 2c682cfef2 Merge pull request #202 from marmtshm/main
show more in recent articles is part of i18n
2022-11-06 10:58:20 +00:00
marmtshm fe6eaa5e98 show more in recent articles is part of i18n 2022-11-06 09:34:56 +07:00
Nuno Coração d6b6575346 Merge pull request #198 from nunocoracao/197-blur-further-improvements-mobile-looks-weird
enhavements to blur effects
2022-11-06 01:46:24 +00:00
Nuno Coração 9b9aea0bec enhavements to blur effects 2022-11-06 01:45:53 +00:00
Nuno Coração 1a82400bad Merge pull request #196 from nunocoracao/193-blur-in-article-background-needs-improvements
enhavements to blur effects
2022-11-06 01:00:03 +00:00
Nuno Coração 83f28f8cca enhavements to blur effects 2022-11-06 00:59:44 +00:00
Nuno Coração 9848ca7b44 Merge pull request #195 from nunocoracao/194-background-homepage-needs-a-max-width
updates to the homepage background setup
2022-11-06 00:15:47 +00:00
Nuno Coração 8f588f5175 updates to the homepage background setup 2022-11-06 00:15:29 +00:00
Nuno Coração 642db32def Update params.toml 2022-11-05 22:31:35 +00:00
98 changed files with 2261 additions and 514 deletions
+24
View File
@@ -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"
+5
View File
@@ -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>
[![Blowfish Docs Deploy](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml/badge.svg)](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml) [![Blowfish Docs Deploy](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml/badge.svg)](https://github.com/nunocoracao/blowfish/actions/workflows/pages.yml)
[![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.87.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.87.0) [![Minimum Hugo Version](https://img.shields.io/static/v1?label=min-HUGO-version&message=0.87.0&color=blue&logo=hugo)](https://github.com/gohugoio/hugo/releases/tag/v0.87.0)
[![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](https://github.com/nunocoracao/blowfish/blob/main/LICENSE) [![GitHub](https://img.shields.io/github/license/nunocoracao/blowfish)](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
+99 -229
View File
@@ -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;
@@ -1425,10 +1236,6 @@ select {
top: 5rem; top: 5rem;
} }
.z-50 {
z-index: 50;
}
.z-10 { .z-10 {
z-index: 10; z-index: 10;
} }
@@ -1499,14 +1306,26 @@ select {
margin-bottom: 3rem; margin-bottom: 3rem;
} }
.mt-0 { .mt-5 {
margin-top: 0px; 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;
} }
.mt-0 {
margin-top: 0px;
}
.mb-5 { .mb-5 {
margin-bottom: 1.25rem; margin-bottom: 1.25rem;
} }
@@ -1519,14 +1338,6 @@ select {
margin-top: 1.5rem; margin-top: 1.5rem;
} }
.mt-5 {
margin-top: 1.25rem;
}
.mt-1 {
margin-top: 0.25rem;
}
.mb-6 { .mb-6 {
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
} }
@@ -1571,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;
} }
@@ -1599,6 +1406,14 @@ select {
margin-right: -0.5rem; margin-right: -0.5rem;
} }
.ml-auto {
margin-left: auto;
}
.mr-auto {
margin-right: auto;
}
.mb-0 { .mb-0 {
margin-bottom: 0px; margin-bottom: 0px;
} }
@@ -1651,12 +1466,20 @@ select {
height: 2rem; height: 2rem;
} }
.h-\[200px\] { .h-\[120px\] {
height: 200px; height: 120px;
} }
.h-\[700px\] { .h-\[100px\] {
height: 700px; height: 100px;
}
.h-\[150px\] {
height: 150px;
}
.h-\[800px\] {
height: 800px;
} }
.h-36 { .h-36 {
@@ -1683,6 +1506,10 @@ select {
min-height: 0px; min-height: 0px;
} }
.min-h-\[148px\] {
min-height: 148px;
}
.w-12 { .w-12 {
width: 3rem; width: 3rem;
} }
@@ -1743,6 +1570,10 @@ select {
max-width: 65ch; max-width: 65ch;
} }
.max-w-\[1600px\] {
max-width: 1600px;
}
.max-w-3xl { .max-w-3xl {
max-width: 48rem; max-width: 48rem;
} }
@@ -1751,6 +1582,10 @@ select {
max-width: 5rem; max-width: 5rem;
} }
.max-w-\[64rem\] {
max-width: 64rem;
}
.max-w-xl { .max-w-xl {
max-width: 36rem; max-width: 36rem;
} }
@@ -2150,6 +1985,14 @@ select {
padding-bottom: 1rem; padding-bottom: 1rem;
} }
.pl-\[24px\] {
padding-left: 24px;
}
.pr-\[24px\] {
padding-right: 24px;
}
.pt-16 { .pt-16 {
padding-top: 4rem; padding-top: 4rem;
} }
@@ -2198,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;
@@ -2307,6 +2150,11 @@ select {
color: rgba(var(--color-neutral), var(--tw-text-opacity)) !important; color: rgba(var(--color-neutral), var(--tw-text-opacity)) !important;
} }
.text-primary-800 {
--tw-text-opacity: 1;
color: rgba(var(--color-primary-800), var(--tw-text-opacity));
}
.text-neutral-200 { .text-neutral-200 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-neutral-200), var(--tw-text-opacity)); color: rgba(var(--color-neutral-200), var(--tw-text-opacity));
@@ -2384,6 +2232,12 @@ select {
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
} }
.backdrop-blur-2xl {
--tw-backdrop-blur: blur(40px);
-webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition-opacity { .transition-opacity {
transition-property: opacity; transition-property: opacity;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -3065,7 +2919,7 @@ body:has(#menu-controller:checked) {
} }
.thumbnail_card { .thumbnail_card {
height: 300px; height: 250px;
background-repeat:no-repeat; background-repeat:no-repeat;
background-size:cover; background-size:cover;
background-position:center; background-position:center;
@@ -3101,6 +2955,14 @@ body:has(#menu-controller:checked) {
box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3); box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3);
} }
.anchor {
display: block;
position: relative;
top: -100px;
height: 0px;
visibility: hidden;
}
@media (min-width: 640px) { @media (min-width: 640px) {
.thumbnail { .thumbnail {
min-width: 100%; min-width: 100%;
@@ -3477,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));
@@ -3502,9 +3364,9 @@ body:has(#menu-controller:checked) {
color: rgba(var(--color-neutral-200), var(--tw-text-opacity)); color: rgba(var(--color-neutral-200), var(--tw-text-opacity));
} }
.dark .dark\:text-primary-300 { .dark .dark\:text-primary-200 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgba(var(--color-primary-300), var(--tw-text-opacity)); color: rgba(var(--color-primary-200), var(--tw-text-opacity));
} }
.dark .dark\:opacity-60 { .dark .dark\:opacity-60 {
@@ -3661,6 +3523,10 @@ body:has(#menu-controller:checked) {
display: none; display: none;
} }
.md\:h-\[200px\] {
height: 200px;
}
.md\:h-56 { .md\:h-56 {
height: 14rem; height: 14rem;
} }
@@ -3704,6 +3570,10 @@ body:has(#menu-controller:checked) {
top: 2.5rem; top: 2.5rem;
} }
.lg\:top-\[140px\] {
top: 140px;
}
.lg\:left-0 { .lg\:left-0 {
left: 0px; left: 0px;
} }
+10 -2
View File
@@ -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;
@@ -348,7 +348,7 @@ body:has(#menu-controller:checked) {
} }
.thumbnail_card { .thumbnail_card {
height: 300px; height: 250px;
background-repeat:no-repeat; background-repeat:no-repeat;
background-size:cover; background-size:cover;
background-position:center; background-position:center;
@@ -383,6 +383,14 @@ body:has(#menu-controller:checked) {
box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3); box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3);
} }
.anchor {
display: block;
position: relative;
top: -100px;
height: 0px;
visibility: hidden;
}
@screen sm { @screen sm {
.thumbnail { .thumbnail {
min-width: 100%; min-width: 100%;
+1280 -3
View File
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 519 KiB

+16
View File
@@ -15,6 +15,9 @@ enableCodeCopy = true
# mainSections = ["section1", "section2"] # mainSections = ["section1", "section2"]
# robots = "" # robots = ""
[header]
layout = "basic" # valid options: basic, fixed
[footer] [footer]
# showMenu = true # showMenu = true
showCopyright = true showCopyright = true
@@ -31,6 +34,7 @@ enableCodeCopy = true
showMoreLinkDest = "/posts" showMoreLinkDest = "/posts"
cardView = false cardView = false
cardViewScreenWidth = false cardViewScreenWidth = false
layoutBackgroundBlur = false # only used when layout equals background
[article] [article]
showDate = true showDate = true
@@ -40,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
@@ -58,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
@@ -85,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 = ""
+31 -29
View File
@@ -1,32 +1,34 @@
{ {
"email": { "links": {
"icon": "email", "email": {
"title": "sharing.email", "icon": "email",
"url": "mailto:?body=%s&subject=%s" "title": "sharing.email",
}, "url": "mailto:?body=%s&subject=%s"
"facebook": { },
"icon": "facebook", "facebook": {
"title": "sharing.facebook", "icon": "facebook",
"url": "https://www.facebook.com/sharer/sharer.php?u=%s&quote=%s" "title": "sharing.facebook",
}, "url": "https://www.facebook.com/sharer/sharer.php?u=%s&quote=%s"
"linkedin": { },
"icon": "linkedin", "linkedin": {
"title": "sharing.linkedin", "icon": "linkedin",
"url": "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s" "title": "sharing.linkedin",
}, "url": "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s"
"pinterest": { },
"icon": "pinterest", "pinterest": {
"title": "sharing.pinterest", "icon": "pinterest",
"url": "https://pinterest.com/pin/create/bookmarklet/?url=%s&description=%s" "title": "sharing.pinterest",
}, "url": "https://pinterest.com/pin/create/bookmarklet/?url=%s&description=%s"
"reddit": { },
"icon": "reddit", "reddit": {
"title": "sharing.reddit", "icon": "reddit",
"url": "https://reddit.com/submit/?url=%s&resubmit=true&title=%s" "title": "sharing.reddit",
}, "url": "https://reddit.com/submit/?url=%s&resubmit=true&title=%s"
"twitter": { },
"icon": "twitter", "twitter": {
"title": "sharing.twitter", "icon": "twitter",
"url": "https://twitter.com/intent/tweet/?url=%s&text=%s" "title": "sharing.twitter",
"url": "https://twitter.com/intent/tweet/?url=%s&text=%s"
}
} }
} }
+1 -5
View File
@@ -35,8 +35,8 @@ window.addEventListener("DOMContentLoaded", (event) => {
}); });
var list_config = [ var list_config = [
"CardViewProse",
"CardViewScreenWidth", "CardViewScreenWidth",
"CardViewProse",
"NormalView" "NormalView"
] ]
@@ -57,10 +57,6 @@ function switchList() {
var currentDiv = document.getElementById(list_config[currentConfig]) var currentDiv = document.getElementById(list_config[currentConfig])
const configCode = document.querySelectorAll("code[id=config]"); const configCode = document.querySelectorAll("code[id=config]");
console.log(currentConfig)
console.log(oldDiv)
console.log(currentDiv)
currentDiv.style.display = "block"; currentDiv.style.display = "block";
oldDiv.style.display = "none"; oldDiv.style.display = "none";
+13 -3
View File
@@ -20,22 +20,32 @@
pageRef = "samples" pageRef = "samples"
weight = 20 weight = 20
[[main]]
name = "Showcase"
pageRef = "examples"
weight = 30
[[main]] [[main]]
name = "Users" name = "Users"
pageRef = "users" pageRef = "users"
weight = 30 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 = 40 weight = 60
[[main]] [[main]]
identifier = "twitter" identifier = "twitter"
pre = "twitter" pre = "twitter"
url = "https://twitter.com/burufugu" url = "https://twitter.com/burufugu"
weight = 50 weight = 70
# -- Footer Menu -- # -- Footer Menu --
+16 -1
View File
@@ -15,6 +15,9 @@ enableCodeCopy = true
mainSections = ["docs"] mainSections = ["docs"]
# robots = "" # robots = ""
[header]
layout = "fixed" # valid options: basic, fixed
[footer] [footer]
showMenu = true showMenu = true
showCopyright = true showCopyright = true
@@ -31,7 +34,7 @@ mainSections = ["docs"]
showMoreLinkDest = "docs" showMoreLinkDest = "docs"
cardView = true cardView = true
cardViewScreenWidth = false cardViewScreenWidth = false
layoutBackgroundBlur = true # only used when layout equals background
[article] [article]
showDate = false showDate = false
@@ -41,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
@@ -59,8 +63,12 @@ mainSections = ["docs"]
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 = true showTableOfContents = true
showCards = true showCards = true
groupByYear = false groupByYear = false
@@ -86,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 = ""
+7 -1
View File
@@ -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">
@@ -20,4 +26,4 @@ This is a demo site built entirely using Blowfish. It also contains a complete s
</span> </span>
</div> </div>
Explore the [sample pages]({{< ref "samples" >}}) to get a feel for what Blowfish can do. If you like what you see, check out the project on <a target="_blank" href="https://github.com/nunocoracao/blowfish">Github</a> or read the [Installation guide]({{< ref "docs/installation" >}}) to get started. Explore the [sample pages]({{< ref "samples" >}}) to get a feel for what Blowfish can do. If you like what you see, check out the project on <a target="_blank" href="https://github.com/nunocoracao/blowfish">Github</a> or read the [Installation guide]({{< ref "docs/installation" >}}) to get started.
-2
View File
@@ -12,8 +12,6 @@ cascade:
Simple, yet powerful. Learn how to use Blowfish and its features. Simple, yet powerful. Learn how to use Blowfish and its features.
{{< /lead >}} {{< /lead >}}
![Featured Blowfish image](featured.png)
This section contains everything you need to know about Blowfish. If you're new, check out the [Installation]({{< ref "docs/installation" >}}) guide to begin or visit the [Samples]({{< ref "samples" >}}) section to see what Blowfish can do. This section contains everything you need to know about Blowfish. If you're new, check out the [Installation]({{< ref "docs/installation" >}}) guide to begin or visit the [Samples]({{< ref "samples" >}}) section to see what Blowfish can do.
--- ---

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

+84 -69
View File
@@ -124,75 +124,90 @@ Blowfish provides a large number of configuration parameters that control how th
Many of the article defaults here can be overridden on a per article basis by specifying it in the front matter. Refer to the [Front Matter]({{< ref "front-matter" >}}) section for further details. Many of the article defaults here can be overridden on a per article basis by specifying it in the front matter. Refer to the [Front Matter]({{< ref "front-matter" >}}) section for further details.
<!-- 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`. |
| `enableSearch` | `false` | Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#site-configuration) being set correctly. | | `enableSearch` | `false` | Whether site search is enabled. Set to `true` to enable search functionality. Note that the search feature depends on the `outputs.home` setting in the [site configuration](#site-configuration) being set correctly. |
| `enableCodeCopy` | `false` | Whether copy-to-clipboard buttons are enabled for `<code>` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. | | `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. |
| `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. | | `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. |
| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. | | `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. |
| `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. | | `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. |
| `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). | | `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. |
| `footer.showThemeAttribution` | `true` | Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page). | | `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
| `footer.showAppearanceSwitcher` | `false` | Whether or not to show the appearance switcher in the site footer. The browser's local storage is used to persist the visitor's preference. | | `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic` and `fixed`. |
| `footer.showScrollToTop` | `true` | When set to `true` the scroll to top arrow is displayed. | | `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. |
| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. | | `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). |
| `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. | | `footer.showThemeAttribution` | `true` | Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page). |
| `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. | | `footer.showAppearanceSwitcher` | `false` | Whether or not to show the appearance switcher in the site footer. The browser's local storage is used to persist the visitor's preference. |
| `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. | | `footer.showScrollToTop` | `true` | When set to `true` the scroll to top arrow is displayed. |
| `homepage.showMoreLink` | 'false' | Wether or not to display a show more link at the end of your posts that takes the user to a predefined place. | | `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
| `homepage.showMoreLinkDest` | '/posts' | The destination of the show more button. | | `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
| `homepage.cardView` | `false` | Display recent articles as a gallery of cards. | | `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. |
| `homepage.cardViewScreenWidth` | `false` | Enhance the width of the recent articles card gallery to take the full width available. | | `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. |
| `article.showDate` | `true` | Whether or not article dates are displayed. | | `homepage.showMoreLink` | 'false' | Wether or not to display a show more link at the end of your posts that takes the user to a predefined place. |
| `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. | | `homepage.showMoreLinkDest` | '/posts' | The destination of the show more button. |
| `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. | | `homepage.cardView` | `false` | Display recent articles as a gallery of cards. |
| `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. | | `homepage.cardViewScreenWidth` | `false` | Enhance the width of the recent articles card gallery to take the full width available. |
| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. | | `homepage.layoutBackgroundBlur` | `false` | Makes the background image in the homepage layout blur with the scroll |
| `article.showHero` | `true` | Whether the thumbnail image will be shown as a hero image within each article page. | | `article.showDate` | `true` | Whether or not article dates are displayed. |
| `heroStyle` | `basic` | Style to display the hero image, valid options are: `basic`, `big`, `background`. | | `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. | | `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. | | `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. |
| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. | | `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
| `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. | | `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
| `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. | | `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`. |
| `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. | | `article.layoutBackgroundBlur` | `false` | Makes the background image in the background article heroStyle blur with the scroll |
| `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. | | `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. | | `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. | | `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. | | `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. |
| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. | | `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. |
| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. | | `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. |
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. | | `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. |
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. | | `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. |
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. | | `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. |
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. | | `article.showReadingTime` | `true` | Whether or not article reading times are displayed. |
| `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. | | `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. | | `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. |
| `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). | | `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
| `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. | | `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
| `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. | | `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
| `list.cardView` | `false` | Display lists as a gallery of cards. | | `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. |
| `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. | | `list.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each list page. |
| `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. | | `list.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`. |
| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. | | `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. |
| `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 | | `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. |
| `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 | | `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). |
| `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 | | `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. |
| `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 | | `list.showLikes` | `false` | Whether or not list likes are displayed. This requires firebase integrations to be enabled, look below. |
| `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 | | `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. |
| `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 | | `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. |
| `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 | | `list.cardView` | `false` | Display lists as a gallery of cards. |
| `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. | | `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
| `fathomAnalytics.domain` | _Not set_ | If using a custom domain with Fathom Analytics, provide it here to serve `script.js` from the custom domain. | | `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. |
| `verification.google` | _Not set_ | The site verification string provided by Google to be included in the site metadata. | | `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. |
| `verification.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. | | `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. |
| `verification.pinterest` | _Not set_ | The site verification string provided by Pinterest to be included in the site metadata. | | `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. |
| `verification.yandex` | _Not set_ | The site verification string provided by Yandex to be included in the site metadata. | | `firebase.projectId` | _Not set_ | Firebase projectId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
| `firebase.storageBucket` | _Not set_ | Firebase storageBucket, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
| `firebase.messagingSenderId` | _Not set_ | Firebase messagingSenderId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
| `firebase.appId` | _Not set_ | Firebase appId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
| `firebase.measurementId` | _Not set_ | Firebase measurementId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
| `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. |
| `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.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. |
| `verification.pinterest` | _Not set_ | The site verification string provided by Pinterest to be included in the site metadata. |
| `verification.yandex` | _Not set_ | The site verification string provided by Yandex to be included in the site metadata. |
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
## Other configuration files ## Other configuration files
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

+22
View File
@@ -0,0 +1,22 @@
---
title: "Showcase"
description: "See what's possible with Blowfish."
showLikes: true
showViews: true
cascade:
showEdit: false
showReadingTime: false
showSummary: false
showLikes: false
showViews: false
---
{{< lead >}}
See what's possible with Blowfish.
{{< /lead >}}
This section contains links to example templates and pages created using Blowfish to get you inspired.
---
+5
View File
@@ -0,0 +1,5 @@
---
title: "Blowfish Artist"
date: 2022-11-06
externalUrl: "https://nunocoracao.github.io/blowfish_artist/"
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

+5
View File
@@ -0,0 +1,5 @@
---
title: "Blowfish Lite"
date: 2022-11-07
externalUrl: "https://nunocoracao.github.io/blowfish_lite/"
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

+5
View File
@@ -0,0 +1,5 @@
---
title: "Blowfish Lowkey"
date: 2022-11-06
externalUrl: "https://nunocoracao.github.io/blowfish_lowkey/"
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 703 KiB

@@ -0,0 +1,5 @@
---
title: "Blowfish Template - GitHub Repo"
date: 2020-11-06
externalUrl: "https://github.com/nunocoracao/blowfish_template"
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

+5
View File
@@ -0,0 +1,5 @@
---
title: "Blowfish Template"
date: 2020-11-06
externalUrl: "https://nunocoracao.github.io/blowfish_template/"
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

@@ -0,0 +1,5 @@
---
title: "Blowfish Artist - Repo"
date: 2021-11-06
externalUrl: "https://github.com/nunocoracao/blowfish_artist/"
---
Binary file not shown.

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/"
---
Binary file not shown.

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/"
---
Binary file not shown.

After

Width:  |  Height:  |  Size: 703 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 MiB

@@ -16,7 +16,20 @@
</span> </span>
</div> </div>
<div id="CardViewProse" class=""> <div id="CardViewScreenWidth" class="">
<section class="relative w-screen max-w-[1600px]" style="left: calc(max(-50vw,-800px) + 50%);">
<div class="flex flex-wrap pl-8 pr-8">
{{ range first $recentArticles (.Paginate (where .Site.RegularPages "Type" "in"
.Site.Params.mainSections)).Pages }}
<div class="flex flex-wrap w-full p-4 sm:w-1/2 md:w-1/3 xl:w-1/4 2xl:w-1/5">
{{ partial "article-link-card.html" . }}
</div>
{{ end }}
</div>
</section>
</div>
<div id="CardViewProse" class="hidden h-full">
<section class="w-full"> <section class="w-full">
<div class="flex flex-wrap"> <div class="flex flex-wrap">
{{ range first $recentArticles (.Paginate (where .Site.RegularPages "Type" "in" {{ range first $recentArticles (.Paginate (where .Site.RegularPages "Type" "in"
@@ -28,18 +41,7 @@
</div> </div>
</section> </section>
</div> </div>
<div id="CardViewScreenWidth" class="hidden h-full">
<section class="relative w-screen" style="left: calc(-50vw + 50%);">
<div class="flex flex-wrap pl-8 pr-8">
{{ range first $recentArticles (.Paginate (where .Site.RegularPages "Type" "in"
.Site.Params.mainSections)).Pages }}
<div class="flex flex-wrap w-full p-4 sm:w-1/2 md:w-1/3 xl:w-1/4 2xl:w-1/5">
{{ partial "article-link-card.html" . }}
</div>
{{ end }}
</div>
</section>
</div>
<div id="NormalView" class="hidden h-full"> <div id="NormalView" class="hidden h-full">
<section class="space-y-10 w-full"> <section class="space-y-10 w-full">
{{ range first $recentArticles (.Paginate (where .Site.RegularPages "Type" "in" {{ range first $recentArticles (.Paginate (where .Site.RegularPages "Type" "in"
Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

+10 -1
View File
@@ -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: "লেখক"
@@ -52,4 +58,7 @@ sharing:
twitter: "ট্যুইট করুন" twitter: "ট্যুইট করুন"
shortcode: shortcode:
recent_articles: "সাম্প্রতিক" recent_articles: "সাম্প্রতিক"
recent:
show_more: "আরো দেখুন"
+3
View File
@@ -59,3 +59,6 @@ sharing:
shortcode: shortcode:
recent_articles: "Terbaru" recent_articles: "Terbaru"
recent:
show_more: "Tampilkan Lainnya"
+2 -2
View File
@@ -41,7 +41,7 @@ nav:
search: search:
open_button_title: "検索 (/)" open_button_title: "検索 (/)"
close_button_title: "閉じる (Esc)" close_button_title: "閉じる (Esc)"
input_placeholder: "Search" input_placeholder: "検索"
sharing: sharing:
email: " Eメールを送る" email: " Eメールを送る"
@@ -55,4 +55,4 @@ shortcode:
recent_articles: "最近の記事" recent_articles: "最近の記事"
recent: recent:
show_more: "もっと見る" show_more: "もっと見る"
+64
View File
@@ -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 }} &amp; {{ .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: "Показать еще"
+8 -1
View File
@@ -1 +1,8 @@
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="relative group">{{ .Text | safeHTML }} {{ if .Page.Params.showHeadingAnchors | default (.Page.Site.Params.article.showHeadingAnchors | default true) }}<span class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#{{ .Anchor | safeURL }}" aria-label="{{ i18n "article.anchor_label" }}">#</a></span>{{ end }}</h{{ .Level }}> <div id="{{ .Anchor | safeURL }}" class="anchor">{{ .Text | safeHTML }}></div>
<h{{ .Level }} class="relative group">{{ .Text | safeHTML }}
{{ if.Page.Params.showHeadingAnchors | default (.Page.Site.Params.article.showHeadingAnchors | default true) }}<span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
<a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700"
style="text-decoration-line: none !important;" href="#{{ .Anchor | safeURL }}" aria-label="{{ i18n "article.anchor_label" }}">#</a></span>
{{ end }}
</h{{ .Level }}>
+43 -53
View File
@@ -1,59 +1,49 @@
{{- 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 <div id="the-top" class="absolute flex self-center">
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" <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"
> href="#main-content"><span
<div id="the-top" class="absolute flex self-center"> class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400">&darr;</span>{{ i18n
<a "nav.skip_to_main" }}</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" </div>
href="#main-content" {{ $header := print "partials/header/" .Site.Params.header.layout ".html" }}
><span class="font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400" {{ if templates.Exists $header }}
>&darr;</span {{ partial $header . }}
>{{ i18n "nav.skip_to_main" }}</a {{ else }}
> {{ partial "partials/header/basic.html" . }}
</div> {{ end }}
{{ $header := print "partials/header/" .Site.Params.header.layout ".html" }} <div class="relative flex flex-col grow">
{{ if templates.Exists $header }} <main id="main-content" class="grow">
{{ partial $header . }} {{ block "main" . }}{{ end }}
{{ else }} {{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }}
{{ partial "partials/header/basic.html" . }} <div class="pointer-events-none absolute top-[100vh] bottom-0 w-12 ltr:right-0 rtl:left-0">
{{ end }} <a href="#the-top"
<div class="relative flex flex-col grow"> 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"
<main id="main-content" class="grow"> aria-label="{{ i18n " nav.scroll_to_top_title" }}" title="{{ i18n " nav.scroll_to_top_title" }}">
{{ block "main" . }}{{ end }} &uarr;
{{ if and (.Site.Params.footer.showScrollToTop | default true) (gt .WordCount 200) }} </a>
<div </div>
class="pointer-events-none absolute top-[100vh] bottom-0 w-12 ltr:right-0 rtl:left-0"
>
<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"
aria-label="{{ i18n "nav.scroll_to_top_title" }}"
title="{{ i18n "nav.scroll_to_top_title" }}"
>
&uarr;
</a>
</div>
{{ end }}
</main>
{{- partial "footer.html" . -}}
{{ if .Site.Params.enableSearch | default false }}
{{- partial "search.html" . -}}
{{ end }} {{ end }}
</div> </main>
</body> {{- partial "footer.html" . -}}
</html> {{ if .Site.Params.enableSearch | default false }}
{{- partial "search.html" . -}}
{{ end }}
</div>
</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>
+130 -2
View File
@@ -1,10 +1,23 @@
{{ define "main" }} {{ define "main" }}
{{ if .Site.Params.list.showHero | default false }}
{{ $heroStyle := print "partials/hero/" .Site.Params.list.heroStyle ".html" }}
{{ if templates.Exists $heroStyle }}
{{ partial $heroStyle . }}
{{ else }}
{{ partial "partials/hero/basic.html" . }}
{{ end }}
{{- end -}}
{{ $toc := and (.Params.showTableOfContents | default (.Site.Params.list.showTableOfContents | default false)) (in {{ $toc := and (.Params.showTableOfContents | default (.Site.Params.list.showTableOfContents | default false)) (in
.TableOfContents "<ul") }} <header> .TableOfContents "<ul") }} <header>
{{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }} {{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }}
{{ partial "breadcrumbs.html" . }} {{ partial "breadcrumbs.html" . }}
{{ end }} {{ end }}
<h1 class="mt-0 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
@@ -21,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}}
+2 -2
View File
@@ -24,12 +24,12 @@
{{ if and (.Params.showTableOfContents | default (.Site.Params.article.showTableOfContents | default false)) (in {{ if and (.Params.showTableOfContents | default (.Site.Params.article.showTableOfContents | default false)) (in
.TableOfContents "<ul") }} .TableOfContents "<ul") }}
<div class="order-first sm:max-w-prose lg:ml-auto px-0 lg:order-last lg:max-w-xs ltr:lg:pl-8 rtl:lg:pr-8"> <div class="order-first sm:max-w-prose lg:ml-auto px-0 lg:order-last lg:max-w-xs ltr:lg:pl-8 rtl:lg:pr-8">
<div class="toc ltr:pl-5 rtl:pr-5 print:hidden lg:sticky lg:top-10 backdrop-blur"> <div class="toc ltr:pl-5 rtl:pr-5 print:hidden lg:sticky {{ if eq .Site.Params.header.layout "fixed" }} lg:top-[140px] {{ else }} lg:top-10 {{ end }}">
{{ partial "toc.html" . }} {{ partial "toc.html" . }}
</div> </div>
</div> </div>
{{ end }} {{ end }}
<div class="min-w-0 min-h-0 max-w-prose backdrop-blur"> <div class="min-w-0 min-h-0 max-w-prose">
{{ partial "series.html" . }} {{ partial "series.html" . }}
{{ .Content | emojify }} {{ .Content | emojify }}
</br></br> </br></br>
+4 -2
View File
@@ -1,6 +1,8 @@
{{ $articleClasses := "flex flex-wrap article backdrop-blur" }} {{ $articleClasses := "flex flex-wrap article" }}
{{ if .Site.Params.list.showCards }} {{ if .Site.Params.list.showCards }}
{{ $articleClasses = delimit (slice $articleClasses "border" "border-neutral-200 dark:border-neutral-700 border-2 rounded-md") " " }} {{ $articleClasses = delimit (slice $articleClasses "border border-neutral-200 dark:border-neutral-700 border-2 rounded-md") " " }}
{{ else }}
{{ $articleClasses = delimit (slice $articleClasses "") " " }}
{{ end }} {{ end }}
{{ $articleImageClasses := "w-full md:w-auto h-full thumbnail nozoom" }} {{ $articleImageClasses := "w-full md:w-auto h-full thumbnail nozoom" }}
+36
View File
@@ -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\">&middot;</span>" }}
{{ end }}
</div>
{{ end }}
-27
View File
@@ -121,31 +121,4 @@
</div> </div>
</label> </label>
</div> </div>
</div>
<div id="mobile-menu"
class="fixed inset-0 z-30 invisible w-screen h-screen m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50">
<ul
class="flex movedown flex-col w-full px-6 py-6 mx-auto overflow-visible list-none ltr:text-right rtl:text-left max-w-7xl sm:px-14 md:px-24 lg:px-32 sm:py-10 sm:pt-10">
<li class="mb-1">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400">{{ partial "icon.html"
"xmark" }}</span>
</li>
{{ if .Site.Menus.main }}
{{ range .Site.Menus.main }}
<li class="mb-1">
<a class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
href="{{ .URL }}" title="{{ .Title }}">{{ .Name | markdownify | emojify }}</a>
</li>
{{ end }}
{{ end }}
{{ if .Site.Params.enableSearch | default false }}
<li>
<button id="search-button-mobile" class="text-base hover:text-primary-600 dark:hover:text-primary-400">
{{ partial "icon.html" "search" }}
</button>
</li>
{{ end }}
</ul>
</div> </div>
+145
View File
@@ -0,0 +1,145 @@
<div class="min-h-[148px]"></div>
<div class="fixed inset-x-0 h-[120px] pl-[24px] pr-[24px] sbackdrop-blur-xl sshadown-2xl" style="z-index:100">
<div id="menu-blur" class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl"></div>
<div class="relative max-w-[64rem] h-[100px] ml-auto mr-auto">
<div style="padding-left:0;padding-right:0"
class="flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start space-x-3">
{{ if .Site.Params.Logo -}}
{{ $logo := resources.Get .Site.Params.Logo }}
{{ if $logo }}
<div>
<a href="{{ "" | relLangURL }}" class="flex">
<span class="sr-only">{{ .Site.Title | markdownify | emojify }}</span>
<img src="{{ $logo.RelPermalink }}" width="{{ div $logo.Width 2 }}"
height="{{ div $logo.Height 2 }}"
class="max-h-[5rem] max-w-[5rem] object-scale-down object-left nozoom"
alt="{{ .Site.Title }}" />
</a>
</div>
{{ end }}
{{- end }}
<div class="flex flex-1 items-center justify-between">
<nav class="flex space-x-3">
<a href="{{ "" | relLangURL }}"
class="text-base font-medium text-gray-500 hover:text-gray-900">{{ .Site.Title | markdownify
| emojify }}</a>
</nav>
<div class="hidden md:flex items-center space-x-5 md:ml-12">
{{ if .Site.Menus.main }}
{{ range .Site.Menus.main }}
<a href="{{ .URL }}" {{ if or (strings.HasPrefix .URL "http:" ) (strings.HasPrefix .URL "https:"
) }} target="_blank" {{ end }}
class="text-base font-medium text-gray-500 hover:text-gray-900" title="{{ .Title }}">
{{ partial "icon.html" .Pre }}
{{ if and .Pre .Name }} &nbsp; {{ end }}
{{ .Name | markdownify | emojify }}
</a>
{{ end }}
{{ end }}
{{ partial "translations.html" . }}
{{ if .Site.Params.enableSearch | default false }}
<button id="search-button" class="text-base hover:text-primary-600 dark:hover:text-primary-400"
title="{{ i18n " search.open_button_title" }}">
{{ partial "icon.html" "search" }}
</button>
{{ end }}
{{/* Appearance switch */}}
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
<div
class="{{ if .Site.Params.footer.showScrollToTop | default true -}} ltr:mr-14 rtl:ml-14 {{- end }} cursor-pointer text-sm text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400">
<button id="appearance-switcher" type="button">
<div class="flex items-center justify-center h-12 dark:hidden">
{{ partial "icon.html" "moon" }}
</div>
<div class="items-center justify-center hidden h-12 dark:flex">
{{ partial "icon.html" "sun" }}
</div>
</button>
</div>
{{ end }}
</div>
<div class="flex md:hidden items-center space-x-5 md:ml-12">
<span></span>
{{ partial "translations.html" . }}
{{ if .Site.Params.enableSearch | default false }}
<button id="search-button-mobile"
class="text-base hover:text-primary-600 dark:hover:text-primary-400" title="{{ i18n "search.open_button_title" }}">
{{ partial "icon.html" "search" }}
</button>
{{ end }}
{{/* Appearance switch */}}
{{ if .Site.Params.footer.showAppearanceSwitcher | default false }}
<button id="appearance-switcher-mobile" type="button" style="margin-right:5px">
<div class="flex items-center justify-center h-12 dark:hidden">
{{ partial "icon.html" "moon" }}
</div>
<div class="items-center justify-center hidden h-12 dark:flex">
{{ partial "icon.html" "sun" }}
</div>
</button>
{{ end }}
</div>
</div>
<div class="-my-2 -mr-2 md:hidden">
<label id="menu-button" for="menu-controller" class="block">
<input type="checkbox" id="menu-controller" class="hidden" />
<div class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400">
{{ partial "icon.html" "bars" }}
</div>
<div id="menu-wrapper" style="padding-top:25px;"
class="fixed inset-0 z-30 invisible w-screen h-screen m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50">
<ul
class="flex movedown flex-col w-full px-6 py-6 mx-auto overflow-visible list-none ltr:text-right rtl:text-left max-w-7xl sm:px-14 md:px-24 lg:px-32 sm:py-10 sm:pt-10">
<li class="mb-1">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400">{{
partial
"icon.html"
"xmark" }}</span>
</li>
{{ if .Site.Menus.main }}
{{ range .Site.Menus.main }}
<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"
href="{{ .URL }}" title="{{ .Title }}">
{{ partial "icon.html" .Pre }}
{{ if and .Pre .Name }} &nbsp; {{ end }}
{{ .Name | markdownify | emojify }}
</a>
</li>
{{ end }}
{{ end }}
</ul>
</div>
</label>
</div>
</div>
</div>
</div>
<script>
window.addEventListener('scroll', function (e) {
var scroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
var background_blur = document.getElementById('menu-blur');
background_blur.style.opacity = (scroll / 300)
});
</script>
+16 -6
View File
@@ -1,17 +1,27 @@
{{- $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-[200px]"></div> <div id="hero" class="h-[150px] md:h-[200px]"></div>
<div class="fixed inset-x-0 top-0 h-[700px] single_hero_background nozoom" <div class="fixed inset-x-0 top-0 h-[800px] single_hero_background nozoom"
style="background-image:url({{ .RelPermalink }});"> style="background-image:url({{ .RelPermalink }});">
<div <div class="absolute inset-0 bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal">
class="absolute inset-0 bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal">
</div> </div>
<div <div
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>
<script>
window.addEventListener('scroll', function (e) {
var scroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
var background_blur = document.getElementById('background-blur');
background_blur.style.opacity = (scroll / 300)
});
</script>
{{ end }} {{ end }}
{{- end -}} {{ end }}
{{- end -}}
+16 -6
View File
@@ -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 }}
@@ -39,7 +39,7 @@
<div class="flex flex-wrap"> <div class="flex flex-wrap">
{{ range $links := . }} {{ range $links := . }}
{{ range $name, $url := $links }} {{ range $name, $url := $links }}
<a class="px-1 hover:text-primary-400 text-primary-700 dark:text-primary-300" href="{{ $url }}" target="_blank" <a class="px-1 hover:text-primary-400 text-primary-800 dark:text-primary-200" href="{{ $url }}" target="_blank"
aria-label="{{ $name | title }}" rel="me noopener noreferrer">{{ partial aria-label="{{ $name | title }}" rel="me noopener noreferrer">{{ partial
"icon.html" $name }}</a> "icon.html" $name }}</a>
{{ end }} {{ end }}
@@ -55,4 +55,14 @@
</article> </article>
<section> <section>
{{ partial "recent-articles.html" . }} {{ partial "recent-articles.html" . }}
</section> </section>
{{ if .Site.Params.homepage.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>
<script>
window.addEventListener('scroll', function (e) {
var scroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
var background_blur = document.getElementById('background-blur');
background_blur.style.opacity = (scroll / 300)
});
</script>
{{ end }}
+1 -1
View File
@@ -8,7 +8,7 @@
{{ if .Site.Params.homepage.cardView | default false }} {{ if .Site.Params.homepage.cardView | default false }}
{{ if .Site.Params.homepage.cardViewScreenWidth | default false }} {{ if .Site.Params.homepage.cardViewScreenWidth | default false }}
<section class="relative w-screen" style="left: calc(-50vw + 50%);"> <section class="relative w-screen max-w-[1600px]" style="left: calc(max(-50vw,-800px) + 50%);">
<div class="flex flex-wrap pl-8 pr-8"> <div class="flex flex-wrap pl-8 pr-8">
{{ else }} {{ else }}
<section class="w-full"> <section class="w-full">
+2 -1
View File
@@ -1,7 +1,8 @@
<div <div
id="search-wrapper" id="search-wrapper"
class="invisible fixed inset-0 z-50 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]"
data-url="{{ "" | absLangURL }}" data-url="{{ "" | absLangURL }}"
style="z-index:500"
> >
<div <div
id="search-modal" id="search-modal"
+3 -3
View File
@@ -1,9 +1,9 @@
{{ 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
target="_blank"
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" 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"
href="{{ printf .url $.Permalink $.Title }}" href="{{ printf .url $.Permalink $.Title }}"
title="{{ i18n .title }}" title="{{ i18n .title }}"
+106 -44
View File
@@ -1,31 +1,31 @@
{ {
"name": "hugo-blowfish-theme", "name": "hugo-blowfish-theme",
"version": "2.6.0", "version": "2.12.1",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "hugo-blowfish-theme", "name": "hugo-blowfish-theme",
"version": "2.6.0", "version": "2.12.1",
"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": "^3.9.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",
@@ -245,6 +248,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 +1086,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 +1397,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 +1407,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 +1480,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 +1900,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 +1918,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 +1964,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 +2019,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 +2064,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",
@@ -2139,6 +2174,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 +2877,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 +3121,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 +3131,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 +3186,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 +3439,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 +3457,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 +3487,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",
+7 -6
View File
@@ -1,8 +1,9 @@
{ {
"name": "hugo-blowfish-theme", "name": "hugo-blowfish-theme",
"version": "2.7.2", "version": "2.13.0",
"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": "^3.9.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": [],
@@ -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"
} }