From 8a597a5c9c861d2bce22a5e06c7667cd9c8e263a Mon Sep 17 00:00:00 2001 From: Jimmy Cai Date: Sat, 29 Oct 2022 17:02:24 +0200 Subject: [PATCH] Merge branch 'canary' into master (#711) * refactor(i18n): simplify the structure of the translation file * chore: prepare repository for v4.0.0-alpha * chore: modify go.mod to v4 * refactor: migrate theme configuration to TOML * fix: exampleSite not using correct theme * feat: add favicon from assets folder * refactor: drop linear grandient background feature remove node-vibrant from dependencies * feat: use Hugo's code block render hook to implement code copy button Now it can have i18n support * refactor: delete color.ts * refactor: delete Emoji support post from example site * refactor: drop support for `hidden` field in front matter * feat: upgrade to PhotoSwipe v5 * chore: bump the required hugo version to 0.100.0 * refactor: remove PhotoSwipe from external.yaml * fix: extra margin in search result * fix: incorrect markdown heading level in example site * refactor: remove some usages of `default` in template No longer needed thanks to Hugo's configuration merge * fix: one line codeblock style in firefox closes https://github.com/CaiJimmy/hugo-theme-stack/issues/564 * feat: add style to new codeblock * feat: i18n support for codeblock copy text * fix(menu): jitter when closing menu It's caused by flexbox gap property, which can't animate * fix(search): long text overflows under the Search icon closes https://github.com/CaiJimmy/hugo-theme-stack/issues/515 --- archetypes/default.md | 1 - assets/scss/partials/article.scss | 1 - assets/scss/partials/highlight/dark.scss | 2 +- assets/scss/partials/layout/article.scss | 48 ++-- assets/scss/partials/layout/search.scss | 4 +- assets/scss/partials/sidebar.scss | 6 +- assets/ts/codeblock.ts | 28 ++ assets/ts/color.ts | 63 ----- assets/ts/gallery.ts | 236 ++++++----------- assets/ts/main.ts | 69 +---- config.yaml | 143 ----------- config/_default/module.toml | 3 + config/_default/params.toml | 52 ++++ data/external.yaml | 22 -- exampleSite/README.md | 1 - exampleSite/assets/img/favicon.png | Bin 0 -> 1031 bytes exampleSite/assets/img/logo.jpg | Bin 0 -> 21951 bytes exampleSite/config.yaml | 239 ------------------ exampleSite/config/_default/config.toml | 20 ++ exampleSite/config/_default/languages.toml | 16 ++ exampleSite/config/_default/markup.toml | 18 ++ exampleSite/config/_default/menu.toml | 20 ++ exampleSite/config/_default/params.toml | 106 ++++++++ exampleSite/config/_default/permalinks.toml | 3 + exampleSite/config/_default/related.toml | 12 + .../content/post/emoji-support/index.md | 50 ---- ...creative-exchange-d2zvqp3fpro-unsplash.jpg | Bin 35369 -> 0 bytes .../content/post/markdown-syntax/index.md | 39 ++- go.mod | 2 +- i18n/ar.yaml | 67 ++--- i18n/bn.yaml | 57 ++--- i18n/ca.yaml | 66 ++--- i18n/de.yaml | 67 ++--- i18n/el.yaml | 63 ++--- i18n/en.yaml | 69 ++--- i18n/es.yaml | 66 ++--- i18n/fa.yaml | 66 ++--- i18n/fr.yaml | 62 ++--- i18n/hu.yaml | 66 ++--- i18n/id.yaml | 66 ++--- i18n/it.yaml | 66 ++--- i18n/ja.yaml | 64 ++--- i18n/ko.yaml | 63 ++--- i18n/nl.yaml | 51 ++-- i18n/pl.yaml | 66 ++--- i18n/pt-br.yaml | 62 ++--- i18n/ru.yaml | 56 ++-- i18n/th.yaml | 63 ++--- i18n/tr.yaml | 47 ++-- i18n/uk.yaml | 63 ++--- i18n/zh-cn.yaml | 64 ++--- i18n/zh-hk.yaml | 66 ++--- i18n/zh-tw.yaml | 53 ++-- .../_default/_markup/render-codeblock.html | 20 ++ layouts/_default/_markup/render-image.html | 2 +- layouts/_default/archives.html | 6 +- layouts/_default/list.html | 2 +- layouts/_default/rss.xml | 1 - layouts/index.html | 5 +- layouts/page/search.json | 7 +- layouts/partials/article-list/compact.html | 2 +- .../partials/article/components/header.html | 2 +- .../article/components/photoswipe.html | 82 ++---- .../article/components/related-content.html | 2 +- layouts/partials/data/title.html | 7 +- .../partials/footer/components/script.html | 2 - layouts/partials/footer/footer.html | 2 +- layouts/partials/head/colorScheme.html | 4 +- layouts/partials/head/head.html | 7 +- .../head/opengraph/provider/twitter.html | 2 +- layouts/partials/sidebar/left.html | 4 +- layouts/partials/widget/archives.html | 4 +- theme.toml | 2 +- 73 files changed, 892 insertions(+), 1976 deletions(-) create mode 100644 assets/ts/codeblock.ts delete mode 100644 assets/ts/color.ts delete mode 100644 config.yaml create mode 100644 config/_default/module.toml create mode 100644 config/_default/params.toml delete mode 100644 exampleSite/README.md create mode 100644 exampleSite/assets/img/favicon.png create mode 100644 exampleSite/assets/img/logo.jpg delete mode 100644 exampleSite/config.yaml create mode 100644 exampleSite/config/_default/config.toml create mode 100644 exampleSite/config/_default/languages.toml create mode 100644 exampleSite/config/_default/markup.toml create mode 100644 exampleSite/config/_default/menu.toml create mode 100644 exampleSite/config/_default/params.toml create mode 100644 exampleSite/config/_default/permalinks.toml create mode 100644 exampleSite/config/_default/related.toml delete mode 100644 exampleSite/content/post/emoji-support/index.md delete mode 100644 exampleSite/content/post/emoji-support/the-creative-exchange-d2zvqp3fpro-unsplash.jpg create mode 100644 layouts/_default/_markup/render-codeblock.html diff --git a/archetypes/default.md b/archetypes/default.md index 0556d3a..129dec2 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -5,7 +5,6 @@ date: {{ .Date }} image: math: license: -hidden: false comments: true draft: true --- \ No newline at end of file diff --git a/assets/scss/partials/article.scss b/assets/scss/partials/article.scss index f085ff0..a041e9b 100644 --- a/assets/scss/partials/article.scss +++ b/assets/scss/partials/article.scss @@ -192,7 +192,6 @@ .article-preview { font-size: 1.4rem; color: var(--card-text-color-tertiary); - margin-top: 10px; line-height: 1.5; } } diff --git a/assets/scss/partials/highlight/dark.scss b/assets/scss/partials/highlight/dark.scss index 0d3f330..3ea6c56 100644 --- a/assets/scss/partials/highlight/dark.scss +++ b/assets/scss/partials/highlight/dark.scss @@ -11,4 +11,4 @@ $text-color: $color; $name-color: #a6e22e; $literal-color: #e6db74; -@import "common.scss"; +@import "common.scss"; \ No newline at end of file diff --git a/assets/scss/partials/layout/article.scss b/assets/scss/partials/layout/article.scss index 97c7e77..ba06c11 100644 --- a/assets/scss/partials/layout/article.scss +++ b/assets/scss/partials/layout/article.scss @@ -286,10 +286,12 @@ line-height: 1.428571429; word-break: break-all; padding: var(--card-padding); + // keep Codeblocks LTR [dir="rtl"] & { direction: ltr; } + code { color: unset; border: none; @@ -303,15 +305,11 @@ padding: var(--card-padding); position: relative; - &:hover { - .copyCodeButton { - opacity: 1; - } - } // keep Codeblocks LTR [dir="rtl"] & { direction: ltr; } + pre { margin: initial; padding: 0; @@ -320,20 +318,30 @@ } } - .copyCodeButton { - position: absolute; - top: calc(var(--card-padding)); - right: calc(var(--card-padding)); - background: var(--card-background); - border: none; - box-shadow: var(--shadow-l2); - border-radius: var(--tag-border-radius); - padding: 8px 16px; - color: var(--card-text-color-main); - cursor: pointer; - font-size: 14px; - opacity: 0; - transition: opacity 0.3s ease; + .codeblock { + header { + background-color: var(--card-background-selected); + padding: 5px var(--card-padding); + display: flex; + justify-content: space-between; + box-shadow: var(--shadow-l1); + + span { + text-transform: uppercase; + font-weight: bold; + color: var(--card-text-color-secondary); + } + } + + .codeblock-copy { + cursor: pointer; + background-color: transparent; + border: none; + padding: 8px 16px; + color: var(--card-text-color-secondary); + font-size: 14px; + font-weight: bold; + } } .table-wrapper { @@ -402,7 +410,7 @@ /// Negative margins blockquote, figure, - .highlight, + .codeblock, pre, .gallery, .video-wrapper, diff --git a/assets/scss/partials/layout/search.scss b/assets/scss/partials/layout/search.scss index 89cdcef..cbf15b7 100644 --- a/assets/scss/partials/layout/search.scss +++ b/assets/scss/partials/layout/search.scss @@ -31,6 +31,7 @@ input { padding: 40px 20px 20px; + padding-inline-end: var(--button-size); border-radius: var(--card-border-radius); background-color: var(--card-background); box-shadow: var(--shadow-l1); @@ -78,5 +79,4 @@ height: 20px; } } - -} \ No newline at end of file +} diff --git a/assets/scss/partials/sidebar.scss b/assets/scss/partials/sidebar.scss index 95310ca..75332a7 100644 --- a/assets/scss/partials/sidebar.scss +++ b/assets/scss/partials/sidebar.scss @@ -11,7 +11,6 @@ flex-direction: column; flex-shrink: 0; align-self: stretch; - gap: var(--sidebar-element-separation); max-width: none; width: 100%; position: relative; @@ -65,6 +64,11 @@ } } } + + .social-menu, + .menu { + margin-top: var(--sidebar-element-separation); + } } .right-sidebar { diff --git a/assets/ts/codeblock.ts b/assets/ts/codeblock.ts new file mode 100644 index 0000000..08c3328 --- /dev/null +++ b/assets/ts/codeblock.ts @@ -0,0 +1,28 @@ +/** + * Copy button for code blocks +*/ +export default () => { + const copyButtons = document.querySelectorAll('.codeblock-copy'); + copyButtons.forEach(button => { + const codeblockID = button.getAttribute('data-id'), + copyText = button.textContent, + copiedText = button.getAttribute('data-copied-text'); + if (!codeblockID) return; + button.addEventListener('click', (e) => { + e.preventDefault(); + const codeblock = document.getElementById(codeblockID) as HTMLElement; + if (!codeblockID) return; + navigator.clipboard.writeText(codeblock.textContent) + .then(() => { + button.textContent = copiedText; + setTimeout(() => { + button.textContent = copyText; + }, 1000); + }) + .catch(err => { + alert(err) + console.log('Something went wrong', err); + }); + }, false); + }); +} \ No newline at end of file diff --git a/assets/ts/color.ts b/assets/ts/color.ts deleted file mode 100644 index 50581d1..0000000 --- a/assets/ts/color.ts +++ /dev/null @@ -1,63 +0,0 @@ -interface colorScheme { - hash: string, /// Regenerate color scheme when the image hash is changed - DarkMuted: { - hex: string, - rgb: Number[], - bodyTextColor: string - }, - Vibrant: { - hex: string, - rgb: Number[], - bodyTextColor: string - } -} - -let colorsCache: { [key: string]: colorScheme } = {}; - -if (localStorage.hasOwnProperty('StackColorsCache')) { - try { - colorsCache = JSON.parse(localStorage.getItem('StackColorsCache')); - } - catch (e) { - colorsCache = {}; - } -} - -async function getColor(key: string, hash: string, imageURL: string) { - if (!key) { - /** - * If no key is provided, do not cache the result - */ - return await Vibrant.from(imageURL).getPalette(); - } - - if (!colorsCache.hasOwnProperty(key) || colorsCache[key].hash !== hash) { - /** - * If key is provided, but not found in cache, or the hash mismatches => Regenerate color scheme - */ - const palette = await Vibrant.from(imageURL).getPalette(); - - colorsCache[key] = { - hash: hash, - Vibrant: { - hex: palette.Vibrant.hex, - rgb: palette.Vibrant.rgb, - bodyTextColor: palette.Vibrant.bodyTextColor - }, - DarkMuted: { - hex: palette.DarkMuted.hex, - rgb: palette.DarkMuted.rgb, - bodyTextColor: palette.DarkMuted.bodyTextColor - } - } - - /* Save the result in localStorage */ - localStorage.setItem('StackColorsCache', JSON.stringify(colorsCache)); - } - - return colorsCache[key]; -} - -export { - getColor -} \ No newline at end of file diff --git a/assets/ts/gallery.ts b/assets/ts/gallery.ts index 9840f1e..e0124d1 100644 --- a/assets/ts/gallery.ts +++ b/assets/ts/gallery.ts @@ -1,186 +1,92 @@ -declare global { - interface Window { - PhotoSwipe: any; - PhotoSwipeUI_Default: any +const wrap = (figures: HTMLElement[]) => { + const galleryContainer = document.createElement('div'); + galleryContainer.className = 'gallery'; + + const parentNode = figures[0].parentNode, + first = figures[0]; + + parentNode.insertBefore(galleryContainer, first) + + for (const figure of figures) { + galleryContainer.appendChild(figure); } } -interface PhotoSwipeItem { - w: number; - h: number; - src: string; - msrc: string; - title?: string; - el: HTMLElement; -} +export default (container: HTMLElement) => { + /// The process of wrapping image with figure tag is done using JavaScript instead of only Hugo markdown render hook + /// because it can not detect whether image is being wrapped by a link or not + /// and it lead to a invalid HTML construction (
) + const images = container.querySelectorAll('img.gallery-image') as NodeListOf; + for (const img of Array.from(images)) { + /// Images are wrapped with figure tag if the paragraph has only images without texts + /// This is done to allow inline images within paragraphs + const paragraph = img.closest('p'); -class StackGallery { - private galleryUID: number; - private items: PhotoSwipeItem[] = []; + if (!paragraph || !container.contains(paragraph)) continue; - constructor(container: HTMLElement, galleryUID = 1) { - if (window.PhotoSwipe == undefined || window.PhotoSwipeUI_Default == undefined) { - console.error("PhotoSwipe lib not loaded."); - return; + if (paragraph.textContent.trim() == '') { + /// Once we insert figcaption, this check no longer works + /// So we add a class to paragraph to mark it + paragraph.classList.add('no-text'); } - this.galleryUID = galleryUID; + let isNewLineImage = paragraph.classList.contains('no-text'); + if (!isNewLineImage) continue; - StackGallery.createGallery(container); - this.loadItems(container); - this.bindClick(); - } + const hasLink = img.parentElement.tagName == 'A'; - private loadItems(container: HTMLElement) { - this.items = []; + let el: HTMLElement = img; + /// Wrap image with figure tag, with flex-grow and flex-basis values extracted from img's data attributes + const figure = document.createElement('figure'); + figure.style.setProperty('flex-grow', img.getAttribute('data-flex-grow') || '1'); + figure.style.setProperty('flex-basis', img.getAttribute('data-flex-basis') || '0'); + if (hasLink) { + /// Wrap if it exists + el = img.parentElement; + } + el.parentElement.insertBefore(figure, el); + figure.appendChild(el); - const figures = container.querySelectorAll('figure.gallery-image'); + /// Add figcaption if it exists + if (img.hasAttribute('alt')) { + const figcaption = document.createElement('figcaption'); + figcaption.innerText = img.getAttribute('alt'); + figure.appendChild(figcaption); + } - for (const el of figures) { - const figcaption = el.querySelector('figcaption'), - img = el.querySelector('img'); + /// Wrap img tag with tag if image was not wrapped by tag + if (!hasLink) { + figure.className = 'gallery-image'; - let aux: PhotoSwipeItem = { - w: parseInt(img.getAttribute('width')), - h: parseInt(img.getAttribute('height')), - src: img.src, - msrc: img.getAttribute('data-thumb') || img.src, - el: el - } - - if (figcaption) { - aux.title = figcaption.innerHTML; - } - - this.items.push(aux); + const a = document.createElement('a'); + a.href = img.src; + a.setAttribute('target', '_blank'); + a.setAttribute('data-pswp-width', img.width.toString()); + a.setAttribute('data-pswp-height', img.height.toString()); + img.parentNode.insertBefore(a, img); + a.appendChild(img); } } - public static createGallery(container: HTMLElement) { - /// The process of wrapping image with figure tag is done using JavaScript instead of only Hugo markdown render hook - /// because it can not detect whether image is being wrapped by a link or not - /// and it lead to a invalid HTML construction (
) - - const images = container.querySelectorAll('img.gallery-image'); - for (const img of Array.from(images)) { - /// Images are wrapped with figure tag if the paragraph has only images without texts - /// This is done to allow inline images within paragraphs - const paragraph = img.closest('p'); - - if (!paragraph || !container.contains(paragraph)) continue; - - if (paragraph.textContent.trim() == '') { - /// Once we insert figcaption, this check no longer works - /// So we add a class to paragraph to mark it - paragraph.classList.add('no-text'); - } - - let isNewLineImage = paragraph.classList.contains('no-text'); - if (!isNewLineImage) continue; - - const hasLink = img.parentElement.tagName == 'A'; - - let el: HTMLElement = img; - /// Wrap image with figure tag, with flex-grow and flex-basis values extracted from img's data attributes - const figure = document.createElement('figure'); - figure.style.setProperty('flex-grow', img.getAttribute('data-flex-grow') || '1'); - figure.style.setProperty('flex-basis', img.getAttribute('data-flex-basis') || '0'); - if (hasLink) { - /// Wrap if it exists - el = img.parentElement; - } - el.parentElement.insertBefore(figure, el); - figure.appendChild(el); - - /// Add figcaption if it exists - if (img.hasAttribute('alt')) { - const figcaption = document.createElement('figcaption'); - figcaption.innerText = img.getAttribute('alt'); - figure.appendChild(figcaption); - } - - /// Wrap img tag with tag if image was not wrapped by tag - if (!hasLink) { - figure.className = 'gallery-image'; - - const a = document.createElement('a'); - a.href = img.src; - a.setAttribute('target', '_blank'); - img.parentNode.insertBefore(a, img); - a.appendChild(img); - } + const figuresEl = container.querySelectorAll('figure.gallery-image') as NodeListOf; + let currentGallery = []; + for (const figure of Array.from(figuresEl)) { + if (!currentGallery.length) { + /// First iteration + currentGallery = [figure]; } - - const figuresEl = container.querySelectorAll('figure.gallery-image'); - - let currentGallery = []; - - for (const figure of figuresEl) { - if (!currentGallery.length) { - /// First iteration - currentGallery = [figure]; - } - else if (figure.previousElementSibling === currentGallery[currentGallery.length - 1]) { - /// Adjacent figures - currentGallery.push(figure); - } - else if (currentGallery.length) { - /// End gallery - StackGallery.wrap(currentGallery); - currentGallery = [figure]; - } + else if (figure.previousElementSibling === currentGallery[currentGallery.length - 1]) { + /// Adjacent figures + currentGallery.push(figure); } - - if (currentGallery.length > 0) { - StackGallery.wrap(currentGallery); + else if (currentGallery.length) { + /// End gallery + wrap(currentGallery); + currentGallery = [figure]; } } - /** - * Wrap adjacent figure tags with div.gallery - * @param figures - */ - public static wrap(figures: HTMLElement[]) { - const galleryContainer = document.createElement('div'); - galleryContainer.className = 'gallery'; - - const parentNode = figures[0].parentNode, - first = figures[0]; - - parentNode.insertBefore(galleryContainer, first) - - for (const figure of figures) { - galleryContainer.appendChild(figure); - } + if (currentGallery.length > 0) { + wrap(currentGallery); } - - public open(index: number) { - const pswp = document.querySelector('.pswp') as HTMLDivElement; - const ps = new window.PhotoSwipe(pswp, window.PhotoSwipeUI_Default, this.items, { - index: index, - galleryUID: this.galleryUID, - getThumbBoundsFn: (index) => { - const thumbnail = this.items[index].el.getElementsByTagName('img')[0], - pageYScroll = window.pageYOffset || document.documentElement.scrollTop, - rect = thumbnail.getBoundingClientRect(); - - return { x: rect.left, y: rect.top + pageYScroll, w: rect.width }; - } - }); - - ps.init(); - } - - private bindClick() { - for (const [index, item] of this.items.entries()) { - const a = item.el.querySelector('a'); - - a.addEventListener('click', (e) => { - e.preventDefault(); - this.open(index); - }) - } - } -} - -export default StackGallery; \ No newline at end of file +}; \ No newline at end of file diff --git a/assets/ts/main.ts b/assets/ts/main.ts index f3160ae..0668c7c 100644 --- a/assets/ts/main.ts +++ b/assets/ts/main.ts @@ -5,8 +5,7 @@ * @website: https://jimmycai.com * @link: https://github.com/CaiJimmy/hugo-theme-stack */ -import StackGallery from "ts/gallery"; -import { getColor } from 'ts/color'; +import StackCodeBlock from "ts/codeblock"; import menu from 'ts/menu'; import createElement from 'ts/createElement'; import StackColorScheme from 'ts/colorScheme'; @@ -22,76 +21,12 @@ let Stack = { const articleContent = document.querySelector('.article-content') as HTMLElement; if (articleContent) { - new StackGallery(articleContent); setupSmoothAnchors(); setupScrollspy(); } - /** - * Add linear gradient background to tile style article - */ - const articleTile = document.querySelector('.article-list--tile'); - if (articleTile) { - let observer = new IntersectionObserver(async (entries, observer) => { - entries.forEach(entry => { - if (!entry.isIntersecting) return; - observer.unobserve(entry.target); - - const articles = entry.target.querySelectorAll('article.has-image'); - articles.forEach(async articles => { - const image = articles.querySelector('img'), - imageURL = image.src, - key = image.getAttribute('data-key'), - hash = image.getAttribute('data-hash'), - articleDetails: HTMLDivElement = articles.querySelector('.article-details'); - - const colors = await getColor(key, hash, imageURL); - - articleDetails.style.background = ` - linear-gradient(0deg, - rgba(${colors.DarkMuted.rgb[0]}, ${colors.DarkMuted.rgb[1]}, ${colors.DarkMuted.rgb[2]}, 0.5) 0%, - rgba(${colors.Vibrant.rgb[0]}, ${colors.Vibrant.rgb[1]}, ${colors.Vibrant.rgb[2]}, 0.75) 100%)`; - }) - }) - }); - - observer.observe(articleTile) - } - - - /** - * Add copy button to code block - */ - const highlights = document.querySelectorAll('.article-content div.highlight'); - const copyText = `Copy`, - copiedText = `Copied!`; - - highlights.forEach(highlight => { - const copyButton = document.createElement('button'); - copyButton.innerHTML = copyText; - copyButton.classList.add('copyCodeButton'); - highlight.appendChild(copyButton); - - const codeBlock = highlight.querySelector('code[data-lang]'); - if (!codeBlock) return; - - copyButton.addEventListener('click', () => { - navigator.clipboard.writeText(codeBlock.textContent) - .then(() => { - copyButton.textContent = copiedText; - - setTimeout(() => { - copyButton.textContent = copyText; - }, 1000); - }) - .catch(err => { - alert(err) - console.log('Something went wrong', err); - }); - }); - }); - new StackColorScheme(document.getElementById('dark-mode-toggle')); + StackCodeBlock(); } } diff --git a/config.yaml b/config.yaml deleted file mode 100644 index fcb4bcb..0000000 --- a/config.yaml +++ /dev/null @@ -1,143 +0,0 @@ -module: - hugoVersion: - extended: true - min: "0.87.0" - -params: - mainSections: - - post - featuredImageField: image - rssFullContent: true - favicon: - - footer: - since: - customText: - - dateFormat: - published: Jan 02, 2006 - lastUpdated: Jan 02, 2006 15:04 MST - - sidebar: - compact: false - emoji: - subtitle: - avatar: - enabled: true - local: true - src: img/avatar.png - - article: - math: false - toc: true - readingTime: true - license: - enabled: false - default: Licensed under CC BY-NC-SA 4.0 - - comments: - enabled: false - provider: disqus - - disqusjs: - shortname: - apiUrl: - apiKey: - admin: - adminLabel: - - utterances: - repo: - issueTerm: pathname - label: - - remark42: - host: - site: - locale: - - vssue: - platform: - owner: - repo: - clientId: - clientSecret: - autoCreateIssue: false - - # Waline client configuration see: https://waline.js.org/en/reference/client.html - waline: - serverURL: - lang: - visitor: - avatar: - emoji: - - https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo - requiredMeta: - - name - - email - - url - placeholder: - locale: - admin: Admin - - twikoo: - envId: - region: - path: - lang: - - giscus: - repo: - repoID: - category: - categoryID: - mapping: - strict: - lightTheme: - darkTheme: - reactionsEnabled: 1 - emitMetadata: 0 - inputPosition: - lang: - - gitalk: - owner: - admin: - repo: - clientID: - clientSecret: - - cusdis: - host: - id: - - widgets: - homepage: [] - page: [] - - opengraph: - twitter: - # Your Twitter username - site: - - # Available values: summary, summary_large_image - card: summary_large_image - - defaultImage: - opengraph: - enabled: false - local: false - src: - - colorScheme: - # Display toggle - toggle: true - - # Available values: auto, light, dark - default: auto - - imageProcessing: - cover: - enabled: true - content: - enabled: true diff --git a/config/_default/module.toml b/config/_default/module.toml new file mode 100644 index 0000000..cc14cd5 --- /dev/null +++ b/config/_default/module.toml @@ -0,0 +1,3 @@ +[hugoVersion] +extended = true +min = "0.100.0" \ No newline at end of file diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 0000000..a6bd7ce --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,52 @@ +# Theme's default configuration +mainSections = ["post"] +featuredImageField = "image" +rssFullContent = true + +[footer] + +[dateFormat] +published = "Jan 02, 2006" +lastUpdated = "Jan 02, 2006 15:04 MST" + +[sidebar] +compact = false + +[sidebar.avatar] +enabled = true +local = true +src = "img/avatar.png" + +[article] +math = false +toc = true +readingTime = true + +[article.license] +enabled = false +default = "Licensed under CC BY-NC-SA 4.0" + +[comments] +enabled = false +provider = "disqus" + +[widgets] +homepage = [] +page = [] + +[opengraph.twitter] +card = "summary_large_image" + +[defaultImage.opengraph] +enabled = false +local = false + +[colorScheme] +toggle = true +default = "auto" + +[imageProcessing.cover] +enabled = true + +[imageProcessing.content] +enabled = true diff --git a/data/external.yaml b/data/external.yaml index 777620d..269ef4c 100644 --- a/data/external.yaml +++ b/data/external.yaml @@ -1,25 +1,3 @@ -Vibrant: - - src: https://cdn.jsdelivr.net/npm/node-vibrant@3.1.6/dist/vibrant.min.js - integrity: sha256-awcR2jno4kI5X0zL8ex0vi2z+KMkF24hUW8WePSA9HM= - type: script - -PhotoSwipe: - - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js - integrity: sha256-ePwmChbbvXbsO02lbM3HoHbSHTHFAeChekF1xKJdleo= - type: script - defer: true - - - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js - integrity: sha256-UKkzOn/w1mBxRmLLGrSeyB4e1xbrp4xylgAWb3M42pU= - type: script - defer: true - - - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css - type: style - - - src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css - type: style - KaTeX: - src: https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.css integrity: sha256-J+iAE0sgH8QSz9hpcDxXIftnj65JEZgNhGcgReTTK9s= diff --git a/exampleSite/README.md b/exampleSite/README.md deleted file mode 100644 index 1b6d403..0000000 --- a/exampleSite/README.md +++ /dev/null @@ -1 +0,0 @@ -Example site modified from https://github.com/gohugoio/hugoBasicExample \ No newline at end of file diff --git a/exampleSite/assets/img/favicon.png b/exampleSite/assets/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..74e8efae1bb8bf261283ba836e1300e80b4cf77b GIT binary patch literal 1031 zcmV+i1o-=jP)Px&!AV3xR9HvFmrraIRUF4ZZ)P^8%RjYV5KO#KjKu_EG|?Le{shXwOH*7DY)k0L znAAX^DG3Q{?S)=AwduAHSZwOSi-yF+a8m*zhS->3q?#pK(=8N=l-haknK!djmg(-y zY+b`7d)oK=z0do--=FUjB>eiv2iLg^q6N#|E)ZKaybAhx-(1WJ_)VjK1TH%%_se6g zUH6l?7IBOE#)g`dw2uL8KttU6(*N@a#w^R}?`b=DE6S!Sz`*!;!=uFqS%LUaLn`6M zPc0L$sNszJ&^>XotLsrE9~A*kxT$(2a7xPXYKRSKroq^I$^*0oJ?akyrvaIXIYhR@+y@VQ+qU zJ?qkG%t9R#lETbg3is~CtkM(d)Y`YYTU+P7`UzHN^SRSNce%CJn(o~@utaRJcxJyB zXZZZubwuoXJ8DS+iK)1`}L}JraFWz zxAe3fzU3V)doeeHragRmB^5_oc4H#pN)_c0$FT_jrWPEI-)v;nng%w%@k%wj(cVmF zhwwVwqVs3C$(T(8fTSUi)04<6quiN;_DdF6f_-i8RJ)RSC*`ge*?cYoTnKOC0Vu`M zy){H23?Kyi_E!Y}B@Y;YVW2Y#AZY~L=}A<11mXZ7CqBuKe6P`O)-wWyIp{D~5Cb3( z*F`ozQUu*tj|c=gP?!^RToSPWAZE-JxPV>X2qXnSMgx?}Fli11Ww=xY@i|}sBCep; zK2WLxlLMvK%zqXkdSEbpYA7Di)0*#vb8SBmu z9>53jN$3wF1JHMFs7X6^#c^x~l9H15)eTex>jNWGgeNQ<+s3hBq6i;-Q@s=V zIwIud^?coD-xv!CdpSJ zd5gN5C=DF`U$Pu1+HtZxfOw`4lK{e(>CPzu|M6+2&!kgpdjlCBzPebwZ4|STZtag# z7_(g2-*fQr${wd-(vo;>0ivJhN?vxJ(}|zw{{r2`R|fRB=x+c3002ovPDHLkV1gf| B+MNIZ literal 0 HcmV?d00001 diff --git a/exampleSite/assets/img/logo.jpg b/exampleSite/assets/img/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..145804ecd0f0bd39b70b904a6105e24a63e3cd3a GIT binary patch literal 21951 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 -The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). - -To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g. - -

🙈 :see_no_evil: 🙉 :hear_no_evil: 🙊 :speak_no_evil:

-
- -The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. - -*** - -**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. - -{{< highlight html >}} -.emoji { - font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; -} -{{< /highlight >}} - -{{< css.inline >}} - -{{< /css.inline >}} diff --git a/exampleSite/content/post/emoji-support/the-creative-exchange-d2zvqp3fpro-unsplash.jpg b/exampleSite/content/post/emoji-support/the-creative-exchange-d2zvqp3fpro-unsplash.jpg deleted file mode 100644 index e34a59dba9f555f5d0fb25296c5aa76098cf5593..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35369 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

v9EV5W@LrwY7jbSgcD|U?s4!}a} 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 DX>Mr7 diff --git a/exampleSite/content/post/markdown-syntax/index.md b/exampleSite/content/post/markdown-syntax/index.md index 0254cca..752a655 100644 --- a/exampleSite/content/post/markdown-syntax/index.md +++ b/exampleSite/content/post/markdown-syntax/index.md @@ -42,12 +42,12 @@ Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sap The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. -#### Blockquote without attribution +### Blockquote without attribution > Tiam, ad mint andaepu dandae nostion secatur sequo quae. > **Note** that you can use *Markdown syntax* within a blockquote. -#### Blockquote with attribution +### Blockquote with attribution > Don't communicate by sharing memory, share memory by communicating.
> — Rob Pike[^1] @@ -63,7 +63,7 @@ Tables aren't part of the core Markdown spec, but Hugo supports supports them ou Bob | 27 Alice | 23 -#### Inline Markdown within tables +### Inline Markdown within tables | Italics | Bold | Code | | -------- | -------- | ------ | @@ -74,8 +74,7 @@ Tables aren't part of the core Markdown spec, but Hugo supports supports them ou | Lorem ipsum dolor sit amet, consectetur adipiscing elit. | Phasellus ultricies, sapien non euismod aliquam, dui ligula tincidunt odio, at accumsan nulla sapien eget ex. | Proin eleifend dictum ipsum, non euismod ipsum pulvinar et. Vivamus sollicitudin, quam in pulvinar aliquam, metus elit pretium purus | Proin sit amet velit nec enim imperdiet vehicula. | Ut bibendum vestibulum quam, eu egestas turpis gravida nec | Sed scelerisque nec turpis vel viverra. Vivamus vitae pretium sapien | ## Code Blocks - -#### Code block with backticks +### Code block with backticks ```html @@ -90,7 +89,7 @@ Tables aren't part of the core Markdown spec, but Hugo supports supports them ou ``` -#### Code block indented with four spaces +### Code block indented with four spaces @@ -103,21 +102,7 @@ Tables aren't part of the core Markdown spec, but Hugo supports supports them ou -#### Code block with Hugo's internal highlight shortcode -{{< highlight html >}} - - - - - Example HTML5 Document - - -

