Compare commits
27 Commits
eaae0b3557
...
a8b660c73b
Author | SHA1 | Date |
---|---|---|
stereobooster | a8b660c73b | |
James Panther | cd675cfc55 | |
James Panther | 088b21795c | |
James Panther | ed0408da33 | |
James Panther | e9a69ec8e0 | |
James Panther | 090de56037 | |
James Panther | b6a532c22f | |
James Panther | 7c9fe0ef6f | |
James Panther | a968a781df | |
James Panther | 515d7bcad2 | |
James Panther | e92f8e55fb | |
dependabot[bot] | ca67e579a9 | |
dependabot[bot] | 99c45443cf | |
MrEddX | 56c7c9a466 | |
James Panther | 18e1edcf59 | |
James Panther | 4aa68dd954 | |
dependabot[bot] | 69633d15b8 | |
James Panther | 47f58668bb | |
Shun Sakai | ef51b7c6de | |
Andrea @nb-andrea | a6bfb51437 | |
Andrea @nb-andrea | 365de08a37 | |
Andrii Serbovets | 1e5a789156 | |
dependabot[bot] | d1bf113a17 | |
Tomy Hsieh | 0109db6173 | |
Robert van Bregt | 0cfab5dabb | |
stereobooster | a6fde7cba9 | |
stereobooster | fade430e88 |
15
CHANGELOG.md
|
@ -6,6 +6,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- Ukrainian translation ([#703](https://github.com/jpanther/congo/pull/703))
|
||||
- Bulgarian translation ([#718](https://github.com/jpanther/congo/pull/718))
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated Dutch translation ([#696](https://github.com/jpanther/congo/pull/696))
|
||||
- Upgrade to Mermaid v10.6.1 ([#697](https://github.com/jpanther/congo/pull/697))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Some files have unnecessary execute permissions ([#714](https://github.com/jpanther/congo/pull/714))
|
||||
- Empty block is output when locale switcher is hidden ([#699](https://github.com/jpanther/congo/pull/699))
|
||||
|
||||
## [2.7.4] - 2023-11-05
|
||||
|
||||
### Fixed
|
||||
|
|
|
@ -12,6 +12,7 @@ autoSwitchAppearance = true
|
|||
enableSearch = false
|
||||
enableCodeCopy = false
|
||||
enableImageLazyLoading = true
|
||||
enableImageWebp = true
|
||||
|
||||
# robots = ""
|
||||
fingerprintAlgorithm = "sha256"
|
||||
|
|
|
@ -12,6 +12,7 @@ autoSwitchAppearance = true
|
|||
enableSearch = true
|
||||
enableCodeCopy = true
|
||||
enableImageLazyLoading = true
|
||||
enableImageWebp = true
|
||||
|
||||
# robots = ""
|
||||
fingerprintAlgorithm = "sha256"
|
||||
|
|
|
@ -53,6 +53,7 @@ Congoは現在、以下の言語に対応しています:
|
|||
| :gb: **English (default)** | `en` |
|
||||
| :egypt: Arabic | `ar` |
|
||||
| :bangladesh: Bengali | `bn` |
|
||||
| :bulgaria: Bulgarian | `bg` |
|
||||
| :cn: Chinese - Simplified (China) | `zh-cn` |
|
||||
| :taiwan: Chinese - Traditional (Taiwan) | `zh-tw` |
|
||||
| :flag-cz: Czech | `cs` |
|
||||
|
@ -73,6 +74,7 @@ Congoは現在、以下の言語に対応しています:
|
|||
| :slovakia: Slovak | `sk` |
|
||||
| :es: Spanish (Spain) | `es` |
|
||||
| :tr: Turkish | `tr` |
|
||||
| :ukraine: Ukrainian | `uk` |
|
||||
|
||||
翻訳文字列を含むカスタムファイルを `i18n/[code].yaml` に作成することでデフォルトの翻訳をオーバーライドできます。このメソッドを使って新しい言語を追加することもできます。新しい翻訳をコミュニティと共有したい場合、[Pull Request](https://github.com/jpanther/congo/pulls)を作ってください。
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@ The theme currently supports the following languages out of the box:
|
|||
| :gb: **English (default)** | `en` |
|
||||
| :egypt: Arabic | `ar` |
|
||||
| :bangladesh: Bengali | `bn` |
|
||||
| :bulgaria: Bulgarian | `bg` |
|
||||
| :cn: Chinese - Simplified (China) | `zh-cn` |
|
||||
| :taiwan: Chinese - Traditional (Taiwan) | `zh-tw` |
|
||||
| :flag-cz: Czech | `cs` |
|
||||
|
@ -73,6 +74,7 @@ The theme currently supports the following languages out of the box:
|
|||
| :slovakia: Slovak | `sk` |
|
||||
| :es: Spanish (Spain) | `es` |
|
||||
| :tr: Turkish | `tr` |
|
||||
| :ukraine: Ukrainian | `uk` |
|
||||
|
||||
The default translations can be overridden by creating a custom file in `i18n/[code].yaml` that contains the translation strings. You can also use this method to add new languages. If you'd like to share a new translation with the community, please [open a pull request](https://github.com/jpanther/congo/pulls).
|
||||
|
||||
|
|
|
@ -63,5 +63,6 @@ La lista a continuación es solo un puñado de sitios web creados con el tema Co
|
|||
| [Beerjoa Blog](https://blog.beerjoa.dev) | Personal site and Blog |
|
||||
| [simaosilva.com](https://simaosilva.com) | Personal Site |
|
||||
| [kom.al](https://kom.al) | Personal Site |
|
||||
| [andrea.mortaro.it](https://andrea.mortaro.it) | Personal Site and Blog |
|
||||
|
||||
**¿Usuaria de congo?** Para agregar tu sitio a esta lista, [haz un pull request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md).
|
||||
|
|
|
@ -63,5 +63,6 @@ Congoを使用して構築された実際のウェブサイト。
|
|||
| [Beerjoa Blog](https://blog.beerjoa.dev) | Personal site and Blog |
|
||||
| [simaosilva.com](https://simaosilva.com) | Personal Site |
|
||||
| [kom.al](https://kom.al) | Personal Site |
|
||||
| [andrea.mortaro.it](https://andrea.mortaro.it) | Personal Site and Blog |
|
||||
|
||||
**Congoを使っていますか?** あなたのウェブサイトを加えるために[Pull Request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md)を投げてください。
|
||||
|
|
|
@ -63,5 +63,6 @@ The list below is just a handful of the websites that are built using the Congo
|
|||
| [Beerjoa Blog](https://blog.beerjoa.dev) | Personal site and Blog |
|
||||
| [simaosilva.com](https://simaosilva.com) | Personal Site |
|
||||
| [kom.al](https://kom.al) | Personal Site |
|
||||
| [andrea.mortaro.it](https://andrea.mortaro.it) | Personal Site and Blog |
|
||||
|
||||
**Congo user?** To add your site to this list, [submit a pull request](https://github.com/jpanther/congo/blob/dev/exampleSite/content/users/index.md).
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
article:
|
||||
anchor_label: "Котва"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "Обновено: {{ .Date }}"
|
||||
draft: "Чернова"
|
||||
edit_title: "Редактиране на съдържание"
|
||||
reading_time:
|
||||
one: "{{ .Count }} минута"
|
||||
other: "{{ .Count }} минути"
|
||||
reading_time_title: "Време за четене"
|
||||
table_of_contents: "Съдържание"
|
||||
word_count:
|
||||
one: "{{ .Count }} дума"
|
||||
other: "{{ .Count }} думи"
|
||||
|
||||
author:
|
||||
byline_title: "Автор"
|
||||
|
||||
code:
|
||||
copy: "Копирай"
|
||||
copied: "Копирано"
|
||||
|
||||
error:
|
||||
404_title: "Страницата не е намерена :confused:"
|
||||
404_error: "Грешка 404"
|
||||
404_description: "Изглежда, че страницата, която търсите не съществува."
|
||||
|
||||
footer:
|
||||
dark_appearance: "Превключи към тъмна тема"
|
||||
light_appearance: "Превключи към светла тема"
|
||||
powered_by: "Осъществено чрез {{ .Hugo }} & {{ .Congo }}"
|
||||
|
||||
list:
|
||||
externalurl_title: "Връзка към външен сайт"
|
||||
no_articles: "Тук няма статии за прелистване."
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "Превърти до началото"
|
||||
skip_to_main: "Преминаване към основното съдържание"
|
||||
|
||||
search:
|
||||
open_button_title: "Търсене (/)"
|
||||
close_button_title: "Затвори (Esc)"
|
||||
input_placeholder: "Търси"
|
||||
|
||||
sharing:
|
||||
email: "Изпращане по имейл"
|
||||
facebook: "Споделяне във Facebook"
|
||||
linkedin: "Споделяне в LinkedIn"
|
||||
mastodon: "Публикуване в Mastodon"
|
||||
pinterest: "Пин в Pinterest"
|
||||
reddit: "Публикуване в Reddit"
|
||||
twitter: "Туит в Twitter"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "Последни"
|
|
@ -1,7 +1,7 @@
|
|||
article:
|
||||
anchor_label: "Anker"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "Bijgwerkt: {{ .Date }}"
|
||||
date_updated: "Bijgewerkt: {{ .Date }}"
|
||||
draft: "Concept"
|
||||
edit_title: "Bewerk inhoud"
|
||||
reading_time:
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
article:
|
||||
anchor_label: "Закладка"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "Оновлено {{ .Date }}"
|
||||
draft: "Чернетка"
|
||||
edit_title: "Редагувати"
|
||||
reading_time:
|
||||
one: "{{ .Count }} хвилину"
|
||||
few: "{{ .Count }} хвилини"
|
||||
many: "{{ .Count }} хвилин"
|
||||
other: "{{ .Count }} хвилини"
|
||||
reading_time_title: "Прочитаєте за"
|
||||
table_of_contents: "Зміст"
|
||||
word_count:
|
||||
one: "{{ .Count }} слово"
|
||||
few: "{{ .Count }} слова"
|
||||
many: "{{ .Count }} слів"
|
||||
other: "{{ .Count }} слова"
|
||||
|
||||
author:
|
||||
byline_title: "Автор"
|
||||
|
||||
code:
|
||||
copy: "Копіювати"
|
||||
copied: "Скопійовано"
|
||||
|
||||
error:
|
||||
404_title: "Немає такої сторінки :confused:"
|
||||
404_error: "Помилка 404"
|
||||
404_description: "Здається, сторінки, яка вам потрібна, не існує."
|
||||
|
||||
footer:
|
||||
dark_appearance: "Увімкнути темний режим"
|
||||
light_appearance: "Увімкнути світлий режим"
|
||||
powered_by: "Сайт працює на рушії {{ .Hugo }} зі стилем {{ .Congo }}"
|
||||
|
||||
list:
|
||||
externalurl_title: "Зовнішнє посилання"
|
||||
no_articles: "Дописів поки що немає"
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "Повернутися на початок сторінки"
|
||||
skip_to_main: "До тексту"
|
||||
|
||||
search:
|
||||
open_button_title: "Шукати (/)"
|
||||
close_button_title: "Закрити (Esc)"
|
||||
input_placeholder: "Введіть запит тут"
|
||||
|
||||
sharing:
|
||||
email: "Надіслати електронною поштою"
|
||||
facebook: "Поширити на Facebook"
|
||||
linkedin: "Поширити на LinkedIn"
|
||||
mastodon: "Поширити на Mastodon"
|
||||
pinterest: "Зберегти на Pinterest"
|
||||
reddit: "Опублікувати на Reddit"
|
||||
twitter: "Поширити на Twitter"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "Недавні дописи"
|
|
@ -1,64 +1,20 @@
|
|||
{{ $url := urls.Parse .Destination }}
|
||||
{{ $altText := .Text }}
|
||||
{{ $caption := .Title }}
|
||||
{{ $lazyLoad := $.Page.Site.Params.enableImageLazyLoading | default true }}
|
||||
{{ if findRE "^https?" $url.Scheme }}
|
||||
<figure>
|
||||
<img
|
||||
class="mx-auto my-0 rounded-md"
|
||||
src="{{ $url.String }}"
|
||||
alt="{{ $altText }}"
|
||||
{{ if $lazyLoad }}
|
||||
loading="lazy"
|
||||
{{ end }}
|
||||
/>
|
||||
{{ $class := "mx-auto my-0 rounded-md" }}
|
||||
|
||||
{{ $file := $url.Path }}
|
||||
{{ $img := .Page.Resources.GetMatch $file }}
|
||||
{{- if and (not $img) .Page.File }}
|
||||
{{ $path := path.Join .Page.File.Dir $file }}
|
||||
{{ $img = resources.Get $path }}
|
||||
{{ end -}}
|
||||
|
||||
<figure>
|
||||
{{- with $img -}}
|
||||
{{ partial "pictureDefaults.html" (dict "img" . "alt" $altText "class" $class) }}
|
||||
{{- else -}}
|
||||
<img src="{{ .Destination | safeURL }}" alt="{{ $altText }}" class="{{ $class }}"/>
|
||||
{{- end -}}
|
||||
{{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }}
|
||||
</figure>
|
||||
{{ else }}
|
||||
{{ $resource := "" }}
|
||||
{{ if $.Page.Resources.GetMatch ($url.String) }}
|
||||
{{ $resource = $.Page.Resources.GetMatch ($url.String) }}
|
||||
{{ else if resources.GetMatch ($url.String) }}
|
||||
{{ $resource = resources.Get ($url.String) }}
|
||||
{{ end }}
|
||||
{{ with $resource }}
|
||||
<figure>
|
||||
<img
|
||||
class="mx-auto my-0 rounded-md"
|
||||
{{ if eq .MediaType.SubType "svg" }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
width="{{ .Width }}"
|
||||
height="{{ .Height }}"
|
||||
{{ if lt .Width 660 }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
srcset="
|
||||
{{- (.Resize "330x").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x").RelPermalink }} 2x"
|
||||
src="{{ (.Resize "660x").RelPermalink }}"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
alt="{{ $altText }}"
|
||||
{{ if $lazyLoad }}
|
||||
loading="lazy"
|
||||
{{ end }}
|
||||
/>
|
||||
{{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }}
|
||||
</figure>
|
||||
{{ else }}
|
||||
<figure>
|
||||
<img
|
||||
class="mx-auto my-0 rounded-md"
|
||||
src="{{ $url.String }}"
|
||||
alt="{{ $altText }}"
|
||||
{{ if $lazyLoad }}
|
||||
loading="lazy"
|
||||
{{ end }}
|
||||
/>
|
||||
{{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }}
|
||||
</figure>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</figure>
|
||||
|
|
|
@ -15,25 +15,9 @@
|
|||
</div>
|
||||
{{ with $feature }}
|
||||
<div class="prose">
|
||||
<img
|
||||
class="mb-6 -mt-4 rounded-md"
|
||||
{{ if eq .MediaType.SubType "svg" }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
width="{{ .Width }}"
|
||||
height="{{ .Height }}"
|
||||
{{ if lt .Width 660 }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
srcset="
|
||||
{{- (.Resize "330x").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x").RelPermalink }} 2x"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
alt="{{ $.Params.featureAlt | default $.Params.coverAlt | default "" }}"
|
||||
/>
|
||||
{{ $altText := $.Params.featureAlt | default $.Params.coverAlt | default "" }}
|
||||
{{ $class := "mb-6 -mt-4 rounded-md" }}
|
||||
{{ partial "pictureDefaults.html" (dict "img" . "alt" $altText "class" $class) }}
|
||||
{{ with $.Params.coverCaption }}
|
||||
<figcaption class="mb-6 -mt-3 text-center">{{ . | markdownify }}</figcaption>
|
||||
{{ end }}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<nav class="pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400">
|
||||
<ul class="flex flex-col list-none sm:flex-row">
|
||||
{{ range .Site.Menus.footer }}
|
||||
{{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ continue }}
|
||||
{{ end }}
|
||||
<li class="mb-1 group text-end sm:mb-0 sm:me-7 sm:last:me-0">
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<ul class="flex flex-col list-none text-end sm:flex-row">
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ continue }}
|
||||
{{ end }}
|
||||
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5">
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
</li>
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ continue }}
|
||||
{{ end }}
|
||||
<li class="mb-1 group">
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
</li>
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ continue }}
|
||||
{{ end }}
|
||||
<li class="mb-1 group">
|
||||
|
@ -129,7 +129,7 @@
|
|||
<ul class="flex-row hidden list-none text-end sm:flex">
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ continue }}
|
||||
{{ end }}
|
||||
<li class="mb-1 group sm:mb-0 sm:me-7 sm:last:me-0">
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
{{ $img := .img }}
|
||||
{{ $alt := .alt }}
|
||||
{{ $class := .class }}
|
||||
{{ $lazy := .lazy }}
|
||||
{{ $webp := .webp }}
|
||||
{{ $lqip := .lqip }}
|
||||
|
||||
{{ with $img }}
|
||||
{{ if (eq .MediaType.SubType "svg") }}
|
||||
{{ $width := ""}}
|
||||
{{ $height := ""}}
|
||||
{{ $svgContent := .Content }}
|
||||
{{ range (findRESubmatch `<svg[^>]*width=["']([.0-9]*)["'a-zA-Z]` $svgContent 1) }}
|
||||
{{ $width = index . 1 }}
|
||||
{{ end }}
|
||||
{{ range (findRESubmatch `<svg[^>]*height=["']([.0-9]*)["'a-zA-Z]` $svgContent 1) }}
|
||||
{{ $height = index . 1 }}
|
||||
{{ end }}
|
||||
{{ if (eq "" $width $height) }}
|
||||
{{ range (findRESubmatch `<svg[^>]*viewBox=["']?([.0-9]*) ([.0-9]*) ([.0-9]*) ([.0-9]*)` $svgContent 1) }}
|
||||
{{ $width = index . 3 }}
|
||||
{{ $height = index . 4 }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if (eq "" $width $height) }}
|
||||
{{ warnf "Can't detect width and height for SVG %s" .RelPermalink }}
|
||||
{{/* do not use lazy without dimensions */}}
|
||||
{{ $lazy = false }}
|
||||
{{ end }}
|
||||
<picture {{ with $class }} class="{{ . }}" {{ end }}>
|
||||
<img
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ with $width }} width="{{ . }}" {{ end }}
|
||||
{{ with $height }} height="{{ . }}" {{ end }}
|
||||
{{ with $class }} class="{{ . }}" {{ end }}
|
||||
{{ with $alt }} alt="{{ . }}" {{ end }}
|
||||
{{ with $lazy }} loading="lazy" decoding="async" {{ end }}
|
||||
>
|
||||
</picture>
|
||||
{{ else }}
|
||||
<picture
|
||||
{{ with $class }} class="{{ . }}" {{ end }}
|
||||
{{ if $lqip }}
|
||||
{{ $bg := (.Resize "20x webp q20").Content | base64Encode }}
|
||||
style="background-image:url(data:image/webp;base64,{{ $bg }});background-size:cover"
|
||||
{{ end }}
|
||||
>
|
||||
{{ if $webp }}
|
||||
<source
|
||||
{{ if lt .Width 660 }}
|
||||
{{ with .Resize (printf "%dx%d webp" .Width .Height) }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
srcset="
|
||||
{{- (.Resize "330x webp").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x webp").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x webp").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x webp").RelPermalink }} 2x"
|
||||
src="{{ (.Resize "660x webp").RelPermalink }}"
|
||||
{{ end }}
|
||||
type="image/webp"
|
||||
/>
|
||||
{{ end }}
|
||||
<img
|
||||
src="{{ .RelPermalink }}"
|
||||
width="{{ .Width }}"
|
||||
height="{{ .Height }}"
|
||||
{{ with $class }} class="{{ . }}" {{ end }}
|
||||
{{ with $alt }} alt="{{ . }}" {{ end }}
|
||||
{{ with $lazy }} loading="lazy" decoding="async" {{ end }}
|
||||
{{ if lt .Width 660 }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
srcset="
|
||||
{{- (.Resize "330x").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x").RelPermalink }} 2x"
|
||||
src="{{ (.Resize "660x").RelPermalink }}"
|
||||
{{ end }}
|
||||
>
|
||||
</picture>
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -0,0 +1,7 @@
|
|||
{{ $img := .img }}
|
||||
{{ $alt := .alt }}
|
||||
{{ $class := .class }}
|
||||
{{ $lazy := $.Page.Site.Params.enableImageLazyLoading | default true }}
|
||||
{{ $webp := $.Page.Site.Params.enableImageWebp | default true }}
|
||||
{{ $lqip := false }}
|
||||
{{ partial "picture.html" (dict "img" $img "alt" $alt "class" $class "lazy" $lazy "webp" $webp "lqip" $lqip) }}
|
|
@ -6,45 +6,23 @@
|
|||
{{ $caption := .Get "caption" }}
|
||||
{{ $href := .Get "href" }}
|
||||
{{ $class := .Get "class" }}
|
||||
|
||||
{{ $file := $url.Path }}
|
||||
{{ $img := .Page.Resources.GetMatch $file }}
|
||||
{{- if and (not $img) .Page.File }}
|
||||
{{ $path := path.Join .Page.File.Dir $file }}
|
||||
{{ $img = resources.Get $path }}
|
||||
{{ end -}}
|
||||
|
||||
<figure{{ with $class }} class="{{ . }}"{{ end }}>
|
||||
{{ with $href }}<a href="{{ . }}">{{ end }}
|
||||
<img
|
||||
class="mx-auto my-0 rounded-md"
|
||||
alt="{{ $altText }}"
|
||||
{{ if .Site.Params.enableImageLazyLoading | default true }}
|
||||
loading="lazy"
|
||||
{{ end }}
|
||||
{{ if findRE "^https?" $url.Scheme }}
|
||||
src="{{ $url.String }}"
|
||||
{{ else }}
|
||||
{{ $resource := "" }}
|
||||
{{ if $.Page.Resources.GetMatch ($url.String) }}
|
||||
{{ $resource = $.Page.Resources.GetMatch ($url.String) }}
|
||||
{{ else if resources.GetMatch ($url.String) }}
|
||||
{{ $resource = resources.Get ($url.String) }}
|
||||
{{ end }}
|
||||
{{ with $resource }}
|
||||
{{ if eq .MediaType.SubType "svg" }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
width="{{ .Width }}"
|
||||
height="{{ .Height }}"
|
||||
{{ if lt .Width 660 }}
|
||||
src="{{ .RelPermalink }}"
|
||||
{{ else }}
|
||||
srcset="
|
||||
{{- (.Resize "330x").RelPermalink }} 330w,
|
||||
{{- (.Resize "660x").RelPermalink }} 660w,
|
||||
{{- (.Resize "1024x").RelPermalink }} 1024w,
|
||||
{{- (.Resize "1320x").RelPermalink }} 2x"
|
||||
src="{{ (.Resize "660x").RelPermalink }}"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
src="{{ $url.String }}"
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
/>
|
||||
|
||||
{{- with $img -}}
|
||||
{{ partial "pictureDefaults.html" (dict "img" . "alt" $altText "class" $class) }}
|
||||
{{- else -}}
|
||||
<img src="{{ $url.String }}" alt="{{ $altText }}" class="{{ $class }}"/>
|
||||
{{- end -}}
|
||||
|
||||
{{ with $href }}</a>{{ end }}
|
||||
{{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }}
|
||||
</figure>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "hugo-congo-theme",
|
||||
"version": "2.7.1",
|
||||
"version": "2.7.4",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "hugo-congo-theme",
|
||||
"version": "2.7.1",
|
||||
"version": "2.7.4",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
|
@ -14,10 +14,10 @@
|
|||
"chart.js": "^4.4.0",
|
||||
"fuse.js": "^7.0.0",
|
||||
"katex": "^0.16.9",
|
||||
"mermaid": "^10.6.0",
|
||||
"prettier": "^3.0.3",
|
||||
"mermaid": "^10.6.1",
|
||||
"prettier": "^3.1.0",
|
||||
"prettier-plugin-go-template": "^0.0.15",
|
||||
"prettier-plugin-tailwindcss": "^0.5.6",
|
||||
"prettier-plugin-tailwindcss": "^0.5.7",
|
||||
"rimraf": "^5.0.5",
|
||||
"tailwindcss": "^3.3.5",
|
||||
"vendor-copy": "^3.0.1"
|
||||
|
@ -1489,9 +1489,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/mermaid": {
|
||||
"version": "10.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.0.tgz",
|
||||
"integrity": "sha512-Hcti+Q2NiWnb2ZCijSX89Bn2i7TCUwosBdIn/d+u63Sz7y40XU6EKMctT4UX4qZuZGfKGZpfOeim2/KTrdR7aQ==",
|
||||
"version": "10.6.1",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.1.tgz",
|
||||
"integrity": "sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "^6.0.1",
|
||||
|
@ -2312,9 +2312,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
|
||||
"integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
|
||||
"integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"prettier": "bin/prettier.cjs"
|
||||
|
@ -2342,9 +2342,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/prettier-plugin-tailwindcss": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.6.tgz",
|
||||
"integrity": "sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==",
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.7.tgz",
|
||||
"integrity": "sha512-4v6uESAgwCni6YF6DwJlRaDjg9Z+al5zM4JfngcazMy4WEf/XkPS5TEQjbD+DZ5iNuG6RrKQLa/HuX2SYzC3kQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
|
@ -4221,9 +4221,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"mermaid": {
|
||||
"version": "10.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.0.tgz",
|
||||
"integrity": "sha512-Hcti+Q2NiWnb2ZCijSX89Bn2i7TCUwosBdIn/d+u63Sz7y40XU6EKMctT4UX4qZuZGfKGZpfOeim2/KTrdR7aQ==",
|
||||
"version": "10.6.1",
|
||||
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.1.tgz",
|
||||
"integrity": "sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@braintree/sanitize-url": "^6.0.1",
|
||||
|
@ -4705,9 +4705,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"prettier": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
|
||||
"integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
|
||||
"integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
|
||||
"dev": true
|
||||
},
|
||||
"prettier-plugin-go-template": {
|
||||
|
@ -4720,9 +4720,9 @@
|
|||
}
|
||||
},
|
||||
"prettier-plugin-tailwindcss": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.6.tgz",
|
||||
"integrity": "sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==",
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.7.tgz",
|
||||
"integrity": "sha512-4v6uESAgwCni6YF6DwJlRaDjg9Z+al5zM4JfngcazMy4WEf/XkPS5TEQjbD+DZ5iNuG6RrKQLa/HuX2SYzC3kQ==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
|
|
|
@ -33,10 +33,10 @@
|
|||
"chart.js": "^4.4.0",
|
||||
"fuse.js": "^7.0.0",
|
||||
"katex": "^0.16.9",
|
||||
"mermaid": "^10.6.0",
|
||||
"prettier": "^3.0.3",
|
||||
"mermaid": "^10.6.1",
|
||||
"prettier": "^3.1.0",
|
||||
"prettier-plugin-go-template": "^0.0.15",
|
||||
"prettier-plugin-tailwindcss": "^0.5.6",
|
||||
"prettier-plugin-tailwindcss": "^0.5.7",
|
||||
"rimraf": "^5.0.5",
|
||||
"tailwindcss": "^3.3.5",
|
||||
"vendor-copy": "^3.0.1"
|
||||
|
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B |
Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 307 B |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |