Merge branch 'dev' into dev

This commit is contained in:
Miles Barr
2025-09-16 07:56:02 -07:00
committed by GitHub
438 changed files with 2214 additions and 13921 deletions
+8
View File
@@ -21,6 +21,14 @@ body:
options: options:
- label: I have checked existing Issues and I feel this bug has not been raised - label: I have checked existing Issues and I feel this bug has not been raised
required: true required: true
- type: checkboxes
id: hugo-version-check
attributes:
label: Hugo Version Check
description: Please confirm that your Hugo version is within the supported range specified in the [config](https://github.com/nunocoracao/blowfish/blob/main/config.toml)
options:
- label: My Hugo version is within the supported range
required: true
- type: textarea - type: textarea
id: describe-bug id: describe-bug
attributes: attributes:
+2 -2
View File
@@ -8,11 +8,11 @@ jobs:
if: ${{ github.actor == 'dependabot[bot]' }} if: ${{ github.actor == 'dependabot[bot]' }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
ref: "${{ github.head_ref }}" ref: "${{ github.head_ref }}"
- name: Install dependencies and Build Theme - name: Install dependencies and Build Theme
uses: actions/setup-node@v4 uses: actions/setup-node@v5
- run: npm install - run: npm install
- run: npm run assets - run: npm run assets
- name: Commit and push Chart.js changes - name: Commit and push Chart.js changes
+1 -1
View File
@@ -8,7 +8,7 @@ jobs:
zip: zip:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- run: zip -r config-default.zip config/_default - run: zip -r config-default.zip config/_default
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
issues: write issues: write
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/first-interaction@v2 - uses: actions/first-interaction@v3
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: "Thanks for contributing to Blowfish" issue-message: "Thanks for contributing to Blowfish"
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out code into the Go module directory - name: Check out code into the Go module directory
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
ref: dev ref: dev
submodules: true # Fetch Hugo themes (true OR recursive) submodules: true # Fetch Hugo themes (true OR recursive)
+2 -2
View File
@@ -37,7 +37,7 @@ jobs:
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \ wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb && sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
submodules: recursive submodules: recursive
- name: Setup Pages - name: Setup Pages
@@ -51,7 +51,7 @@ jobs:
run: | run: |
hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/ hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/
- name: Upload artifact - name: Upload artifact
uses: actions/upload-pages-artifact@v3 uses: actions/upload-pages-artifact@v4
with: with:
path: ./docs path: ./docs
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v10
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: stale-issue-message:
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
submodules: true submodules: true
fetch-depth: 0 fetch-depth: 0
+148 -254
View File
@@ -491,6 +491,12 @@ body.zen-mode-enable {
.inset-x-0 { .inset-x-0 {
inset-inline: calc(var(--spacing) * 0); inset-inline: calc(var(--spacing) * 0);
} }
.-start-6 {
inset-inline-start: calc(var(--spacing) * -6);
}
.start-\[calc\(max\(-50vw\,-800px\)\+50\%\)\] {
inset-inline-start: calc(max(-50vw, -800px) + 50%);
}
.top-0 { .top-0 {
top: calc(var(--spacing) * 0); top: calc(var(--spacing) * 0);
} }
@@ -518,9 +524,6 @@ body.zen-mode-enable {
.left-1\/2 { .left-1\/2 {
left: calc(1/2 * 100%); left: calc(1/2 * 100%);
} }
.left-\[calc\(max\(-50vw\,-800px\)\+50\%\)\] {
left: calc(max(-50vw, -800px) + 50%);
}
.-z-10 { .-z-10 {
z-index: calc(10 * -1); z-index: calc(10 * -1);
} }
@@ -623,9 +626,30 @@ body.zen-mode-enable {
.my-3 { .my-3 {
margin-block: calc(var(--spacing) * 3); margin-block: calc(var(--spacing) * 3);
} }
.-ms-5 {
margin-inline-start: calc(var(--spacing) * -5);
}
.ms-0 {
margin-inline-start: calc(var(--spacing) * 0);
}
.ms-2 {
margin-inline-start: calc(var(--spacing) * 2);
}
.ms-6 {
margin-inline-start: calc(var(--spacing) * 6);
}
.-me-48 {
margin-inline-end: calc(var(--spacing) * -48);
}
.me-1 {
margin-inline-end: calc(var(--spacing) * 1);
}
.me-2 { .me-2 {
margin-inline-end: calc(var(--spacing) * 2); margin-inline-end: calc(var(--spacing) * 2);
} }
.me-4 {
margin-inline-end: calc(var(--spacing) * 4);
}
.prose { .prose {
color: var(--tw-prose-body); color: var(--tw-prose-body);
max-width: 65ch; max-width: 65ch;
@@ -1123,9 +1147,6 @@ body.zen-mode-enable {
.mt-\[0\.5rem\] { .mt-\[0\.5rem\] {
margin-top: 0.5rem; margin-top: 0.5rem;
} }
.-mr-48 {
margin-right: calc(var(--spacing) * -48);
}
.-mr-\[100\%\] { .-mr-\[100\%\] {
margin-right: calc(100% * -1); margin-right: calc(100% * -1);
} }
@@ -1144,9 +1165,6 @@ body.zen-mode-enable {
.mr-5 { .mr-5 {
margin-right: calc(var(--spacing) * 5); margin-right: calc(var(--spacing) * 5);
} }
.mr-\[10px\] {
margin-right: 10px;
}
.mr-auto { .mr-auto {
margin-right: auto; margin-right: auto;
} }
@@ -1195,9 +1213,6 @@ body.zen-mode-enable {
.mb-\[2px\] { .mb-\[2px\] {
margin-bottom: 2px; margin-bottom: 2px;
} }
.-ml-12 {
margin-left: calc(var(--spacing) * -12);
}
.ml-0 { .ml-0 {
margin-left: calc(var(--spacing) * 0); margin-left: calc(var(--spacing) * 0);
} }
@@ -1207,9 +1222,6 @@ body.zen-mode-enable {
.ml-3 { .ml-3 {
margin-left: calc(var(--spacing) * 3); margin-left: calc(var(--spacing) * 3);
} }
.ml-6 {
margin-left: calc(var(--spacing) * 6);
}
.ml-auto { .ml-auto {
margin-left: auto; margin-left: auto;
} }
@@ -1295,9 +1307,6 @@ body.zen-mode-enable {
.inline-block { .inline-block {
display: inline-block; display: inline-block;
} }
.list-item {
display: list-item;
}
.table { .table {
display: table; display: table;
} }
@@ -1497,12 +1506,6 @@ body.zen-mode-enable {
.flex-none { .flex-none {
flex: none; flex: none;
} }
.flex-shrink {
flex-shrink: 1;
}
.shrink {
flex-shrink: 1;
}
.shrink-0 { .shrink-0 {
flex-shrink: 0; flex-shrink: 0;
} }
@@ -1515,9 +1518,6 @@ body.zen-mode-enable {
.basis-auto { .basis-auto {
flex-basis: auto; flex-basis: auto;
} }
.border-collapse {
border-collapse: collapse;
}
.-translate-x-1\/2 { .-translate-x-1\/2 {
--tw-translate-x: calc(calc(1/2 * 100%) * -1); --tw-translate-x: calc(calc(1/2 * 100%) * -1);
translate: var(--tw-translate-x) var(--tw-translate-y); translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -1760,6 +1760,14 @@ body.zen-mode-enable {
border-inline-start-style: var(--tw-border-style); border-inline-start-style: var(--tw-border-style);
border-inline-start-width: 0px; border-inline-start-width: 0px;
} }
.border-s-1 {
border-inline-start-style: var(--tw-border-style);
border-inline-start-width: 1px;
}
.border-s-2 {
border-inline-start-style: var(--tw-border-style);
border-inline-start-width: 2px;
}
.border-s-\[0\.125rem\] { .border-s-\[0\.125rem\] {
border-inline-start-style: var(--tw-border-style); border-inline-start-style: var(--tw-border-style);
border-inline-start-width: 0.125rem; border-inline-start-width: 0.125rem;
@@ -1776,10 +1784,6 @@ body.zen-mode-enable {
border-bottom-style: var(--tw-border-style); border-bottom-style: var(--tw-border-style);
border-bottom-width: 2px; border-bottom-width: 2px;
} }
.border-l-2 {
border-left-style: var(--tw-border-style);
border-left-width: 2px;
}
.border-dotted { .border-dotted {
--tw-border-style: dotted; --tw-border-style: dotted;
border-style: dotted; border-style: dotted;
@@ -1854,6 +1858,9 @@ body.zen-mode-enable {
.bg-\[\#6d6d6d\] { .bg-\[\#6d6d6d\] {
background-color: #6d6d6d; background-color: #6d6d6d;
} }
.bg-black {
background-color: #000;
}
.bg-neutral { .bg-neutral {
background-color: rgba(var(--color-neutral), 1); background-color: rgba(var(--color-neutral), 1);
} }
@@ -1899,6 +1906,9 @@ body.zen-mode-enable {
.bg-transparent { .bg-transparent {
background-color: transparent; background-color: transparent;
} }
.bg-white {
background-color: #fff;
}
.bg-gradient-to-b { .bg-gradient-to-b {
--tw-gradient-position: to bottom in oklab; --tw-gradient-position: to bottom in oklab;
background-image: linear-gradient(var(--tw-gradient-stops)); background-image: linear-gradient(var(--tw-gradient-stops));
@@ -2034,6 +2044,18 @@ body.zen-mode-enable {
.py-\[1px\] { .py-\[1px\] {
padding-block: 1px; padding-block: 1px;
} }
.ps-2 {
padding-inline-start: calc(var(--spacing) * 2);
}
.ps-5 {
padding-inline-start: calc(var(--spacing) * 5);
}
.pe-2 {
padding-inline-end: calc(var(--spacing) * 2);
}
.pe-3 {
padding-inline-end: calc(var(--spacing) * 3);
}
.pt-1 { .pt-1 {
padding-top: calc(var(--spacing) * 1); padding-top: calc(var(--spacing) * 1);
} }
@@ -2091,9 +2113,6 @@ body.zen-mode-enable {
.pl-0 { .pl-0 {
padding-left: calc(var(--spacing) * 0); padding-left: calc(var(--spacing) * 0);
} }
.pl-2 {
padding-left: calc(var(--spacing) * 2);
}
.pl-4 { .pl-4 {
padding-left: calc(var(--spacing) * 4); padding-left: calc(var(--spacing) * 4);
} }
@@ -2103,12 +2122,18 @@ body.zen-mode-enable {
.text-center { .text-center {
text-align: center; text-align: center;
} }
.text-end {
text-align: end;
}
.text-left { .text-left {
text-align: left; text-align: left;
} }
.text-right { .text-right {
text-align: right; text-align: right;
} }
.text-start {
text-align: start;
}
.-indent-\[999px\] { .-indent-\[999px\] {
text-indent: calc(999px * -1); text-indent: calc(999px * -1);
} }
@@ -2270,6 +2295,9 @@ body.zen-mode-enable {
.text-transparent { .text-transparent {
color: transparent; color: transparent;
} }
.text-white {
color: #fff;
}
.capitalize { .capitalize {
text-transform: capitalize; text-transform: capitalize;
} }
@@ -2362,14 +2390,6 @@ body.zen-mode-enable {
--tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
} }
.ring {
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.outline {
outline-style: var(--tw-outline-style);
outline-width: 1px;
}
.blur { .blur {
--tw-blur: blur(8px); --tw-blur: blur(8px);
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
@@ -2523,13 +2543,6 @@ body.zen-mode-enable {
} }
} }
} }
.group-hover\:underline-offset-2 {
&:is(:where(.group):hover *) {
@media (hover: hover) {
text-underline-offset: 2px;
}
}
}
.group-hover\:opacity-100 { .group-hover\:opacity-100 {
&:is(:where(.group):hover *) { &:is(:where(.group):hover *) {
@media (hover: hover) { @media (hover: hover) {
@@ -2567,11 +2580,24 @@ body.zen-mode-enable {
border-style: solid; border-style: solid;
} }
} }
.group-data-\[twe-input-focused\]\:border-white {
&:is(:where(.group)[data-twe-input-focused] *) {
border-color: #fff;
}
}
.group-data-\[twe-input-focused\]\:border-t-transparent { .group-data-\[twe-input-focused\]\:border-t-transparent {
&:is(:where(.group)[data-twe-input-focused] *) { &:is(:where(.group)[data-twe-input-focused] *) {
border-top-color: transparent; border-top-color: transparent;
} }
} }
.group-data-\[twe-input-focused\]\:shadow-white {
&:is(:where(.group)[data-twe-input-focused] *) {
--tw-shadow-color: #fff;
@supports (color: color-mix(in lab, red, red)) {
--tw-shadow-color: color-mix(in oklab, #fff var(--tw-shadow-alpha), transparent);
}
}
}
.group-data-\[twe-input-state-active\]\:border-x-0 { .group-data-\[twe-input-state-active\]\:border-x-0 {
&:is(:where(.group)[data-twe-input-state-active] *) { &:is(:where(.group)[data-twe-input-state-active] *) {
border-inline-style: var(--tw-border-style); border-inline-style: var(--tw-border-style);
@@ -2607,6 +2633,18 @@ body.zen-mode-enable {
border-top-color: transparent; border-top-color: transparent;
} }
} }
.before\:absolute {
&::before {
content: var(--tw-content);
position: absolute;
}
}
.before\:inset-0 {
&::before {
content: var(--tw-content);
inset: calc(var(--spacing) * 0);
}
}
.after\:clear-both { .after\:clear-both {
&::after { &::after {
content: var(--tw-content); content: var(--tw-content);
@@ -2727,13 +2765,6 @@ body.zen-mode-enable {
} }
} }
} }
.hover\:decoration-neutral-300 {
&:hover {
@media (hover: hover) {
text-decoration-color: rgba(var(--color-neutral-300), 1);
}
}
}
.hover\:decoration-primary-400 { .hover\:decoration-primary-400 {
&:hover { &:hover {
@media (hover: hover) { @media (hover: hover) {
@@ -2741,13 +2772,6 @@ body.zen-mode-enable {
} }
} }
} }
.hover\:decoration-primary-500 {
&:hover {
@media (hover: hover) {
text-decoration-color: rgba(var(--color-primary-500), 1);
}
}
}
.hover\:decoration-2 { .hover\:decoration-2 {
&:hover { &:hover {
@media (hover: hover) { @media (hover: hover) {
@@ -2872,6 +2896,11 @@ body.zen-mode-enable {
transition-property: none; transition-property: none;
} }
} }
.sm\:me-7 {
@media (width >= 640px) {
margin-inline-end: calc(var(--spacing) * 7);
}
}
.sm\:mt-16 { .sm\:mt-16 {
@media (width >= 640px) { @media (width >= 640px) {
margin-top: calc(var(--spacing) * 16); margin-top: calc(var(--spacing) * 16);
@@ -2928,16 +2957,23 @@ body.zen-mode-enable {
line-height: var(--tw-leading, var(--text-lg--line-height)); line-height: var(--tw-leading, var(--text-lg--line-height));
} }
} }
.sm\:last\:me-0 {
@media (width >= 640px) {
&:last-child {
margin-inline-end: calc(var(--spacing) * 0);
}
}
}
.md\:-me-16 {
@media (width >= 853px) {
margin-inline-end: calc(var(--spacing) * -16);
}
}
.md\:mt-0 { .md\:mt-0 {
@media (width >= 853px) { @media (width >= 853px) {
margin-top: calc(var(--spacing) * 0); margin-top: calc(var(--spacing) * 0);
} }
} }
.md\:-mr-16 {
@media (width >= 853px) {
margin-right: calc(var(--spacing) * -16);
}
}
.md\:mr-7 { .md\:mr-7 {
@media (width >= 853px) { @media (width >= 853px) {
margin-right: calc(var(--spacing) * 7); margin-right: calc(var(--spacing) * 7);
@@ -2983,9 +3019,9 @@ body.zen-mode-enable {
grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr));
} }
} }
.md\:flex-nowrap { .md\:flex-row {
@media (width >= 853px) { @media (width >= 853px) {
flex-wrap: nowrap; flex-direction: row;
} }
} }
.md\:justify-start { .md\:justify-start {
@@ -3028,11 +3064,6 @@ body.zen-mode-enable {
top: 140px; top: 140px;
} }
} }
.lg\:left-0 {
@media (width >= 1024px) {
left: calc(var(--spacing) * 0);
}
}
.lg\:order-last { .lg\:order-last {
@media (width >= 1024px) { @media (width >= 1024px) {
order: 9999; order: 9999;
@@ -3163,6 +3194,11 @@ body.zen-mode-enable {
padding-block: calc(var(--spacing) * 32); padding-block: calc(var(--spacing) * 32);
} }
} }
.lg\:ps-8 {
@media (width >= 1024px) {
padding-inline-start: calc(var(--spacing) * 8);
}
}
.xl\:w-1\/4 { .xl\:w-1\/4 {
@media (width >= 1280px) { @media (width >= 1280px) {
width: calc(1/4 * 100%); width: calc(1/4 * 100%);
@@ -3183,34 +3219,14 @@ body.zen-mode-enable {
right: calc(var(--spacing) * 0); right: calc(var(--spacing) * 0);
} }
} }
.ltr\:-left-6 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
left: calc(var(--spacing) * -6);
}
}
.ltr\:mr-1 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
margin-right: calc(var(--spacing) * 1);
}
}
.ltr\:mr-4 { .ltr\:mr-4 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) { &:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
margin-right: calc(var(--spacing) * 4); margin-right: calc(var(--spacing) * 4);
} }
} }
.ltr\:-ml-5 { .ltr\:-ml-12 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) { &:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
margin-left: calc(var(--spacing) * -5); margin-left: calc(var(--spacing) * -12);
}
}
.ltr\:ml-0 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
margin-left: calc(var(--spacing) * 0);
}
}
.ltr\:ml-2 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
margin-left: calc(var(--spacing) * 2);
} }
} }
.ltr\:block { .ltr\:block {
@@ -3228,83 +3244,14 @@ body.zen-mode-enable {
display: inline; display: inline;
} }
} }
.ltr\:border-l {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
border-left-style: var(--tw-border-style);
border-left-width: 1px;
}
}
.ltr\:pr-2 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
padding-right: calc(var(--spacing) * 2);
}
}
.ltr\:pr-3 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
padding-right: calc(var(--spacing) * 3);
}
}
.ltr\:pl-5 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
padding-left: calc(var(--spacing) * 5);
}
}
.ltr\:text-right {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
text-align: right;
}
}
.ltr\:sm\:mr-7 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
@media (width >= 640px) {
margin-right: calc(var(--spacing) * 7);
}
}
}
.ltr\:sm\:last\:mr-0 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
@media (width >= 640px) {
&:last-child {
margin-right: calc(var(--spacing) * 0);
}
}
}
}
.ltr\:lg\:pl-8 {
&:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
@media (width >= 1024px) {
padding-left: calc(var(--spacing) * 8);
}
}
}
.rtl\:-right-6 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
right: calc(var(--spacing) * -6);
}
}
.rtl\:left-0 { .rtl\:left-0 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) { &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
left: calc(var(--spacing) * 0); left: calc(var(--spacing) * 0);
} }
} }
.rtl\:-mr-5 { .rtl\:-mr-\[79px\] {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) { &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
margin-right: calc(var(--spacing) * -5); margin-right: calc(79px * -1);
}
}
.rtl\:mr-0 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
margin-right: calc(var(--spacing) * 0);
}
}
.rtl\:mr-2 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
margin-right: calc(var(--spacing) * 2);
}
}
.rtl\:ml-1 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
margin-left: calc(var(--spacing) * 1);
} }
} }
.rtl\:ml-4 { .rtl\:ml-4 {
@@ -3327,55 +3274,6 @@ body.zen-mode-enable {
display: inline; display: inline;
} }
} }
.rtl\:border-r {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
border-right-style: var(--tw-border-style);
border-right-width: 1px;
}
}
.rtl\:pr-5 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
padding-right: calc(var(--spacing) * 5);
}
}
.rtl\:pl-2 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
padding-left: calc(var(--spacing) * 2);
}
}
.rtl\:pl-3 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
padding-left: calc(var(--spacing) * 3);
}
}
.rtl\:text-left {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
text-align: left;
}
}
.rtl\:sm\:ml-7 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
@media (width >= 640px) {
margin-left: calc(var(--spacing) * 7);
}
}
}
.rtl\:sm\:last\:ml-0 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
@media (width >= 640px) {
&:last-child {
margin-left: calc(var(--spacing) * 0);
}
}
}
}
.rtl\:lg\:pr-8 {
&:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
@media (width >= 1024px) {
padding-right: calc(var(--spacing) * 8);
}
}
}
.dark\:flex { .dark\:flex {
&:is(.dark *) { &:is(.dark *) {
display: flex; display: flex;
@@ -3411,6 +3309,11 @@ body.zen-mode-enable {
border-color: rgba(var(--color-primary-600), 1); border-color: rgba(var(--color-primary-600), 1);
} }
} }
.dark\:border-white\/10 {
&:is(.dark *) {
border-color: color-mix(in oklab, #fff 10%, transparent);
}
}
.dark\:prose-invert { .dark\:prose-invert {
&:is(.dark *) { &:is(.dark *) {
--tw-prose-body: var(--tw-prose-invert-body); --tw-prose-body: var(--tw-prose-invert-body);
@@ -3585,6 +3488,11 @@ body.zen-mode-enable {
color: rgba(var(--color-primary-400), 1); color: rgba(var(--color-primary-400), 1);
} }
} }
.dark\:text-white {
&:is(.dark *) {
color: #fff;
}
}
.dark\:opacity-60 { .dark\:opacity-60 {
&:is(.dark *) { &:is(.dark *) {
opacity: 60%; opacity: 60%;
@@ -3862,24 +3770,6 @@ a {
pre { pre {
text-align: left; text-align: left;
} }
.thumbnail, .thumbnail_card, .thumbnail_card_related, .thumbnail_card_term, .single_hero_basic, .single_hero_background {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.thumbnail {
min-width: 300px;
height: 180px;
}
.thumbnail_card {
height: 200px;
}
.thumbnail_card_related {
height: 150px;
}
.thumbnail_card_term {
height: 150px;
}
.single_hero_round { .single_hero_round {
max-height: 50vh; max-height: 50vh;
object-fit: cover; object-fit: cover;
@@ -3891,7 +3781,23 @@ pre {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.thumbnailshadow { .thumbnail--card {
min-width: 300px;
height: 200px;
}
.thumbnail--related {
height: 150px;
}
.thumbnail--simple {
width: 300px;
min-height: 180px;
}
@media (width < 853px) {
.thumbnail--simple {
width: 100%;
}
}
.thumbnail-shadow {
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 { .anchor {
@@ -3905,20 +3811,11 @@ pre {
scroll-margin-top: 145px; scroll-margin-top: 145px;
} }
@media (width >= 640px) { @media (width >= 640px) {
.thumbnail {
min-width: 100%;
height: 180px;
}
.article { .article {
flex-wrap: wrap; flex-wrap: wrap;
} }
} }
@media (width >= 853px) { @media (width >= 853px) {
.thumbnail {
min-width: 300px;
min-height: 180px;
height: auto;
}
.article { .article {
flex-wrap: nowrap; flex-wrap: nowrap;
} }
@@ -3947,9 +3844,6 @@ pre {
text-decoration-thickness: 3px; text-decoration-thickness: 3px;
text-underline-offset: 4px; text-underline-offset: 4px;
} }
.group-hover-card:hover:has(.group-hover-cancel:hover) .group-hover-card-title {
text-decoration: none !important;
}
@layer base { @layer base {
[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { [type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
appearance: none; appearance: none;
@@ -4323,11 +4217,6 @@ pre {
inherits: false; inherits: false;
initial-value: 0 0 #0000; initial-value: 0 0 #0000;
} }
@property --tw-outline-style {
syntax: "*";
inherits: false;
initial-value: solid;
}
@property --tw-blur { @property --tw-blur {
syntax: "*"; syntax: "*";
inherits: false; inherits: false;
@@ -4430,6 +4319,11 @@ pre {
initial-value: ""; initial-value: "";
inherits: false; inherits: false;
} }
@property --tw-outline-style {
syntax: "*";
inherits: false;
initial-value: solid;
}
@keyframes pulse { @keyframes pulse {
50% { 50% {
opacity: 0.5; opacity: 0.5;
@@ -4486,7 +4380,6 @@ pre {
--tw-ring-offset-width: 0px; --tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff; --tw-ring-offset-color: #fff;
--tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-shadow: 0 0 #0000;
--tw-outline-style: solid;
--tw-blur: initial; --tw-blur: initial;
--tw-brightness: initial; --tw-brightness: initial;
--tw-contrast: initial; --tw-contrast: initial;
@@ -4512,6 +4405,7 @@ pre {
--tw-duration: initial; --tw-duration: initial;
--tw-ease: initial; --tw-ease: initial;
--tw-content: ""; --tw-content: "";
--tw-outline-style: solid;
} }
} }
} }
+21 -43
View File
@@ -163,34 +163,6 @@ pre {
text-align: left; text-align: left;
} }
.thumbnail,
.thumbnail_card,
.thumbnail_card_related,
.thumbnail_card_term,
.single_hero_basic,
.single_hero_background {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.thumbnail {
min-width: 300px;
height: 180px;
}
.thumbnail_card {
height: 200px;
}
.thumbnail_card_related {
height: 150px;
}
.thumbnail_card_term {
height: 150px;
}
.single_hero_round { .single_hero_round {
max-height: 50vh; max-height: 50vh;
object-fit: cover; object-fit: cover;
@@ -205,7 +177,27 @@ pre {
height: 100%; height: 100%;
} }
.thumbnailshadow { .thumbnail--card {
min-width: 300px;
height: 200px;
}
.thumbnail--related {
height: 150px;
}
.thumbnail--simple {
width: 300px;
min-height: 180px;
}
@variant max-md {
.thumbnail--simple {
width: 100%;
}
}
.thumbnail-shadow {
box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3); box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3);
} }
@@ -224,21 +216,12 @@ pre {
} }
@variant sm { @variant sm {
.thumbnail {
min-width: 100%;
height: 180px;
}
.article { .article {
flex-wrap: wrap; flex-wrap: wrap;
} }
} }
@variant md { @variant md {
.thumbnail {
min-width: 300px;
min-height: 180px;
height: auto;
}
.article { .article {
flex-wrap: nowrap; flex-wrap: nowrap;
} }
@@ -278,8 +261,3 @@ pre {
text-decoration-thickness: 3px; text-decoration-thickness: 3px;
text-underline-offset: 4px; text-underline-offset: 4px;
} }
/* Cancel group hover if .group-hover-card contains .group-hover-cancel*/
.group-hover-card:hover:has(.group-hover-cancel:hover) .group-hover-card-title {
text-decoration: none !important;
}
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80L96 511.9c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z"/></svg>

After

Width:  |  Height:  |  Size: 700 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M0 336c0 79.5 64.5 144 144 144l368 0c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z"/></svg>

After

Width:  |  Height:  |  Size: 353 B

+158 -182
View File
@@ -1,194 +1,170 @@
const getA11ySettings = () => { window.A11yPanel = (() => {
const settings = localStorage.getItem("a11ySettings"); const FEATURES = {
return settings disableBlur: {
? JSON.parse(settings) default: false,
: { apply: (enabled) => {
disableBlur: false, document.querySelectorAll("script[data-blur-id]").forEach((script) => {
disableImages: false, const targetId = script.getAttribute("data-blur-id");
fontSize: "default", const scrollDivisor = Number(script.getAttribute("data-scroll-divisor") || 300);
underlineLinks: false, if (typeof setBackgroundBlur === "function") {
zenMode: false, setBackgroundBlur(targetId, scrollDivisor, enabled, targetId === "menu-blur");
}; }
}; });
},
},
const saveA11ySettings = (settings) => { disableImages: {
localStorage.setItem("a11ySettings", JSON.stringify(settings)); default: false,
}; apply: (enabled) => {
const image = document.getElementById("background-image");
if (image) {
image.style.display = enabled ? "none" : "";
}
},
},
const applyImageState = (imageElement, imageUrl, disableImages) => { fontSize: {
if (!imageElement) return; default: "default",
if (disableImages) { apply: (size) => {
imageElement.style.display = "none"; document.documentElement.style.fontSize = size === "default" ? "" : size;
} else { },
imageElement.style.display = ""; },
if (imageUrl && !imageElement.getAttribute("src")) {
imageElement.setAttribute("src", imageUrl); underlineLinks: {
default: false,
apply: (enabled) => {
const existing = document.getElementById("a11y-underline-links");
if (enabled && !existing) {
const style = document.createElement("style");
style.id = "a11y-underline-links";
style.textContent = `
a { text-decoration: underline !important; }
.group-hover-card-title { text-decoration: underline !important; }
.group-hover-card:hover .group-hover-card-title { text-decoration: underline !important; }`;
document.head.appendChild(style);
} else if (!enabled && existing) {
existing.remove();
}
},
},
zenMode: {
default: false,
apply: (enabled) => {
const isActive = document.body?.classList.contains("zen-mode-enable");
if (enabled !== isActive) {
const checkbox = document.querySelector('[id$="zen-mode"]');
if (checkbox && typeof _toggleZenMode === "function") {
_toggleZenMode(checkbox, { scrollToHeader: false });
}
}
},
},
};
let settings = null;
const getSettings = () => {
if (settings) return settings;
const defaults = Object.fromEntries(Object.entries(FEATURES).map(([key, config]) => [key, config.default]));
try {
const saved = localStorage.getItem("a11ySettings");
settings = { ...defaults, ...JSON.parse(saved || "{}") };
} catch {
settings = defaults;
} }
} return settings;
}; };
const applyFontSize = (fontSizePx) => { const updateSetting = (key, value) => {
const isDefaultSettings = localStorage.getItem("a11ySettings") === null; const current = getSettings();
if (!isDefaultSettings && fontSizePx !== "default") { current[key] = value;
document.documentElement.style.fontSize = fontSizePx; try {
} localStorage.setItem("a11ySettings", JSON.stringify(current));
}; } catch (e) {
console.warn(`a11y.js: can not store settings: ${e}`);
const applyUnderlineLinks = (enabled) => {
let styleElement = document.getElementById("a11y-underline-links");
if (enabled) {
if (!styleElement) {
styleElement = document.createElement("style");
styleElement.id = "a11y-underline-links";
styleElement.textContent = "a { text-decoration: underline !important; }";
document.head.appendChild(styleElement);
} }
} else { FEATURES[key]?.apply(value);
if (styleElement) { };
styleElement.remove();
}
}
};
const applyZenMode = (enabled) => { const initPanel = (panelId) => {
const body = document.querySelector("body"); const prefix = panelId.replace("a11y-panel", "");
const isZenModeActive = body && body.classList.contains("zen-mode-enable"); const current = getSettings();
// Toggle only if current state doesn't match desired state Object.entries(FEATURES).forEach(([key, config]) => {
if (enabled !== isZenModeActive) { const elementId = `${prefix}${key.replace(/([A-Z])/g, "-$1").toLowerCase()}`;
const zenModeCheckbox = document.querySelector('[id$="zen-mode"]'); const element = document.getElementById(elementId) || document.getElementById(`${elementId}-select`);
if (zenModeCheckbox && typeof _toggleZenMode === "function") {
_toggleZenMode(zenModeCheckbox, { scrollToHeader: false });
}
}
};
const applyA11ySettings = () => { if (element) {
const settings = getA11ySettings(); if (element.type === "checkbox") {
document.querySelectorAll("script[data-target-id]").forEach((script) => { element.checked = current[key];
const targetId = script.getAttribute("data-target-id"); element.onchange = (e) => updateSetting(key, e.target.checked);
const scrollDivisor = Number(script.getAttribute("data-scroll-divisor") || 300); } else if (element.tagName === "SELECT") {
const imageId = script.getAttribute("data-image-id"); element.value = current[key];
const imageUrl = script.getAttribute("data-image-url"); element.onchange = (e) => updateSetting(key, e.target.value);
const isMenuBlur = targetId === "menu-blur"; }
setBackgroundBlur(targetId, scrollDivisor, settings.disableBlur, isMenuBlur);
applyImageState(document.getElementById(imageId), imageUrl, settings.disableImages);
});
applyFontSize(settings.fontSize);
applyUnderlineLinks(settings.underlineLinks);
applyZenMode(settings.zenMode);
};
const updateA11ySetting = (key, value) => {
const settings = getA11ySettings();
settings[key] = value;
saveA11ySettings(settings);
applyA11ySettings();
};
const toggleA11yPanel = (prefix = "") => {
const panel = document.getElementById(`${prefix}a11y-panel`);
const overlay = document.getElementById(`${prefix}a11y-overlay`);
const button = document.getElementById(`${prefix}a11y-toggle`);
if (!panel || !overlay || !button) return;
if (overlay.classList.contains("hidden")) {
overlay.classList.remove("hidden");
panel.classList.remove("hidden");
button.setAttribute("aria-pressed", "true");
button.setAttribute("aria-expanded", "true");
} else {
overlay.classList.add("hidden");
panel.classList.add("hidden");
button.setAttribute("aria-pressed", "false");
button.setAttribute("aria-expanded", "false");
}
};
const initA11yPanel = (prefix = "") => {
const settings = getA11ySettings();
const checkboxBlur = document.getElementById(`${prefix}disable-blur`);
const checkboxImages = document.getElementById(`${prefix}disable-images`);
const checkboxUnderline = document.getElementById(`${prefix}underline-links`);
const checkboxZenMode = document.getElementById(`${prefix}zen-mode`);
const fontSizeSelect = document.getElementById(`${prefix}font-size-select`);
const toggleButton = document.getElementById(`${prefix}a11y-toggle`);
const closeButton = document.getElementById(`${prefix}a11y-close`);
const overlay = document.getElementById(`${prefix}a11y-overlay`);
if (
!checkboxBlur ||
!checkboxImages ||
!checkboxUnderline ||
!checkboxZenMode ||
!fontSizeSelect ||
!toggleButton ||
!closeButton ||
!overlay
) {
console.warn(`One or more a11y elements not found for prefix: ${prefix}`);
return;
}
checkboxBlur.checked = settings.disableBlur;
checkboxImages.checked = settings.disableImages;
checkboxUnderline.checked = settings.underlineLinks;
checkboxZenMode.checked = settings.zenMode;
fontSizeSelect.value = settings.fontSize;
checkboxBlur.addEventListener("change", (e) => updateA11ySetting("disableBlur", e.target.checked));
checkboxImages.addEventListener("change", (e) => updateA11ySetting("disableImages", e.target.checked));
checkboxUnderline.addEventListener("change", (e) => updateA11ySetting("underlineLinks", e.target.checked));
checkboxZenMode.addEventListener("change", (e) => {
// Only save setting, let applyZenMode handle the toggle logic
updateA11ySetting("zenMode", e.target.checked);
});
fontSizeSelect.addEventListener("change", (e) => {
// Remove fontSize from localStorage when default is selected
if (e.target.value === "default") {
const settings = getA11ySettings();
delete settings.fontSize;
saveA11ySettings(settings);
document.documentElement.style.fontSize = "";
} else {
updateA11ySetting("fontSize", e.target.value);
}
});
toggleButton.addEventListener("click", () => toggleA11yPanel(prefix));
closeButton.addEventListener("click", () => toggleA11yPanel(prefix));
overlay.addEventListener("click", (e) => {
if (e.target === overlay) {
toggleA11yPanel(prefix);
}
});
document.querySelectorAll(`.ios-toggle${prefix ? `[id^="${prefix}"]` : ""}`).forEach((toggle) => {
const checkbox = toggle.querySelector('input[type="checkbox"]');
if (!checkbox) return;
const newToggle = toggle.cloneNode(true);
toggle.parentNode.replaceChild(newToggle, toggle);
newToggle.addEventListener("click", () => {
const newCheckbox = newToggle.querySelector('input[type="checkbox"]');
if (newCheckbox) {
newCheckbox.checked = !newCheckbox.checked;
newCheckbox.dispatchEvent(new Event("change", { bubbles: true }));
} }
}); });
});
};
document.querySelectorAll("script[data-target-id]").forEach((script) => { const togglePanel = () => {
const imageId = script.getAttribute("data-image-id"); const panel = document.getElementById(panelId);
const imageUrl = script.getAttribute("data-image-url"); const overlay = document.getElementById(`${prefix}a11y-overlay`);
const settings = getA11ySettings(); const toggle = document.getElementById(`${prefix}a11y-toggle`);
applyImageState(document.getElementById(imageId), imageUrl, settings.disableImages);
});
document.addEventListener("DOMContentLoaded", () => { if (!panel || !overlay) return;
applyA11ySettings();
const allPanels = document.querySelectorAll('[id$="a11y-panel"]'); const isHidden = overlay.classList.contains("hidden");
allPanels.forEach((panel) => { overlay.classList.toggle("hidden");
const prefix = panel.id.replace("a11y-panel", ""); panel.classList.toggle("hidden");
initA11yPanel(prefix);
}); if (toggle) {
}); toggle.setAttribute("aria-pressed", String(isHidden));
toggle.setAttribute("aria-expanded", String(isHidden));
}
};
const toggle = document.getElementById(`${prefix}a11y-toggle`);
const close = document.getElementById(`${prefix}a11y-close`);
const overlay = document.getElementById(`${prefix}a11y-overlay`);
if (toggle) toggle.onclick = togglePanel;
if (close) close.onclick = togglePanel;
if (overlay) overlay.onclick = (e) => e.target === overlay && togglePanel();
};
const applyAll = () => {
const current = getSettings();
Object.entries(current).forEach(([key, value]) => {
FEATURES[key]?.apply(value);
});
};
const init = () => {
applyAll();
document.querySelectorAll('[id$="a11y-panel"]').forEach((panel) => {
initPanel(panel.id);
});
};
if (getSettings().disableImages) {
new MutationObserver(() => {
const img = document.getElementById("background-image");
if (img) img.style.display = "none";
}).observe(document, { childList: true, subtree: true });
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", init);
} else {
init();
}
return {
getSettings,
updateSetting,
addFeature: (name, config) => {
FEATURES[name] = config;
FEATURES[name].apply(getSettings()[name] || config.default);
},
};
})();
+3 -16
View File
@@ -1,6 +1,6 @@
function setBackgroundBlur(targetId, scrollDivisor = 300, disableBlur = false, isMenuBlur = false) { function setBackgroundBlur(targetId, scrollDivisor = 300, disableBlur = false, isMenuBlur = false) {
if (!targetId) { if (!targetId) {
console.error("data-target-id is null"); console.error("data-blur-id is null");
return; return;
} }
const blurElement = document.getElementById(targetId); const blurElement = document.getElementById(targetId);
@@ -29,24 +29,11 @@ function setBackgroundBlur(targetId, scrollDivisor = 300, disableBlur = false, i
updateBlur(); updateBlur();
} }
document.querySelectorAll("script[data-target-id]").forEach((script) => { document.querySelectorAll("script[data-blur-id]").forEach((script) => {
const targetId = script.getAttribute("data-target-id"); const targetId = script.getAttribute("data-blur-id");
const scrollDivisor = Number(script.getAttribute("data-scroll-divisor") || 300); const scrollDivisor = Number(script.getAttribute("data-scroll-divisor") || 300);
const isMenuBlur = targetId === "menu-blur"; const isMenuBlur = targetId === "menu-blur";
const settings = JSON.parse(localStorage.getItem("a11ySettings") || "{}"); const settings = JSON.parse(localStorage.getItem("a11ySettings") || "{}");
const disableBlur = settings.disableBlur || false; const disableBlur = settings.disableBlur || false;
setBackgroundBlur(targetId, scrollDivisor, disableBlur, isMenuBlur); setBackgroundBlur(targetId, scrollDivisor, disableBlur, isMenuBlur);
}); });
// Prevent disableImages FOUC
// Note: I tried putting this in a11y.js but it did not work, and placing it here prevents FOUC
(() => {
const settings = JSON.parse(localStorage.getItem("a11ySettings") || "{}");
if (settings.disableImages) {
document.querySelectorAll("script[data-image-id]").forEach((script) => {
const imageId = script.getAttribute("data-image-id");
const image = imageId && document.getElementById(imageId);
if (image) image.style.display = "none";
});
}
})();
+59 -50
View File
@@ -1,10 +1,6 @@
var scriptBundle = document.getElementById("script-bundle"); var scriptBundle = document.getElementById("script-bundle");
var copyText = var copyText = scriptBundle?.getAttribute("data-copy") || "Copy";
scriptBundle && scriptBundle.getAttribute("data-copy") ? scriptBundle.getAttribute("data-copy") : "Copy"; var copiedText = scriptBundle?.getAttribute("data-copied") || "Copied";
var copiedText =
scriptBundle && scriptBundle.getAttribute("data-copied")
? scriptBundle.getAttribute("data-copied")
: "Copied";
function createCopyButton(highlightDiv) { function createCopyButton(highlightDiv) {
const button = document.createElement("button"); const button = document.createElement("button");
@@ -13,51 +9,7 @@ function createCopyButton(highlightDiv) {
button.ariaLabel = copyText; button.ariaLabel = copyText;
button.innerText = copyText; button.innerText = copyText;
button.addEventListener("click", () => copyCodeToClipboard(button, highlightDiv)); button.addEventListener("click", () => copyCodeToClipboard(button, highlightDiv));
addCopyButtonToDom(button, highlightDiv);
}
async function copyCodeToClipboard(button, highlightDiv) {
const codeToCopy = highlightDiv.querySelector(":last-child").innerText;
try {
result = await navigator.permissions.query({ name: "clipboard-write" });
if (result.state == "granted" || result.state == "prompt") {
await navigator.clipboard.writeText(codeToCopy);
} else {
copyCodeBlockExecCommand(codeToCopy, highlightDiv);
}
} catch (_) {
copyCodeBlockExecCommand(codeToCopy, highlightDiv);
} finally {
codeWasCopied(button);
}
}
function copyCodeBlockExecCommand(codeToCopy, highlightDiv) {
const textArea = document.createElement("textArea");
textArea.contentEditable = "true";
textArea.readOnly = "false";
textArea.className = "copy-textarea";
textArea.value = codeToCopy;
highlightDiv.insertBefore(textArea, highlightDiv.firstChild);
const range = document.createRange();
range.selectNodeContents(textArea);
const sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
textArea.setSelectionRange(0, 999999);
document.execCommand("copy");
highlightDiv.removeChild(textArea);
}
function codeWasCopied(button) {
button.blur();
button.innerText = copiedText;
setTimeout(function () {
button.innerText = copyText;
}, 2000);
}
function addCopyButtonToDom(button, highlightDiv) {
highlightDiv.insertBefore(button, highlightDiv.firstChild); highlightDiv.insertBefore(button, highlightDiv.firstChild);
const wrapper = document.createElement("div"); const wrapper = document.createElement("div");
wrapper.className = "highlight-wrapper"; wrapper.className = "highlight-wrapper";
@@ -65,6 +17,63 @@ function addCopyButtonToDom(button, highlightDiv) {
wrapper.appendChild(highlightDiv); wrapper.appendChild(highlightDiv);
} }
async function copyCodeToClipboard(button, highlightDiv) {
const codeToCopy = getCodeText(highlightDiv);
function fallback(codeToCopy, highlightDiv) {
const textArea = document.createElement("textArea");
textArea.contentEditable = "true";
textArea.readOnly = "false";
textArea.className = "copy-textarea";
textArea.value = codeToCopy;
highlightDiv.insertBefore(textArea, highlightDiv.firstChild);
const range = document.createRange();
range.selectNodeContents(textArea);
const sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
textArea.setSelectionRange(0, 999999);
document.execCommand("copy");
highlightDiv.removeChild(textArea);
}
try {
result = await navigator.permissions.query({ name: "clipboard-write" });
if (result.state == "granted" || result.state == "prompt") {
await navigator.clipboard.writeText(codeToCopy);
} else {
fallback(codeToCopy, highlightDiv);
}
} catch (_) {
fallback(codeToCopy, highlightDiv);
} finally {
button.blur();
button.innerText = copiedText;
setTimeout(function () {
button.innerText = copyText;
}, 2000);
}
}
function getCodeText(highlightDiv) {
const codeBlock = highlightDiv.querySelector("code");
const inlineLines = codeBlock?.querySelectorAll(".cl"); // linenos=inline
const tableCodeCell = highlightDiv?.querySelector(".lntable .lntd:last-child code"); // linenos=table
if (!codeBlock) return "";
if (inlineLines.length > 0) {
const cleanedLines = Array.from(inlineLines).map((line) => line.textContent.replace(/\n$/, ""));
return cleanedLines.join("\n");
}
if (tableCodeCell) {
return tableCodeCell.textContent.trim();
}
return codeBlock.textContent.trim();
}
window.addEventListener("DOMContentLoaded", (event) => { window.addEventListener("DOMContentLoaded", (event) => {
document.querySelectorAll(".highlight").forEach((highlightDiv) => createCopyButton(highlightDiv)); document.querySelectorAll(".highlight").forEach((highlightDiv) => createCopyButton(highlightDiv));
}); });
+13 -1
View File
@@ -64,6 +64,16 @@
}); });
const data = await response.json(); const data = await response.json();
if (!response.ok) {
console.error(`fetch-repo.js: HTTP Error: ${response.status} ${response.statusText}`);
return;
}
if (!data || typeof data !== "object") {
console.error("fetch-repo.js: Invalid or empty data received from remote");
return;
}
Object.entries(mapping).forEach(([dataField, elementSuffix]) => { Object.entries(mapping).forEach(([dataField, elementSuffix]) => {
const element = document.getElementById(`${repoId}-${elementSuffix}`); const element = document.getElementById(`${repoId}-${elementSuffix}`);
if (element) { if (element) {
@@ -71,7 +81,9 @@
if (processors[platform]?.[dataField]) { if (processors[platform]?.[dataField]) {
value = processors[platform][dataField](value); value = processors[platform][dataField](value);
} }
element.innerHTML = value; if (value != null && value !== "") {
element.innerHTML = value;
}
} }
}); });
} catch (error) { } catch (error) {
+553 -518
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -2,4 +2,4 @@
[module.hugoVersion] [module.hugoVersion]
extended = true extended = true
min = "0.141.0" min = "0.141.0"
max = "0.148.2" max = "0.150.0"
+2 -2
View File
@@ -3,7 +3,7 @@ title: "Benvenuti a Blowfish!"
description: "Questa pagina è stata creata utilizzando il tema Blowfish per Hugo." description: "Questa pagina è stata creata utilizzando il tema Blowfish per Hugo."
--- ---
<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">
<span class="flex items-center ltr:pr-3 rtl:pl-3 text-primary-400"> <span class="flex items-center pe-3 text-primary-400">
{{< icon "triangle-exclamation" >}} {{< icon "triangle-exclamation" >}}
</span> </span>
<span class="flex items-center justify-between grow dark:text-neutral-300"> <span class="flex items-center justify-between grow dark:text-neutral-300">
@@ -22,4 +22,4 @@ description: "Questa pagina è stata creata utilizzando il tema Blowfish per Hug
npx blowfish-tools npx blowfish-tools
``` ```
{{< youtubeLite id="SgXhGb-7QbU" label="Demo degli strumenti Blowfish" >}} {{< youtubeLite id="SgXhGb-7QbU" label="Demo degli strumenti Blowfish" >}}
+1 -1
View File
@@ -5,7 +5,7 @@ description: "このページは Hugo の Blowfish テーマを利用して構
<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">
<span class="flex items-center ltr:pr-3 rtl:pl-3 text-primary-400"> <span class="flex items-center pe-3 text-primary-400">
{{< icon "triangle-exclamation" >}} {{< icon "triangle-exclamation" >}}
</span> </span>
<span class="flex items-center justify-between grow dark:text-neutral-300"> <span class="flex items-center justify-between grow dark:text-neutral-300">
+1 -1
View File
@@ -5,7 +5,7 @@ description: "This page was built using the Blowfish theme for Hugo."
<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">
<span class="flex items-center ltr:pr-3 rtl:pl-3 text-primary-400"> <span class="flex items-center pe-3 text-primary-400">
{{< icon "triangle-exclamation" >}} {{< icon "triangle-exclamation" >}}
</span> </span>
<span class="flex items-center justify-between grow dark:text-neutral-300"> <span class="flex items-center justify-between grow dark:text-neutral-300">
+1 -1
View File
@@ -5,7 +5,7 @@ description: "此页面是使用 Hugo 的 Blowfish 主题搭建的"
<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">
<span class="flex items-center ltr:pr-3 rtl:pl-3 text-primary-400"> <span class="flex items-center pe-3 text-primary-400">
{{< icon "triangle-exclamation" >}} {{< icon "triangle-exclamation" >}}
</span> </span>
<span class="flex items-center justify-between grow dark:text-neutral-300"> <span class="flex items-center justify-between grow dark:text-neutral-300">
@@ -188,7 +188,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected | | `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected |
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. | | `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. | | `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` | | `fingerprintAlgorithm` | `"sha512"` | Hash algorithm for CSS/JS file fingerprinting to prevent browser caching issues. Valid values are `sha512` (default), `sha384`, `sha256`. |
### Header ### Header
@@ -188,7 +188,7 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
| `highlightCurrentMenuArea` | _未設定_ | メインメニューのメニュー項目が選択されているときにマークを付けます。 | | `highlightCurrentMenuArea` | _未設定_ | メインメニューのメニュー項目が選択されているときにマークを付けます。 |
| `smartTOC` | _未設定_ | スマート目次をアクティブにします。表示されている項目が強調表示されます。 | | `smartTOC` | _未設定_ | スマート目次をアクティブにします。表示されている項目が強調表示されます。 |
| `smartTOCHideUnfocusedChildren` | _未設定_ | スマート目次がオンになっている場合、フォーカスされていないときに、テーブルのより深いレベルが非表示になります。 | | `smartTOCHideUnfocusedChildren` | _未設定_ | スマート目次がオンになっている場合、フォーカスされていないときに、テーブルのより深いレベルが非表示になります。 |
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` | | `fingerprintAlgorithm` | `"sha512"` | CSS/JSファイルのフィンガープリントに使用するハッシュアルゴリズム。ブラウザキャッシュの問題を防ぎます。有効値は `sha512`(デフォルト)、`sha384``sha256` |
### ヘッダー(Header) ### ヘッダー(Header)
@@ -194,7 +194,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected | | `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected |
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. | | `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. | | `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` | | `fingerprintAlgorithm` | `"sha512"` | Hash algorithm for CSS/JS file fingerprinting to prevent browser caching issues. Valid values are `sha512` (default), `sha384`, `sha256`. |
### Header ### Header
@@ -192,7 +192,7 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
| `highlightCurrentMenuArea` | 无 | 当菜单被选择时,标记主菜单中的菜单项。 | | `highlightCurrentMenuArea` | 无 | 当菜单被选择时,标记主菜单中的菜单项。 |
| `smartTOC` | 无 | 开启智能目录,视图中的项目将会被高亮显示。 | | `smartTOC` | 无 | 开启智能目录,视图中的项目将会被高亮显示。 |
| `smartTOCHideUnfocusedChildren` | 无 | 当开启智能目录,如果目录级别不再被聚焦时,将会隐藏更深层次的目录。 | | `smartTOCHideUnfocusedChildren` | 无 | 当开启智能目录,如果目录级别不再被聚焦时,将会隐藏更深层次的目录。 |
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` | | `fingerprintAlgorithm` | `"sha512"` | CSS/JS文件指纹的哈希算法,防止浏览器缓存问题。有效值为 `sha512`(默认)、`sha384``sha256` |
### 页头 ### 页头
@@ -423,6 +423,7 @@ In order to add images to the gallery, use `img` tags for each image and add `cl
| Parameter | Description | | Parameter | Description |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [String] github repo in the format of `username/repo` | | `repo` | [String] github repo in the format of `username/repo` |
| `showThumbnail` | **Optional.** [Boolean] Whether to show the thumbnail, defaults to `true` |
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**Example 1:** **Example 1:**
@@ -720,6 +721,7 @@ The `timeline` creates a visual timeline that can be used in different use-cases
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
| Parameter | Description | | Parameter | Description |
| ----------- | -------------------------------------------- | | ----------- | -------------------------------------------- |
| `md` | render the content as Markdown (true/false) |
| `icon` | the icon to be used in the timeline visuals. | | `icon` | the icon to be used in the timeline visuals. |
| `header` | header for each entry | | `header` | header for each entry |
| `badge` | text to place within the top right badge | | `badge` | text to place within the top right badge |
@@ -420,6 +420,7 @@ Blowfish も、標準の Markdown 構文を使用して含まれる画像の自
| パラメータ | 説明 | | パラメータ | 説明 |
| --------- | ----------------------------------------------------- | | --------- | ----------------------------------------------------- |
| `repo` | [文字列] `username/repo` 形式の github リポジトリ | | `repo` | [文字列] `username/repo` 形式の github リポジトリ |
| `showThumbnail` | [ブール値] サムネイルを表示するかどうか。デフォルトは `true`。 |
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**例1:** **例1:**
@@ -717,6 +718,7 @@ B-->C[利益]
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
| パラメータ | 説明 | | パラメータ | 説明 |
| ----------- | -------------------------------------------- | | ----------- | -------------------------------------------- |
| `md` | コンテンツを Markdown としてレンダリングする (true/false) |
| `icon` | タイムラインのビジュアルで使用するアイコン | | `icon` | タイムラインのビジュアルで使用するアイコン |
| `header` | 各エントリのヘッダーー | | `header` | 各エントリのヘッダーー |
| `badge` | 右上のバッジ内に配置するテキスト | | `badge` | 右上のバッジ内に配置するテキスト |
+2 -1
View File
@@ -728,7 +728,8 @@ The `timeline` creates a visual timeline that can be used in different use-cases
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
| Parameter | Description | | Parameter | Description |
| ----------- | -------------------------------------------- | | ----------- | -------------------------------------------- |
| `icon` | the icon to be used in the timeline visuals. | | `md` | render the content as Markdown (true/false) |
| `icon` | the icon to be used in the timeline visuals |
| `header` | header for each entry | | `header` | header for each entry |
| `badge` | text to place within the top right badge | | `badge` | text to place within the top right badge |
| `subheader` | entry's subheader | | `subheader` | entry's subheader |
@@ -426,7 +426,8 @@ Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
| 参数 | 功能 | | 参数 | 功能 |
| ------ | ---------------------------------------------- | | ------ | ---------------------------------------------- |
| `repo` | [String] 格式为 `username/repo` 的 github repo | | `repo` | \[字符串] 格式为 `username/repo` 的 github repo |
| `showThumbnail` | **可选** \[布尔值] 是否显示缩略图,默认为 `true` |
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
**例1:** **例1:**
@@ -728,12 +729,13 @@ B-->C[Profit]
`timeline` 创建了一个可视化时间线,用于展示专业经验、项目成就等。 `timeline` 简码依赖于 `timelineItem` 子简码来定义主时间线中的每个项目。每个项目可以具有以下属性。 `timeline` 创建了一个可视化时间线,用于展示专业经验、项目成就等。 `timeline` 简码依赖于 `timelineItem` 子简码来定义主时间线中的每个项目。每个项目可以具有以下属性。
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
| 参数 | 功能 | | 参数 | 功能 |
| ----------- | ------------------------ | | ----------- | ----------------------------------- |
| `icon` | 要在时间线中使用的图标。 | | `md` | 将内容渲染为 Markdown (true/false) |
| `header` | 每个条目的标题 | | `icon` | 要在时间线中使用的图标 |
| `badge` | 放置在右上角徽章内的文本 | | `header` | 每个条目的标题 |
| `subheader` | 每个条目的副标题 | | `badge` | 放置在右上角徽章内的文本 |
| `subheader` | 每个条目的副标题 |
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
File diff suppressed because one or more lines are too long
@@ -27,6 +27,8 @@ The full list of built-in icons and their corresponding names can referenced bel
| bug | {{< icon bug >}} | | bug | {{< icon bug >}} |
| check | {{< icon check >}} | | check | {{< icon check >}} |
| circle-info | {{< icon circle-info >}} | | circle-info | {{< icon circle-info >}} |
| cloud | {{< icon cloud >}} |
| cloud-moon | {{< icon cloud-moon >}} |
| code | {{< icon code>}} | | code | {{< icon code>}} |
| codeberg | {{< icon codeberg >}} | | codeberg | {{< icon codeberg >}} |
| codepen | {{< icon codepen >}} | | codepen | {{< icon codepen >}} |
@@ -42,6 +44,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| expand | {{< icon expand >}} | | expand | {{< icon expand >}} |
| eye | {{< icon eye >}} | | eye | {{< icon eye >}} |
| facebook | {{< icon facebook >}} | | facebook | {{< icon facebook >}} |
| fediverse | {{< icon fediverse >}} |
| fire | {{< icon fire >}} | | fire | {{< icon fire >}} |
| flickr | {{< icon flickr >}} | | flickr | {{< icon flickr >}} |
| fork | {{< icon fork >}} | | fork | {{< icon fork >}} |
@@ -62,6 +65,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| instagram | {{< icon instagram >}} | | instagram | {{< icon instagram >}} |
| itch-io | {{< icon itch-io >}} | | itch-io | {{< icon itch-io >}} |
| keybase | {{< icon keybase >}} | | keybase | {{< icon keybase >}} |
| keyoxide | {{< icon keyoxide >}} |
| kickstarter | {{< icon kickstarter >}} | | kickstarter | {{< icon kickstarter >}} |
| ko-fi | {{< icon ko-fi >}} | | ko-fi | {{< icon ko-fi >}} |
| language | {{< icon language >}} | | language | {{< icon language >}} |
@@ -74,6 +78,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| location-dot | {{< icon location-dot >}} | | location-dot | {{< icon location-dot >}} |
| lock | {{< icon lock >}} | | lock | {{< icon lock >}} |
| mastodon | {{< icon mastodon >}} | | mastodon | {{< icon mastodon >}} |
| matrix | {{< icon matrix >}} |
| medium | {{< icon medium >}} | | medium | {{< icon medium >}} |
| microsoft | {{< icon microsoft >}} | | microsoft | {{< icon microsoft >}} |
| moon | {{< icon moon >}} | | moon | {{< icon moon >}} |
@@ -96,6 +101,7 @@ The full list of built-in icons and their corresponding names can referenced bel
| scale-balanced | {{< icon scale-balanced >}} | | scale-balanced | {{< icon scale-balanced >}} |
| search | {{< icon search >}} | | search | {{< icon search >}} |
| shield | {{< icon shield >}} | | shield | {{< icon shield >}} |
| signal | {{< icon signal >}} |
| skull-crossbones | {{< icon skull-crossbones >}} | | skull-crossbones | {{< icon skull-crossbones >}} |
| slack | {{< icon slack >}} | | slack | {{< icon slack >}} |
| snapchat | {{< icon snapchat >}} | | snapchat | {{< icon snapchat >}} |
@@ -27,6 +27,8 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
| bug | {{< icon bug >}} | | bug | {{< icon bug >}} |
| check | {{< icon check >}} | | check | {{< icon check >}} |
| circle-info | {{< icon circle-info >}} | | circle-info | {{< icon circle-info >}} |
| cloud | {{< icon cloud >}} |
| cloud-moon | {{< icon cloud-moon >}} |
| code | {{< icon code>}} | | code | {{< icon code>}} |
| codeberg | {{< icon codeberg >}} | | codeberg | {{< icon codeberg >}} |
| codepen | {{< icon codepen >}} | | codepen | {{< icon codepen >}} |
@@ -42,6 +44,7 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
| expand | {{< icon expand >}} | | expand | {{< icon expand >}} |
| eye | {{< icon eye >}} | | eye | {{< icon eye >}} |
| facebook | {{< icon facebook >}} | | facebook | {{< icon facebook >}} |
| fediverse | {{< icon fediverse >}} |
| fire | {{< icon fire >}} | | fire | {{< icon fire >}} |
| flickr | {{< icon flickr >}} | | flickr | {{< icon flickr >}} |
| fork | {{< icon fork >}} | | fork | {{< icon fork >}} |
@@ -62,6 +65,7 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
| instagram | {{< icon instagram >}} | | instagram | {{< icon instagram >}} |
| itch-io | {{< icon itch-io >}} | | itch-io | {{< icon itch-io >}} |
| keybase | {{< icon keybase >}} | | keybase | {{< icon keybase >}} |
| keyoxide | {{< icon keyoxide >}} |
| kickstarter | {{< icon kickstarter >}} | | kickstarter | {{< icon kickstarter >}} |
| ko-fi | {{< icon ko-fi >}} | | ko-fi | {{< icon ko-fi >}} |
| language | {{< icon language >}} | | language | {{< icon language >}} |
@@ -74,6 +78,7 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
| location-dot | {{< icon location-dot >}} | | location-dot | {{< icon location-dot >}} |
| lock | {{< icon lock >}} | | lock | {{< icon lock >}} |
| mastodon | {{< icon mastodon >}} | | mastodon | {{< icon mastodon >}} |
| matrix | {{< icon matrix >}} |
| medium | {{< icon medium >}} | | medium | {{< icon medium >}} |
| microsoft | {{< icon microsoft >}} | | microsoft | {{< icon microsoft >}} |
| moon | {{< icon moon >}} | | moon | {{< icon moon >}} |
@@ -96,6 +101,7 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
| scale-balanced | {{< icon scale-balanced >}} | | scale-balanced | {{< icon scale-balanced >}} |
| search | {{< icon search >}} | | search | {{< icon search >}} |
| shield | {{< icon shield >}} | | shield | {{< icon shield >}} |
| signal | {{< icon signal >}} |
| skull-crossbones | {{< icon skull-crossbones >}} | | skull-crossbones | {{< icon skull-crossbones >}} |
| slack | {{< icon slack >}} | | slack | {{< icon slack >}} |
| snapchat | {{< icon snapchat >}} | | snapchat | {{< icon snapchat >}} |
@@ -117,7 +123,8 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
| twitter | {{< icon twitter >}} | | twitter | {{< icon twitter >}} |
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} | | wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
| whatsapp | {{< icon whatsapp >}} | | whatsapp | {{< icon whatsapp >}} |
| worktree | {{< icon worktree >}} |
| x-twitter | {{< icon x-twitter >}} | | x-twitter | {{< icon x-twitter >}} |
| xing | {{< icon xing >}} | | xing | {{< icon xing >}} |
| xmark | {{< icon xmark >}} | | xmark | {{< icon xmark >}} |
| youtube | {{< icon youtube >}} | | youtube | {{< icon youtube >}} |
@@ -27,6 +27,8 @@ The full list of built-in icons and their corresponding names can referenced bel
| bug | {{< icon bug >}} | | bug | {{< icon bug >}} |
| check | {{< icon check >}} | | check | {{< icon check >}} |
| circle-info | {{< icon circle-info >}} | | circle-info | {{< icon circle-info >}} |
| cloud | {{< icon cloud >}} |
| cloud-moon | {{< icon cloud-moon >}} |
| code | {{< icon code>}} | | code | {{< icon code>}} |
| codeberg | {{< icon codeberg >}} | | codeberg | {{< icon codeberg >}} |
| codepen | {{< icon codepen >}} | | codepen | {{< icon codepen >}} |
@@ -27,6 +27,8 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
| bug | {{< icon bug >}} | | bug | {{< icon bug >}} |
| check | {{< icon check >}} | | check | {{< icon check >}} |
| circle-info | {{< icon circle-info >}} | | circle-info | {{< icon circle-info >}} |
| cloud | {{< icon cloud >}} |
| cloud-moon | {{< icon cloud-moon >}} |
| code | {{< icon code>}} | | code | {{< icon code>}} |
| codeberg | {{< icon codeberg >}} | | codeberg | {{< icon codeberg >}} |
| codepen | {{< icon codepen >}} | | codepen | {{< icon codepen >}} |
@@ -42,6 +44,7 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
| expand | {{< icon expand >}} | | expand | {{< icon expand >}} |
| eye | {{< icon eye >}} | | eye | {{< icon eye >}} |
| facebook | {{< icon facebook >}} | | facebook | {{< icon facebook >}} |
| fediverse | {{< icon fediverse >}} |
| fire | {{< icon fire >}} | | fire | {{< icon fire >}} |
| flickr | {{< icon flickr >}} | | flickr | {{< icon flickr >}} |
| fork | {{< icon fork >}} | | fork | {{< icon fork >}} |
@@ -62,6 +65,7 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
| instagram | {{< icon instagram >}} | | instagram | {{< icon instagram >}} |
| itch-io | {{< icon itch-io >}} | | itch-io | {{< icon itch-io >}} |
| keybase | {{< icon keybase >}} | | keybase | {{< icon keybase >}} |
| keyoxide | {{< icon keyoxide >}} |
| kickstarter | {{< icon kickstarter >}} | | kickstarter | {{< icon kickstarter >}} |
| ko-fi | {{< icon ko-fi >}} | | ko-fi | {{< icon ko-fi >}} |
| language | {{< icon language >}} | | language | {{< icon language >}} |
@@ -74,6 +78,7 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
| location-dot | {{< icon location-dot >}} | | location-dot | {{< icon location-dot >}} |
| lock | {{< icon lock >}} | | lock | {{< icon lock >}} |
| mastodon | {{< icon mastodon >}} | | mastodon | {{< icon mastodon >}} |
| matrix | {{< icon matrix >}} |
| medium | {{< icon medium >}} | | medium | {{< icon medium >}} |
| microsoft | {{< icon microsoft >}} | | microsoft | {{< icon microsoft >}} |
| moon | {{< icon moon >}} | | moon | {{< icon moon >}} |
@@ -96,6 +101,7 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
| scale-balanced | {{< icon scale-balanced >}} | | scale-balanced | {{< icon scale-balanced >}} |
| search | {{< icon search >}} | | search | {{< icon search >}} |
| shield | {{< icon shield >}} | | shield | {{< icon shield >}} |
| signal | {{< icon signal >}} |
| skull-crossbones | {{< icon skull-crossbones >}} | | skull-crossbones | {{< icon skull-crossbones >}} |
| slack | {{< icon slack >}} | | slack | {{< icon slack >}} |
| snapchat | {{< icon snapchat >}} | | snapchat | {{< icon snapchat >}} |
@@ -117,7 +123,8 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
| twitter | {{< icon twitter >}} | | twitter | {{< icon twitter >}} |
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} | | wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
| whatsapp | {{< icon whatsapp >}} | | whatsapp | {{< icon whatsapp >}} |
| worktree | {{< icon worktree >}} |
| x-twitter | {{< icon x-twitter >}} | | x-twitter | {{< icon x-twitter >}} |
| xing | {{< icon xing >}} | | xing | {{< icon xing >}} |
| xmark | {{< icon xmark >}} | | xmark | {{< icon xmark >}} |
| youtube | {{< icon youtube >}} | | youtube | {{< icon youtube >}} |
@@ -2,7 +2,7 @@
title: "nveshaan" title: "nveshaan"
tags: [Sito personale] tags: [Sito personale]
externalUrl: "https://nveshaan.github.io/" externalUrl: "https://nveshaan.github.io/"
weight: 74 weight: 72
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "nveshaan" title: "nveshaan"
tags: [パーソナルサイト] tags: [パーソナルサイト]
externalUrl: "https://nveshaan.github.io/" externalUrl: "https://nveshaan.github.io/"
weight: 74 weight: 72
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "nveshaan" title: "nveshaan"
tags: [Personal Site] tags: [Personal Site]
externalUrl: "https://nveshaan.github.io/" externalUrl: "https://nveshaan.github.io/"
weight: 74 weight: 72
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "nveshaan" title: "nveshaan"
tags: [个人网站] tags: [个人网站]
externalUrl: "https://nveshaan.github.io/" externalUrl: "https://nveshaan.github.io/"
weight: 74 weight: 72
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 57 KiB

@@ -2,7 +2,7 @@
title: "DXPetti.com" title: "DXPetti.com"
tags: [Sito personale, Blog] tags: [Sito personale, Blog]
externalUrl: "https://www.dxpetti.com/" externalUrl: "https://www.dxpetti.com/"
weight: 57 weight: 55
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "DXPetti.com" title: "DXPetti.com"
tags: [パーソナルサイト, ブログ] tags: [パーソナルサイト, ブログ]
externalUrl: "https://www.dxpetti.com/" externalUrl: "https://www.dxpetti.com/"
weight: 57 weight: 55
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "DXPetti.com" title: "DXPetti.com"
tags: [Personal site,Blog] tags: [Personal site,Blog]
externalUrl: "https://www.dxpetti.com/" externalUrl: "https://www.dxpetti.com/"
weight: 57 weight: 55
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "DXPetti.com" title: "DXPetti.com"
tags: [个人网站, 博客] tags: [个人网站, 博客]
externalUrl: "https://www.dxpetti.com/" externalUrl: "https://www.dxpetti.com/"
weight: 57 weight: 55
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

@@ -2,7 +2,7 @@
title: "lazarusoverlook.com" title: "lazarusoverlook.com"
tags: [Sito personale, Blog] tags: [Sito personale, Blog]
externalUrl: "https://lazarusoverlook.com" externalUrl: "https://lazarusoverlook.com"
weight: 80 weight: 78
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "lazarusoverlook.com" title: "lazarusoverlook.com"
tags: [パーソナルサイト, ブログ] tags: [パーソナルサイト, ブログ]
externalUrl: "https://lazarusoverlook.com" externalUrl: "https://lazarusoverlook.com"
weight: 80 weight: 78
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "lazarusoverlook.com" title: "lazarusoverlook.com"
tags: [Personal site,Blog] tags: [Personal site,Blog]
externalUrl: "https://lazarusoverlook.com" externalUrl: "https://lazarusoverlook.com"
weight: 80 weight: 78
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "lazarusoverlook.com" title: "lazarusoverlook.com"
tags: [个人网站, 博客] tags: [个人网站, 博客]
externalUrl: "https://lazarusoverlook.com" externalUrl: "https://lazarusoverlook.com"
weight: 80 weight: 78
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

@@ -2,7 +2,7 @@
title: "Beauty Formulation" title: "Beauty Formulation"
tags: [Sito aziendale] tags: [Sito aziendale]
externalUrl: "https://www.beautyformulation.com/" externalUrl: "https://www.beautyformulation.com/"
weight: 71 weight: 69
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Beauty Formulation" title: "Beauty Formulation"
tags: [会社のサイト] tags: [会社のサイト]
externalUrl: "https://www.beautyformulation.com/" externalUrl: "https://www.beautyformulation.com/"
weight: 71 weight: 69
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Beauty Formulation" title: "Beauty Formulation"
tags: [Company site] tags: [Company site]
externalUrl: "https://www.beautyformulation.com/" externalUrl: "https://www.beautyformulation.com/"
weight: 71 weight: 69
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Beauty Formulation" title: "Beauty Formulation"
tags: [公司网站] tags: [公司网站]
externalUrl: "https://www.beautyformulation.com/" externalUrl: "https://www.beautyformulation.com/"
weight: 71 weight: 69
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@@ -2,7 +2,7 @@
title: "Chill-Try" title: "Chill-Try"
tags: [Blog tecnologico, Sito personale, Blog] tags: [Blog tecnologico, Sito personale, Blog]
externalUrl: "https://ctry.tech/" externalUrl: "https://ctry.tech/"
weight: 93 weight: 91
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Chill-Try" title: "Chill-Try"
tags: [テクノロジーブログ, パーソナルサイト, ブログ] tags: [テクノロジーブログ, パーソナルサイト, ブログ]
externalUrl: "https://ctry.tech/" externalUrl: "https://ctry.tech/"
weight: 93 weight: 91
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Chill-Try" title: "Chill-Try"
tags: [Technology Blog,Personal site,Blog] tags: [Technology Blog,Personal site,Blog]
externalUrl: "https://ctry.tech/" externalUrl: "https://ctry.tech/"
weight: 93 weight: 91
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Chill-Try" title: "Chill-Try"
tags: [技术博客, 个人网站, 博客] tags: [技术博客, 个人网站, 博客]
externalUrl: "https://ctry.tech/" externalUrl: "https://ctry.tech/"
weight: 93 weight: 91
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

@@ -1,14 +0,0 @@
---
title: "merox.dev"
tags: [Sito personale, Blog, Documentazione, Cv]
externalUrl: "https://merox.dev"
weight: 84
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
@@ -1,14 +0,0 @@
---
title: "merox.dev"
tags: [パーソナルサイト, ブログ, ドキュメント, cv]
externalUrl: "https://merox.dev"
weight: 84
showDate: false
showAuthor: false
showReadingTime: false
showEdit: false
showLikes: false
showViews: false
layoutBackgroundHeaderSpace: false
---
Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

@@ -2,7 +2,7 @@
title: "ekwska.com" title: "ekwska.com"
tags: [Blog personale] tags: [Blog personale]
externalUrl: "https://ekwska.com" externalUrl: "https://ekwska.com"
weight: 59 weight: 57
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "ekwska.com" title: "ekwska.com"
tags: [個人的なブログ] tags: [個人的なブログ]
externalUrl: "https://ekwska.com" externalUrl: "https://ekwska.com"
weight: 59 weight: 57
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "ekwska.com" title: "ekwska.com"
tags: [Personal blog] tags: [Personal blog]
externalUrl: "https://ekwska.com" externalUrl: "https://ekwska.com"
weight: 59 weight: 57
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "ekwska.com" title: "ekwska.com"
tags: [个人博客] tags: [个人博客]
externalUrl: "https://ekwska.com" externalUrl: "https://ekwska.com"
weight: 59 weight: 57
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

@@ -2,7 +2,7 @@
title: "Adam Madej - Gameplay Animator" title: "Adam Madej - Gameplay Animator"
tags: [Sito di portafoglio, Blog, Sito personale] tags: [Sito di portafoglio, Blog, Sito personale]
externalUrl: "http://www.adammadej.com/" externalUrl: "http://www.adammadej.com/"
weight: 64 weight: 62
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Adam Madej - Gameplay Animator" title: "Adam Madej - Gameplay Animator"
tags: [ポートフォリオサイト, ブログ, パーソナルサイト] tags: [ポートフォリオサイト, ブログ, パーソナルサイト]
externalUrl: "http://www.adammadej.com/" externalUrl: "http://www.adammadej.com/"
weight: 64 weight: 62
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Adam Madej - Gameplay Animator" title: "Adam Madej - Gameplay Animator"
tags: [Portfolio Site,Blog,Personal Site] tags: [Portfolio Site,Blog,Personal Site]
externalUrl: "http://www.adammadej.com/" externalUrl: "http://www.adammadej.com/"
weight: 64 weight: 62
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "Adam Madej - Gameplay Animator" title: "Adam Madej - Gameplay Animator"
tags: [投资组合网站, 博客, 个人网站] tags: [投资组合网站, 博客, 个人网站]
externalUrl: "http://www.adammadej.com/" externalUrl: "http://www.adammadej.com/"
weight: 64 weight: 62
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 32 KiB

@@ -2,7 +2,7 @@
title: "innerknowing" title: "innerknowing"
tags: [Sito personale, Modellatore] tags: [Sito personale, Modellatore]
externalUrl: "https://innerknowing.xyz/en/" externalUrl: "https://innerknowing.xyz/en/"
weight: 62 weight: 60
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "innerknowing" title: "innerknowing"
tags: [パーソナルサイト, モデラー] tags: [パーソナルサイト, モデラー]
externalUrl: "https://innerknowing.xyz/en/" externalUrl: "https://innerknowing.xyz/en/"
weight: 62 weight: 60
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "innerknowing" title: "innerknowing"
tags: [Personal site,Modeller] tags: [Personal site,Modeller]
externalUrl: "https://innerknowing.xyz/en/" externalUrl: "https://innerknowing.xyz/en/"
weight: 62 weight: 60
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "innerknowing" title: "innerknowing"
tags: [个人网站, 建模器] tags: [个人网站, 建模器]
externalUrl: "https://innerknowing.xyz/en/" externalUrl: "https://innerknowing.xyz/en/"
weight: 62 weight: 60
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

@@ -2,7 +2,7 @@
title: "StepaniaH" title: "StepaniaH"
tags: [Sito personale, Blog] tags: [Sito personale, Blog]
externalUrl: "https://stepaniah.me" externalUrl: "https://stepaniah.me"
weight: 87 weight: 85
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "StepaniaH" title: "StepaniaH"
tags: [パーソナルサイト, ブログ] tags: [パーソナルサイト, ブログ]
externalUrl: "https://stepaniah.me" externalUrl: "https://stepaniah.me"
weight: 87 weight: 85
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "StepaniaH" title: "StepaniaH"
tags: [Personal site,Blog] tags: [Personal site,Blog]
externalUrl: "https://stepaniah.me" externalUrl: "https://stepaniah.me"
weight: 87 weight: 85
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "StepaniaH" title: "StepaniaH"
tags: [个人网站, 博客] tags: [个人网站, 博客]
externalUrl: "https://stepaniah.me" externalUrl: "https://stepaniah.me"
weight: 87 weight: 85
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@@ -1,8 +1,8 @@
--- ---
title: "micheledinelli.github.io" title: "Dan Davidson | Where Crypto, Charts and Curiosity Collide"
tags: [Sito personale, Sito di portafoglio, Accademico] tags: [Sito personale, Blog tecnologico]
externalUrl: "https://micheledinelli.github.io" externalUrl: "https://danly.io"
weight: 75 weight: 108
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -1,8 +1,8 @@
--- ---
title: "Joshua Blais" title: "Dan Davidson | Where Crypto, Charts and Curiosity Collide"
tags: [パーソナルサイト, 著者, デジタルガーデン] tags: [パーソナルサイト, テクノロジーブログ]
externalUrl: "https://joshblais.com/" externalUrl: "https://danly.io"
weight: 70 weight: 108
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -1,8 +1,8 @@
--- ---
title: "merox.dev" title: "Dan Davidson | Where Crypto, Charts and Curiosity Collide"
tags: [Personal site,Blog,Documentation,CV] tags: [Personal site,Technology Blog]
externalUrl: "https://merox.dev" externalUrl: "https://danly.io"
weight: 84 weight: 108
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -1,8 +1,8 @@
--- ---
title: "micheledinelli.github.io" title: "Dan Davidson | Where Crypto, Charts and Curiosity Collide"
tags: [个人网站, 投资组合网站, 学术界] tags: [个人网站, 技术博客]
externalUrl: "https://micheledinelli.github.io" externalUrl: "https://danly.io"
weight: 75 weight: 108
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

@@ -2,7 +2,7 @@
title: "todreamr.github.io" title: "todreamr.github.io"
tags: [Sito personale] tags: [Sito personale]
externalUrl: "https://todreamr.github.io/" externalUrl: "https://todreamr.github.io/"
weight: 60 weight: 58
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "todreamr.github.io" title: "todreamr.github.io"
tags: [パーソナルサイト] tags: [パーソナルサイト]
externalUrl: "https://todreamr.github.io/" externalUrl: "https://todreamr.github.io/"
weight: 60 weight: 58
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "todreamr.github.io" title: "todreamr.github.io"
tags: [Personal site] tags: [Personal site]
externalUrl: "https://todreamr.github.io/" externalUrl: "https://todreamr.github.io/"
weight: 60 weight: 58
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "todreamr.github.io" title: "todreamr.github.io"
tags: [个人网站] tags: [个人网站]
externalUrl: "https://todreamr.github.io/" externalUrl: "https://todreamr.github.io/"
weight: 60 weight: 58
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

@@ -2,7 +2,7 @@
title: "eallion.com" title: "eallion.com"
tags: [Blog, Sito personale] tags: [Blog, Sito personale]
externalUrl: "http://www.eallion.com/" externalUrl: "http://www.eallion.com/"
weight: 65 weight: 63
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "eallion.com" title: "eallion.com"
tags: [ブログ, パーソナルサイト] tags: [ブログ, パーソナルサイト]
externalUrl: "http://www.eallion.com/" externalUrl: "http://www.eallion.com/"
weight: 65 weight: 63
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "eallion.com" title: "eallion.com"
tags: [Blog,Personal Site] tags: [Blog,Personal Site]
externalUrl: "http://www.eallion.com/" externalUrl: "http://www.eallion.com/"
weight: 65 weight: 63
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false
@@ -2,7 +2,7 @@
title: "eallion.com" title: "eallion.com"
tags: [博客, 个人网站] tags: [博客, 个人网站]
externalUrl: "http://www.eallion.com/" externalUrl: "http://www.eallion.com/"
weight: 65 weight: 63
showDate: false showDate: false
showAuthor: false showAuthor: false
showReadingTime: false showReadingTime: false

Some files were not shown because too many files have changed in this diff Show More