Test

- - -{{< /highlight >}} - -#### Diff code block +### Diff code block ```diff [dependencies.bevy] @@ -127,21 +112,27 @@ rev = "11f52b8c72fc3a568e8bb4a4cd1f3eb025ac2e13" + features = ["jpeg", "dynamic"] ``` +### One line code block + +```html +

A paragraph

+``` + ## List Types -#### Ordered List +### Ordered List 1. First item 2. Second item 3. Third item -#### Unordered List +### Unordered List * List item * Another item * And another item -#### Nested list +### Nested list * Fruit * Apple diff --git a/go.mod b/go.mod index 63df635..e75e573 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module github.com/CaiJimmy/hugo-theme-stack/v3 +module github.com/CaiJimmy/hugo-theme-stack/v4 go 1.17 diff --git a/i18n/ar.yaml b/i18n/ar.yaml index 63101aa..61e0262 100644 --- a/i18n/ar.yaml +++ b/i18n/ar.yaml @@ -1,74 +1,45 @@ -toggleMenu: - other: اخفي القائمة +toggleMenu: اخفي القائمة -darkMode: - other: الوضع الداكن +darkMode: الوضع الداكن list: page: one: "{{ .Count }} صفحه" other: "{{ .Count }} صفحات" - - section: - other: قسم - + section: قسم subsection: one: قسم فرعي other: اقسام فرعية article: - back: - other: خلف - - tableOfContents: - other: جدول المحتويات - - relatedContent: - other: محتوى مشابهه - - lastUpdatedOn: - other: التعديل الاخير - + back: خلف + tableOfContents: جدول المحتويات + relatedContent: محتوى مشابهه + lastUpdatedOn: التعديل الاخير readingTime: one: "تُقرأ خلال دقيقة" other: "تُقرأ خلال {{ .Count }} دقائق" notFound: - title: - other: غير موجود - - subtitle: - other: تعذر العثور على الصفحة المطلوبة. + title: غير موجود + subtitle: تعذر العثور على الصفحة المطلوبة. widget: archives: - title: - other: الارشيفات - - more: - other: اكثر + title: الارشيفات + more: اكثر tagCloud: - title: - other: وسوم - + title: وسوم + categoriesCloud: - title: - other: التصنيفات + title: التصنيفات search: - title: - other: بحث - - placeholder: - other: اكتب... - - resultTitle: - other: "#PAGES_COUNT نتيجة (#TIME_SECONDS ثواني)" + title: بحث + placeholder: اكتب... + resultTitle: "#PAGES_COUNT نتيجة (#TIME_SECONDS ثواني)" footer: - builtWith: - other: "مبني بستخدام {{ .Generator }}" - - designedBy: - other: "قالب {{ .Theme }} مصمم من {{ .DesignedBy }}" + builtWith: "مبني بستخدام {{ .Generator }}" + designedBy: "قالب {{ .Theme }} مصمم من {{ .DesignedBy }}" diff --git a/i18n/bn.yaml b/i18n/bn.yaml index 36f25a3..0e3e511 100644 --- a/i18n/bn.yaml +++ b/i18n/bn.yaml @@ -1,73 +1,52 @@ -toggleMenu: - other: টগল মেনু +toggleMenu: টগল মেনু -darkMode: - other: ডার্ক মোড +darkMode: ডার্ক মোড list: page: one: "{{ .Count }} পাতা" other: "{{ .Count }} পাতা" - section: - other: অনুচ্ছেদ + section: অনুচ্ছেদ subsection: one: উপ-অনুচ্ছেদ other: উপ-অনুচ্ছেদ article: - back: - other: পেছনে + back: পেছনে - tableOfContents: - other: সূচিপত্র + tableOfContents: সূচিপত্র - relatedContent: - other: সম্পর্কিত বিষয়বস্তু + relatedContent: সম্পর্কিত বিষয়বস্তু - lastUpdatedOn: - other: সর্বশেষ আপডেট করা হয়েছে + lastUpdatedOn: সর্বশেষ আপডেট করা হয়েছে readingTime: one: "{{ .Count }} মিনিটে পড়া যাবে" other: "{{ .Count }} মিনিটে পড়া যাবে" notFound: - title: - other: পাওয়া যায়নি + title: পাওয়া যায়নি - subtitle: - other: এই পাতাটি বিদ্যমান নেই + subtitle: এই পাতাটি বিদ্যমান নেই widget: archives: - title: - other: আর্কাইভ - - more: - other: আরও - + title: আর্কাইভ + more: আরও tagCloud: - title: - other: ট্যাগ + title: ট্যাগ categoriesCloud: - title: - other: বিভাগ + title: বিভাগ search: - title: - other: অনুসন্ধান + title: অনুসন্ধান - placeholder: - other: কিছু টাইপ করুন... + placeholder: কিছু টাইপ করুন... - resultTitle: - other: "#PAGES_COUNT পাতা (#TIME_SECONDS সেকেন্ড)" + resultTitle: "#PAGES_COUNT পাতা (#TIME_SECONDS সেকেন্ড)" footer: - builtWith: - other: "{{ .Generator }} দিয়ে নির্মিত" - - designedBy: - other: "থিম {{ .Theme }} ডিজাইন করেছেন {{ .DesignedBy }}" + builtWith: "{{ .Generator }} দিয়ে নির্মিত" + designedBy: "থিম {{ .Theme }} ডিজাইন করেছেন {{ .DesignedBy }}" diff --git a/i18n/ca.yaml b/i18n/ca.yaml index af4167e..da2428b 100644 --- a/i18n/ca.yaml +++ b/i18n/ca.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: Toggle Menu +toggleMenu: Toggle Menu -darkMode: - other: Mode fosc +darkMode: Mode fosc list: page: one: "{{ .Count }} pàgina" other: "{{ .Count }} pàgines" - - section: - other: Secció - + section: Secció subsection: one: Subsecció other: Subseccions article: - back: - other: Tornar - - tableOfContents: - other: Taula de contingut - - relatedContent: - other: Continguts relacionats - - lastUpdatedOn: - other: Última vegada actualitzat - + back: Tornar + tableOfContents: Taula de contingut + relatedContent: Continguts relacionats + lastUpdatedOn: Última vegada actualitzat readingTime: one: "{{ .Count }} minut a llegir" other: "{{ .Count }} minuts a llegir" notFound: - title: - other: No Trobat - - subtitle: - other: Aquesta pàgina no existeix + title: No Trobat + subtitle: Aquesta pàgina no existeix widget: archives: - title: - other: Arxiu - - more: - other: Més - + title: Arxiu + more: Més tagCloud: - title: - other: Etiquetes + title: Etiquetes categoriesCloud: - title: - other: Categories + title: Categories search: - title: - other: Cerca - - placeholder: - other: Tecleja alguna cosa... - - resultTitle: - other: "#PAGES_COUNT pàgines en (#TIME_SECONDS segons)" + title: Cerca + placeholder: Tecleja alguna cosa... + resultTitle: "#PAGES_COUNT pàgines en (#TIME_SECONDS segons)" footer: - builtWith: - other: Creat amb {{ .Generator }} - - designedBy: - other: Tema {{ .Theme }} dissenyat per {{ .DesignedBy }} + builtWith: Creat amb {{ .Generator }} + designedBy: Tema {{ .Theme }} dissenyat per {{ .DesignedBy }} diff --git a/i18n/de.yaml b/i18n/de.yaml index 7ab5b56..ff0e351 100644 --- a/i18n/de.yaml +++ b/i18n/de.yaml @@ -1,74 +1,43 @@ -toggleMenu: - other: Menü umschalten +toggleMenu: Menü umschalten -darkMode: - other: Dunkler Modus +darkMode: Dunkler Modus list: page: one: "{{ .Count }} Seite" other: "{{ .Count }} Seiten" - - section: - other: Abschnitt - + section: Abschnitt subsection: one: Unterabschnitt other: Unterabschnitte article: - back: - other: Zurück - - tableOfContents: - other: Inhaltsverzeichnis - - relatedContent: - other: Verwandte Inhalte - - lastUpdatedOn: - other: Zuletzt aktualisiert am - + back: Zurück + tableOfContents: Inhaltsverzeichnis + relatedContent: Verwandte Inhalte + lastUpdatedOn: Zuletzt aktualisiert am readingTime: one: "{{ .Count }} Minute Lesezeit" other: "{{ .Count }} Minuten Lesezeit" notFound: - title: - other: Seite nicht gefunden - - subtitle: - other: Diese Seite existiert nicht + title: Seite nicht gefunden + subtitle: Diese Seite existiert nicht widget: archives: - title: - other: Archiv - - more: - other: Weitere - + title: Archiv + more: Weitere tagCloud: - title: - other: Schlagwörter - + title: Schlagwörter categoriesCloud: - title: - other: Kategorien + title: Kategorien search: - title: - other: Suche - - placeholder: - other: Etwas tippen... - - resultTitle: - other: "#PAGES_COUNT Seiten (#TIME_SECONDS Sekunden)" + title: Suche + placeholder: Etwas tippen... + resultTitle: "#PAGES_COUNT Seiten (#TIME_SECONDS Sekunden)" footer: - builtWith: - other: Erstellt mit {{ .Generator }} - - designedBy: - other: Theme {{ .Theme }} gestaltet von {{ .DesignedBy }} + builtWith: Erstellt mit {{ .Generator }} + designedBy: Theme {{ .Theme }} gestaltet von {{ .DesignedBy }} diff --git a/i18n/el.yaml b/i18n/el.yaml index 27a147d..486914a 100644 --- a/i18n/el.yaml +++ b/i18n/el.yaml @@ -1,70 +1,41 @@ -toggleMenu: - other: Εναλλαγή Μενού +toggleMenu: Εναλλαγή Μενού -darkMode: - other: Σκοτεινό θέμα +darkMode: Σκοτεινό θέμα list: page: one: "{{ .Count }} σελιδα" other: "{{ .Count }} σελιδες" - - section: - other: Ενότητα - + section: Ενότητα subsection: one: Υποενότητα other: Υποενότητες article: - back: - other: Πισω - - tableOfContents: - other: Πινακας περιεχομενων - - relatedContent: - other: Σχετικο περιεχομενο - - lastUpdatedOn: - other: Τελευταια τροποποιηση στις - + back: Πισω + tableOfContents: Πινακας περιεχομενων + relatedContent: Σχετικο περιεχομενο + lastUpdatedOn: Τελευταια τροποποιηση στις readingTime: one: "{{ .Count }} λεπτό ανάγνωσης" - ### Seems that there's no need to add 's' even if it's plural in English other: "{{ .Count }} λεπτά ανάγνωσης" notFound: - title: - other: Δε βρέθηκε - subtitle: - other: Η σελίδα δε βρέθηκε. + title: Δε βρέθηκε + subtitle: Η σελίδα δε βρέθηκε. widget: archives: - title: - other: Αρχειο - - more: - other: Περισσότερα - + title: Αρχειο + more: Περισσότερα tagCloud: - title: - other: Tags + title: Tags search: - title: - other: Αναζήτηση - - placeholder: - other: Πληκτρολογήστε κάτι... - - resultTitle: - other: "#PAGES_COUNT σελιδες (#TIME_SECONDS δευτερολεπτα)" + title: Αναζήτηση + placeholder: Πληκτρολογήστε κάτι... + resultTitle: "#PAGES_COUNT σελιδες (#TIME_SECONDS δευτερολεπτα)" footer: - builtWith: - other: Δημιουργήθηκε με τη χρήση {{ .Generator }} - - designedBy: - other: Το θέμα {{ .Theme }} σχεδιάστηκε από το {{ .DesignedBy }} + builtWith: Δημιουργήθηκε με τη χρήση {{ .Generator }} + designedBy: Το θέμα {{ .Theme }} σχεδιάστηκε από το {{ .DesignedBy }} diff --git a/i18n/en.yaml b/i18n/en.yaml index fb07328..3f94ab1 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -1,73 +1,46 @@ -toggleMenu: - other: Toggle Menu +toggleMenu: Toggle Menu -darkMode: - other: Dark Mode +darkMode: Dark Mode list: page: one: "{{ .Count }} page" other: "{{ .Count }} pages" - - section: - other: Section - + section: Section subsection: one: Subsection other: Subsections article: - back: - other: Back - - tableOfContents: - other: Table of contents - - relatedContent: - other: Related content - - lastUpdatedOn: - other: Last updated on - + back: Back + tableOfContents: Table of contents + relatedContent: Related content + lastUpdatedOn: Last updated on readingTime: one: "{{ .Count }} minute read" other: "{{ .Count }} minute read" + codeblock: + copy: Copy + copied: Copied! notFound: - title: - other: Not Found - - subtitle: - other: This page does not exist + title: Not Found + subtitle: This page does not exist widget: archives: - title: - other: Archives - - more: - other: More - + title: Archives + more: More tagCloud: - title: - other: Tags + title: Tags categoriesCloud: - title: - other: Categories + title: Categories search: - title: - other: Search - - placeholder: - other: Type something... - - resultTitle: - other: "#PAGES_COUNT pages (#TIME_SECONDS seconds)" + title: Search + placeholder: Type something... + resultTitle: "#PAGES_COUNT pages (#TIME_SECONDS seconds)" footer: - builtWith: - other: Built with {{ .Generator }} - - designedBy: - other: Theme {{ .Theme }} designed by {{ .DesignedBy }} + builtWith: Built with {{ .Generator }} + designedBy: Theme {{ .Theme }} designed by {{ .DesignedBy }} diff --git a/i18n/es.yaml b/i18n/es.yaml index 76995da..5614e98 100644 --- a/i18n/es.yaml +++ b/i18n/es.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: Toggle Menu +toggleMenu: Toggle Menu -darkMode: - other: Modo oscuro +darkMode: Modo oscuro list: page: one: "{{ .Count }} página" other: "{{ .Count }} páginas" - - section: - other: Sección - + section: Sección subsection: one: Subsección other: Subsecciones article: - back: - other: Volver - - tableOfContents: - other: Tabla de contenido - - relatedContent: - other: Contenidos relacionados - - lastUpdatedOn: - other: Última vez actualizado - + back: Volver + tableOfContents: Tabla de contenido + relatedContent: Contenidos relacionados + lastUpdatedOn: Última vez actualizado readingTime: one: "{{ .Count }} minuto a leer" other: "{{ .Count }} minutos a leer" notFound: - title: - other: No Encontrado - - subtitle: - other: Esta página no existe + title: No Encontrado + subtitle: Esta página no existe widget: archives: - title: - other: Archivo - - more: - other: Más - + title: Archivo + more: Más tagCloud: - title: - other: Etiquetas + title: Etiquetas categoriesCloud: - title: - other: Categorías + title: Categorías search: - title: - other: Búsqueda - - placeholder: - other: Teclea algo... - - resultTitle: - other: "#PAGES_COUNT páginas en (#TIME_SECONDS segundos)" + title: Búsqueda + placeholder: Teclea algo... + resultTitle: "#PAGES_COUNT páginas en (#TIME_SECONDS segundos)" footer: - builtWith: - other: Creado con {{ .Generator }} - - designedBy: - other: Tema {{ .Theme }} diseñado por {{ .DesignedBy }} + builtWith: Creado con {{ .Generator }} + designedBy: Tema {{ .Theme }} diseñado por {{ .DesignedBy }} diff --git a/i18n/fa.yaml b/i18n/fa.yaml index 3655757..9de30b5 100644 --- a/i18n/fa.yaml +++ b/i18n/fa.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: منو +toggleMenu: منو -darkMode: - other: حالت شب +darkMode: حالت شب list: page: one: "{{ .Count }} صفحه" other: "{{ .Count }} صفحه" - - section: - other: بخش - + section: بخش subsection: one: زیربخش other: زیربخش article: - back: - other: قبلی - - tableOfContents: - other: فهرست - - relatedContent: - other: مطالب مرتبط - - lastUpdatedOn: - other: آخرین بروزرسانی در - + back: قبلی + tableOfContents: فهرست + relatedContent: مطالب مرتبط + lastUpdatedOn: آخرین بروزرسانی در readingTime: one: "مطالعه در {{ .Count }} دقیقه" other: "مطالعه در {{ .Count }} دقیقه" notFound: - title: - other: یافت نشد - - subtitle: - other: این صحه وجود ندارد + title: یافت نشد + subtitle: این صحه وجود ندارد widget: archives: - title: - other: آرشیو - - more: - other: بیشتر - + title: آرشیو + more: بیشتر tagCloud: - title: - other: تگ ها + title: تگ ها categoriesCloud: - title: - other: دسته بندی + title: دسته بندی search: - title: - other: جستجو - - placeholder: - other: تایپ کنید ... - - resultTitle: - other: "#PAGES_COUNT صفحه (#TIME_SECONDS ثانیه)" + title: جستجو + placeholder: تایپ کنید ... + resultTitle: "#PAGES_COUNT صفحه (#TIME_SECONDS ثانیه)" footer: - builtWith: - other: قدرت گرفته از {{ .Generator }} - - designedBy: - other: قالب {{ .Theme }} ساخته شده توسط {{ .DesignedBy }} + builtWith: قدرت گرفته از {{ .Generator }} + designedBy: قالب {{ .Theme }} ساخته شده توسط {{ .DesignedBy }} diff --git a/i18n/fr.yaml b/i18n/fr.yaml index c3feb1d..f18805c 100644 --- a/i18n/fr.yaml +++ b/i18n/fr.yaml @@ -1,69 +1,41 @@ -toggleMenu: - other: Afficher le menu +toggleMenu: Afficher le menu -darkMode: - other: Mode sombre +darkMode: Mode sombre list: page: one: "{{ .Count }} page" other: "{{ .Count }} pages" - - section: - other: Section - + section: Section subsection: one: Sous-section other: Sous-sections article: - back: - other: Retour - - tableOfContents: - other: Table des matières - - relatedContent: - other: Contenus liés - - lastUpdatedOn: - other: Dernière mise à jour le - + back: Retour + tableOfContents: Table des matières + relatedContent: Contenus liés + lastUpdatedOn: Dernière mise à jour le readingTime: one: "{{ .Count }} minute de lecture" other: "{{ .Count }} minutes de lecture" notFound: - title: - other: Page non trouvée - subtitle: - other: Cette page n'existe pas. + title: Page non trouvée + subtitle: Cette page n'existe pas. widget: archives: - title: - other: Archives - - more: - other: Autres - + title: Archives + more: Autres tagCloud: - title: - other: Mots clés + title: Mots clés search: - title: - other: Rechercher - - placeholder: - other: Cherchez un article, une publication, etc. - - resultTitle: - other: "#PAGES_COUNT pages (#TIME_SECONDS secondes)" + title: Rechercher + placeholder: Cherchez un article, une publication, etc. + resultTitle: "#PAGES_COUNT pages (#TIME_SECONDS secondes)" footer: - builtWith: - other: Généré avec {{ .Generator }} - - designedBy: - other: Thème {{ .Theme }} conçu par {{ .DesignedBy }} + builtWith: Généré avec {{ .Generator }} + designedBy: Thème {{ .Theme }} conçu par {{ .DesignedBy }} diff --git a/i18n/hu.yaml b/i18n/hu.yaml index 5e5af92..0e8c6e5 100644 --- a/i18n/hu.yaml +++ b/i18n/hu.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: Menü Kapcsolása +toggleMenu: Menü Kapcsolása -darkMode: - other: Sötét Mód +darkMode: Sötét Mód list: page: one: "{{ .Count }} oldal" other: "{{ .Count }} oldalak" - - section: - other: Szekció - + section: Szekció subsection: one: Alszekció other: Alszekciók article: - back: - other: Vissza - - tableOfContents: - other: Tartalomjegyzék - - relatedContent: - other: Kapcsolódó tartalom - - lastUpdatedOn: - other: Utolsó frissítés időpontja - + back: Vissza + tableOfContents: Tartalomjegyzék + relatedContent: Kapcsolódó tartalom + lastUpdatedOn: Utolsó frissítés időpontja readingTime: one: "{{ .Count }} percnyi olvasmány" other: "{{ .Count }} percnyi olvasmány" notFound: - title: - other: Nem található - - subtitle: - other: Ez az oldal nem létezik + title: Nem található + subtitle: Ez az oldal nem létezik widget: archives: - title: - other: Archívum - - more: - other: Több - + title: Archívum + more: Több tagCloud: - title: - other: Cimkék + title: Cimkék categoriesCloud: - title: - other: Kategóriák + title: Kategóriák search: - title: - other: Keresés - - placeholder: - other: Írj valamit... - - resultTitle: - other: "#PAGES_COUNT oldal (#TIME_SECONDS másodperc alatt)" + title: Keresés + placeholder: Írj valamit... + resultTitle: "#PAGES_COUNT oldal (#TIME_SECONDS másodperc alatt)" footer: - builtWith: - other: "{{ .Generator }} használatával készült" - - designedBy: - other: A {{ .Theme }} dizájnt {{ .DesignedBy }} tervezte + builtWith: "{{ .Generator }} használatával készült" + designedBy: A {{ .Theme }} dizájnt {{ .DesignedBy }} tervezte diff --git a/i18n/id.yaml b/i18n/id.yaml index 8104351..42e9461 100644 --- a/i18n/id.yaml +++ b/i18n/id.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: Tampilkan Menu +toggleMenu: Tampilkan Menu -darkMode: - other: Mode Gelap +darkMode: Mode Gelap list: page: one: "{{ .Count }} halaman" other: "{{ .Count }} halaman" - - section: - other: Bagian - + section: Bagian subsection: one: Subbagian other: Subbagian article: - back: - other: Kembali - - tableOfContents: - other: Daftar Isi - - relatedContent: - other: Konten terkait - - lastUpdatedOn: - other: Terakhir diperbarui pada - + back: Kembali + tableOfContents: Daftar Isi + relatedContent: Konten terkait + lastUpdatedOn: Terakhir diperbarui pada readingTime: one: "Waktu Membaca: {{ .Count }} menit" other: "Waktu Membaca: {{ .Count }} menit" notFound: - title: - other: Tidak ditemukan - subtitle: - other: Halaman yang Anda akses tidak ditemukan. + title: Tidak ditemukan + subtitle: Halaman yang Anda akses tidak ditemukan. widget: archives: - title: - other: Arsip - - more: - other: Lebih - + title: Arsip + more: Lebih tagCloud: - title: - other: Tag - + title: Tag categoriesCloud: - title: - other: Kategori + title: Kategori search: - title: - other: Cari - - placeholder: - other: Ketik sesuatu... - - resultTitle: - other: "#PAGES_COUNT halaman (#TIME_SECONDS detik)" + title: Cari + placeholder: Ketik sesuatu... + resultTitle: "#PAGES_COUNT halaman (#TIME_SECONDS detik)" footer: - builtWith: - other: Dibangun dengan {{ .Generator }} - - designedBy: - other: Tema {{ .Theme }} dirancang oleh {{ .DesignedBy }} + builtWith: Dibangun dengan {{ .Generator }} + designedBy: Tema {{ .Theme }} dirancang oleh {{ .DesignedBy }} diff --git a/i18n/it.yaml b/i18n/it.yaml index 0cbeeab..81f3fb4 100644 --- a/i18n/it.yaml +++ b/i18n/it.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: Toggle Menu +toggleMenu: Toggle Menu -darkMode: - other: Dark Mode +darkMode: Dark Mode list: page: one: "{{ .Count }} pagina" other: "{{ .Count }} pagine" - - section: - other: Sezione - + section: Sezione subsection: one: Sottosezione other: Sottosezioni article: - back: - other: Indietro - - tableOfContents: - other: Indice - - relatedContent: - other: Contenuti correlati - - lastUpdatedOn: - other: Aggiornato il - + back: Indietro + tableOfContents: Indice + relatedContent: Contenuti correlati + lastUpdatedOn: Aggiornato il readingTime: one: "{{ .Count }} min per leggere" other: "{{ .Count }} min per leggere" notFound: - title: - other: Non trovato - subtitle: - other: Questa pagina non esiste. + title: Non trovato + subtitle: Questa pagina non esiste. widget: archives: - title: - other: Archivi - - more: - other: Di più - + title: Archivi + more: Di più tagCloud: - title: - other: Tags - + title: Tags categoriesCloud: - title: - other: Categorie + title: Categorie search: - title: - other: Cerca - - placeholder: - other: Scrivi qualcosa... - - resultTitle: - other: "#PAGES_COUNT pagine (#TIME_SECONDS secondi)" + title: Cerca + placeholder: Scrivi qualcosa... + resultTitle: "#PAGES_COUNT pagine (#TIME_SECONDS secondi)" footer: - builtWith: - other: Realizzato con {{ .Generator }} - - designedBy: - other: Tema {{ .Theme }} realizzato da {{ .DesignedBy }} + builtWith: Realizzato con {{ .Generator }} + designedBy: Tema {{ .Theme }} realizzato da {{ .DesignedBy }} diff --git a/i18n/ja.yaml b/i18n/ja.yaml index 40380fd..4a1c85f 100644 --- a/i18n/ja.yaml +++ b/i18n/ja.yaml @@ -1,60 +1,32 @@ -toggleMenu: - other: メニューを開く・閉じる +toggleMenu: メニューを開く・閉じる -darkMode: - other: ダークモード +darkMode: ダークモード article: - back: - other: 前のページ - - tableOfContents: - other: 目次 - - relatedContent: - other: 関連するコンテンツ - - lastUpdatedOn: - other: 最終更新 - - readingTime: - other: "読了時間: {{ .Count }}分" + back: 前のページ + tableOfContents: 目次 + relatedContent: 関連するコンテンツ + lastUpdatedOn: 最終更新 + readingTime: "読了時間: {{ .Count }}分" notFound: - title: - other: 404 Not Found - subtitle: - other: 指定されたページは存在しません。 + title: 404 Not Found + subtitle: 指定されたページは存在しません。 widget: archives: - title: - other: アーカイブ - - more: - other: さらに見る - + title: アーカイブ + more: さらに見る tagCloud: - title: - other: タグ - + title: タグ categoriesCloud: - title: - other: カテゴリ + title: カテゴリ search: - title: - other: 検索 - - placeholder: - other: 入力... - - resultTitle: - other: "#PAGES_COUNT 件 (#TIME_SECONDS 秒)" + title: 検索 + placeholder: 入力... + resultTitle: "#PAGES_COUNT 件 (#TIME_SECONDS 秒)" footer: - builtWith: - other: Built with {{ .Generator }} - - designedBy: - other: テーマ {{ .Theme }} は {{ .DesignedBy }} によって設計されています。 + builtWith: Built with {{ .Generator }} + designedBy: テーマ {{ .Theme }} は {{ .DesignedBy }} によって設計されています。 diff --git a/i18n/ko.yaml b/i18n/ko.yaml index 11cdc4a..05c0530 100644 --- a/i18n/ko.yaml +++ b/i18n/ko.yaml @@ -1,72 +1,45 @@ -toggleMenu: - other: 메뉴 여닫기 +toggleMenu: 메뉴 여닫기 -darkMode: - other: 다크 모드 +darkMode: 다크 모드 list: page: one: "{{ .Count }} 페이지" other: "{{ .Count }} 페이지" - - section: - other: 섹션 - + section: 섹션 subsection: one: 서브섹션 other: 서브섹션 article: - back: - other: 뒤로가기 - - tableOfContents: - other: 목차 - - relatedContent: - other: 관련 글 - - lastUpdatedOn: - other: "마지막 수정: " - + back: 뒤로가기 + tableOfContents: 목차 + relatedContent: 관련 글 + lastUpdatedOn: "마지막 수정: " readingTime: one: "{{ .Count }} 분 정도" other: "{{ .Count }} 분 정도" notFound: - title: - other: 찾을 수 없음 - - subtitle: - other: 페이지를 찾을 수 없습니다. + title: 찾을 수 없음 + subtitle: 페이지를 찾을 수 없습니다. widget: archives: - title: - other: 보관함 - more: - other: 더보기 + title: 보관함 + more: 더보기 categoriesCloud: - title: - other: 카테고리 + title: 카테고리 tagCloud: - title: - other: 태그 + title: 태그 search: - title: - other: 검색 - - placeholder: - other: 검색어를 입력하세요... - - resultTitle: - other: "#PAGES_COUNT 페이지 (#TIME_SECONDS 초)" + title: 검색 + placeholder: 검색어를 입력하세요... + resultTitle: "#PAGES_COUNT 페이지 (#TIME_SECONDS 초)" footer: - builtWith: - other: "{{ .Generator }}로 만듦" - designedBy: - other: "{{ .DesignedBy }}의 {{ .Theme }} 테마 사용 중" + builtWith: "{{ .Generator }}로 만듦" + designedBy: "{{ .DesignedBy }}의 {{ .Theme }} 테마 사용 중" diff --git a/i18n/nl.yaml b/i18n/nl.yaml index a814232..620d915 100644 --- a/i18n/nl.yaml +++ b/i18n/nl.yaml @@ -1,57 +1,38 @@ -toggleMenu: - other: Open Menu +toggleMenu: Open Menu -darkMode: - other: Donkere modus +darkMode: Donkere modus list: page: one: "{{ .Count }} pagina" other: "{{ .Count }} pagina's" - - section: - other: Sectie - + section: Sectie subsection: one: Subsectie other: Subsecties article: - relatedContent: - other: Gerelateerde inhoud - lastUpdatedOn: - other: Laatst bijgewerkt op + relatedContent: Gerelateerde inhoud + lastUpdatedOn: Laatst bijgewerkt op notFound: - title: - other: Niet gevonden - subtitle: - other: Deze pagina bestaat niet. + title: Niet gevonden + subtitle: Deze pagina bestaat niet. widget: archives: - title: - other: Archief - more: - other: Meer + title: Archief + more: Meer tagCloud: - title: - other: Tags - + title: Tags categoriesCloud: - title: - other: Categorie + title: Categorie search: - title: - other: Zoeken - placeholder: - other: Typ iets - resultTitle: - other: "#PAGES_COUNT pagina's (#TIME_SECONDS seconden)" + title: Zoeken + placeholder: Typ iets + resultTitle: "#PAGES_COUNT pagina's (#TIME_SECONDS seconden)" footer: - builtWith: - other: Gemaakt met {{ .Generator }} - designedBy: - other: Theme {{ .Theme }} ontworpen door {{ .DesignedBy }} + builtWith: Gemaakt met {{ .Generator }} + designedBy: Theme {{ .Theme }} ontworpen door {{ .DesignedBy }} diff --git a/i18n/pl.yaml b/i18n/pl.yaml index e44a140..767eb64 100644 --- a/i18n/pl.yaml +++ b/i18n/pl.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: Przełącz Menu +toggleMenu: Przełącz Menu -darkMode: - other: Tryb ciemny +darkMode: Tryb ciemny list: page: one: "{{ .Count }} strona" other: "{{ .Count }} stron" - - section: - other: Sekcja - + section: Sekcja subsection: one: Podsekcja other: Podsekcje article: - back: - other: Wróć - - tableOfContents: - other: Spis treści - - relatedContent: - other: Powiązane artykuły - - lastUpdatedOn: - other: Ostatnio zaktualizowany - + back: Wróć + tableOfContents: Spis treści + relatedContent: Powiązane artykuły + lastUpdatedOn: Ostatnio zaktualizowany readingTime: one: "Przeczytasz w {{ .Count }} minutę" other: "Przeczytasz w {{ .Count }} minut" notFound: - title: - other: Nie znaleziono - subtitle: - other: Ta strona nie istnieje + title: Nie znaleziono + subtitle: Ta strona nie istnieje widget: archives: - title: - other: Archiwum - - more: - other: Więcej - + title: Archiwum + more: Więcej tagCloud: - title: - other: Tagi - + title: Tagi categoriesCloud: - title: - other: Kategorie + title: Kategorie search: - title: - other: Szukaj - - placeholder: - other: Wpisz coś... - - resultTitle: - other: "#PAGES_COUNT stron (#TIME_SECONDS sekund)" + title: Szukaj + placeholder: Wpisz coś... + resultTitle: "#PAGES_COUNT stron (#TIME_SECONDS sekund)" footer: - builtWith: - other: Zbudowano z {{ .Generator }} - - designedBy: - other: Motyw {{ .Theme }} zaprojektowany przez {{ .DesignedBy }} + builtWith: Zbudowano z {{ .Generator }} + designedBy: Motyw {{ .Theme }} zaprojektowany przez {{ .DesignedBy }} diff --git a/i18n/pt-br.yaml b/i18n/pt-br.yaml index 2784f3d..b1235cb 100644 --- a/i18n/pt-br.yaml +++ b/i18n/pt-br.yaml @@ -1,67 +1,45 @@ -toggleMenu: - other: Alternar Menu +toggleMenu: Alternar Menu -darkMode: - other: Modo Escuro +darkMode: Modo Escuro list: page: one: "{{ .Count }} página" other: "{{ .Count }} páginas" - - section: - other: Seção - + section: Seção subsection: one: Subseção other: Subseções article: - back: - other: Voltar - - tableOfContents: - other: Índice - - relatedContent: - other: Conteúdo relacionado - - lastUpdatedOn: - other: Última atualização em - + back: Voltar + tableOfContents: Índice + relatedContent: Conteúdo relacionado + lastUpdatedOn: Última atualização em readingTime: one: "{{ .Count }} minuto de leitura" other: "{{ .Count }} minutos de leitura" notFound: - title: - other: Não Encontrado - subtitle: - other: Esta página não existe. + title: Não Encontrado + subtitle: Esta página não existe. widget: archives: - title: - other: Arquivos - more: - other: Mais + title: Arquivos + more: Mais + tagCloud: - title: - other: Tags + title: Tags + categoriesCloud: - title: - other: Categorias + title: Categorias search: - title: - other: Busca - placeholder: - other: Digite algo... - resultTitle: - other: "#PAGES_COUNT páginas (#TIME_SECONDS segundos)" + title: Busca + placeholder: Digite algo... + resultTitle: "#PAGES_COUNT páginas (#TIME_SECONDS segundos)" footer: - builtWith: - other: Criado com {{ .Generator }} - designedBy: - other: Tema {{ .Theme }} desenvolvido por {{ .DesignedBy }} + builtWith: Criado com {{ .Generator }} + designedBy: Tema {{ .Theme }} desenvolvido por {{ .DesignedBy }} diff --git a/i18n/ru.yaml b/i18n/ru.yaml index b1f1e51..d04e8a3 100644 --- a/i18n/ru.yaml +++ b/i18n/ru.yaml @@ -1,8 +1,6 @@ -toggleMenu: - other: Показать/скрыть меню +toggleMenu: Показать/скрыть меню -darkMode: - other: Тёмный режим +darkMode: Тёмный режим list: page: @@ -10,10 +8,7 @@ list: few: "{{ .Count }} страницы" many: "{{ .Count }} страниц" other: "{{ .Count }} страниц" - - section: - other: Раздел - + section: Раздел subsection: one: Подраздел few: Подразделы @@ -21,43 +16,28 @@ list: other: Подразделы article: - back: - other: Назад - relatedContent: - other: Также рекомендуем - lastUpdatedOn: - other: Обновлено - tableOfContents: - other: Содержание - readingTime: - other: "Время чтения: {{ .Count }} мин." + back: Назад + relatedContent: Также рекомендуем + lastUpdatedOn: Обновлено + tableOfContents: Содержание + readingTime: "Время чтения: {{ .Count }} мин." notFound: - title: - other: Не найдено - subtitle: - other: Запрашиваемая страница не существует + title: Не найдено + subtitle: Запрашиваемая страница не существует widget: archives: - title: - other: Архивы - more: - other: Ещё + title: Архивы + more: Ещё tagCloud: - title: - other: Теги + title: Теги search: - title: - other: Поиск - placeholder: - other: Введите что-нибудь... - resultTitle: - other: "Найдено #PAGES_COUNT страниц (за #TIME_SECONDS с.)" + title: Поиск + placeholder: Введите что-нибудь... + resultTitle: "Найдено #PAGES_COUNT страниц (за #TIME_SECONDS с.)" footer: - builtWith: - other: Создано при помощи {{ .Generator }} - designedBy: - other: Тема {{ .Theme }}, дизайн {{ .DesignedBy }} + builtWith: Создано при помощи {{ .Generator }} + designedBy: Тема {{ .Theme }}, дизайн {{ .DesignedBy }} diff --git a/i18n/th.yaml b/i18n/th.yaml index 9982c06..81e54d3 100644 --- a/i18n/th.yaml +++ b/i18n/th.yaml @@ -1,70 +1,41 @@ -toggleMenu: - other: สลับเมนู +toggleMenu: สลับเมนู -darkMode: - other: ธีมมืด +darkMode: ธีมมืด list: page: one: "{{ .Count }} หน้า" other: "{{ .Count }} หน้า" - - section: - other: หมวดหมู่ - + section: หมวดหมู่ subsection: one: หมวดหมู่ย่อย other: หมวดหมู่ย่อยอื่นๆ article: - back: - other: กลับไป - - tableOfContents: - other: สารบัญ - - relatedContent: - other: เนื้อหาคล้ายคลึงกัน - - lastUpdatedOn: - other: อัปเดตล่าสุดเมื่อ - + back: กลับไป + tableOfContents: สารบัญ + relatedContent: เนื้อหาคล้ายคลึงกัน + lastUpdatedOn: อัปเดตล่าสุดเมื่อ readingTime: one: "น่าจะใช้เวลา {{ .Count }} นาทีในการอ่าน" other: "น่าจะใช้เวลา {{ .Count }} นาทีในการอ่าน" notFound: - title: - other: ไม่พบหัวข้อ - - subtitle: - other: ไม่พบหน้านี้ในระบบ + title: ไม่พบหัวข้อ + subtitle: ไม่พบหน้านี้ในระบบ widget: archives: - title: - other: เนื้อหาที่เก็บถาวรแล้ว - - more: - other: อื่นๆ นอกจากนี้ - + title: เนื้อหาที่เก็บถาวรแล้ว + more: อื่นๆ นอกจากนี้ tagCloud: - title: - other: แท็ก + title: แท็ก search: - title: - other: ค้นหา - - placeholder: - other: พิมพ์เพื่อค้นหา ... - - resultTitle: - other: "#PAGES_COUNT pages (#TIME_SECONDS seconds)" + title: ค้นหา + placeholder: พิมพ์เพื่อค้นหา ... + resultTitle: "#PAGES_COUNT pages (#TIME_SECONDS seconds)" footer: - builtWith: - other: ถูกสร้างด้วย {{ .Generator }} - - designedBy: - other: ธีม {{ .Theme }} ออกแบบโดย {{ .DesignedBy }} + builtWith: ถูกสร้างด้วย {{ .Generator }} + designedBy: ธีม {{ .Theme }} ออกแบบโดย {{ .DesignedBy }} diff --git a/i18n/tr.yaml b/i18n/tr.yaml index 2dbb9d5..0df564a 100644 --- a/i18n/tr.yaml +++ b/i18n/tr.yaml @@ -1,53 +1,36 @@ -toggleMenu: - other: Menüyü Gizle +toggleMenu: Menüyü Gizle -darkMode: - other: Koyu Mod +darkMode: Koyu Mod list: page: one: "{{ .Count }} makale" other: "{{ .Count }} makale" - - section: - other: Bölüm - + section: Bölüm subsection: one: Alt bölüm other: Alt bölümler article: - relatedContent: - other: Alakalı içerikler - lastUpdatedOn: - other: Son güncelleme + relatedContent: Alakalı içerikler + lastUpdatedOn: Son güncelleme notFound: - title: - other: Bulunamadı - subtitle: - other: Aradığınız sayfa mevcut değil. + title: Bulunamadı + subtitle: Aradığınız sayfa mevcut değil. widget: archives: - title: - other: Arşiv - more: - other: Daha fazla + title: Arşiv + more: Daha fazla tagCloud: - title: - other: Etiketler + title: Etiketler search: - title: - other: Arama - placeholder: - other: Birşeyler yazın... - resultTitle: - other: "#PAGES_COUNT sayfa (#TIME_SECONDS saniye)" + title: Arama + placeholder: Birşeyler yazın... + resultTitle: "#PAGES_COUNT sayfa (#TIME_SECONDS saniye)" footer: - builtWith: - other: "{{ .Generator }} ile oluşturuldu." - designedBy: - other: "{{ .Theme }} teması {{ .DesignedBy }} tarafından tasarlandı" + builtWith: "{{ .Generator }} ile oluşturuldu." + designedBy: "{{ .Theme }} teması {{ .DesignedBy }} tarafından tasarlandı" diff --git a/i18n/uk.yaml b/i18n/uk.yaml index 3bd4f71..2e29e26 100644 --- a/i18n/uk.yaml +++ b/i18n/uk.yaml @@ -1,71 +1,42 @@ -toggleMenu: - other: Показати меню +toggleMenu: Показати меню -darkMode: - other: Темна тема +darkMode: Темна тема list: page: one: "{{ .Count }} сторінка" few: "{{ .Count }} сторінки" other: "{{ .Count }} сторінок" - - section: - other: Секція - + section: Секція subsection: one: Підсекція other: Підсекції article: - back: - other: Назад - - tableOfContents: - other: Зміст - - relatedContent: - other: Схожі матеріали - - lastUpdatedOn: - other: Востаннє оновлено - + back: Назад + tableOfContents: Зміст + relatedContent: Схожі матеріали + lastUpdatedOn: Востаннє оновлено readingTime: one: "Час читання: {{ .Count }} хв" other: "Час читання: {{ .Count }} хв" notFound: - title: - other: Не знайдено - - subtitle: - other: Ця сторінка не існує + title: Не знайдено + subtitle: Ця сторінка не існує widget: archives: - title: - other: Архіви - - more: - other: Більше - + title: Архіви + more: Більше tagCloud: - title: - other: Теґи + title: Теґи search: - title: - other: Пошук - - placeholder: - other: Напишіть що-небудь... - - resultTitle: - other: "#PAGES_COUNT сторінок (#TIME_SECONDS секунд)" + title: Пошук + placeholder: Напишіть що-небудь... + resultTitle: "#PAGES_COUNT сторінок (#TIME_SECONDS секунд)" footer: - builtWith: - other: Створено з {{ .Generator }} - - designedBy: - other: Тема {{ .Theme }}, дизайн {{ .DesignedBy }} + builtWith: Створено з {{ .Generator }} + designedBy: Тема {{ .Theme }}, дизайн {{ .DesignedBy }} diff --git a/i18n/zh-cn.yaml b/i18n/zh-cn.yaml index 9350c2b..e744d08 100644 --- a/i18n/zh-cn.yaml +++ b/i18n/zh-cn.yaml @@ -1,60 +1,32 @@ -toggleMenu: - other: 切换菜单 +toggleMenu: 切换菜单 -darkMode: - other: 暗色模式 +darkMode: 暗色模式 article: - back: - other: 返回 - - tableOfContents: - other: 目录 - - relatedContent: - other: 相关文章 - - lastUpdatedOn: - other: 最后更新于 - - readingTime: - other: "阅读时长: {{ .Count }} 分钟" + back: 返回 + tableOfContents: 目录 + relatedContent: 相关文章 + lastUpdatedOn: 最后更新于 + readingTime: "阅读时长: {{ .Count }} 分钟" notFound: - title: - other: 404 错误 - subtitle: - other: 页面不存在 + title: 404 错误 + subtitle: 页面不存在 widget: archives: - title: - other: 归档 - - more: - other: 更多 - + title: 归档 + more: 更多 tagCloud: - title: - other: 标签云 - + title: 标签云 categoriesCloud: - title: - other: 分类 + title: 分类 search: - title: - other: 搜索 - - placeholder: - other: 输入关键词... - - resultTitle: - other: "#PAGES_COUNT 个结果 (用时 #TIME_SECONDS 秒)" + title: 搜索 + placeholder: 输入关键词... + resultTitle: "#PAGES_COUNT 个结果 (用时 #TIME_SECONDS 秒)" footer: - builtWith: - other: Built with {{ .Generator }} - - designedBy: - other: 主题 {{ .Theme }} 由 {{ .DesignedBy }} 设计 + builtWith: Built with {{ .Generator }} + designedBy: 主题 {{ .Theme }} 由 {{ .DesignedBy }} 设计 diff --git a/i18n/zh-hk.yaml b/i18n/zh-hk.yaml index 9e3c246..4f701ba 100644 --- a/i18n/zh-hk.yaml +++ b/i18n/zh-hk.yaml @@ -1,73 +1,43 @@ -toggleMenu: - other: 切換選單 +toggleMenu: 切換選單 -darkMode: - other: 深色模式 +darkMode: 深色模式 list: page: one: "第 {{ .Count }} 頁" other: "第 {{ .Count }} 頁" - - section: - other: Section - + section: Section subsection: one: Subsection other: Subsections article: - back: - other: 返回 - - tableOfContents: - other: 目錄 - - relatedContent: - other: 相關內容 - - lastUpdatedOn: - other: 上次改過於 - + back: 返回 + tableOfContents: 目錄 + relatedContent: 相關內容 + lastUpdatedOn: 上次改過於 readingTime: one: "需要 {{ .Count }} 分鐘閱讀" other: "需要 {{ .Count }} 分鐘閱讀" notFound: - title: - other: Not Found - - subtitle: - other: 頁面不存在 + title: Not Found + subtitle: 頁面不存在 widget: archives: - title: - other: Archives - - more: - other: 更多 - + title: Archives + more: 更多 tagCloud: - title: - other: Tags + title: Tags categoriesCloud: - title: - other: Categories + title: Categories search: - title: - other: 搜尋 - - placeholder: - other: Type 關鍵字... - - resultTitle: - other: "#PAGES_COUNT pages (#TIME_SECONDS seconds)" + title: 搜尋 + placeholder: Type 關鍵字... + resultTitle: "#PAGES_COUNT pages (#TIME_SECONDS seconds)" footer: - builtWith: - other: Built with {{ .Generator }} - - designedBy: - other: 主題 {{ .Theme }} 由 {{ .DesignedBy }} 設計 + builtWith: Built with {{ .Generator }} + designedBy: 主題 {{ .Theme }} 由 {{ .DesignedBy }} 設計 diff --git a/i18n/zh-tw.yaml b/i18n/zh-tw.yaml index d9e124e..8c1acee 100644 --- a/i18n/zh-tw.yaml +++ b/i18n/zh-tw.yaml @@ -1,49 +1,26 @@ -toggleMenu: - other: 切換選單 +toggleMenu: 切換選單 -darkMode: - other: 夜晚模式 +darkMode: 夜晚模式 article: - back: - other: 返回 - - tableOfContents: - other: 目錄 - - relatedContent: - other: 相關文章 - - lastUpdatedOn: - other: 最後更新 - - readingTime: - other: "閱讀時間: {{ .Count }} 分鐘" + back: 返回 + tableOfContents: 目錄 + relatedContent: 相關文章 + lastUpdatedOn: 最後更新 + readingTime: "閱讀時間: {{ .Count }} 分鐘" notFound: - title: - other: 404 錯誤 - subtitle: - other: 頁面不存在 + title: 404 錯誤 + subtitle: 頁面不存在 widget: archives: - title: - other: 紀錄 - - more: - other: 更多 - + title: 紀錄 + more: 更多 tagCloud: - title: - other: 標籤雲 + title: 標籤雲 search: - title: - other: 搜尋 - - placeholder: - other: 輸入關鍵字... - - resultTitle: - other: "#PAGES_COUNT 個結果 (用時 #TIME_SECONDS 秒)" + title: 搜尋 + placeholder: 輸入關鍵字... + resultTitle: "#PAGES_COUNT 個結果 (用時 #TIME_SECONDS 秒)" diff --git a/layouts/_default/_markup/render-codeblock.html b/layouts/_default/_markup/render-codeblock.html new file mode 100644 index 0000000..21c5100 --- /dev/null +++ b/layouts/_default/_markup/render-codeblock.html @@ -0,0 +1,20 @@ +{{- $class := .Attributes.class | default "" -}} +{{- $lang := .Attributes.lang | default .Type -}} +
+
+ {{ $lang }} + +
+ + {{- if transform.CanHighlight $lang -}} +
{{- highlight .Inner $lang -}}
+ {{- else -}} +
{{- .Inner -}}
+ {{- end -}} +
diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html index 0ed5584..5577736 100644 --- a/layouts/_default/_markup/render-image.html +++ b/layouts/_default/_markup/render-image.html @@ -17,7 +17,7 @@ {{- $Height = $image.Height -}} {{- $galleryImage = true -}} - {{- if (default true .Page.Site.Params.imageProcessing.content.enabled) -}} + {{- if .Page.Site.Params.imageProcessing.content.enabled -}} {{- $small := $image.Resize `480x` -}} {{- $big := $image.Resize `1024x` -}} {{- $Srcset = printf `%s 480w, %s 1024w` $small.RelPermalink $big.RelPermalink -}} diff --git a/layouts/_default/archives.html b/layouts/_default/archives.html index 5d5243c..9df633e 100644 --- a/layouts/_default/archives.html +++ b/layouts/_default/archives.html @@ -16,10 +16,8 @@ {{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }} - {{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }} - {{ $filtered := ($pages | intersect $notHidden) }} - - {{ range $filtered.GroupByDate "2006" }} + + {{ range $pages.GroupByDate "2006" }} {{ $id := lower (replace .Key " " "-") }}

{{ .Key }}

diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 9bc618d..4e1e0b5 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -25,7 +25,7 @@ {{- $Width := $image.resource.Width -}} {{- $Height := $image.resource.Height -}} - {{- if (default true .Page.Site.Params.imageProcessing.cover.enabled) -}} + {{- if .Page.Site.Params.imageProcessing.cover.enabled -}} {{- $thumbnail := $image.resource.Fill "120x120" -}} {{- $Permalink = $thumbnail.RelPermalink -}} {{- $Width = $thumbnail.Width -}} diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml index e9f3f1a..0d3170e 100644 --- a/layouts/_default/rss.xml +++ b/layouts/_default/rss.xml @@ -6,7 +6,6 @@ {{- else -}} {{- $pages = $pctx.Pages -}} {{- end -}} -{{- $pages := where $pages "Params.hidden" "!=" true -}} {{- $limit := .Site.Config.Services.RSS.Limit -}} {{- if ge $limit 1 -}} {{- $pages = $pages | first $limit -}} diff --git a/layouts/index.html b/layouts/index.html index 0cd0b88..5c1eaa5 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,9 +1,6 @@ {{ define "main" }} {{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }} - {{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }} - {{ $filtered := ($pages | intersect $notHidden) }} - {{ $pag := .Paginate ($filtered) }} - + {{ $pag := .Paginate ($pages) }}
{{ range $index, $element := $pag.Pages }} {{ partial "article-list/default" . }} diff --git a/layouts/page/search.json b/layouts/page/search.json index 5d4e627..a0f5184 100644 --- a/layouts/page/search.json +++ b/layouts/page/search.json @@ -1,16 +1,13 @@ {{- $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections -}} -{{- $notHidden := where .Site.RegularPages "Params.hidden" "!=" true -}} -{{- $filtered := ($pages | intersect $notHidden) -}} - {{- $result := slice -}} -{{- range $filtered -}} +{{- range $pages -}} {{- $data := dict "title" .Title "date" .Date "permalink" .Permalink "content" (.Plain) -}} {{- $image := partialCached "helper/image" (dict "Context" . "Type" "articleList") .RelPermalink "articleList" -}} {{- if $image.exists -}} {{- $imagePermalink := "" -}} - {{- if and $image.resource (default true .Page.Site.Params.imageProcessing.cover.enabled) -}} + {{- if and $image.resource .Page.Site.Params.imageProcessing.cover.enabled -}} {{- $thumbnail := $image.resource.Fill "120x120" -}} {{- $imagePermalink = (absURL $thumbnail.Permalink) -}} {{- else -}} diff --git a/layouts/partials/article-list/compact.html b/layouts/partials/article-list/compact.html index 376512a..edd58a0 100644 --- a/layouts/partials/article-list/compact.html +++ b/layouts/partials/article-list/compact.html @@ -19,7 +19,7 @@ {{- $Width := $image.resource.Width -}} {{- $Height := $image.resource.Height -}} - {{- if (default true .Page.Site.Params.imageProcessing.cover.enabled) -}} + {{- if .Page.Site.Params.imageProcessing.cover.enabled -}} {{- $thumbnail := $image.resource.Fill "120x120" -}} {{- $Permalink = $thumbnail.RelPermalink -}} {{- $Width = $thumbnail.Width -}} diff --git a/layouts/partials/article/components/header.html b/layouts/partials/article/components/header.html index 7582ec2..78b41bd 100644 --- a/layouts/partials/article/components/header.html +++ b/layouts/partials/article/components/header.html @@ -9,7 +9,7 @@ {{- $Height := $image.resource.Height -}} {{- $Srcset := "" -}} - {{- if (default true .Page.Site.Params.imageProcessing.cover.enabled) -}} + {{- if .Page.Site.Params.imageProcessing.cover.enabled -}} {{- $thumbnail := $image.resource.Resize "800x" -}} {{- $thumbnailRetina := $image.resource.Resize "1600x" -}} {{- $Srcset = printf "%s 800w, %s 1600w" $thumbnail.RelPermalink $thumbnailRetina.RelPermalink -}} diff --git a/layouts/partials/article/components/photoswipe.html b/layouts/partials/article/components/photoswipe.html index c33ff49..425825c 100644 --- a/layouts/partials/article/components/photoswipe.html +++ b/layouts/partials/article/components/photoswipe.html @@ -1,68 +1,20 @@ - -