sync theme
This commit is contained in:
parent
50c1fe905e
commit
7c7326175e
22 changed files with 1080 additions and 571 deletions
|
@ -119,7 +119,7 @@ blowfish-tools new mynewsite
|
||||||
|
|
||||||
3. In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder.
|
3. In the root folder of your website, delete the `config.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder.
|
||||||
|
|
||||||
You will find these theme config files in the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/nunocoracao/blowfish/tree/main/config/_default) from GitHub.
|
You will find these theme config files in the Hugo cache directory, or [download a copy](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) from GitHub.
|
||||||
|
|
||||||
4. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website.
|
4. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website.
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ blowfish-tools new mynewsite
|
||||||
|
|
||||||
> **Note:** Do not overwrite the `module.toml` file you created above!
|
> **Note:** Do not overwrite the `module.toml` file you created above!
|
||||||
|
|
||||||
You will find these theme config files in the Hugo cache directory, or [download a copy](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/nunocoracao/blowfish/tree/main/config/_default) from GitHub.
|
You will find these theme config files in the Hugo cache directory, or [download a copy](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) from GitHub.
|
||||||
|
|
||||||
5. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website.
|
5. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website.
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,115 @@ body.zen-mode-enable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com */
|
*, ::before, ::after {
|
||||||
|
--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-gradient-from-position: ;
|
||||||
|
--tw-gradient-via-position: ;
|
||||||
|
--tw-gradient-to-position: ;
|
||||||
|
--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: ;
|
||||||
|
--tw-contain-size: ;
|
||||||
|
--tw-contain-layout: ;
|
||||||
|
--tw-contain-paint: ;
|
||||||
|
--tw-contain-style:
|
||||||
|
}
|
||||||
|
|
||||||
|
::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-gradient-from-position: ;
|
||||||
|
--tw-gradient-via-position: ;
|
||||||
|
--tw-gradient-to-position: ;
|
||||||
|
--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: ;
|
||||||
|
--tw-contain-size: ;
|
||||||
|
--tw-contain-layout: ;
|
||||||
|
--tw-contain-paint: ;
|
||||||
|
--tw-contain-style:
|
||||||
|
}
|
||||||
|
|
||||||
|
/*! tailwindcss v3.4.14 | 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)
|
||||||
|
@ -456,7 +564,7 @@ video {
|
||||||
|
|
||||||
/* Make elements with the HTML hidden attribute stay hidden by default */
|
/* Make elements with the HTML hidden attribute stay hidden by default */
|
||||||
|
|
||||||
[hidden] {
|
[hidden]:where(:not([hidden="until-found"])) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -662,114 +770,6 @@ select {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*, ::before, ::after {
|
|
||||||
--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-gradient-from-position: ;
|
|
||||||
--tw-gradient-via-position: ;
|
|
||||||
--tw-gradient-to-position: ;
|
|
||||||
--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: ;
|
|
||||||
--tw-contain-size: ;
|
|
||||||
--tw-contain-layout: ;
|
|
||||||
--tw-contain-paint: ;
|
|
||||||
--tw-contain-style:
|
|
||||||
}
|
|
||||||
|
|
||||||
::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-gradient-from-position: ;
|
|
||||||
--tw-gradient-via-position: ;
|
|
||||||
--tw-gradient-to-position: ;
|
|
||||||
--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: ;
|
|
||||||
--tw-contain-size: ;
|
|
||||||
--tw-contain-layout: ;
|
|
||||||
--tw-contain-paint: ;
|
|
||||||
--tw-contain-style:
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
width:100%
|
width:100%
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,6 +153,11 @@ function executeQuery(term) {
|
||||||
|
|
||||||
if (results.length > 0) {
|
if (results.length > 0) {
|
||||||
results.forEach(function (value, key) {
|
results.forEach(function (value, key) {
|
||||||
|
console.log(value.item.summary);
|
||||||
|
var html = value.item.summary;
|
||||||
|
var div = document.createElement("div");
|
||||||
|
div.innerHTML = html;
|
||||||
|
value.item.summary = div.textContent || div.innerText || "";
|
||||||
var title = value.item.externalUrl? value.item.title + '<span class="text-xs ml-2 align-center cursor-default text-neutral-400 dark:text-neutral-500">'+value.item.externalUrl+'</span>' : value.item.title;
|
var title = value.item.externalUrl? value.item.title + '<span class="text-xs ml-2 align-center cursor-default text-neutral-400 dark:text-neutral-500">'+value.item.externalUrl+'</span>' : value.item.title;
|
||||||
var linkconfig = value.item.externalUrl? 'target="_blank" rel="noopener" href="'+value.item.externalUrl+'"' : 'href="'+value.item.permalink+'"';
|
var linkconfig = value.item.externalUrl? 'target="_blank" rel="noopener" href="'+value.item.externalUrl+'"' : 'href="'+value.item.permalink+'"';
|
||||||
resultsHTML =
|
resultsHTML =
|
||||||
|
|
File diff suppressed because one or more lines are too long
690
themes/blowfish/assets/lib/mermaid/mermaid.min.js
vendored
690
themes/blowfish/assets/lib/mermaid/mermaid.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -2,4 +2,4 @@
|
||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
extended = true
|
extended = true
|
||||||
min = "0.87.0"
|
min = "0.87.0"
|
||||||
max = "0.135.0"
|
max = "0.139.3"
|
|
@ -9,7 +9,6 @@ defaultContentLanguage = "en"
|
||||||
# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
|
# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
|
||||||
|
|
||||||
enableRobotsTXT = true
|
enableRobotsTXT = true
|
||||||
paginate = 10
|
|
||||||
summaryLength = 0
|
summaryLength = 0
|
||||||
|
|
||||||
buildDrafts = false
|
buildDrafts = false
|
||||||
|
@ -19,6 +18,9 @@ enableEmoji = true
|
||||||
|
|
||||||
# googleAnalytics = "G-XXXXXXXXX"
|
# googleAnalytics = "G-XXXXXXXXX"
|
||||||
|
|
||||||
|
[pagination]
|
||||||
|
pagerSize = 100
|
||||||
|
|
||||||
[imaging]
|
[imaging]
|
||||||
anchor = 'Center'
|
anchor = 'Center'
|
||||||
|
|
||||||
|
|
|
@ -141,6 +141,7 @@ forgejoDefaultServer = "https://v8.next.forgejo.org"
|
||||||
# websiteid = "ABC12345"
|
# websiteid = "ABC12345"
|
||||||
# domain = "llama.yoursite.com"
|
# domain = "llama.yoursite.com"
|
||||||
# dataDomains = "yoursite.com,yoursite2.com"
|
# dataDomains = "yoursite.com,yoursite2.com"
|
||||||
|
# scriptName = ""
|
||||||
# enableTrackEvent = true
|
# enableTrackEvent = true
|
||||||
|
|
||||||
[selineAnalytics]
|
[selineAnalytics]
|
||||||
|
@ -159,3 +160,8 @@ forgejoDefaultServer = "https://v8.next.forgejo.org"
|
||||||
# bing = ""
|
# bing = ""
|
||||||
# pinterest = ""
|
# pinterest = ""
|
||||||
# yandex = ""
|
# yandex = ""
|
||||||
|
# fediverse = ""
|
||||||
|
|
||||||
|
[rssnext]
|
||||||
|
# feedId = ""
|
||||||
|
# userId = ""
|
77
themes/blowfish/i18n/nl.yaml
Normal file
77
themes/blowfish/i18n/nl.yaml
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
global:
|
||||||
|
language: "NL"
|
||||||
|
|
||||||
|
article:
|
||||||
|
anchor_label: "Anker"
|
||||||
|
date: "{{ .Date }}"
|
||||||
|
date_updated: "Bijgewerk: {{ .Date }}"
|
||||||
|
draft: "Concept"
|
||||||
|
edit_title: "Inhoud bewerken"
|
||||||
|
reading_time:
|
||||||
|
one: "{{ .Count }} min"
|
||||||
|
other: "{{ .Count }} mins"
|
||||||
|
reading_time_title: "Leestijd"
|
||||||
|
table_of_contents: "Inhoudsopgave"
|
||||||
|
word_count:
|
||||||
|
one: "{{ .Count }} woord"
|
||||||
|
other: "{{ .Count }} woorden"
|
||||||
|
views:
|
||||||
|
one: "{{ .Count }} uitzicht"
|
||||||
|
other: "{{ .Count }} uitzichten"
|
||||||
|
likes:
|
||||||
|
one: "{{ .Count }} leuk"
|
||||||
|
other: "{{ .Count }} leuk"
|
||||||
|
part_of_series: "Dit artikel is onderdeel van een serie."
|
||||||
|
part: "Deel"
|
||||||
|
this_article: "Dit artikel"
|
||||||
|
related_articles: "Gerelateerde artikelen"
|
||||||
|
zen_mode_title:
|
||||||
|
enable: "Zen-modus inschakelen"
|
||||||
|
disable: "Zen-modus uitschakelen"
|
||||||
|
|
||||||
|
author:
|
||||||
|
byline_title: "Auteur"
|
||||||
|
|
||||||
|
code:
|
||||||
|
copy: "Kopiëren"
|
||||||
|
copied: "Gekopieerd"
|
||||||
|
|
||||||
|
error:
|
||||||
|
404_title: "Pagina niet gevonden :confused:"
|
||||||
|
404_error: "Error 404"
|
||||||
|
404_description: "De pagina die je zoekt, is niet gevonden."
|
||||||
|
|
||||||
|
footer:
|
||||||
|
dark_appearance: "Schakel over naar donkere weergave"
|
||||||
|
light_appearance: "Schakel over naar lichte weergave"
|
||||||
|
powered_by: "Aangedreven door {{ .Hugo }} & {{ .Theme }}"
|
||||||
|
|
||||||
|
list:
|
||||||
|
externalurl_title: "Externe link"
|
||||||
|
no_articles: "Er zijn nog geen artikelen om hier te vermelden."
|
||||||
|
|
||||||
|
nav:
|
||||||
|
scroll_to_top_title: "Scroll naar boven"
|
||||||
|
skip_to_main: "Naar de hoofdinhoud gaan"
|
||||||
|
|
||||||
|
search:
|
||||||
|
open_button_title: "Zoeken (/)"
|
||||||
|
close_button_title: "Sluiten (Esc)"
|
||||||
|
input_placeholder: "Zoeken"
|
||||||
|
|
||||||
|
sharing:
|
||||||
|
email: "Delen via email"
|
||||||
|
facebook: "Delen op Facebook"
|
||||||
|
linkedin: "Delen op LinkedIn"
|
||||||
|
pinterest: "Delen op Pinterest"
|
||||||
|
reddit: "Indienen op Reddit"
|
||||||
|
twitter: "Delen op X"
|
||||||
|
bluesky: "Delen op Bluesky"
|
||||||
|
whatsapp: "Delen op WhatsApp"
|
||||||
|
telegram: "Delen op Telegram"
|
||||||
|
|
||||||
|
shortcode:
|
||||||
|
recent_articles: "Recente"
|
||||||
|
|
||||||
|
recent:
|
||||||
|
show_more: "Meer tonen"
|
|
@ -27,6 +27,12 @@
|
||||||
{{- with .OutputFormats.Get "RSS" -}}
|
{{- with .OutputFormats.Get "RSS" -}}
|
||||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{ if and (.Site.Params.rssnext.feedId) (.Site.Params.rssnext.userId) }}
|
||||||
|
<follow_challenge>
|
||||||
|
<feedId>{{ .Site.Params.rssnext.feedId }}</feedId>
|
||||||
|
<userId>{{ .Site.Params.rssnext.userId }}</userId>
|
||||||
|
</follow_challenge>
|
||||||
|
{{ end }}
|
||||||
{{ range $pages }}
|
{{ range $pages }}
|
||||||
<item>
|
<item>
|
||||||
<title>{{ .Title }}</title>
|
<title>{{ .Title }}</title>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{{ if isset site.Params.umamiAnalytics "domain" }}
|
{{ if isset site.Params.umamiAnalytics "domain" }}
|
||||||
<script data-id="umami-script" async
|
<script data-id="umami-script" async
|
||||||
src="https://{{ site.Params.umamiAnalytics.domain }}/script.js"
|
src="https://{{ site.Params.umamiAnalytics.domain }}/{{ with site.Params.umamiAnalytics.scriptName }}{{ . }}{{ else }}script.js{{ end }}"
|
||||||
data-website-id="{{ site.Params.umamiAnalytics.websiteid }}"
|
data-website-id="{{ site.Params.umamiAnalytics.websiteid }}"
|
||||||
{{ with site.Params.umamiAnalytics.dataDomains }}data-domains="{{ . }}"{{ end }}>
|
{{ with site.Params.umamiAnalytics.dataDomains }}data-domains="{{ . }}"{{ end }}>
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
|
|
||||||
{{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }}
|
{{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }}
|
||||||
<div class="py-1 prose dark:prose-invert">
|
<div class="py-1 prose dark:prose-invert">
|
||||||
{{ .Summary }}
|
{{ .Summary | plainify }}
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
|
|
||||||
{{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }}
|
{{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }}
|
||||||
<div class="py-1 prose dark:prose-invert">
|
<div class="py-1 prose dark:prose-invert">
|
||||||
{{ .Summary }}
|
{{ .Summary | plainify }}
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -94,7 +94,7 @@
|
||||||
</div>
|
</div>
|
||||||
{{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }}
|
{{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }}
|
||||||
<div class="py-1 max-w-fit prose dark:prose-invert">
|
<div class="py-1 max-w-fit prose dark:prose-invert">
|
||||||
{{ .Summary }}
|
{{ .Summary | plainify }}
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
{{ if (eq $taxonomy "authors")}}
|
{{ if (eq $taxonomy "authors")}}
|
||||||
{{ if (gt (len ($context.GetTerms $taxonomy)) 0) }}
|
{{ if (gt (len ($context.GetTerms $taxonomy)) 0) }}
|
||||||
{{ range $i, $a := $context.GetTerms $taxonomy }}
|
{{ range $i, $a := $context.GetTerms $taxonomy }}
|
||||||
{{ if not (eq $i 0) }} , {{ end }} <div style="cursor: pointer;" onclick="window.open({{ $a.RelPermalink }},'_self')">{{ $a.LinkTitle }}</div>
|
{{ if not (eq $i 0) }} , {{ end }} <div style="cursor: pointer;" onclick="window.open({{ $a.RelPermalink }},'_self');return false;">{{ $a.LinkTitle }}</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
{{ if and (not (eq $taxonomy "authors")) (not (eq $taxonomy "series"))}}
|
{{ if and (not (eq $taxonomy "authors")) (not (eq $taxonomy "series"))}}
|
||||||
{{ if (gt (len ($context.GetTerms $taxonomy)) 0) }}
|
{{ if (gt (len ($context.GetTerms $taxonomy)) 0) }}
|
||||||
{{ range $context.GetTerms $taxonomy }}
|
{{ range $context.GetTerms $taxonomy }}
|
||||||
<span style="margin-top:0.5rem" class="mr-2" onclick="window.open({{ .RelPermalink }},'_self');">
|
<span style="margin-top:0.5rem" class="mr-2" onclick="window.open({{ .RelPermalink }},'_self');return false;">
|
||||||
{{ partial "badge.html" .LinkTitle }}
|
{{ partial "badge.html" .LinkTitle }}
|
||||||
</span>
|
</span>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -101,6 +101,9 @@
|
||||||
{{ with .Site.Params.verification.yandex }}
|
{{ with .Site.Params.verification.yandex }}
|
||||||
<meta name="yandex-verification" content="{{ . }}" />
|
<meta name="yandex-verification" content="{{ . }}" />
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ with .Site.Params.verification.fediverse }}
|
||||||
|
<meta name="fediverse:creator" content="{{ . }}" />
|
||||||
|
{{ end }}
|
||||||
{{/* Social */}}
|
{{/* Social */}}
|
||||||
{{ template "_internal/opengraph.html" . }}
|
{{ template "_internal/opengraph.html" . }}
|
||||||
{{ template "_internal/twitter_cards.html" . }}
|
{{ template "_internal/twitter_cards.html" . }}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<li class="mt-1">
|
<li class="mt-1">
|
||||||
<a class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400">
|
<a href="{{ .URL }}" class="flex items-center text-gray-500 hover:text-primary-600 dark:hover:text-primary-400">
|
||||||
{{ if .Pre }}
|
{{ if .Pre }}
|
||||||
<span {{ if and .Pre .Name}} class="mr-1" {{ end }}>
|
<span {{ if and .Pre .Name}} class="mr-1" {{ end }}>
|
||||||
{{ partial "icon.html" .Pre }}
|
{{ partial "icon.html" .Pre }}
|
||||||
|
|
428
themes/blowfish/package-lock.json
generated
428
themes/blowfish/package-lock.json
generated
|
@ -1,16 +1,16 @@
|
||||||
{
|
{
|
||||||
"name": "hugo-blowfish-theme",
|
"name": "hugo-blowfish-theme",
|
||||||
"version": "2.78.0",
|
"version": "2.80.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "hugo-blowfish-theme",
|
"name": "hugo-blowfish-theme",
|
||||||
"version": "2.78.0",
|
"version": "2.80.0",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@headlessui/react": "^2.1.8",
|
"@headlessui/react": "^2.2.0",
|
||||||
"@heroicons/react": "^2.1.5",
|
"@heroicons/react": "^2.1.5",
|
||||||
"@iamtraction/google-translate": "^2.0.1",
|
"@iamtraction/google-translate": "^2.0.1",
|
||||||
"@tailwindcss/forms": "^0.5.9",
|
"@tailwindcss/forms": "^0.5.9",
|
||||||
|
@ -18,22 +18,22 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.15",
|
"@tailwindcss/typography": "^0.5.15",
|
||||||
"chart.js": "^4.4.4",
|
"chart.js": "^4.4.6",
|
||||||
"fuse.js": "^7.0.0",
|
"fuse.js": "^7.0.0",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
"katex": "^0.16.11",
|
"katex": "^0.16.11",
|
||||||
"lite-youtube-embed": "^0.3.3",
|
"lite-youtube-embed": "^0.3.3",
|
||||||
"mermaid": "^11.2.1",
|
"mermaid": "^11.4.0",
|
||||||
"packery": "^2.1.2",
|
"packery": "^2.1.2",
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.3.3",
|
||||||
"prettier-plugin-go-template": "^0.0.15",
|
"prettier-plugin-go-template": "^0.0.15",
|
||||||
"prettier-plugin-tailwindcss": "^0.6.8",
|
"prettier-plugin-tailwindcss": "^0.6.9",
|
||||||
"puppeteer": "^23.5.0",
|
"puppeteer": "^23.7.1",
|
||||||
"rimraf": "^6.0.1",
|
"rimraf": "^6.0.1",
|
||||||
"tailwind-scrollbar": "^3.1.0",
|
"tailwind-scrollbar": "^3.1.0",
|
||||||
"tailwindcss": "^3.4.10",
|
"tailwindcss": "^3.4.14",
|
||||||
"tw-elements": "2.0.0",
|
"tw-elements": "2.0.0",
|
||||||
"typeit": "^8.8.5",
|
"typeit": "^8.8.7",
|
||||||
"vendor-copy": "^3.0.1"
|
"vendor-copy": "^3.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -208,9 +208,9 @@
|
||||||
"integrity": "sha512-XGndio0l5/Gvd6CLIABvsav9HHezgDFFhDfHk1bvLfr9ni8dojqLSvBbotJEjmIwNHL7vK4QzBJTdBRoB+c1ww=="
|
"integrity": "sha512-XGndio0l5/Gvd6CLIABvsav9HHezgDFFhDfHk1bvLfr9ni8dojqLSvBbotJEjmIwNHL7vK4QzBJTdBRoB+c1ww=="
|
||||||
},
|
},
|
||||||
"node_modules/@headlessui/react": {
|
"node_modules/@headlessui/react": {
|
||||||
"version": "2.1.8",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.1.8.tgz",
|
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.0.tgz",
|
||||||
"integrity": "sha512-uajqVkAcVG/wHwG9Fh5PFMcFpf2VxM4vNRNKxRjuK009kePVur8LkuuygHfIE+2uZ7z7GnlTtYsyUe6glPpTLg==",
|
"integrity": "sha512-RzCEg+LXsuI7mHiSomsu/gBJSjpupm6A1qIZ5sWjd7JhARNlMiSA4kKfJpCKwU9tE+zMRterhhrP74PvfJrpXQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@floating-ui/react": "^0.26.16",
|
"@floating-ui/react": "^0.26.16",
|
||||||
"@react-aria/focus": "^3.17.1",
|
"@react-aria/focus": "^3.17.1",
|
||||||
|
@ -221,8 +221,8 @@
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": "^18",
|
"react": "^18 || ^19 || ^19.0.0-rc",
|
||||||
"react-dom": "^18"
|
"react-dom": "^18 || ^19 || ^19.0.0-rc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@heroicons/react": {
|
"node_modules/@heroicons/react": {
|
||||||
|
@ -388,12 +388,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@puppeteer/browsers": {
|
"node_modules/@puppeteer/browsers": {
|
||||||
"version": "2.4.0",
|
"version": "2.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.4.1.tgz",
|
||||||
"integrity": "sha512-x8J1csfIygOwf6D6qUAZ0ASk3z63zPb7wkNeHRerCMh82qWKUrOgkuP005AJC8lDL6/evtXETGEJVcwykKT4/g==",
|
"integrity": "sha512-0kdAbmic3J09I6dT8e9vE2JOCSt13wHCW5x/ly8TSt2bDtuIWe2TgLZZDHdcziw9AVCzflMAXCrVyRIhIs44Ng==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "^4.3.6",
|
"debug": "^4.3.7",
|
||||||
"extract-zip": "^2.0.1",
|
"extract-zip": "^2.0.1",
|
||||||
"progress": "^2.0.3",
|
"progress": "^2.0.3",
|
||||||
"proxy-agent": "^6.4.0",
|
"proxy-agent": "^6.4.0",
|
||||||
|
@ -551,16 +551,290 @@
|
||||||
"integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
|
"integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/d3": {
|
||||||
|
"version": "7.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz",
|
||||||
|
"integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-array": "*",
|
||||||
|
"@types/d3-axis": "*",
|
||||||
|
"@types/d3-brush": "*",
|
||||||
|
"@types/d3-chord": "*",
|
||||||
|
"@types/d3-color": "*",
|
||||||
|
"@types/d3-contour": "*",
|
||||||
|
"@types/d3-delaunay": "*",
|
||||||
|
"@types/d3-dispatch": "*",
|
||||||
|
"@types/d3-drag": "*",
|
||||||
|
"@types/d3-dsv": "*",
|
||||||
|
"@types/d3-ease": "*",
|
||||||
|
"@types/d3-fetch": "*",
|
||||||
|
"@types/d3-force": "*",
|
||||||
|
"@types/d3-format": "*",
|
||||||
|
"@types/d3-geo": "*",
|
||||||
|
"@types/d3-hierarchy": "*",
|
||||||
|
"@types/d3-interpolate": "*",
|
||||||
|
"@types/d3-path": "*",
|
||||||
|
"@types/d3-polygon": "*",
|
||||||
|
"@types/d3-quadtree": "*",
|
||||||
|
"@types/d3-random": "*",
|
||||||
|
"@types/d3-scale": "*",
|
||||||
|
"@types/d3-scale-chromatic": "*",
|
||||||
|
"@types/d3-selection": "*",
|
||||||
|
"@types/d3-shape": "*",
|
||||||
|
"@types/d3-time": "*",
|
||||||
|
"@types/d3-time-format": "*",
|
||||||
|
"@types/d3-timer": "*",
|
||||||
|
"@types/d3-transition": "*",
|
||||||
|
"@types/d3-zoom": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-array": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz",
|
||||||
|
"integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-axis": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-selection": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-brush": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-selection": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-chord": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-color": {
|
||||||
|
"version": "3.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
|
||||||
|
"integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-contour": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-array": "*",
|
||||||
|
"@types/geojson": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-delaunay": {
|
||||||
|
"version": "6.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
|
||||||
|
"integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-dispatch": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-drag": {
|
||||||
|
"version": "3.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz",
|
||||||
|
"integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-selection": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-dsv": {
|
||||||
|
"version": "3.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz",
|
||||||
|
"integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-ease": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-fetch": {
|
||||||
|
"version": "3.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz",
|
||||||
|
"integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-dsv": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-force": {
|
||||||
|
"version": "3.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz",
|
||||||
|
"integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-format": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-geo": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/geojson": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-hierarchy": {
|
||||||
|
"version": "3.1.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz",
|
||||||
|
"integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-interpolate": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-color": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-path": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-polygon": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-quadtree": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-random": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-scale": {
|
||||||
|
"version": "4.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz",
|
||||||
|
"integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-time": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-scale-chromatic": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-selection": {
|
||||||
|
"version": "3.0.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz",
|
||||||
|
"integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-shape": {
|
||||||
|
"version": "3.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz",
|
||||||
|
"integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-path": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-time": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-time-format": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-timer": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-transition": {
|
||||||
|
"version": "3.0.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz",
|
||||||
|
"integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-selection": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/d3-zoom": {
|
||||||
|
"version": "3.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz",
|
||||||
|
"integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/d3-interpolate": "*",
|
||||||
|
"@types/d3-selection": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/dompurify": {
|
||||||
|
"version": "3.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz",
|
||||||
|
"integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/trusted-types": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/geojson": {
|
||||||
|
"version": "7946.0.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz",
|
||||||
|
"integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.7.4",
|
"version": "22.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz",
|
||||||
"integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==",
|
"integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~6.19.2"
|
"undici-types": "~6.19.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/trusted-types": {
|
||||||
|
"version": "2.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
|
||||||
|
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/@types/web-animations-js": {
|
"node_modules/@types/web-animations-js": {
|
||||||
"version": "2.2.16",
|
"version": "2.2.16",
|
||||||
"resolved": "https://registry.npmjs.org/@types/web-animations-js/-/web-animations-js-2.2.16.tgz",
|
"resolved": "https://registry.npmjs.org/@types/web-animations-js/-/web-animations-js-2.2.16.tgz",
|
||||||
|
@ -713,13 +987,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/bare-stream": {
|
"node_modules/bare-stream": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.2.tgz",
|
||||||
"integrity": "sha512-pVRWciewGUeCyKEuRxwv06M079r+fRjAQjBEK2P6OYGrO43O+Z0LrPZZEjlc4mB6C2RpZ9AxJ1s7NLEtOHO6eA==",
|
"integrity": "sha512-EFZHSIBkDgSHIwj2l2QZfP4U5OcD4xFAOwhSb/vlr9PIqyGJGvB/nfClJbcnh3EY4jtPE4zsb5ztae96bVF79A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"b4a": "^1.6.6",
|
|
||||||
"streamx": "^2.20.0"
|
"streamx": "^2.20.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -872,9 +1145,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/chart.js": {
|
"node_modules/chart.js": {
|
||||||
"version": "4.4.4",
|
"version": "4.4.6",
|
||||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.6.tgz",
|
||||||
"integrity": "sha512-emICKGBABnxhMjUjlYRR12PmOXhJ2eJjEHL2/dZlWjxRAZT1D8xplLFq5M0tMQK8ja+wBS/tuVEJB5C6r7VxJA==",
|
"integrity": "sha512-8Y406zevUPbbIBA/HRk33khEmQPk5+cxeflWE/2rx1NJsjVWMPw/9mSP9rxHP5eqi6LNoPBVMfZHxbwLSgldYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@kurkle/color": "^0.3.0"
|
"@kurkle/color": "^0.3.0"
|
||||||
|
@ -1424,9 +1697,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/d3-geo": {
|
"node_modules/d3-geo": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
|
||||||
"integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==",
|
"integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"d3-array": "2.5.0 - 3"
|
"d3-array": "2.5.0 - 3"
|
||||||
|
@ -1549,9 +1822,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/d3-scale-chromatic": {
|
"node_modules/d3-scale-chromatic": {
|
||||||
"version": "3.0.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
|
||||||
"integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
|
"integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"d3-color": "1 - 3",
|
"d3-color": "1 - 3",
|
||||||
|
@ -1651,12 +1924,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/dagre-d3-es": {
|
"node_modules/dagre-d3-es": {
|
||||||
"version": "7.0.10",
|
"version": "7.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.11.tgz",
|
||||||
"integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==",
|
"integrity": "sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"d3": "^7.8.2",
|
"d3": "^7.9.0",
|
||||||
"lodash-es": "^4.17.21"
|
"lodash-es": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1722,9 +1995,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/devtools-protocol": {
|
"node_modules/devtools-protocol": {
|
||||||
"version": "0.0.1342118",
|
"version": "0.0.1354347",
|
||||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1342118.tgz",
|
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1354347.tgz",
|
||||||
"integrity": "sha512-75fMas7PkYNDTmDyb6PRJCH7ILmHLp+BhrZGeMsa4bCh40DTxgCz2NRy5UDzII4C5KuD0oBMZ9vXKhEl6UD/3w==",
|
"integrity": "sha512-BlmkSqV0V84E2WnEnoPnwyix57rQxAM5SKJjf4TbYOCGLAWtz8CDH8RIaGOjPgPCXo2Mce3kxSY497OySidY3Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/didyoumean": {
|
"node_modules/didyoumean": {
|
||||||
|
@ -1738,9 +2011,9 @@
|
||||||
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
|
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
|
||||||
},
|
},
|
||||||
"node_modules/dompurify": {
|
"node_modules/dompurify": {
|
||||||
"version": "3.1.7",
|
"version": "3.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz",
|
||||||
"integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==",
|
"integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/eastasianwidth": {
|
"node_modules/eastasianwidth": {
|
||||||
|
@ -2533,22 +2806,24 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/mermaid": {
|
"node_modules/mermaid": {
|
||||||
"version": "11.2.1",
|
"version": "11.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.4.0.tgz",
|
||||||
"integrity": "sha512-F8TEaLVVyxTUmvKswVFyOkjPrlJA5h5vNR1f7ZnSWSpqxgEZG1hggtn/QCa7znC28bhlcrNh10qYaIiill7q4A==",
|
"integrity": "sha512-mxCfEYvADJqOiHfGpJXLs4/fAjHz448rH0pfY5fAoxiz70rQiDSzUUy4dNET2T08i46IVpjohPd6WWbzmRHiPA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@braintree/sanitize-url": "^7.0.1",
|
"@braintree/sanitize-url": "^7.0.1",
|
||||||
"@iconify/utils": "^2.1.32",
|
"@iconify/utils": "^2.1.32",
|
||||||
"@mermaid-js/parser": "^0.3.0",
|
"@mermaid-js/parser": "^0.3.0",
|
||||||
|
"@types/d3": "^7.4.3",
|
||||||
|
"@types/dompurify": "^3.0.5",
|
||||||
"cytoscape": "^3.29.2",
|
"cytoscape": "^3.29.2",
|
||||||
"cytoscape-cose-bilkent": "^4.1.0",
|
"cytoscape-cose-bilkent": "^4.1.0",
|
||||||
"cytoscape-fcose": "^2.2.0",
|
"cytoscape-fcose": "^2.2.0",
|
||||||
"d3": "^7.9.0",
|
"d3": "^7.9.0",
|
||||||
"d3-sankey": "^0.12.3",
|
"d3-sankey": "^0.12.3",
|
||||||
"dagre-d3-es": "7.0.10",
|
"dagre-d3-es": "7.0.11",
|
||||||
"dayjs": "^1.11.10",
|
"dayjs": "^1.11.10",
|
||||||
"dompurify": "^3.0.11",
|
"dompurify": "^3.0.11 <3.1.7",
|
||||||
"katex": "^0.16.9",
|
"katex": "^0.16.9",
|
||||||
"khroma": "^2.1.0",
|
"khroma": "^2.1.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
@ -3008,10 +3283,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prettier-plugin-tailwindcss": {
|
"node_modules/prettier-plugin-tailwindcss": {
|
||||||
"version": "0.6.8",
|
"version": "0.6.9",
|
||||||
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz",
|
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.9.tgz",
|
||||||
"integrity": "sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==",
|
"integrity": "sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.21.3"
|
"node": ">=14.21.3"
|
||||||
},
|
},
|
||||||
|
@ -3139,17 +3415,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/puppeteer": {
|
"node_modules/puppeteer": {
|
||||||
"version": "23.5.0",
|
"version": "23.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-23.7.1.tgz",
|
||||||
"integrity": "sha512-jnUx5M0YtFva7vXr39qqsxgB46JiwXJavuM1Hgsqbd9WWiGTEUt9klGpTxyHi+ZQf3NUgleDhNsnI10IK8Ebsg==",
|
"integrity": "sha512-jS6XehagMvxQ12etwY/4EOYZ0Sm8GAsrtGhdQn4AqpJAyHc3RYl7tGd4QYh/MmShDw8sF9FWYQqGidhoXaqokQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@puppeteer/browsers": "2.4.0",
|
"@puppeteer/browsers": "2.4.1",
|
||||||
"chromium-bidi": "0.8.0",
|
"chromium-bidi": "0.8.0",
|
||||||
"cosmiconfig": "^9.0.0",
|
"cosmiconfig": "^9.0.0",
|
||||||
"devtools-protocol": "0.0.1342118",
|
"devtools-protocol": "0.0.1354347",
|
||||||
"puppeteer-core": "23.5.0",
|
"puppeteer-core": "23.7.1",
|
||||||
"typed-query-selector": "^2.12.0"
|
"typed-query-selector": "^2.12.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -3160,15 +3436,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/puppeteer-core": {
|
"node_modules/puppeteer-core": {
|
||||||
"version": "23.5.0",
|
"version": "23.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-23.7.1.tgz",
|
||||||
"integrity": "sha512-+5ed+625GuQ2emRHqYec8khT9LP14FWzv8hYl0HiM6hnnlNzdVU9uDJIPHeCPLIWxq15ost9MeF8kBk4R3eiFw==",
|
"integrity": "sha512-Om/qCZhd+HLoAr7GltrRAZpS3uOXwHu7tXAoDbNcJADHjG2zeAlDArgyIPXYGG4QB/EQUHk13Q6RklNxGM73Pg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@puppeteer/browsers": "2.4.0",
|
"@puppeteer/browsers": "2.4.1",
|
||||||
"chromium-bidi": "0.8.0",
|
"chromium-bidi": "0.8.0",
|
||||||
"debug": "^4.3.7",
|
"debug": "^4.3.7",
|
||||||
"devtools-protocol": "0.0.1342118",
|
"devtools-protocol": "0.0.1354347",
|
||||||
"typed-query-selector": "^2.12.0",
|
"typed-query-selector": "^2.12.0",
|
||||||
"ws": "^8.18.0"
|
"ws": "^8.18.0"
|
||||||
},
|
},
|
||||||
|
@ -3700,9 +3976,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tailwindcss": {
|
"node_modules/tailwindcss": {
|
||||||
"version": "3.4.10",
|
"version": "3.4.14",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz",
|
||||||
"integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==",
|
"integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@alloc/quick-lru": "^5.2.0",
|
"@alloc/quick-lru": "^5.2.0",
|
||||||
"arg": "^5.0.2",
|
"arg": "^5.0.2",
|
||||||
|
@ -3843,13 +4119,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/text-decoder": {
|
"node_modules/text-decoder": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz",
|
||||||
"integrity": "sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==",
|
"integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"dependencies": {
|
|
||||||
"b4a": "^1.6.4"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/thenify": {
|
"node_modules/thenify": {
|
||||||
"version": "3.3.1",
|
"version": "3.3.1",
|
||||||
|
@ -3925,11 +4198,12 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/typeit": {
|
"node_modules/typeit": {
|
||||||
"version": "8.8.5",
|
"version": "8.8.7",
|
||||||
"resolved": "https://registry.npmjs.org/typeit/-/typeit-8.8.5.tgz",
|
"resolved": "https://registry.npmjs.org/typeit/-/typeit-8.8.7.tgz",
|
||||||
"integrity": "sha512-gtrTDKmBVzqyC7KBSBdhHwZOPhXcnP6gceMRXde0dxSN1DLHX9uzjC/Aj444/n4/UYLY8CpjXokWSvIjZPfckQ==",
|
"integrity": "sha512-sSVpy+cjeFP6Z+fZqiHzUSShg5yYFeJEt/Qut/bX945+Axyq+Yq+GPOuuk+sofoccSv8nNX/ibOOHkbki2mEpg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/web-animations-js": "^2.2.16"
|
"@types/web-animations-js": "^2.2.16"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "hugo-blowfish-theme",
|
"name": "hugo-blowfish-theme",
|
||||||
"version": "2.78.0",
|
"version": "2.80.0",
|
||||||
"description": "Blowfish theme for Hugo.",
|
"description": "Blowfish theme for Hugo.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "vendor-copy",
|
"postinstall": "vendor-copy",
|
||||||
|
@ -35,22 +35,22 @@
|
||||||
"homepage": "https://github.com/nunocoracao/blowfish#readme",
|
"homepage": "https://github.com/nunocoracao/blowfish#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@tailwindcss/typography": "^0.5.15",
|
"@tailwindcss/typography": "^0.5.15",
|
||||||
"chart.js": "^4.4.4",
|
"chart.js": "^4.4.6",
|
||||||
"fuse.js": "^7.0.0",
|
"fuse.js": "^7.0.0",
|
||||||
"jquery": "^3.7.1",
|
"jquery": "^3.7.1",
|
||||||
"katex": "^0.16.11",
|
"katex": "^0.16.11",
|
||||||
"lite-youtube-embed": "^0.3.3",
|
"lite-youtube-embed": "^0.3.3",
|
||||||
"mermaid": "^11.2.1",
|
"mermaid": "^11.4.0",
|
||||||
"packery": "^2.1.2",
|
"packery": "^2.1.2",
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.3.3",
|
||||||
"prettier-plugin-go-template": "^0.0.15",
|
"prettier-plugin-go-template": "^0.0.15",
|
||||||
"prettier-plugin-tailwindcss": "^0.6.8",
|
"prettier-plugin-tailwindcss": "^0.6.9",
|
||||||
"puppeteer": "^23.5.0",
|
"puppeteer": "^23.7.1",
|
||||||
"rimraf": "^6.0.1",
|
"rimraf": "^6.0.1",
|
||||||
"tailwind-scrollbar": "^3.1.0",
|
"tailwind-scrollbar": "^3.1.0",
|
||||||
"tailwindcss": "^3.4.10",
|
"tailwindcss": "^3.4.14",
|
||||||
"tw-elements": "2.0.0",
|
"tw-elements": "2.0.0",
|
||||||
"typeit": "^8.8.5",
|
"typeit": "^8.8.7",
|
||||||
"vendor-copy": "^3.0.1"
|
"vendor-copy": "^3.0.1"
|
||||||
},
|
},
|
||||||
"vendorCopy": [],
|
"vendorCopy": [],
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@headlessui/react": "^2.1.8",
|
"@headlessui/react": "^2.2.0",
|
||||||
"@heroicons/react": "^2.1.5",
|
"@heroicons/react": "^2.1.5",
|
||||||
"@iamtraction/google-translate": "^2.0.1",
|
"@iamtraction/google-translate": "^2.0.1",
|
||||||
"@tailwindcss/forms": "^0.5.9",
|
"@tailwindcss/forms": "^0.5.9",
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
const crypto = require("crypto")
|
||||||
const puppeteer = require("puppeteer");
|
const puppeteer = require("puppeteer");
|
||||||
|
|
||||||
const configDir = "./exampleSite/config/_default";
|
const configDir = "./exampleSite/config/_default";
|
||||||
|
@ -11,107 +12,114 @@ var targetLangs = []
|
||||||
|
|
||||||
const configFiles = fs.readdirSync(configDir);
|
const configFiles = fs.readdirSync(configDir);
|
||||||
configFiles.forEach(file => {
|
configFiles.forEach(file => {
|
||||||
if (file.indexOf("languages.") > -1) {
|
if (file.indexOf("languages.") > -1) {
|
||||||
var lang = file.split(".")[1];
|
var lang = file.split(".")[1];
|
||||||
if (lang != defaultLang) {
|
if (lang != defaultLang) {
|
||||||
targetLangs.push(lang);
|
targetLangs.push(lang);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const indexFiles = fs.readdirSync(usersFolderPath);
|
const indexFiles = fs.readdirSync(usersFolderPath);
|
||||||
for (var i in targetLangs) {
|
for (var i in targetLangs) {
|
||||||
var targetFile = '_index.' + targetLangs[i] + '.md';
|
var targetFile = '_index.' + targetLangs[i] + '.md';
|
||||||
if (indexFiles.indexOf(targetFile) == -1) {
|
if (indexFiles.indexOf(targetFile) == -1) {
|
||||||
fs.copyFileSync(usersFolderPath + '_index.md', usersFolderPath + targetFile);
|
fs.copyFileSync(usersFolderPath + '_index.md', usersFolderPath + targetFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let rawdata = fs.readFileSync(usersFolderPath + 'users.json');
|
let rawdata = fs.readFileSync(usersFolderPath + 'users.json');
|
||||||
let users = JSON.parse(rawdata);
|
let users = JSON.parse(rawdata);
|
||||||
let userDict = {}
|
let userDict = {}
|
||||||
for (var i in users) {
|
for (var i in users) {
|
||||||
userDict[users[i].title.replaceAll("/", "-")] = true;
|
userDict[generateDirName(users[i].url)] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const files = fs.readdirSync(usersFolderPath);
|
const files = fs.readdirSync(usersFolderPath);
|
||||||
|
|
||||||
|
|
||||||
for (file in files) {
|
for (file in files) {
|
||||||
let stats = fs.statSync(usersFolderPath + files[file]);
|
let stats = fs.statSync(usersFolderPath + files[file]);
|
||||||
if (files[file] != 'users.json' && files[file].indexOf("_index.") == -1) {
|
if (files[file] != 'users.json' && files[file].indexOf("_index.") == -1) {
|
||||||
if (stats.isDirectory()) {
|
if (stats.isDirectory()) {
|
||||||
if (!userDict[files[file].replaceAll("/", "-")]) {
|
if (!userDict[files[file]]) {
|
||||||
console.log('deleting: ', files[file]);
|
console.log('deleting: ', files[file]);
|
||||||
fs.rmdirSync(usersFolderPath + files[file], { recursive: true, force: true });
|
fs.rmdirSync(usersFolderPath + files[file], { recursive: true, force: true });
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('deleting: ', files[file]);
|
console.log('deleting: ', files[file]);
|
||||||
fs.unlinkSync(usersFolderPath + files[file]);
|
fs.unlinkSync(usersFolderPath + files[file]);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var cache = {};
|
var cache = {};
|
||||||
|
|
||||||
|
function generateDirName(seed) {
|
||||||
|
var hash = crypto.createHash('md5');
|
||||||
|
hash.update(seed);
|
||||||
|
var dir = hash.digest('hex');
|
||||||
|
return dir;
|
||||||
|
}
|
||||||
|
|
||||||
async function convert(text, from, to) {
|
async function convert(text, from, to) {
|
||||||
var options = {
|
var options = {
|
||||||
from: from,
|
from: from,
|
||||||
to: to
|
to: to
|
||||||
};
|
};
|
||||||
if (!cache[to])
|
if (!cache[to])
|
||||||
cache[to] = {};
|
cache[to] = {};
|
||||||
if (cache[to][text])
|
if (cache[to][text])
|
||||||
return cache[to][text];
|
return cache[to][text];
|
||||||
var translated_text = await translate(text, options);
|
var translated_text = await translate(text, options);
|
||||||
cache[to][text] = translated_text.text;
|
cache[to][text] = translated_text.text;
|
||||||
return translated_text.text;
|
return translated_text.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function translateFrontMatterTags(block, targetLang, tags) {
|
async function translateFrontMatterTags(block, targetLang, tags) {
|
||||||
var array = block.split("\n");
|
var array = block.split("\n");
|
||||||
var translatedBlock = "";
|
var translatedBlock = "";
|
||||||
for (var i = 0; i < array.length; i++) {
|
for (var i = 0; i < array.length; i++) {
|
||||||
if (array[i].indexOf(":") > -1) {
|
if (array[i].indexOf(":") > -1) {
|
||||||
var elements = array[i].split(":");
|
var elements = array[i].split(":");
|
||||||
var newElement = "";
|
var newElement = "";
|
||||||
if (elements[0].indexOf("tags") != -1) {
|
if (elements[0].indexOf("tags") != -1) {
|
||||||
translatedTags = []
|
translatedTags = []
|
||||||
for (var j in tags) {
|
for (var j in tags) {
|
||||||
var tempTag = await convert(tags[j], defaultLang, targetLang);
|
var tempTag = await convert(tags[j], defaultLang, targetLang);
|
||||||
translatedTags.push(tempTag);
|
translatedTags.push(tempTag);
|
||||||
}
|
|
||||||
var trasnlatedTagsString = translatedTags.join(", ");
|
|
||||||
newElement = elements[0] + ": [" + trasnlatedTagsString + "]";
|
|
||||||
} else {
|
|
||||||
newElement = array[i];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
newElement = array[i];
|
|
||||||
}
|
}
|
||||||
translatedBlock += newElement + "\n";
|
var trasnlatedTagsString = translatedTags.join(", ");
|
||||||
|
newElement = elements[0] + ": [" + trasnlatedTagsString + "]";
|
||||||
|
} else {
|
||||||
|
newElement = array[i];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
newElement = array[i];
|
||||||
}
|
}
|
||||||
return translatedBlock;
|
translatedBlock += newElement + "\n";
|
||||||
|
}
|
||||||
|
return translatedBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
puppeteer
|
puppeteer
|
||||||
.launch({
|
.launch({
|
||||||
defaultViewport: {
|
defaultViewport: {
|
||||||
width: 1280,
|
width: 1280,
|
||||||
height: 800,
|
height: 800,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then(async (browser) => {
|
.then(async (browser) => {
|
||||||
|
|
||||||
const page = await browser.newPage();
|
const page = await browser.newPage();
|
||||||
|
|
||||||
for (var i in users) {
|
for (var i in users) {
|
||||||
|
|
||||||
var userMDFile = "---\n\
|
var userMDFile = "---\n\
|
||||||
title: \""+ users[i].title + "\"\n\
|
title: \""+ users[i].title + "\"\n\
|
||||||
tags: ["+ users[i].tags + "]\n\
|
tags: ["+ users[i].tags + "]\n\
|
||||||
externalUrl: \""+ users[i].url + "\"\n\
|
externalUrl: \""+ users[i].url + "\"\n\
|
||||||
weight: "+ (i+1) +"\n\
|
weight: "+ (i + 1) + "\n\
|
||||||
showDate: false\n\
|
showDate: false\n\
|
||||||
showAuthor: false\n\
|
showAuthor: false\n\
|
||||||
showReadingTime: false\n\
|
showReadingTime: false\n\
|
||||||
|
@ -120,22 +128,22 @@ puppeteer
|
||||||
showViews: false\n\
|
showViews: false\n\
|
||||||
layoutBackgroundHeaderSpace: false\n\
|
layoutBackgroundHeaderSpace: false\n\
|
||||||
\r---\n";
|
\r---\n";
|
||||||
|
|
||||||
|
var dir = usersFolderPath + generateDirName(users[i].url);
|
||||||
|
|
||||||
var dir = usersFolderPath + users[i].title.replaceAll("/", "-");
|
if (!fs.existsSync(dir)) {
|
||||||
|
fs.mkdirSync(dir);
|
||||||
if (!fs.existsSync(dir)) {
|
console.log(i, users[i].title);
|
||||||
fs.mkdirSync(dir);
|
fs.writeFileSync(dir + '/index.md', userMDFile);
|
||||||
console.log(i, users[i].title);
|
for (var j in targetLangs) {
|
||||||
fs.writeFileSync(dir + '/index.md', userMDFile);
|
var content = await translateFrontMatterTags(userMDFile, targetLangs[j], users[i].tags);
|
||||||
for (var j in targetLangs) {
|
fs.writeFileSync(dir + '/index.' + targetLangs[j] + '.md', content);
|
||||||
var content = await translateFrontMatterTags(userMDFile, targetLangs[j], users[i].tags);
|
|
||||||
fs.writeFileSync(dir + '/index.' + targetLangs[j] + '.md', content);
|
|
||||||
}
|
|
||||||
await page.goto(users[i].url);
|
|
||||||
await page.screenshot({ path: dir + "/feature.jpg" });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
await page.goto(users[i].url);
|
||||||
|
await page.screenshot({ path: dir + "/feature.jpg" });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await browser.close();
|
await browser.close();
|
||||||
|
|
||||||
});
|
});
|
|
@ -1 +1 @@
|
||||||
v0.135.0
|
v0.139.3
|
||||||
|
|
Loading…
Reference in a new issue