\ No newline at end of file
diff --git a/public/categories/index.html b/public/categories/index.html
new file mode 100644
index 0000000..c53e1ed
--- /dev/null
+++ b/public/categories/index.html
@@ -0,0 +1 @@
+Categories | Freedoms4
\ No newline at end of file
diff --git a/public/categories/index.xml b/public/categories/index.xml
new file mode 100644
index 0000000..2856078
--- /dev/null
+++ b/public/categories/index.xml
@@ -0,0 +1 @@
+Categories on Freedoms4http://localhost:1313/categories/Recent content in Categories on Freedoms4Hugoen-usTue, 11 Nov 2025 02:50:36 +0530Non-Techhttp://localhost:1313/categories/non-tech/Tue, 11 Nov 2025 02:50:36 +0530http://localhost:1313/categories/non-tech/
\ No newline at end of file
diff --git a/public/categories/non-tech/index.html b/public/categories/non-tech/index.html
new file mode 100644
index 0000000..28d5c06
--- /dev/null
+++ b/public/categories/non-tech/index.html
@@ -0,0 +1,4 @@
+Non-Tech | Freedoms4
\ No newline at end of file
diff --git a/public/index.xml b/public/index.xml
new file mode 100644
index 0000000..3046baa
--- /dev/null
+++ b/public/index.xml
@@ -0,0 +1 @@
+Freedoms4http://localhost:1313/Recent content on Freedoms4Hugoen-usTue, 11 Nov 2025 02:50:36 +0530First Posthttp://localhost:1313/posts/first-post/Tue, 11 Nov 2025 02:50:36 +0530http://localhost:1313/posts/first-post/<p>This is the first post of the site!</p>
\ No newline at end of file
diff --git a/public/page/1/index.html b/public/page/1/index.html
new file mode 100644
index 0000000..132c0da
--- /dev/null
+++ b/public/page/1/index.html
@@ -0,0 +1 @@
+http://localhost:1313/
\ No newline at end of file
diff --git a/public/posts/first-post/index.html b/public/posts/first-post/index.html
new file mode 100644
index 0000000..0c798a3
--- /dev/null
+++ b/public/posts/first-post/index.html
@@ -0,0 +1 @@
+First Post | Freedoms4
\ No newline at end of file
diff --git a/public/posts/index.html b/public/posts/index.html
new file mode 100644
index 0000000..05d6324
--- /dev/null
+++ b/public/posts/index.html
@@ -0,0 +1 @@
+Posts | Freedoms4
\ No newline at end of file
diff --git a/public/posts/index.xml b/public/posts/index.xml
new file mode 100644
index 0000000..33b347e
--- /dev/null
+++ b/public/posts/index.xml
@@ -0,0 +1 @@
+Posts on Freedoms4http://localhost:1313/posts/Recent content in Posts on Freedoms4Hugoen-usTue, 11 Nov 2025 02:50:36 +0530First Posthttp://localhost:1313/posts/first-post/Tue, 11 Nov 2025 02:50:36 +0530http://localhost:1313/posts/first-post/<p>This is the first post of the site!</p>
\ No newline at end of file
diff --git a/public/posts/page/1/index.html b/public/posts/page/1/index.html
new file mode 100644
index 0000000..9932823
--- /dev/null
+++ b/public/posts/page/1/index.html
@@ -0,0 +1 @@
+http://localhost:1313/posts/
\ No newline at end of file
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000..500fb97
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1 @@
+http://localhost:1313/categories/2025-11-11T02:50:36+05:30http://localhost:1313/posts/first-post/2025-11-11T02:50:36+05:30http://localhost:1313/tags/first-post/2025-11-11T02:50:36+05:30http://localhost:1313/2025-11-11T02:50:36+05:30http://localhost:1313/categories/non-tech/2025-11-11T02:50:36+05:30http://localhost:1313/posts/2025-11-11T02:50:36+05:30http://localhost:1313/tags/2025-11-11T02:50:36+05:30
\ No newline at end of file
diff --git a/public/tags/first-post/index.html b/public/tags/first-post/index.html
new file mode 100644
index 0000000..096a115
--- /dev/null
+++ b/public/tags/first-post/index.html
@@ -0,0 +1,4 @@
+First-Post | Freedoms4
\ No newline at end of file
diff --git a/public/tags/first-post/index.xml b/public/tags/first-post/index.xml
new file mode 100644
index 0000000..f941cff
--- /dev/null
+++ b/public/tags/first-post/index.xml
@@ -0,0 +1 @@
+First-Post on Freedoms4http://localhost:1313/tags/first-post/Recent content in First-Post on Freedoms4Hugoen-usTue, 11 Nov 2025 02:50:36 +0530First Posthttp://localhost:1313/posts/first-post/Tue, 11 Nov 2025 02:50:36 +0530http://localhost:1313/posts/first-post/<p>This is the first post of the site!</p>
\ No newline at end of file
diff --git a/public/tags/index.html b/public/tags/index.html
new file mode 100644
index 0000000..325d9c6
--- /dev/null
+++ b/public/tags/index.html
@@ -0,0 +1 @@
+Tags | Freedoms4
\ No newline at end of file
diff --git a/public/tags/index.xml b/public/tags/index.xml
new file mode 100644
index 0000000..348b641
--- /dev/null
+++ b/public/tags/index.xml
@@ -0,0 +1 @@
+Tags on Freedoms4http://localhost:1313/tags/Recent content in Tags on Freedoms4Hugoen-usTue, 11 Nov 2025 02:50:36 +0530First-Posthttp://localhost:1313/tags/first-post/Tue, 11 Nov 2025 02:50:36 +0530http://localhost:1313/tags/first-post/
\ No newline at end of file
diff --git a/themes/hugo-theme-yue b/themes/hugo-theme-yue
deleted file mode 160000
index 93a438f..0000000
--- a/themes/hugo-theme-yue
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 93a438fbca0f7a4a6deeca3b8e201abb26c13e1d
diff --git a/themes/hugo-theme-yue/CHANGELOG.md b/themes/hugo-theme-yue/CHANGELOG.md
new file mode 100644
index 0000000..50162ea
--- /dev/null
+++ b/themes/hugo-theme-yue/CHANGELOG.md
@@ -0,0 +1,169 @@
+
+
+## 2025-05-13
+
+Rename `single-end.html` to `page-end.html`.
+
+---
+
+Rename `_partials/single/` to `_partials/page/`.
+
+## 2025-05-10
+
+Rename `single.html` to `page.html`.
+
+---
+
+Split `list.html` into `section.html`, `taxonomy.html` and `term.html`, so templates are more understandable.
+
+## 2025-05-06
+
+Adapt to the new template system introduced by Hugo 0.146.0 . It's recommended to upgrade Hugo to 0.147.1 or newer version.
+
+`layouts/partials/` has been renamed to `layouts/_partials/`. If you have customized partial files in your site, you will need to rename them accordingly. For example, rename `layouts/partials/head/head-start.html` to `layouts/_partials/head/head-start.html`.
+
+## 2025-02-26
+
+Support Arabic and improve French translation.
+
+## 2025-01-01
+
+Remove leading zero in Chinese dateFormat. Example: 2019年3月09日 -> 2019年3月9日.
+
+## 2024-10-31
+
+Add `_index.md` for sections.
+
+## 2024-10-25
+
+Add `head-start.html` and `body-end.html`.
+
+---
+
+Rename `comments_custom.html` to `single-end.html`. If you have `comments_custom.html`, you need to rename it accordingly.
+
+---
+
+Rename `head/custom.html` to `head/head-end.html`. If you have `head/custom.html`, you need to rename it accordingly.
+
+---
+
+Rename `_custom-*.scss` to `_style-*.scss`. If you have custom SCSS files, you need to rename them accordingly.
+
+---
+
+Move SCSS partial for faster CSS loading.
+
+---
+
+Rename `/assets/sass/` to `/assets/scss/`. If you have custom SCSS files, you need to rename them accordingly.
+
+---
+
+Remove unused JavaScript code.
+
+## 2024-10-24
+
+Add the page count to sections (`/posts/`, `/tags/`, etc.).
+
+## 2024-10-18
+
+Fix cell alignment in the table render hook. You need to upgrade Hugo to v0.136.0 .
+
+Relevant issue: [Markdown render hook for tables doesn't recognize unset column alignment · Issue #12886 · gohugoio/hugo](https://github.com/gohugoio/hugo/issues/12886).
+
+## 2024-10-09
+
+Add class names for terms of a taxonomy, e.g., tags and categories. You can arrange terms into rows using this SCSS code:
+
+```scss
+.term-list {
+ &__item {
+ display: inline-block;
+ }
+
+ &__link {
+ text-decoration-line: underline;
+ }
+}
+```
+
+## 2024-09-22
+
+Break long words in lists to avoid overflowing.
+
+## 2024-09-20
+
+Only break long words for headings (`
~
`) and paragraphs (`
`).
+
+---
+
+Replace `word-break: break-word;` with `overflow-wrap: break-word;` since the former is deprecated in [CSS Text Module Level 3](https://drafts.csswg.org/css-text-3/#valdef-word-break-break-word).
+
+> For compatibility with legacy content, the word-break property also supports a deprecated break-word keyword. When specified, this has the same effect as word-break: normal and overflow-wrap: anywhere, regardless of the actual value of the overflow-wrap property.
+
+---
+
+Use table render hook to add wrapper. Users need to upgrade Hugo to 0.134.2 .
+
+## 2024-09-11
+
+Add support for French.
+
+## 2024-09-06
+
+Set padding-inline to 0.25rem for inline code.
+
+## 2024-07-31
+
+Set the font size of the code block to 0.875rem (85% of the base font size).
+
+---
+
+Add padding to code block (https://github.com/CyrusYip/hugo-theme-yue/issues/7).
+
+## 2024-07-30
+
+Font size of footer is set to `smaller` (about 83.33%).
+
+## 2024-07-29
+
+Use fullwidth colon (`:`) for zh-CN in translation list. Example: `中文:文章 3`.
+
+---
+
+Apply BEM naming to translation list classes.
+
+```html
+
+```
+
+---
+
+Rename `i18n_list.html` to `translation_list.html`.
+
+---
+
+Add classes to links inside the page nav.
+
+```html
+
+```
+
+## 2024-07-28
+
+Table of contents is folded by default now. If you want folded one, set `params.tocFolded` to `true` in your config file.
+
+```yaml
+# hugo.yaml
+params:
+ toc: true
+ tocFolded: true
+```
diff --git a/themes/hugo-theme-yue/LICENSE b/themes/hugo-theme-yue/LICENSE
new file mode 100644
index 0000000..53c67b2
--- /dev/null
+++ b/themes/hugo-theme-yue/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Cyrus Yip
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/themes/hugo-theme-yue/README.md b/themes/hugo-theme-yue/README.md
new file mode 100644
index 0000000..93fb619
--- /dev/null
+++ b/themes/hugo-theme-yue/README.md
@@ -0,0 +1,376 @@
+# Yue
+
+**[Demo website](https://yue.cyrusyip.org/)** | [Changelog](CHANGELOG.md)
+
+Yue is a minimal, multilingual and customizable Hugo theme, suitable for blogging.
+
+## Screenshots
+
+Screenshots may be outdated, so it's better to visit the [demo website](https://yue.cyrusyip.org/).
+
+
+ Light mode on desktop
+
+ 
+
+
+
+ Dark mode on desktop
+
+ 
+
+
+
+ Light mode on mobile
+
+ 
+
+
+
+ Dark mode on mobile
+
+ 
+
+
+
+## Features
+
+- Minimal appearance
+- Easy to install (with Git and Hugo installed, create a website in a few seconds)
+- Detailed documentation
+- Automatic dark mode
+- Multilingual
+ - Translation list in single page
+ - Language selector (go to corresponding page or homepage)
+- Multiple authors
+- Table of Content (foldable, only generated when available)
+- Modification date on home page, single page, section page and term page
+- Custom date format
+- Pagination on home page and section page
+- Full-text RSS
+- Tags and categories
+- Copyright notice (author and year span can be set)
+- RSS link
+- Heading anchor link
+- Mobile-first and responsive
+- SCSS
+- Search engine optimization
+ - [Microdata](https://developer.mozilla.org/en-US/docs/Web/HTML/Microdata)
+ - meta description
+- [Open Graph](https://ogp.me/)
+- Page count to sections (`/posts/`, `/tags/`, etc.)
+- Customization
+ - Favicon
+ - Styles (SCSS)
+ - Contents (HTML)
+
+To find out all features, check [hugo.yaml](hugo.yaml) (default configuration) and [exampleSite/hugo.yaml](exampleSite/hugo.yaml) (demo site's configuration).
+
+## Get started
+
+### Install
+
+Install [Git](https://git-scm.com/downloads) and latest [Hugo extended](https://gohugo.io/installation/).
+
+```shell
+# Create website
+git init my-website
+cd my-website
+# Install theme
+git submodule add --depth=1 https://github.com/CyrusYip/hugo-theme-yue themes/hugo-theme-yue
+git commit --message "add theme"
+# Create demo content
+cp --recursive themes/hugo-theme-yue/exampleSite/* .
+# Preview
+hugo server
+```
+
+Now we have a working demo webiste. The `content` directory contains the content, and `hugo.yaml` is configuration file. Feel free to play around with them.
+
+### Update theme
+
+```shell
+cd my-website
+git submodule update --remote
+```
+
+It's recommended to read [CHANGELOG.md](CHANGELOG.md) before updating the theme.
+
+You can subscribe updates and the changelog in a feed aggregator (e.g. Inoreader).
+
+- Updates:
+- Changelog:
+
+### Clone website
+
+You need to use additional options when you clone your website project.
+
+```shell
+git clone --recurse-submodules --shallow-submodules git@github.com:your-user-name/my-website.git
+```
+
+### Deploy
+
+After setting up the website, you probably want to host it on Internet. There are many methods for doing it, see [Hosting and deployment | Hugo](https://gohugo.io/hosting-and-deployment/). If you don't know what to choose, you can start from Netlify, see [Host on Netlify | Hugo](https://gohugo.io/hosting-and-deployment/hosting-on-netlify/).
+
+Make sure you change baseURL to your domain name (e.g. `https://my-cool-domain.org/`) in `hugo.yaml`.
+
+```diff
+-baseURL: https://yue.cyrusyip.org/
++baseURL: https://my-cool-domain.org/
+```
+
+Recommended build command:
+
+```shell
+hugo --gc --minify
+```
+
+`--gc` remove unused cache files
+, and `--minify` reduce the size of the website (mainly HTML).
+
+## Usage
+
+Create a new post.
+
+```
+hugo new content content/en/posts/my-first-post.md
+```
+
+To learn more about usage, see:
+
+- [Basic usage | Hugo](https://gohugo.io/getting-started/usage/)
+- [Directory structure | Hugo](https://gohugo.io/getting-started/directory-structure/)
+
+## Config
+
+Settings are listed in [exampleSite/hugo.yaml](exampleSite/hugo.yaml) (demo site's config) and [hugo.yaml](hugo.yaml) (default config, imported by the former).
+
+In the root of your website project, `hugo.yaml` is the config file, which is a copy of [exampleSite/hugo.yaml](exampleSite/hugo.yaml).
+
+To learn configuration, see [Configure Hugo | Hugo](https://gohugo.io/getting-started/configuration/).
+
+### Multilingual mode
+
+Supported languages:
+
+- `ar`: Arabic
+- `en`: English
+- `fr`: French
+- `zh-CN`: Simplified Chinese
+
+To create a multilingual website, see [Multilingual mode | Hugo](https://gohugo.io/content-management/multilingual/) and [exampleSite/hugo.yaml](exampleSite/hugo.yaml).
+
+Translation files are located in the [i18n](i18n) directory and [data/i18n.yaml](data/i18n.yaml). Contributions for additional languages are welcome.
+
+To contribute a new language:
+
+1. Create a language file (e.g., `fr.yaml` for French) in the [i18n](i18n) directory.
+1. Copy the content of [i18n/en.yaml](i18n/en.yaml) into the new file.
+1. Remove all comments (`# ...`) and translate the content.
+1. Translate the content in [data/i18n.yaml](data/i18n.yaml) as well.
+
+If you want to keep contributing to translation, you can get latest changes by subscribing the feed of [i18n/en.yaml](i18n/en.yaml) () using an RSS reader.
+
+#### Title of tags and categories
+
+If your website is not in English, you probably want to customize title of `/tags` and `/categories`.
+
+For example, to customize `/tags` title of `zh-CN` website, create `content/zh-CN/tags/_index.md` and add the following content into the file.
+
+```
+---
+title: Chinese Tags
+---
+```
+
+## Customize
+
+Yue allows you to customize favicon, styles (SCSS), and contents (HTML).
+
+### Favicon
+
+Favicon is the icon next to title in a browser tab. To use your favicon, put `favicon.ico` under `static` directory. You can create `favicon.ico` on online favicon.ico generators.
+
+### Styles (SCSS)
+
+Yue uses SCSS (libsass) to add styles. All files are in [assets/scss](assets/scss).To customize styles, create `assets/scss/_style-start.scss` and `assets/scss/_style-end.scss`.
+
+`_style-start.scss` is applied first, and you can override variables in this file.
+
+```scss
+$base-font-size: 15px;
+```
+
+`_style-end.scss` is applied last, and you can add styles in this file.
+
+Vanilla CSS is also valid in SCSS.
+
+References:
+
+- [CSS: Cascading Style Sheets | MDN](https://developer.mozilla.org/en-US/docs/Web/CSS)
+- [Sass: Sass Basics](https://sass-lang.com/guide/)
+- [Directory structure | Hugo](https://gohugo.io/getting-started/directory-structure/)
+
+### Contents (HTML)
+
+You can create these files to insert HTML code.
+
+- `layouts/_partials/head/head-start.html`
+- `layouts/_partials/head/head-end.html`
+- `layouts/_partials/page/page-end.html`
+- `layouts/_partials/body/body-end.html`
+
+#### head-start.html
+
+`head-start.html` is added near the start of the `` element.
+
+Use cases:
+
+- Preload scripts
+- Load scripts
+- Load styles
+
+Here is an example of preloading scripts:
+
+```html
+
+
+
+```
+
+#### head-end.html
+
+`head-end.html` is added to the end of the `` element.
+
+Use cases:
+
+- Load scripts
+- Load styles
+
+Here is an example of adding Google Analytics and a local script:
+
+```html
+
+
+
+
+
+{{ with resources.Get "js/my-script.js" | js.Build }}
+
+{{ end }}
+```
+
+#### page-end.html
+
+`page-end.html` is added to the end of the `` element in a post.
+
+Use cases:
+
+- comment services, e.g., Disqus and giscus
+
+Here is an example of adding [Giscus](https://giscus.app/):
+
+```html
+{{ $language := "" }}
+{{- /*
+Workaround for lowercase LanguagePrefix,
+see https://github.com/gohugoio/hugo/issues/9404
+*/ -}}
+{{ if eq site.LanguagePrefix "/zh-cn" }}
+ {{ $language = "zh-CN" }}
+{{ else }}
+ {{ $language = "en" }}
+{{ end }}
+
+```
+
+List of comment services: [Comments | Hugo](https://gohugo.io/content-management/comments/).
+
+#### body-end.html
+
+`body-end.html` is added to the end of the `` element.
+
+Use cases:
+
+- Dynamically load scripts
+
+## Support
+
+To report bugs, submit an [issue](https://github.com/CyrusYip/hugo-theme-yue/issues). To ask questions, start a [discussion](https://github.com/CyrusYip/hugo-theme-yue/discussions).
+
+## Further reading
+
+Hugo has many features, read [Hugo Documentation](https://gohugo.io/documentation/) to learn.
+
+## Changelog
+
+See [CHANGELOG.md](CHANGELOG.md).
+
+## Development
+
+This project uses [hugo-bin - npm](https://www.npmjs.com/package/hugo-bin) to manage Hugo version. Prerequisite: [Node.js](https://nodejs.org/en) and [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
+
+Clone this repository.
+
+```shell
+npm install
+npm run clean:server:shared
+```
+
+There are other useful commands listed in [package.json](package.json). To use recommended Hugo version, run `npx hugo`.
+
+---
+
+If you don't have Node.js and npm installed, just install the version listed in [package.json](package.json).
+
+```json
+"hugo-bin": {
+ "buildTags": "extended",
+ "version": "x.yyy.z"
+},
+```
+
+CHANGELOG.md should be updated in each commit.
+
+## Websites built with Yue
+
+If you are using Yue and source code of your website is hosted on GitHub, you can add `hugo-theme-yue` topic to your repository.
+
+[Link to `hugo-theme-yue` topic](https://github.com/topics/hugo-theme-yue).
+
+## Acknowledgement
+
+I have learned a lot from many projects. Thank you, developers.
+
+- [hugo-xmin](https://github.com/yihui/hugo-xmin/) (minimal templates)
+- [hugo-theme-jane](https://github.com/xianmin/hugo-theme-jane/) ([RSS template](https://github.com/xianmin/hugo-theme-jane/blob/6bef93b29e96bcf8b5b9a86b94cdd0dce99002bc/layouts/rss.xml#L30))
+- [hugo-theme-zen](https://github.com/frjo/hugo-theme-zen) ([language selector](https://github.com/frjo/hugo-theme-zen/blob/d3b2b6e1eea2bc67b3409238b9c347ab628876da/layouts/partials/language-selector.html))
+- [hugo-theme-gruvbox](https://github.com/schnerring/hugo-theme-gruvbox) (color)
+- [gruvbox](https://github.com/morhetz/gruvbox) (color)
+- [hugo-theme-stack](https://github.com/CaiJimmy/hugo-theme-stack) (source code, documentation and config)
+- [hugo-PaperMod](https://github.com/adityatelange/hugo-PaperMod) (source code, documentation and config)
+
+## License
+
+This project is licensed under [MIT](LICENSE).
diff --git a/themes/hugo-theme-yue/archetypes/default.md b/themes/hugo-theme-yue/archetypes/default.md
new file mode 100644
index 0000000..1b3ad50
--- /dev/null
+++ b/themes/hugo-theme-yue/archetypes/default.md
@@ -0,0 +1,12 @@
+{{- $fileContentBaseName := .File.ContentBaseName -}}
+---
+title: {{ replace $fileContentBaseName "-" " " | title }}
+slug: {{ $fileContentBaseName | lower }}
+date: {{ .Date }}
+# lastmod: {{ .Date }} # Last modification date
+tags:
+ - tag1
+categories:
+ - category1
+# draft: true
+---
diff --git a/themes/hugo-theme-yue/assets/scss/_color-scheme.scss b/themes/hugo-theme-yue/assets/scss/_color-scheme.scss
new file mode 100644
index 0000000..1ad9f57
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_color-scheme.scss
@@ -0,0 +1,82 @@
+// Dark theme by default
+:root {
+ --background-color: #{$background-color-dark}; // body
+ --background-color1: #{$background-color1-dark}; // blockquote, code block, border, table, hr
+ --foreground-color: #{$foreground-color-dark}; // text
+ --foreground-color3: #{$foreground-color3-dark}; // figcaption
+ --accent-color: #{$accent-color-dark}; // link, blockquote
+}
+
+// Override variables for light theme
+@media (prefers-color-scheme: light) {
+ :root {
+ --background-color: #{$background-color-light};
+ --background-color1: #{$background-color1-light};
+ --foreground-color: #{$foreground-color-light};
+ --foreground-color3: #{$foreground-color3-light}; // figcaption
+ --accent-color: #{$accent-color-light};
+ }
+}
+
+// Set color
+.body {
+ background-color: var(--background-color);
+ color: var(--foreground-color);
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ color: var(--foreground-color);
+}
+
+a {
+ color: var(--accent-color);
+}
+
+.header {
+ border-bottom: 1px solid var(--background-color1);
+}
+
+.footer {
+ border-top: 1px solid var(--background-color1);
+}
+
+blockquote {
+ background-color: var(--background-color1);
+
+ [dir=rtl] & {
+ border-right: 0.5rem solid var(--accent-color);
+ }
+
+ [dir=ltr] & {
+ border-left: 0.5rem solid var(--accent-color);
+ }
+}
+
+// Don't apply inline code's style to code block
+:not(pre)>code {
+ background-color: var(--background-color1);
+}
+
+hr {
+ background: var(--background-color1);
+}
+
+// Table
+table {
+ background-color: var(--background-color1);
+}
+
+td,
+th {
+ border: 1px solid var(--background-color);
+}
+
+// Figure
+figcaption {
+ color: var(--foreground-color3);
+}
diff --git a/themes/hugo-theme-yue/assets/scss/_init.scss b/themes/hugo-theme-yue/assets/scss/_init.scss
new file mode 100644
index 0000000..35e8edf
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_init.scss
@@ -0,0 +1,21 @@
+// Variables
+$body-margin-left: 16px !default;
+$body-margin-right: 16px !default;
+$font-family: sans-serif !default;
+$base-font-size: 18px !default;
+$line-height: 1.5 !default;
+$body-max-width: 768px !default;
+$desktop-breakpoint: $body-max-width + $body-margin-left + $body-margin-right !default;
+
+// Color, see https://github.com/morhetz/gruvbox
+$background-color-light: #fbf1c7 !default;
+$background-color1-light: #ebdbb2 !default;
+$foreground-color-light: #3c3836 !default;
+$foreground-color3-light: #665c54 !default;
+$accent-color-light: #af3a03 !default; // orange
+
+$background-color-dark: #282828 !default;
+$background-color1-dark: #3c3836 !default;
+$foreground-color-dark: #ebdbb2 !default;
+$foreground-color3-dark: #bdae93 !default;
+$accent-color-dark: #fe8019 !default;
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/assets/scss/_layout.scss b/themes/hugo-theme-yue/assets/scss/_layout.scss
new file mode 100644
index 0000000..513656f
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_layout.scss
@@ -0,0 +1,14 @@
+// On mobile, add little margins
+.body {
+ margin-left: $body-margin-left;
+ margin-right: $body-margin-right;
+}
+
+// On desktop, use fixed width and center
+@media (min-width: $desktop-breakpoint) {
+ .body {
+ width: $body-max-width;
+ margin-left: auto;
+ margin-right: auto;
+ }
+}
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/assets/scss/_reset.scss b/themes/hugo-theme-yue/assets/scss/_reset.scss
new file mode 100644
index 0000000..3a7116a
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_reset.scss
@@ -0,0 +1,31 @@
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+.body {
+ margin: 0;
+}
+
+a {
+ text-decoration: none;
+}
+
+// List
+.menu__list,
+.translation-list,
+.pagination {
+ list-style-type: none;
+ padding-inline-start: 0;
+}
+
+// Task list
+ul:has(>li>input[type="checkbox"]) {
+ list-style-type: none;
+ padding-inline-start: 1em;
+}
+
+blockquote {
+ margin: 0;
+}
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/assets/scss/_style-end.scss b/themes/hugo-theme-yue/assets/scss/_style-end.scss
new file mode 100644
index 0000000..98e27d4
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_style-end.scss
@@ -0,0 +1 @@
+// This file will be applied last
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/assets/scss/_style-start.scss b/themes/hugo-theme-yue/assets/scss/_style-start.scss
new file mode 100644
index 0000000..35501f8
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_style-start.scss
@@ -0,0 +1,3 @@
+// This file will be applied first
+// You can override variables, example:
+// $base-font-size: 10px;
diff --git a/themes/hugo-theme-yue/assets/scss/_style.scss b/themes/hugo-theme-yue/assets/scss/_style.scss
new file mode 100644
index 0000000..8cd9d07
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_style.scss
@@ -0,0 +1,180 @@
+// Global
+.html {
+ font-size: $base-font-size; // rem
+}
+
+.body {
+ font-family: $font-family;
+ line-height: $line-height;
+}
+
+p,
+ul,
+ol,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ // Break long words
+ overflow-wrap: break-word;
+}
+
+.toc {
+ margin-block: 1rem;
+
+ &__summary {
+ font-weight: bolder;
+ cursor: pointer;
+ }
+}
+
+blockquote {
+ padding: 0.5rem;
+}
+
+hr {
+ border: none;
+ height: 1px;
+}
+
+figure {
+ margin-inline: 0;
+}
+
+// Heading anchor link
+.heading {
+ &__anchor {
+ display: none;
+ }
+
+ &:hover>&__anchor {
+ display: inline;
+ }
+}
+
+// Table
+.table-wrapper {
+ // Horizontal scrollbar for table
+ overflow-x: auto;
+ // Margin
+ margin-block: 1rem;
+
+ >table {
+ // Override global word-break, don't break Chinese/Japanese/Korean (CJK) text
+ word-break: keep-all;
+ // Style
+ border-collapse: collapse;
+
+ td,
+ th {
+ padding: 0.5rem;
+ text-align: start;
+ }
+ }
+}
+
+// Avoid overflow
+svg,
+img,
+video,
+iframe {
+ max-width: 100%;
+}
+
+// Menu and language selector
+.menu {
+ &__list {
+ display: flex;
+ flex-direction: row;
+ gap: 0.5rem;
+ flex-wrap: wrap;
+ }
+
+ // Selected link
+ &__link {
+ &--active {
+ font-weight: bolder;
+ }
+ }
+}
+
+// Paginator
+.pagination {
+ display: flex;
+ gap: 1rem;
+}
+
+.page-item.active {
+ font-weight: bolder;
+}
+
+// Page nav
+.page-nav {
+ display: flex;
+ flex-direction: column;
+ margin-block: 1rem;
+}
+
+// Make [section post title / term post title] close to date info
+.section-post-title,
+.term-post-title {
+ margin-block-start: 0;
+}
+
+// Make home post title close to summary
+.home-post-title {
+ margin-block-end: 0;
+}
+
+// Make summary close to home post title
+.summary {
+ margin-block-start: 0;
+}
+
+// Inline code
+:not(pre)>code {
+ padding-inline: 0.25rem;
+}
+
+// Fenced code block (with line number, with language): div.highlight > div.chroma > table.lntable > tbody > tr > td.lntd > pre.chroma > code.language-javascript
+// Fenced code block (without line number, with language): div.highlight > pre.chroma > code.language-javascript
+// Fenced code block (without line number, without language) / indented code block: pre > code
+
+// Code block with specified language
+div.highlight {
+ // Horizontal scrollbar
+ overflow-x: auto;
+ // Prevent two code blocks sticking together
+ margin-block: 1rem;
+
+ // With line number
+ // Prevent italic character overflowing
+ >div.chroma>table.lntable {
+ padding-inline-end: 0.4rem; // same as line number's padding
+ }
+
+ // Without line number
+ // Prevent italic character overflowing (padding-inline-end doesn't work on Firefox Linux 128.0 and Chrome Linux 126.0.6478.182)
+ >pre.chroma {
+ padding-inline: 0.4rem;
+ }
+}
+
+// Code block [without specified language / indented with 4 spaces]
+pre:not(.chroma) {
+ // Horizontal scrollbar
+ overflow-x: auto;
+ padding-block: 1rem;
+ padding-inline: 0.4rem; // padding-inline-end doesn't work on Firefox Linux 128.0
+}
+
+pre {
+ // Smaller font size
+ font-size: 0.875rem;
+}
+
+.footer {
+ font-size: smaller;
+}
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/assets/scss/_syntax-highlight.scss b/themes/hugo-theme-yue/assets/scss/_syntax-highlight.scss
new file mode 100644
index 0000000..50a85f6
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/_syntax-highlight.scss
@@ -0,0 +1,14 @@
+@import "syntax-highlight/gruvbox-light";
+@media (prefers-color-scheme: dark) {
+ @import "syntax-highlight/gruvbox-dark";
+}
+
+// Use background color slightly different from that of
+// Without language
+pre:not(.chroma),
+// With language
+.bg,
+.chroma,
+.highlight {
+ background-color: var(--background-color1);
+}
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/assets/scss/main.scss b/themes/hugo-theme-yue/assets/scss/main.scss
new file mode 100644
index 0000000..f4b0865
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/main.scss
@@ -0,0 +1,13 @@
+/*
+Styles are mobile-first. Desktop styles are wrapped in media queries.
+Naming convention: BEM (Block, Element, Modifier). When it's difficult to add classes, I will use tag names.
+*/
+
+@import 'style-start'; // variables can be overridden in this file
+@import 'init'; // variables
+@import 'reset';
+@import 'layout';
+@import 'color-scheme';
+@import 'syntax-highlight';
+@import 'style';
+@import 'style-end';
diff --git a/themes/hugo-theme-yue/assets/scss/syntax-highlight/_gruvbox-dark.css b/themes/hugo-theme-yue/assets/scss/syntax-highlight/_gruvbox-dark.css
new file mode 100644
index 0000000..2d5d03b
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/syntax-highlight/_gruvbox-dark.css
@@ -0,0 +1,86 @@
+/* Background */ .bg { color:#ebdbb2;background-color:#282828; }
+/* PreWrapper */ .chroma { color:#ebdbb2;background-color:#282828; }
+/* Other */ .chroma .x { }
+/* Error */ .chroma .err { }
+/* CodeLine */ .chroma .cl { }
+/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
+/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
+/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
+/* LineHighlight */ .chroma .hl { background-color:#3d3d3d }
+/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59 }
+/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59 }
+/* Line */ .chroma .line { display:flex; }
+/* Keyword */ .chroma .k { color:#fe8019 }
+/* KeywordConstant */ .chroma .kc { color:#fe8019 }
+/* KeywordDeclaration */ .chroma .kd { color:#fe8019 }
+/* KeywordNamespace */ .chroma .kn { color:#fe8019 }
+/* KeywordPseudo */ .chroma .kp { color:#fe8019 }
+/* KeywordReserved */ .chroma .kr { color:#fe8019 }
+/* KeywordType */ .chroma .kt { color:#fabd2f }
+/* Name */ .chroma .n { }
+/* NameAttribute */ .chroma .na { color:#b8bb26;font-weight:bold }
+/* NameBuiltin */ .chroma .nb { color:#fabd2f }
+/* NameBuiltinPseudo */ .chroma .bp { }
+/* NameClass */ .chroma .nc { }
+/* NameConstant */ .chroma .no { color:#d3869b }
+/* NameDecorator */ .chroma .nd { }
+/* NameEntity */ .chroma .ni { color:#fabd2f }
+/* NameException */ .chroma .ne { color:#fb4934 }
+/* NameFunction */ .chroma .nf { color:#fabd2f }
+/* NameFunctionMagic */ .chroma .fm { }
+/* NameLabel */ .chroma .nl { color:#fb4934 }
+/* NameNamespace */ .chroma .nn { }
+/* NameOther */ .chroma .nx { }
+/* NameProperty */ .chroma .py { }
+/* NameTag */ .chroma .nt { color:#fb4934 }
+/* NameVariable */ .chroma .nv { }
+/* NameVariableClass */ .chroma .vc { }
+/* NameVariableGlobal */ .chroma .vg { }
+/* NameVariableInstance */ .chroma .vi { }
+/* NameVariableMagic */ .chroma .vm { }
+/* Literal */ .chroma .l { }
+/* LiteralDate */ .chroma .ld { }
+/* LiteralString */ .chroma .s { color:#b8bb26 }
+/* LiteralStringAffix */ .chroma .sa { color:#b8bb26 }
+/* LiteralStringBacktick */ .chroma .sb { color:#b8bb26 }
+/* LiteralStringChar */ .chroma .sc { color:#b8bb26 }
+/* LiteralStringDelimiter */ .chroma .dl { color:#b8bb26 }
+/* LiteralStringDoc */ .chroma .sd { color:#b8bb26 }
+/* LiteralStringDouble */ .chroma .s2 { color:#b8bb26 }
+/* LiteralStringEscape */ .chroma .se { color:#b8bb26 }
+/* LiteralStringHeredoc */ .chroma .sh { color:#b8bb26 }
+/* LiteralStringInterpol */ .chroma .si { color:#b8bb26 }
+/* LiteralStringOther */ .chroma .sx { color:#b8bb26 }
+/* LiteralStringRegex */ .chroma .sr { color:#b8bb26 }
+/* LiteralStringSingle */ .chroma .s1 { color:#b8bb26 }
+/* LiteralStringSymbol */ .chroma .ss { color:#83a598 }
+/* LiteralNumber */ .chroma .m { color:#d3869b }
+/* LiteralNumberBin */ .chroma .mb { color:#d3869b }
+/* LiteralNumberFloat */ .chroma .mf { color:#d3869b }
+/* LiteralNumberHex */ .chroma .mh { color:#d3869b }
+/* LiteralNumberInteger */ .chroma .mi { color:#d3869b }
+/* LiteralNumberIntegerLong */ .chroma .il { color:#d3869b }
+/* LiteralNumberOct */ .chroma .mo { color:#d3869b }
+/* Operator */ .chroma .o { color:#fe8019 }
+/* OperatorWord */ .chroma .ow { color:#fe8019 }
+/* Punctuation */ .chroma .p { }
+/* Comment */ .chroma .c { color:#928374;font-style:italic }
+/* CommentHashbang */ .chroma .ch { color:#928374;font-style:italic }
+/* CommentMultiline */ .chroma .cm { color:#928374;font-style:italic }
+/* CommentSingle */ .chroma .c1 { color:#928374;font-style:italic }
+/* CommentSpecial */ .chroma .cs { color:#928374;font-style:italic }
+/* CommentPreproc */ .chroma .cp { color:#8ec07c }
+/* CommentPreprocFile */ .chroma .cpf { color:#8ec07c;font-style:italic }
+/* Generic */ .chroma .g { }
+/* GenericDeleted */ .chroma .gd { color:#282828;background-color:#fb4934 }
+/* GenericEmph */ .chroma .ge { color:#83a598;text-decoration:underline }
+/* GenericError */ .chroma .gr { background-color:#fb4934;font-weight:bold }
+/* GenericHeading */ .chroma .gh { color:#b8bb26;font-weight:bold }
+/* GenericInserted */ .chroma .gi { color:#282828;background-color:#b8bb26 }
+/* GenericOutput */ .chroma .go { color:#504945 }
+/* GenericPrompt */ .chroma .gp { }
+/* GenericStrong */ .chroma .gs { }
+/* GenericSubheading */ .chroma .gu { color:#b8bb26;font-weight:bold }
+/* GenericTraceback */ .chroma .gt { background-color:#fb4934;font-weight:bold }
+/* GenericUnderline */ .chroma .gl { }
+/* TextWhitespace */ .chroma .w { }
diff --git a/themes/hugo-theme-yue/assets/scss/syntax-highlight/_gruvbox-light.css b/themes/hugo-theme-yue/assets/scss/syntax-highlight/_gruvbox-light.css
new file mode 100644
index 0000000..9196282
--- /dev/null
+++ b/themes/hugo-theme-yue/assets/scss/syntax-highlight/_gruvbox-light.css
@@ -0,0 +1,86 @@
+/* Background */ .bg { color:#3c3836;background-color:#fbf1c7; }
+/* PreWrapper */ .chroma { color:#3c3836;background-color:#fbf1c7; }
+/* Other */ .chroma .x { }
+/* Error */ .chroma .err { }
+/* CodeLine */ .chroma .cl { }
+/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
+/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
+/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
+/* LineHighlight */ .chroma .hl { background-color:#e1d8b3 }
+/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#9d9b9a }
+/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#9d9b9a }
+/* Line */ .chroma .line { display:flex; }
+/* Keyword */ .chroma .k { color:#af3a03 }
+/* KeywordConstant */ .chroma .kc { color:#af3a03 }
+/* KeywordDeclaration */ .chroma .kd { color:#af3a03 }
+/* KeywordNamespace */ .chroma .kn { color:#af3a03 }
+/* KeywordPseudo */ .chroma .kp { color:#af3a03 }
+/* KeywordReserved */ .chroma .kr { color:#af3a03 }
+/* KeywordType */ .chroma .kt { color:#b57614 }
+/* Name */ .chroma .n { }
+/* NameAttribute */ .chroma .na { color:#79740e;font-weight:bold }
+/* NameBuiltin */ .chroma .nb { color:#b57614 }
+/* NameBuiltinPseudo */ .chroma .bp { }
+/* NameClass */ .chroma .nc { }
+/* NameConstant */ .chroma .no { color:#d3869b }
+/* NameDecorator */ .chroma .nd { }
+/* NameEntity */ .chroma .ni { color:#b57614 }
+/* NameException */ .chroma .ne { color:#fb4934 }
+/* NameFunction */ .chroma .nf { color:#b57614 }
+/* NameFunctionMagic */ .chroma .fm { }
+/* NameLabel */ .chroma .nl { color:#9d0006 }
+/* NameNamespace */ .chroma .nn { }
+/* NameOther */ .chroma .nx { }
+/* NameProperty */ .chroma .py { }
+/* NameTag */ .chroma .nt { color:#9d0006 }
+/* NameVariable */ .chroma .nv { }
+/* NameVariableClass */ .chroma .vc { }
+/* NameVariableGlobal */ .chroma .vg { }
+/* NameVariableInstance */ .chroma .vi { }
+/* NameVariableMagic */ .chroma .vm { }
+/* Literal */ .chroma .l { }
+/* LiteralDate */ .chroma .ld { }
+/* LiteralString */ .chroma .s { color:#79740e }
+/* LiteralStringAffix */ .chroma .sa { color:#79740e }
+/* LiteralStringBacktick */ .chroma .sb { color:#79740e }
+/* LiteralStringChar */ .chroma .sc { color:#79740e }
+/* LiteralStringDelimiter */ .chroma .dl { color:#79740e }
+/* LiteralStringDoc */ .chroma .sd { color:#79740e }
+/* LiteralStringDouble */ .chroma .s2 { color:#79740e }
+/* LiteralStringEscape */ .chroma .se { color:#79740e }
+/* LiteralStringHeredoc */ .chroma .sh { color:#79740e }
+/* LiteralStringInterpol */ .chroma .si { color:#79740e }
+/* LiteralStringOther */ .chroma .sx { color:#79740e }
+/* LiteralStringRegex */ .chroma .sr { color:#79740e }
+/* LiteralStringSingle */ .chroma .s1 { color:#79740e }
+/* LiteralStringSymbol */ .chroma .ss { color:#076678 }
+/* LiteralNumber */ .chroma .m { color:#8f3f71 }
+/* LiteralNumberBin */ .chroma .mb { color:#8f3f71 }
+/* LiteralNumberFloat */ .chroma .mf { color:#8f3f71 }
+/* LiteralNumberHex */ .chroma .mh { color:#8f3f71 }
+/* LiteralNumberInteger */ .chroma .mi { color:#8f3f71 }
+/* LiteralNumberIntegerLong */ .chroma .il { color:#8f3f71 }
+/* LiteralNumberOct */ .chroma .mo { color:#8f3f71 }
+/* Operator */ .chroma .o { color:#af3a03 }
+/* OperatorWord */ .chroma .ow { color:#af3a03 }
+/* Punctuation */ .chroma .p { }
+/* Comment */ .chroma .c { color:#928374;font-style:italic }
+/* CommentHashbang */ .chroma .ch { color:#928374;font-style:italic }
+/* CommentMultiline */ .chroma .cm { color:#928374;font-style:italic }
+/* CommentSingle */ .chroma .c1 { color:#928374;font-style:italic }
+/* CommentSpecial */ .chroma .cs { color:#928374;font-style:italic }
+/* CommentPreproc */ .chroma .cp { color:#427b58 }
+/* CommentPreprocFile */ .chroma .cpf { color:#427b58;font-style:italic }
+/* Generic */ .chroma .g { }
+/* GenericDeleted */ .chroma .gd { color:#282828;background-color:#9d0006 }
+/* GenericEmph */ .chroma .ge { color:#076678;text-decoration:underline }
+/* GenericError */ .chroma .gr { background-color:#9d0006;font-weight:bold }
+/* GenericHeading */ .chroma .gh { color:#79740e;font-weight:bold }
+/* GenericInserted */ .chroma .gi { color:#282828;background-color:#79740e }
+/* GenericOutput */ .chroma .go { color:#504945 }
+/* GenericPrompt */ .chroma .gp { }
+/* GenericStrong */ .chroma .gs { }
+/* GenericSubheading */ .chroma .gu { color:#79740e;font-weight:bold }
+/* GenericTraceback */ .chroma .gt { background-color:#3c3836;font-weight:bold }
+/* GenericUnderline */ .chroma .gl { }
+/* TextWhitespace */ .chroma .w { }
diff --git a/themes/hugo-theme-yue/data/i18n.yaml b/themes/hugo-theme-yue/data/i18n.yaml
new file mode 100644
index 0000000..bb8e768
--- /dev/null
+++ b/themes/hugo-theme-yue/data/i18n.yaml
@@ -0,0 +1,8 @@
+ar:
+ colonInTranslationList: ': ' # Example: "العربية: المقالة الثالثة"
+en:
+ colonInTranslationList: ': ' # Example: "English: Post 3"
+fr:
+ colonInTranslationList: ' : ' # Example: "Français : Post 3"
+zh-cn: # This should be zh-CN but Hugo convert languagePrefix to lowercase, see https://github.com/gohugoio/hugo/issues/9404
+ colonInTranslationList: ':' # Example: "中文:文章 3"
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/exampleSite/.gitignore b/themes/hugo-theme-yue/exampleSite/.gitignore
new file mode 100644
index 0000000..28f2767
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/.gitignore
@@ -0,0 +1,5 @@
+node_modules/
+/public
+/resources/_gen/
+/assets/jsconfig.json
+.hugo_build.lock
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/_index.md b/themes/hugo-theme-yue/exampleSite/content/en/_index.md
new file mode 100644
index 0000000..4377760
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/_index.md
@@ -0,0 +1,7 @@
+---
+date: "2023-01-01T08:00:00-07:00"
+draft: false
+title: Home
+---
+
+Yue is a minimal Hugo theme. Source code: .
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/about.md b/themes/hugo-theme-yue/exampleSite/content/en/about.md
new file mode 100644
index 0000000..95e1bc8
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/about.md
@@ -0,0 +1,6 @@
+---
+title: About
+date: 2024-06-27T23:14:15+08:00
+---
+
+Yue is a minimal Hugo theme. Source code: .
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/categories/_index.md b/themes/hugo-theme-yue/exampleSite/content/en/categories/_index.md
new file mode 100644
index 0000000..c59a39d
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/categories/_index.md
@@ -0,0 +1,3 @@
+---
+title: Categories
+---
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/_index.md b/themes/hugo-theme-yue/exampleSite/content/en/posts/_index.md
new file mode 100644
index 0000000..76fa783
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/posts/_index.md
@@ -0,0 +1,3 @@
+---
+title: Posts
+---
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/markdown-syntax.md b/themes/hugo-theme-yue/exampleSite/content/en/posts/markdown-syntax.md
new file mode 100644
index 0000000..c6add23
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/posts/markdown-syntax.md
@@ -0,0 +1,146 @@
+---
+author: Hugo Authors
+categories:
+- themes
+- syntax
+date: 2019-03-11T00:00:00+00:00
+lastmod: 2024-07-22T00:00:00+00:00
+description: Sample article showcasing basic Markdown syntax and formatting for HTML
+ elements.
+tags:
+- markdown
+- css
+- html
+title: Markdown Syntax Guide
+---
+
+This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
+
+
+## Headings
+
+The following HTML `
`—`
` elements represent six levels of section headings. `
` is the highest section level while `
` is the lowest.
+
+# H1
+## H2
+### H3
+#### H4
+##### H5
+###### H6
+
+## Paragraph
+
+Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
+
+Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
+
+## Blockquotes
+
+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
+
+> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
+> **Note** that you can use *Markdown syntax* within a blockquote.
+
+#### Blockquote with attribution
+
+> Don't communicate by sharing memory, share memory by communicating.
+> — Rob Pike[^1]
+
+[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
+
+## Tables
+
+Tables aren't part of the core Markdown spec, but Hugo supports them out-of-the-box.
+
+ Name | Age
+--------|------
+ Bob | 27
+ Alice | 23
+
+#### Inline Markdown within tables
+
+| Italics | Bold | Code |
+| -------- | -------- | ------ |
+| *italics* | **bold** | `code` |
+
+## Code Blocks
+
+#### Code block with backticks
+
+```html
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+```
+
+#### Code block indented with four spaces
+
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+
+#### Code block with Hugo's internal highlight shortcode
+{{< highlight html >}}
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+{{< /highlight >}}
+
+## List Types
+
+#### Ordered List
+
+1. First item
+2. Second item
+3. Third item
+
+#### Unordered List
+
+* List item
+* Another item
+* And another item
+
+#### Nested list
+
+* Fruit
+ * Apple
+ * Orange
+ * Banana
+* Dairy
+ * Milk
+ * Cheese
+
+## Other Elements — abbr, sub, sup, kbd, mark
+
+GIF is a bitmap image format.
+
+H2O
+
+Xn + Yn = Zn
+
+Press CTRL+ALT+Delete to end the session.
+
+Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures.
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/placeholder-text.md b/themes/hugo-theme-yue/exampleSite/content/en/posts/placeholder-text.md
new file mode 100644
index 0000000..4717453
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/posts/placeholder-text.md
@@ -0,0 +1,47 @@
+---
+author: Hugo Authors
+date: 2019-03-09T00:00:00Z
+lastmod: 2019-03-09T00:00:00Z # Won't show because it's equal to date
+description: Lorem Ipsum Dolor Si Amet
+tags:
+- markdown
+- text
+title: Placeholder Text
+---
+
+Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
+
+1. Exierant elisi ambit vivere dedere
+2. Duce pollice
+3. Eris modo
+4. Spargitque ferrea quos palude
+
+Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
+
+1. Comas hunc haec pietate fetum procerum dixit
+2. Post torum vates letum Tiresia
+3. Flumen querellas
+4. Arcanaque montibus omnes
+5. Quidem et
+
+# Vagus elidunt
+
+
+
+
+
+[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
+
+## Mane refeci capiebant unda mulcebat
+
+Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
+
+Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
+
+Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
+
+{{< css.inline >}}
+
+{{< /css.inline >}}
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/post-1.md b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-1.md
new file mode 100644
index 0000000..3706362
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-1.md
@@ -0,0 +1,11 @@
+---
+date: "2023-01-15T09:00:00-07:00"
+draft: false
+tags:
+- red
+title: Post 1
+---
+
+Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem.
+
+Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do.
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/post-2.md b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-2.md
new file mode 100644
index 0000000..b8616f5
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-2.md
@@ -0,0 +1,16 @@
+---
+date: 2023-02-15T10:00:00-07:00
+lastmod: 2024-07-22T10:00:00+00:00
+draft: false
+tags:
+- red
+- green
+title: Post 2 | Multiple authors
+author:
+ - John Doe
+ - Jane Doe
+---
+
+Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.
+
+Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/post-3/bryce-canyon.jpg b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-3/bryce-canyon.jpg
new file mode 100644
index 0000000..9a923be
Binary files /dev/null and b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-3/bryce-canyon.jpg differ
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/post-3/index.md b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-3/index.md
new file mode 100644
index 0000000..be0b58e
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-3/index.md
@@ -0,0 +1,31 @@
+---
+date: "2023-03-15T11:00:00-07:00"
+draft: false
+tags:
+- red
+- green
+- blue
+title: Post 3
+---
+
+TOC test
+
+# h1 1
+## h2 1
+### h3 1
+#### h4 1
+##### h5 1
+###### h6 1
+
+# h1 2
+## h2 2
+### h3 2
+#### h4 2
+##### h5 2
+###### h6 2
+
+Occaecat aliqua consequat laborum ut ex aute aliqua culpa quis irure esse magna dolore quis. Proident fugiat labore eu laboris officia Lorem enim. Ipsum occaecat cillum ut tempor id sint aliqua incididunt nisi incididunt reprehenderit. Voluptate ad minim sint est aute aliquip esse occaecat tempor officia qui sunt. Aute ex ipsum id ut in est velit est laborum incididunt. Aliqua qui id do esse sunt eiusmod id deserunt eu nostrud aute sit ipsum. Deserunt esse cillum Lorem non magna adipisicing mollit amet consequat.
+
+
+
+Sit excepteur do velit veniam mollit in nostrud laboris incididunt ea. Amet eu cillum ut reprehenderit culpa aliquip labore laborum amet sit sit duis. Laborum id proident nostrud dolore laborum reprehenderit quis mollit nulla amet veniam officia id id. Aliquip in deserunt qui magna duis qui pariatur officia sunt deserunt.
diff --git a/themes/hugo-theme-yue/exampleSite/content/en/posts/post-4.md b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-4.md
new file mode 100644
index 0000000..0efd5b6
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/en/posts/post-4.md
@@ -0,0 +1,321 @@
+---
+date: 2024-07-13T16:15:49+08:00
+lastmod: 2024-07-22T11:00:00+00:00
+tags:
+- red
+title: Post 4 Markdown Test
+slug: post-4
+---
+
+
+# GitHub Flavored Markdown Test
+
+## Headers
+# H1
+## H2
+### H3
+#### H4
+##### H5
+###### H6
+
+## Emoji
+
+`:see_no_evil:` :see_no_evil:
+
+## Text
+
+### Normal text
+
+I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.I can eat glass, it does not hurt me.
+
+The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.
+
+### Long word
+
+word aVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWord word
+
+List:
+
+- word aVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWord word
+
+1. word aVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWordaVeryLongWord word
+
+### Long link
+
+A long URL: .
+
+A link with a long word: [aLinkWithALongWordaLinkWithALongWordaLinkWithALongWordaLinkWithALongWordaLinkWithALongWordaLinkWithALongWordaLinkWithALongWordaLinkWithALongWordaLinkWithALongWordaLinkWithALongWord](https://example.org/aVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURL).
+
+A link with a long text: [A link with a long text. A link with a long text. A link with a long text. A link with a long text. A link with a long text. A link with a long text. A link with a long text. A link with a long text. A link with a long text. A link with a long text.](https://example.org/aVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURLaVeryLongURL)
+
+List:
+
+- A long URL: .
+
+1. A long URL: .
+
+## Emphasis
+
+*Italic text*
+_Italic text_
+
+**Bold text**
+
+__Bold text__
+
+***Bold and Italic text***
+
+___Bold and Italic text___
+
+## Blockquotes
+
+This is a blockquote demo. This is a blockquote demo. This is a blockquote demo. This is a blockquote demo. This is a blockquote demo. This is a blockquote demo. This is a blockquote demo. This is a blockquote demo.
+
+> This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote.
+>
+> This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote. This is a blockquote.
+
+## Lists
+
+### Unordered List
+
+- Item 1
+ - Subitem 1
+ - Subitem 2
+- Item 2
+
+### Ordered List
+
+1. First item
+2. Second item
+3. Third item
+
+## Code
+
+### Inline Code
+
+Here is some `inline code`. Here is longer `inline code inline code inline codeinline codeinline codeinline codeinline code`.
+
+### Code Block with JavaScript Tag
+
+#### Line number enabled
+
+```javascript {linenos=true}
+// Comments are in italics. The last character of a line overflows if there is no padding.
+// WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
+// MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+```
+
+```javascript {linenos=true}
+console.log("Hello")
+console.log("Hello")
+console.log("Hello")
+```
+
+```javascript {linenos=true}
+function sayHello() {
+ console.log("Hello, world!"); console.log("Hello, world!"); console.log("Hello, world!"); console.log("Hello, world!");
+}
+```
+
+#### Line number disabled
+
+```javascript {linenos=false}
+// Comments are in italics. The last character of a line overflows if there is no padding.
+// https://github.com/CyrusYip/hugo-theme-yue/issues/7
+// WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
+// MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+```
+
+```javascript {linenos=false}
+function sayHello() {
+ console.log("Hello, world!"); console.log("Hello, world!"); console.log("Hello, world!"); console.log("Hello, world!");
+}
+```
+
+### Code Block with Bash Tag
+
+```bash
+#!/bin/bash
+echo "Hello, world!"
+```
+
+### Code Block without Language Tag
+
+```
+code block without
+a language tag.
+```
+
+```
+code block without
+a language tag.
+```
+
+Paragraph.
+
+```
+This is a code block without a language tag. This is a code block without a language tag. This is a code block without a language tag.
+This is a code block without a language tag. This is a code block without a language tag. This is a code block without a language tag.
+```
+
+Paragraph.
+
+```
+#!/bin/bash
+echo "Hello, world!"
+```
+
+### Code block indented with four spaces
+
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text Long Text
+
+
+
+### Code block with Hugo's internal highlight shortcode
+
+{{< highlight html >}}
+
+
+
+
+ Example HTML5 Document
+
+
+
` elements represent six levels of section headings. `
` is the highest section level while `
` is the lowest.
+
+# H1
+## H2
+### H3
+#### H4
+##### H5
+###### H6
+
+## Paragraph
+
+Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
+
+Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
+
+## Blockquotes
+
+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
+
+> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
+> **Note** that you can use *Markdown syntax* within a blockquote.
+
+#### Blockquote with attribution
+
+> Don't communicate by sharing memory, share memory by communicating.
+> — Rob Pike[^1]
+
+[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
+
+## Tables
+
+Tables aren't part of the core Markdown spec, but Hugo supports them out-of-the-box.
+
+ Name | Age
+--------|------
+ Bob | 27
+ Alice | 23
+
+#### Inline Markdown within tables
+
+| Italics | Bold | Code |
+| -------- | -------- | ------ |
+| *italics* | **bold** | `code` |
+
+## Code Blocks
+
+#### Code block with backticks
+
+```html
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+```
+
+#### Code block indented with four spaces
+
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+
+#### Code block with Hugo's internal highlight shortcode
+{{< highlight html >}}
+
+
+
+
+ Example HTML5 Document
+
+
+
Test
+
+
+{{< /highlight >}}
+
+## List Types
+
+#### Ordered List
+
+1. First item
+2. Second item
+3. Third item
+
+#### Unordered List
+
+* List item
+* Another item
+* And another item
+
+#### Nested list
+
+* Fruit
+ * Apple
+ * Orange
+ * Banana
+* Dairy
+ * Milk
+ * Cheese
+
+## Other Elements — abbr, sub, sup, kbd, mark
+
+GIF is a bitmap image format.
+
+H2O
+
+Xn + Yn = Zn
+
+Press CTRL+ALT+Delete to end the session.
+
+Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures.
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/placeholder-text.md b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/placeholder-text.md
new file mode 100644
index 0000000..54f47d2
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/placeholder-text.md
@@ -0,0 +1,45 @@
+---
+author: Hugo Authors
+date: 2019-03-09T00:00:00Z
+lastmod: 2019-03-09T00:00:00Z # Won't show because it's equal to date
+description: Lorem Ipsum Dolor Si Amet
+tags:
+- markdown
+- text
+title: Placeholder Text
+---
+
+Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
+
+1. Exierant elisi ambit vivere dedere
+2. Duce pollice
+3. Eris modo
+4. Spargitque ferrea quos palude
+
+Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
+
+1. Comas hunc haec pietate fetum procerum dixit
+2. Post torum vates letum Tiresia
+3. Flumen querellas
+4. Arcanaque montibus omnes
+5. Quidem et
+
+# Vagus elidunt
+
+
+
+[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
+
+## Mane refeci capiebant unda mulcebat
+
+Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
+
+Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
+
+Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
+
+{{< css.inline >}}
+
+{{< /css.inline >}}
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-1.md b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-1.md
new file mode 100644
index 0000000..c0f3b12
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-1.md
@@ -0,0 +1,11 @@
+---
+date: "2023-01-15T09:00:00-07:00"
+draft: false
+tags:
+- red
+title: 文章 1
+---
+
+Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem.
+
+Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do.
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-2.md b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-2.md
new file mode 100644
index 0000000..0f9af22
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-2.md
@@ -0,0 +1,16 @@
+---
+date: 2023-02-15T10:00:00-07:00
+lastmod: 2024-07-22T10:00:00+00:00
+draft: false
+tags:
+- red
+- green
+title: 文章 2 | 多位作者
+author:
+ - 张三
+ - 李四
+---
+
+Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.
+
+Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-3/bryce-canyon.jpg b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-3/bryce-canyon.jpg
new file mode 100644
index 0000000..9a923be
Binary files /dev/null and b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-3/bryce-canyon.jpg differ
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-3/index.md b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-3/index.md
new file mode 100644
index 0000000..f603a6d
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-3/index.md
@@ -0,0 +1,15 @@
+---
+date: "2023-03-15T11:00:00-07:00"
+draft: false
+tags:
+- red
+- green
+- blue
+title: 文章 3
+---
+
+Occaecat aliqua consequat laborum ut ex aute aliqua culpa quis irure esse magna dolore quis. Proident fugiat labore eu laboris officia Lorem enim. Ipsum occaecat cillum ut tempor id sint aliqua incididunt nisi incididunt reprehenderit. Voluptate ad minim sint est aute aliquip esse occaecat tempor officia qui sunt. Aute ex ipsum id ut in est velit est laborum incididunt. Aliqua qui id do esse sunt eiusmod id deserunt eu nostrud aute sit ipsum. Deserunt esse cillum Lorem non magna adipisicing mollit amet consequat.
+
+
+
+Sit excepteur do velit veniam mollit in nostrud laboris incididunt ea. Amet eu cillum ut reprehenderit culpa aliquip labore laborum amet sit sit duis. Laborum id proident nostrud dolore laborum reprehenderit quis mollit nulla amet veniam officia id id. Aliquip in deserunt qui magna duis qui pariatur officia sunt deserunt.
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-4.md b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-4.md
new file mode 100644
index 0000000..bf4253c
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-4.md
@@ -0,0 +1,52 @@
+---
+date: 2024-06-30T14:18:49+08:00
+lastmod: 2024-07-22T11:00:00+00:00
+tags:
+- red
+title: 文章 4 | 表格测试
+slug: post-4
+---
+
+中文文章 4。
+
+| 序号 | 姓名 | 年龄 | 职业 | 所在城市 | 电子邮件 |
+|------|--------------|------|--------------|------------------|---------------------------|
+| 1 | 张三 | 28 | 软件工程师 | 北京市 | zhangsan@example.com |
+| 2 | 李四 | 34 | 数据分析师 | 上海市 | lisi@example.com |
+| 3 | 王五 | 45 | 产品经理 | 深圳市 | wangwu@example.com |
+| 4 | 赵六 | 29 | 设计师 | 广州市 | zhaoliu@example.com |
+| 5 | 周七 | 41 | 销售总监 | 成都市 | zhouqi@example.com |
+| 6 | 吴八 | 37 | 运维工程师 | 杭州市 | wuba@example.com |
+| 7 | 郑九 | 32 | 市场专员 | 南京市 | zhengjiu@example.com |
+| 8 | 王十 | 39 | 技术支持 | 武汉市 | wangshi@example.com |
+| 9 | 李十一 | 27 | 网络安全专家 | 西安市 | lishiyi@example.com |
+| 10 | 张十二 | 36 | 数据库管理员 | 天津市 | zhangshier@example.com |
+| 11 | 周十三 | 50 | 首席执行官 | 重庆市 | zhoushisan@example.com |
+| 12 | 王十四 | 29 | 项目经理 | 苏州市 | wangshisi@example.com |
+| 13 | 李十五 | 44 | 人力资源经理 | 长沙市 | lishiwv@example.com |
+| 14 | 赵十六 | 38 | 质量保证工程师 | 郑州市 | zhaoshiliu@example.com |
+| 15 | 周十七 | 26 | 前端开发工程师 | 南宁市 | zhoushiq@example.com |
+| 16 | 吴十八 | 31 | 系统架构师 | 哈尔滨市 | wushiba@example.com |
+| 17 | 郑十九 | 35 | 商务经理 | 济南市 | zhengshijiu@example.com |
+| 18 | 王二十 | 33 | 运维总监 | 青岛市 | wangershi@example.com |
+
+| 序号 | 姓名 | 年龄 | 职业 | 所在城市 | 电子邮件 | 学历 | 入职年份 | 联系电话 |
+|------|--------------|------|--------------|------------------|---------------------------|------------|----------|-----------------|
+| 1 | 张三 | 28 | 软件工程师 | 北京市 | zhangsan@example.com | 本科 | 2015 | 12345678901 |
+| 2 | 李四 | 34 | 数据分析师 | 上海市 | lisi@example.com | 硕士 | 2012 | 12345678902 |
+| 3 | 王五 | 45 | 产品经理 | 深圳市 | wangwu@example.com | 本科 | 2005 | 12345678903 |
+| 4 | 赵六 | 29 | 设计师 | 广州市 | zhaoliu@example.com | 本科 | 2016 | 12345678904 |
+| 5 | 周七 | 41 | 销售总监 | 成都市 | zhouqi@example.com | 硕士 | 2008 | 12345678905 |
+| 6 | 吴八 | 37 | 运维工程师 | 杭州市 | wuba@example.com | 本科 | 2010 | 12345678906 |
+| 7 | 郑九 | 32 | 市场专员 | 南京市 | zhengjiu@example.com | 硕士 | 2013 | 12345678907 |
+| 8 | 王十 | 39 | 技术支持 | 武汉市 | wangshi@example.com | 本科 | 2009 | 12345678908 |
+| 9 | 李十一 | 27 | 网络安全专家 | 西安市 | lishiyi@example.com | 硕士 | 2017 | 12345678909 |
+| 10 | 张十二 | 36 | 数据库管理员 | 天津市 | zhangshier@example.com | 本科 | 2011 | 12345678910 |
+| 11 | 周十三 | 50 | 首席执行官 | 重庆市 | zhoushisan@example.com | 博士 | 2000 | 12345678911 |
+| 12 | 王十四 | 29 | 项目经理 | 苏州市 | wangshisi@example.com | 硕士 | 2015 | 12345678912 |
+| 13 | 李十五 | 44 | 人力资源经理 | 长沙市 | lishiwv@example.com | 本科 | 2006 | 12345678913 |
+| 14 | 赵十六 | 38 | 质量保证工程师 | 郑州市 | zhaoshiliu@example.com | 硕士 | 2009 | 12345678914 |
+| 15 | 周十七 | 26 | 前端开发工程师 | 南宁市 | zhoushiq@example.com | 本科 | 2018 | 12345678915 |
+| 16 | 吴十八 | 31 | 系统架构师 | 哈尔滨市 | wushiba@example.com | 硕士 | 2014 | 12345678916 |
+| 17 | 郑十九 | 35 | 商务经理 | 济南市 | zhengshijiu@example.com | 本科 | 2011 | 12345678917 |
+| 18 | 王二十 | 33 | 运维总监 | 青岛市 | wangershi@example.com | 硕士 | 2012 | 12345678918 |
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-5_zh-CN.md b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-5_zh-CN.md
new file mode 100644
index 0000000..f8b9443
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/zh-CN/posts/post-5_zh-CN.md
@@ -0,0 +1,13 @@
+---
+date: 2024-07-22T00:00:00+08:00
+tags:
+- red
+title: 文章 5
+slug: post-5
+---
+
+文章 5。
+
+我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。
+
+我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。我能吞下玻璃而不伤身体。
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/exampleSite/content/zh-CN/tags/_index.md b/themes/hugo-theme-yue/exampleSite/content/zh-CN/tags/_index.md
new file mode 100644
index 0000000..40362fd
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/content/zh-CN/tags/_index.md
@@ -0,0 +1,3 @@
+---
+title: 标签
+---
diff --git a/themes/hugo-theme-yue/exampleSite/hugo.yaml b/themes/hugo-theme-yue/exampleSite/hugo.yaml
new file mode 100644
index 0000000..06bcd33
--- /dev/null
+++ b/themes/hugo-theme-yue/exampleSite/hugo.yaml
@@ -0,0 +1,95 @@
+# Documentation: https://gohugo.io/getting-started/configuration
+# Don't remove _merge, which imports default config
+theme: hugo-theme-yue
+baseURL: https://yue.cyrusyip.org/ # Change this to your real domain name, e.g. https://my-cool-domain.org/
+defaultContentLanguage: en
+defaultContentLanguageInSubdir: true
+enableGitInfo: false # Set lastmod from git history, this may increase build time
+enableEmoji: true # Emoji list: https://gohugo.io/quick-reference/emojis/
+enableRobotsTXT: true
+
+params:
+ _merge: deep # Import default config
+ rssFullContent: true
+ homePagerSize: 5
+ sectionPagerSize: 10000 # Default: 10, set this to a large number to remove pagination
+ images:
+ # Default image used in Open Graph, see https://gohugo.io/templates/embedded/#configure-open-graph
+ - favicon.ico # /static/favicon.ico
+
+frontmatter:
+ lastmod: ['lastmod', ':default'] # lastmod in front matter has highest precedence
+
+markup:
+ _merge: deep # Import default config
+ goldmark:
+ renderer:
+ unsafe: true # Allow HTML code in Markdown, see https://gohugo.io/getting-started/configuration-markup/#rendererunsafe
+
+# Any key not defined under a languages will fall back to the global value in the root of configuration
+languages:
+ en:
+ contentDir: content/en
+ languageCode: en-US
+ languageDirection: ltr
+ languageName: English
+ title: Yue # Shown in home page
+ weight: 10
+ menus:
+ main:
+ - name: Home
+ pageRef: /
+ weight: 10
+ - name: Posts
+ pageRef: /posts
+ weight: 20
+ - name: Tags
+ pageRef: /tags
+ weight: 30
+ - name: Categories
+ pageRef: /categories
+ weight: 40
+ - name: About
+ pageRef: /about
+ weight: 50
+ params:
+ dateFormat: Jan 02, 2006 # See https://gohugo.io/functions/time/format/
+ author: Jane Doe # Default author, supports single value or list, used in single page
+ footer:
+ copyright:
+ yearStart: 2023 # Optional
+ yearEnd: 2024 # Optional, default value: current year
+ author: Jane Doe
+ zh-CN:
+ hasCJKLanguage: true
+ contentDir: content/zh-CN
+ languageCode: zh-CN
+ languageDirection: ltr
+ languageName: 中文
+ title: 月
+ weight: 20
+ menus:
+ main:
+ - name: 主页
+ pageRef: /
+ weight: 10
+ - name: 文章
+ pageRef: /posts
+ weight: 20
+ - name: 标签
+ pageRef: /tags
+ weight: 30
+ - name: 类别
+ pageRef: /categories
+ weight: 40
+ - name: 关于
+ pageRef: /about
+ weight: 50
+ params:
+ dateFormat: 2006年1月2日
+ author: 小月
+ footer:
+ copyright:
+ yearStart: 2023
+ # yearEnd: 2024
+ author: 小月
diff --git a/themes/hugo-theme-yue/hugo.yaml b/themes/hugo-theme-yue/hugo.yaml
new file mode 100644
index 0000000..728ad77
--- /dev/null
+++ b/themes/hugo-theme-yue/hugo.yaml
@@ -0,0 +1,20 @@
+# Default config
+module:
+ hugoVersion:
+ extended: true
+ min: 0.147.1
+
+params:
+ toc: true # Table of Contents
+ tocFolded: true
+
+markup:
+ tableOfContents:
+ startLevel: 2
+ endLevel: 6
+ ordered: false
+ highlight:
+ guessSyntax: true
+ lineNoStart: 1
+ lineNos: true
+ noClasses: false
diff --git a/themes/hugo-theme-yue/i18n/ar.yaml b/themes/hugo-theme-yue/i18n/ar.yaml
new file mode 100644
index 0000000..9558026
--- /dev/null
+++ b/themes/hugo-theme-yue/i18n/ar.yaml
@@ -0,0 +1,10 @@
+authorDelimiter: ", "
+lastmodWrapper: " (آخر تحديث: {{ .lastmod }})"
+tableOfContents: الفهرس
+colon: ':'
+previousPage: "الصفحة السابقة: "
+nextPage: "الصفحة التالية: "
+themeInfo: مبني بـ {{ .hugo }} و{{ .yue }}
+
+404Message: الصفقة المطبوبة غير موجودة.
+404HomeLinkMessage: العودة إلى الصفحة الرئيسيسة
diff --git a/themes/hugo-theme-yue/i18n/en.yaml b/themes/hugo-theme-yue/i18n/en.yaml
new file mode 100644
index 0000000..bac6fb2
--- /dev/null
+++ b/themes/hugo-theme-yue/i18n/en.yaml
@@ -0,0 +1,14 @@
+# Sort according to appearance order
+
+# Single page
+authorDelimiter: ", "
+lastmodWrapper: " (Modified: {{ .lastmod }})"
+tableOfContents: Table of Contents
+colon: ':' # Taxonomy, e.g. Tags:
+previousPage: "Prev: " # Page nav
+nextPage: "Next: " # Page nav
+themeInfo: Built with {{ .hugo }} and {{ .yue }} # Footer
+
+# 404 page, e.g. /en/404.html
+404Message: The page you visited was not found.
+404HomeLinkMessage: Return to the home page
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/i18n/fr.yaml b/themes/hugo-theme-yue/i18n/fr.yaml
new file mode 100644
index 0000000..5408af3
--- /dev/null
+++ b/themes/hugo-theme-yue/i18n/fr.yaml
@@ -0,0 +1,10 @@
+authorDelimiter: ", "
+lastmodWrapper: " (Modifié : {{ .lastmod }})"
+tableOfContents: Table des matières
+colon: ' :'
+previousPage: "Page precédente : "
+nextPage: "Page suivante : "
+themeInfo: Conçu avec {{ .hugo }} et {{ .yue }}
+
+404Message: La page que vous avez consultée n'a pas été trouvée.
+404HomeLinkMessage: Retourner à la page d'accueil
diff --git a/themes/hugo-theme-yue/i18n/zh-CN.yaml b/themes/hugo-theme-yue/i18n/zh-CN.yaml
new file mode 100644
index 0000000..cd90f9b
--- /dev/null
+++ b/themes/hugo-theme-yue/i18n/zh-CN.yaml
@@ -0,0 +1,10 @@
+authorDelimiter: 、
+lastmodWrapper: "(修改于{{ .lastmod }})"
+tableOfContents: 目次
+colon: ':'
+previousPage: "上篇:"
+nextPage: "下篇:"
+themeInfo: 使用 {{ .hugo }} 和 {{ .yue }} 构建
+
+404Message: 找不到你访问的页面。
+404HomeLinkMessage: 返回主页
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/images/screenshot.png b/themes/hugo-theme-yue/images/screenshot.png
new file mode 100644
index 0000000..2bcf990
Binary files /dev/null and b/themes/hugo-theme-yue/images/screenshot.png differ
diff --git a/themes/hugo-theme-yue/images/tn.png b/themes/hugo-theme-yue/images/tn.png
new file mode 100644
index 0000000..2bcf990
Binary files /dev/null and b/themes/hugo-theme-yue/images/tn.png differ
diff --git a/themes/hugo-theme-yue/layouts/404.html b/themes/hugo-theme-yue/layouts/404.html
new file mode 100644
index 0000000..0120ed7
--- /dev/null
+++ b/themes/hugo-theme-yue/layouts/404.html
@@ -0,0 +1,7 @@
+{{ define "main" }}
+
\ No newline at end of file
diff --git a/themes/hugo-theme-yue/layouts/_partials/footer/rss_link.html b/themes/hugo-theme-yue/layouts/_partials/footer/rss_link.html
new file mode 100644
index 0000000..f8ea6a4
--- /dev/null
+++ b/themes/hugo-theme-yue/layouts/_partials/footer/rss_link.html
@@ -0,0 +1,3 @@
+{{- with .OutputFormats.Get "rss" -}}
+
+ {{ end -}}
+ {{ else -}}
+ {{- /* link to home page */ -}}
+ {{ range site.Languages -}}
+ {{ if ne site.Language.Lang .Lang -}} {{- /* ignore current language */ -}}
+