Compare commits

..
84 Commits
Author SHA1 Message Date
Jimmy Cai 13568d8ff0 release: 3.17.0 2023-07-18 00:07:02 +00:00
SimbaFsandGitHub 2fb534f9a6 feat(i18n): update translations for zh-tw (#786)
* sync with latest

* translate zh-tw
2023-07-15 10:13:16 +08:00
Piotr HalamaandGitHub 58559c5b3f feat(i18n): add missing plural forms for the Polish language (#818)
Add missing plural forms for the Polish language
2023-07-15 09:35:09 +08:00
Tsung-Yu ChanandGitHub 0bc942bb12 fix: remark42 comment system won't show (#799) 2023-07-12 09:37:39 +08:00
WeltolkandGitHub a88fe3f5a7 chore: update twikoo version (#783) 2023-07-12 09:20:25 +08:00
Jacob ZhongandGitHub 1bd4dcd415 fix(sidebar): add padding-bottom to the right sidebar (#765)
Add bottom padding to the right sidebar
2023-07-12 09:12:58 +08:00
Jimmy CaiandGitHub aae9cf67db fix: typo in README: stater -> starter
closes https://github.com/CaiJimmy/hugo-theme-stack/issues/764
2023-02-16 20:07:43 +01:00
Nagakawa YunoandGitHub cb42d2041f fix: KaTeX may render contents in gist under certain conditions (#755)
add gist to katex's ignoredClasses
2023-02-16 20:03:32 +01:00
ttheng3810andGitHub 4272da7ee4 feat(i18n): add footer translation for ZH-TW (#748) 2022-12-29 21:18:14 +01:00
ParasomniaandGitHub d382ca993d fix(comment/utterances): the target origin mismatch recipient window's origin (#735) 2022-12-06 14:55:40 +01:00
rock GandGitHub 3ff06fe033 fix: anchor link need decode (#719) 2022-12-05 21:21:37 +01:00
Anh Nhat TranandGitHub ff7a56a7ac feat(i18n): add vietnamese translation (#717) 2022-12-03 13:27:55 +01:00
Jimmy CaiandGitHub 196116f20d fix: incorrect menu URL when baseURL is a subpath (#713) 2022-10-29 17:28:47 +02:00
Jimmy CaiandGitHub b03390d237 Revert "Merge branch 'canary' into master" (#712)
Revert "Merge branch 'canary' into master (#711)"

This reverts commit 8a597a5c9c.
2022-10-29 17:14:19 +02:00
Jimmy CaiandGitHub 8a597a5c9c 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
2022-10-29 17:02:24 +02:00
Jimmy Cai d60083e055 release: 3.16.0 2022-10-29 14:46:07 +00:00
Jimmy CaiandGitHub 5d34c3de44 fix(article): frontmatter field .ReadingTime should overwrite global configuration (#710) 2022-10-29 14:50:15 +02:00
MartinAramayoandGitHub 30e033c660 feat(article): make long KaTeX equations scrollable in the x-axis (#706)
* Make long KaTeX equations scrollable in the x-axis

Suggested from: https://katex.org/docs/issues.html, I have tested it adding a long equation and activating a phone user agent.

* refactor: move KaTeX style to article.scss
2022-10-29 14:38:44 +02:00
Jimmy Cai 86314608e3 style: fix indent 2022-10-29 12:19:09 +00:00
Tom MorrisandGitHub 8611363549 feat: add rel=me to social links (#707)
Adds rel-me to social links

[rel="me"] is a commonly used way to show that that two websites or
social
media accounts are the same, and is used for authentication and proving
site ownership in a variety of ways.

[rel="me"]: https://indieweb.org/rel-me
2022-10-29 14:04:21 +02:00
Jimmy Cai 73437f24ea release: 3.15.0 2022-10-22 10:17:46 +00:00
9b464bd9fc feat(page): add keywords front matter field for better SEO (#664)
* added keywords metadata tag for google SEO

* fix: avoid empty keywords meta tag

Co-authored-by: Jimmy Cai <github@jimmycai.com>
2022-10-22 12:13:24 +02:00
FarisZRandGitHub 70f431ea18 feat: add a separate configuration field for site description (#672)
* Add an optional site description option

* Add site description to the example site (Chinese Auto-translated)
2022-10-22 11:56:38 +02:00
Ahmad HelalyandGitHub 30fdd000f9 feat(article): add readingTime front matter field to overwrite global configuration (#701)
* add DisableReadTime for articles

* change frontmatter disableReadingTime to readingTime
2022-10-22 11:48:00 +02:00
ae497c4789 refactor(grid): avoid sidebar layout shift when main content loads slowly (#677)
Co-authored-by: Luguoba <80254980+luguoba@users.noreply.github.com>
2022-10-21 13:06:06 +02:00
Celso MirandaandGitHub 299b80c5f8 feat(i18n): add european portuguese translation (#699)
Very subtle changes from the Brazilian Portuguese translation
2022-10-21 12:56:00 +02:00
Jimmy Cai 414a9915e5 release: 3.14.0 2022-10-02 09:59:23 +00:00
378370f6db docs: update the notes about favicon in the configuration file (#670)
* Update the notes about favicon in the configuration theme

* Update note about favicon

Co-authored-by: Jimmy Cai <github@jimmycai.com>
2022-10-02 11:56:56 +02:00
Allen GuanandGitHub e1a85aa5cd refactor(highlight): extract common parts of styles and keep line number visible when scrolling (#681)
* merge highlight.scss

* show line number when scroll
2022-10-02 11:38:42 +02:00
FarisZRandGitHub b1e8472bcf feat(i18n): add categories cloud translation for Arabic (#673)
Add categories cloud translation
2022-09-29 16:30:47 +02:00
Mehedi HasanandGitHub 22d8a396ab feat(i18n): update Bengali translation (#665) 2022-09-29 16:28:58 +02:00
Daniel PessoaandGitHub 94a1f4ade0 feat(i18n): add missing pt-BR translations (#680)
* feat(i18n): Add categoriesCloud for pt-BR
2022-09-29 16:25:58 +02:00
Dmitry VerkhoturovandGitHub 8826674b1f fix(comments): update Remark42 source code (#683)
update remark42 source code

Updated frontend code taken from https://remark42.com/docs/configuration/frontend/
2022-09-29 16:22:01 +02:00
Jimmy CaiandGitHub efd6f1de37 chore: simplify README.md 2022-09-17 15:38:44 +02:00
WontoryandGitHub 72c5f4ea24 feat(i18n): added missing korean translation (categories cloud widget) (#653) 2022-08-03 20:49:10 +02:00
Jimmy Cai 5869a7ab83 release: 3.13.0 2022-07-31 10:55:27 +00:00
d00dbc17bc feat(comment): add strict and input-position to Giscus config (#648)
* 添加giscus设置选项

根据giscus官方文档,添加了data-strict和data-input-position设置选项

* feat: add strict and inputPosition to giscus config section

Co-authored-by: Jimmy Cai <github@jimmycai.com>
2022-07-31 12:39:20 +02:00
Jimmy Cai 655b5102c4 fix(article): footnote reference does not work
closes https://github.com/CaiJimmy/hugo-theme-stack/issues/632
2022-07-28 16:48:37 +00:00
Jimmy CaiandGitHub b02569add9 chore(github): delete unused Github actions 2022-06-11 12:45:39 +00:00
Jimmy CaiandGitHub 4546d74af3 chore(github): add browser info field to issue form 2022-06-11 14:37:39 +02:00
Jimmy CaiandGitHub c6ccfc8f26 fix(github): try to fix errors with the issue form 2022-06-11 14:32:34 +02:00
Jimmy CaiandGitHub 5fe1b35ba5 chore(github): change issue report template to a form 2022-06-11 14:29:02 +02:00
Jimmy CaiandGitHub d53ba6ea20 docs(github): create issue config.yml
Disable blank issue
2022-06-11 14:00:36 +02:00
Jimmy CaiandGitHub 722950c167 docs(github): remove feature request template
see https://github.com/CaiJimmy/hugo-theme-stack/discussions/630
2022-06-11 11:56:38 +00:00
rmdhnrezaandGitHub 3d09c23284 feat(article): GitLab Snippets Shortcode (#627) 2022-06-11 11:04:20 +02:00
Jimmy CaiandGitHub 7a38f3ad50 chore: update Hugo version in Netlify CI 2022-06-11 10:59:20 +02:00
Jimmy CaiandGitHub 5608f0a5e1 release: 3.12.0 2022-06-10 22:54:12 +00:00
Jimmy CaiandGitHub 165c96a8e0 fix(comments): Twikoo dark mode emoji selector background
closes https://github.com/CaiJimmy/hugo-theme-stack/issues/583

credit: https://github.com/CaiJimmy/hugo-theme-stack/issues/583#issuecomment-1096270207 (@rmdhnreza)
2022-06-10 22:43:16 +00:00
lonzziandGitHub 7142de24cc fix(article): TOC link not working when the heading starts with digits (#603) 2022-06-11 00:39:16 +02:00
cubercslandGitHub 9aa6b4925b fix(style): toc counter is incorrect when there are <a> in heading (#601)
closes https://github.com/CaiJimmy/hugo-theme-stack/issues/495, https://github.com/CaiJimmy/hugo-theme-stack/issues/589
2022-06-11 00:34:19 +02:00
Sajjad ShirazyandGitHub 92a6d71ce5 feat(i18n): add Persian(Farsi) translation (#602) 2022-06-10 20:55:59 +02:00
Jimmy CaiandGitHub 01eb9a4b0e fix: check if DISQUS is loaded before accessing it (#626)
closes https://github.com/CaiJimmy/hugo-theme-stack/issues/571
2022-06-09 22:43:08 +02:00
Mehedi HasanandGitHub 49c0a2bc56 feat(i18n): add Bengali translation (#625) 2022-06-09 20:48:24 +02:00
luoboQAQandGitHub 9eec31f0b6 feat(comment): Update Waline to V2 version (#616)
*  feat(comment): 更新Waline至V2版本

* 保留placeholder属性
2022-06-08 18:30:52 +02:00
Simon GuestandGitHub 772b9e3ba8 fix(article): regression in article copyright link box-shadow (#611)
Somewhere between hugo 0.88.1 and 0.98.0, box-shadow got applied
to the article copyright, which is an ugly regression.
2022-06-08 18:21:28 +02:00
955bb8dd7f feat(shortcodes): add quote shortcode, and example (#414)
* Add quote shortcode, and example

* Use trim to improve whitespace

* Allow for quote with neither author nor source

* Format code and move quote.scss to article.scss

This style is only used on the article page, so it makes more sense to have it there.

Co-authored-by: Jimmy Cai <github@jimmycai.com>
2022-06-08 17:59:23 +02:00
Felix NiederwangerandGitHub 0a5cbea10f feat(i18n): add missing translation (it, nl) for categories (#614) 2022-06-05 19:01:31 +02:00
baptiste313andGitHub e8f1b8f7b7 chore: update dependencies (KaTeX, node-vibrant) (#477) 2022-06-05 18:50:27 +02:00
WeltolkandGitHub 06c68e2aa2 chore: update twikoo version to 1.5.11 (#613) 2022-06-05 18:48:01 +02:00
Jimmy CaiandGitHub 3a79e9856e fix: read imageProcessing.cover.enabled correctly (#621) 2022-06-05 18:21:08 +02:00
Zsombor UdvardyandGitHub add8f364e0 feat(i18n): add Hungarian translation (#584) 2022-06-05 18:00:05 +02:00
Spence ChurchillandGitHub 5e350b92e8 refactor: rename "Related contents" to "Related content" (#567) 2022-06-05 17:20:08 +02:00
Allen GuanandGitHub 58b1e0706a feat: add general.scss and change link hover style (#550) 2022-06-05 17:00:14 +02:00
Niko KöserandGitHub 14bb05c8db docs(i18n): add German translation for categories widget (#596) 2022-06-05 13:02:41 +02:00
ti777777andGitHub c1fcec95a6 chore(README): fix a typo (#543) 2022-03-20 12:42:28 +01:00
Jimmy CaiandGitHub 69ac21d0f7 release: 3.11.0 2022-03-19 23:56:29 +00:00
慕枫GoandGitHub 8c04e8362c fix(vssue): Vue version compatibility (#546) 2022-03-20 00:52:06 +01:00
c5eee559c2 fix(i18n/ar): update Reading Time localization for Arabic language (#527)
* update the localization based on Arabic syntax

readingTime variable updated to match the exact syntax for Arabic language

One variable in Arabic no need to add the count variable for 1 minute, there is a word to describe that specifically. 
Other variable localization updated to match Arabic grammar tenses.

* remove unnecessary leading space

Co-authored-by: Jimmy Cai <github@jimmycai.com>
2022-03-20 00:41:18 +01:00
Farrel FranqoisandGitHub 2726cf7549 feat(i18n/id): Add translation for Category Widget (#548) 2022-03-20 00:38:00 +01:00
Jimmy CaiandGitHub de952be116 fix(exampleSite): cn.md -> zh-cn.md 2022-03-19 23:16:58 +00:00
HugooandGitHub 1cfd39c627 feat(i18n): add Catalan translation (#557) 2022-03-20 00:14:26 +01:00
HugooandGitHub bf8868c8e7 feat(i18n/es): add translation for Category widget (#558) 2022-03-20 00:06:27 +01:00
KonnyakuandGitHub da6a50ddb5 feat(i18n): add Chinese(Hong Kong) translation (#560) 2022-03-20 00:05:12 +01:00
zhixuanandGitHub 2671f292fd fix(exampleSite): wrong zh-cn about page filename (#562) 2022-03-20 00:00:08 +01:00
Kacper BetańskiandGitHub 9d922272e4 feat(i18n/pl): Add translation for Category widget (#563) 2022-03-19 23:58:05 +01:00
Jimmy CaiandGitHub 5699510c36 refactor(article): remove article toolbar style 2022-03-19 22:41:37 +00:00
Jimmy CaiandGitHub 7d1713d407 refactor(i18n): use lowercase language codes
Related with this Hugo issue: https://github.com/gohugoio/hugo/issues/7344
2022-03-09 15:04:24 +00:00
Jimmy CaiandGitHub b5d0c5b37d fix(exampleSite): cn -> zh-CN 2022-03-09 14:59:36 +00:00
zhixuanandGitHub 0167edcbf2 feat(i18n): add missing ja & zh-CN translations (#538) 2022-03-07 21:33:04 +01:00
Jimmy CaiandGitHub 7a5dccdfd3 doc: add quickstart template 2022-03-06 11:17:03 +01:00
Jimmy CaiandGitHub de9756291b release: 3.10.0 2022-03-06 10:58:31 +01:00
Jimmy CaiandGitHub 07e1b856b0 feat: same container width on all pages (#534) 2022-03-06 10:58:02 +01:00
Jimmy CaiandGitHub 8f5164b5b9 chore: add go.mod again 2022-03-05 17:35:18 +00:00
Jimmy CaiandGitHub 07da61b1f2 chore: delete go.mod 2022-03-05 17:25:02 +00:00
72 changed files with 1377 additions and 1173 deletions
-45
View File
@@ -1,45 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
<!--
Before creating this bug report, make sure you have read the theme documentation: https://docs.stack.jimmycai.com/
-->
## Describe the bug
A clear and concise description of what the bug is.
## Expected behavior
A clear and concise description of what you expected to happen.
## To Reproduce
Indicate the steps to reproduce this bug, if applicable.
## Screenshots
Add screenshots to help explain your problem.
## Environment
- **Hugo version** [e.g: 0.80.0]:
- **Hugo extended?**: Yes / No
## Additional context
Add any other context about the problem here.
If it's a UI issue, fill the following information:
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
## Content of config.yaml
```yaml
### Paste the content of the config file here
```
## Link to the demo site and/or source repository
+75
View File
@@ -0,0 +1,75 @@
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please provide as much information as possible and make sure you have checked the [documentation](https://docs.stack.jimmycai.com/).
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen? Please be as detailed as possible, include screenshots and any other information that might help us reproduce the problem.
placeholder: Tell us what you see!
validations:
required: true
- type: input
id: hugo-version
attributes:
label: Hugo version
description: "What is the version of Hugo you are using? (Note: this theme does not support non-extended version of Hugo)"
placeholder: ex. 0.100.0
validations:
required: true
- type: input
id: theme-version
attributes:
label: Theme version
description: "What is the version of Stack theme you are using?"
placeholder: ex. 3.12.0
validations:
required: true
- type: dropdown
id: browsers
attributes:
label: What browsers are you seeing the problem on?
multiple: true
options:
- Firefox
- Chrome
- Safari
- Microsoft Edge
- type: input
id: browser-info
attributes:
label: More information about the browser
description: "E.g: Browser version, OS version, etc."
placeholder: ex. Chrome 104, Windows 11
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: markdown
attributes:
value: |
If the issue is not present on the [demo site](https://demo.stack.jimmycai.com), in order to better understand the problem, please provide the link to the source code of your website (not the generated HTML).
Or link to a minimal reproduction of the problem if there are sensible data.
- type: input
id: bug-url
attributes:
label: Link to the page with bug
placeholder: https://demo.stack.jimmycai.com
value: https://demo.stack.jimmycai.com
validations:
required: true
- type: input
id: source-repo
attributes:
label: Link to the source repository
placeholder: https://github.com/CaiJimmy/hugo-theme-stack
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discussions
url: https://github.com/CaiJimmy/hugo-theme-stack/discussions
about: Please ask and answer questions here.
-20
View File
@@ -1,20 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
-33
View File
@@ -1,33 +0,0 @@
name-template: "v$RESOLVED_VERSION 🌈"
tag-template: "v$RESOLVED_VERSION"
categories:
- title: "🚀 Features"
labels:
- "feature"
- "enhancement"
- title: "🐛 Bug Fixes"
labels:
- "fix"
- "bugfix"
- "bug"
- title: "🧰 Maintenance"
label: "chore"
- title: "♻️ Refactor"
label: refactor
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- "major"
minor:
labels:
- "minor"
patch:
labels:
- "patch"
default: patch
template: |
## Changes
$CHANGES
-44
View File
@@ -1,44 +0,0 @@
name: Build Hugo Artifact
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [master]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Hugo setup
uses: peaceiris/actions-hugo@v2.4.13
with:
# The Hugo version to download (if necessary) and use. Example: 0.58.2
hugo-version: latest # optional, default is latest
# Download (if necessary) and use Hugo extended version. Example: true
extended: true # optional, default is false
# Runs a set of commands using the runners shell
- name: Generate Hugo site
run: cd exampleSite && hugo --gc --themesDir ../..
- name: Upload Hugo artifact
uses: actions/upload-artifact@v2.2.2
with:
# Artifact name
name: resources
# A file, directory or wildcard pattern that describes what to upload
path: |
exampleSite/resources
!exampleSite/resources/_gen/images
-16
View File
@@ -1,16 +0,0 @@
name: Release Drafter
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+12 -67
View File
@@ -1,48 +1,23 @@
![Stack](https://i.imgur.com/cCiHOGS.jpg)
![image](https://user-images.githubusercontent.com/5889006/190859441-141b5f81-8483-40d2-bd96-ebf85616a46d.png)
# Hugo Theme Stack
> Card-style Hugo theme designed for bloggers.
<img align="right" width="150" alt="logo" src="https://user-images.githubusercontent.com/5889006/190859553-5b229b4f-c476-4cbd-928f-890f5265ca4c.png">
Card-style Hugo theme designed for bloggers.
## Quickstart
Use this template: [CaiJimmy/hugo-theme-stack-starter](https://github.com/CaiJimmy/hugo-theme-stack-starter)
## Demo
[Example Site](https://demo.stack.jimmycai.com/)
[![Netlify Status](https://api.netlify.com/api/v1/badges/a2d2807a-a905-4bcb-97da-8da8d847da3d/deploy-status)](https://app.netlify.com/sites/hugo-theme-stack/deploys)
* Starter template demo: [demo.stack.jimmycai.com](https://demo.stack.jimmycai.com)
* Dev build: [dev.stack.jimmycai.com](https://dev.stack.jimmycai.com)
## Documentation
[Documentation](https://docs.stack.jimmycai.com/) | [中文文档](https://docs.stack.jimmycai.com/zh/)
## Introduction
Stack is a simple card-style Hugo theme designed for bloggers, some of its features are:
- Responsive images support
- Lazy load images
- Dark mode
- Local search
- [PhotoSwipe](https://photoswipe.com/) integration
- Archive page template
- Full native JavaScript, no jQuery or any other frameworks are used
- No CSS framework, keep it simple and minimal
- Properly cropped thumbnails
- Subsection support
- Table of contents
## Requirements
It's necessary to use **Hugo Extended ≥ 0.87.0**.
## Installation
* Route 1: Clone / Download this repository to `theme` folder
* Route 2: Turn your site into a hugo module and add this theme as a module dependency
Edit your site config following `exampleSite/config.yaml`.
*Note: Remove `config.toml` if there is one in the site folder.*
Check [documentation](https://docs.stack.jimmycai.com/) for more details.
Visit [stack.jimmycai.com](https://stack.jimmycai.com)
## Copyright
@@ -51,33 +26,3 @@ Check [documentation](https://docs.stack.jimmycai.com/) for more details.
Please do not remove the "*Theme Stack designed by Jimmy*" text and link.
If you want to port this theme to another blogging platform, please let me know🙏.
## Sponsoring
If you like this theme, give it a star, and consider supporting its development:
[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/C0C530AXX)
Your support is greatly appreciated :)
## Thanks to
| Project | Description | Licence |
| ------- | ----------- | ------- |
| [PhotoSwipe](https://photoswipe.com/) | For the lightbox effect | [MIT](https://github.com/dimsemenov/PhotoSwipe/blob/master/LICENSE) |
| [Normalize.css](https://github.com/necolas/normalize.css) | - | [MIT](https://github.com/necolas/normalize.css/blob/master/LICENSE.md) |
| [Node Vibrant](https://github.com/Vibrant-Colors/node-vibrant) | To extract the color from images | [MIT](https://github.com/Vibrant-Colors/node-vibrant/blob/master/LICENSE.md)
| [Tabler icons](https://github.com/tabler/tabler-icons) | Default menu icons | [MIT](https://github.com/tabler/tabler-icons/blob/master/LICENSE) |
| [jonsuh/hamburgers](https://github.com/jonsuh/hamburgers) | Hamburger icon of menu | [MIT](https://github.com/jonsuh/hamburgers/blob/master/LICENSE) |
| [lepture/yue.css](https://github.com/lepture/yue.css) | Part of it is used for styling article content | MIT |
| [Typlog](https://typlog.com/) | Where the markdown gallery syntax is borrowed from | The author gave me the permission |
| [Pure CSS implementation of Google Photos / 500px image layout](https://github.com/xieranmaya/blog/issues/6) | Used for image gallery | - |
### References
Some references that I took while building this theme:
| Project | Licence|
| ------- | ------|
| [artchen/hexo-theme-element](https://github.com/artchen/hexo-theme-element) | [MIT](https://github.com/artchen/hexo-theme-element/blob/master/LICENSE) |
| [MunifTanjim/minimo](https://github.com/MunifTanjim/minimo) | [MIT](https://github.com/MunifTanjim/minimo/blob/master/LICENSE) |
+31
View File
@@ -0,0 +1,31 @@
a {
text-decoration: none;
color: var(--accent-color);
&:hover {
color: var(--accent-color-darker);
}
&.link {
box-shadow: 0px -2px 0px rgba(var(--link-background-color), var(--link-background-opacity)) inset;
transition: all 0.3s ease;
&:hover {
box-shadow: 0px calc(-1rem * var(--article-line-height)) 0px rgba(var(--link-background-color), var(--link-background-opacity-hover)) inset;
}
}
}
.section-title {
text-transform: uppercase;
margin-top: 0;
margin-bottom: 10px;
display: block;
font-size: 1.6rem;
font-weight: bold;
color: var(--body-text-color);
a {
color: var(--body-text-color);
}
}
+3
View File
@@ -3,10 +3,12 @@
margin-right: auto;
.left-sidebar {
order: -3;
max-width: var(--left-sidebar-max-width);
}
.right-sidebar {
order: -1;
max-width: var(--right-sidebar-max-width);
/// Display right sidebar when min-width: lg
@@ -73,6 +75,7 @@
}
main.main {
order: -2;
min-width: 0;
max-width: 100%;
flex-grow: 1;
+427
View File
@@ -0,0 +1,427 @@
/* Background */
.chroma {
color: $color;
background-color: $background-color;
}
/* Other */
.chroma .x {
}
/* Error */
.chroma .err {
color: $error-color;
}
/* LineTableTD */
.chroma .lntd {
vertical-align: top;
padding: 0;
margin: 0;
border: 0;
}
/* LineTable */
.chroma .lntable {
border-spacing: 0;
padding: 0;
margin: 0;
border: 0;
width: 100%;
display: block;
> tbody {
display: block;
width: 100%;
> tr {
display: flex;
width: 100%;
> td:last-child {
overflow-x: auto;
}
}
}
}
/* LineHighlight */
.chroma .hl {
display: block;
width: 100%;
background-color: #ffffcc;
}
/* LineNumbersTable */
.chroma .lnt {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* LineNumbers */
.chroma .ln {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* Keyword */
.chroma .k {
color: $keyword-color;
}
/* KeywordConstant */
.chroma .kc {
color: $keyword-color;
}
/* KeywordDeclaration */
.chroma .kd {
color: $keyword-color;
}
/* KeywordNamespace */
.chroma .kn {
color: #f92672;
}
/* KeywordPseudo */
.chroma .kp {
color: $keyword-color;
}
/* KeywordReserved */
.chroma .kr {
color: $keyword-color;
}
/* KeywordType */
.chroma .kt {
color: $keyword-color;
}
/* Name */
.chroma .n {
color: $text-color;
}
/* NameAttribute */
.chroma .na {
color: $name-color;
}
/* NameBuiltin */
.chroma .nb {
color: $text-color;
}
/* NameBuiltinPseudo */
.chroma .bp {
color: $text-color;
}
/* NameClass */
.chroma .nc {
color: $name-color;
}
/* NameConstant */
.chroma .no {
color: $keyword-color;
}
/* NameDecorator */
.chroma .nd {
color: $name-color;
}
/* NameEntity */
.chroma .ni {
color: $text-color;
}
/* NameException */
.chroma .ne {
color: $name-color;
}
/* NameFunction */
.chroma .nf {
color: $name-color;
}
/* NameFunctionMagic */
.chroma .fm {
color: $text-color;
}
/* NameLabel */
.chroma .nl {
color: $text-color;
}
/* NameNamespace */
.chroma .nn {
color: $text-color;
}
/* NameOther */
.chroma .nx {
color: $name-color;
}
/* NameProperty */
.chroma .py {
color: $text-color;
}
/* NameTag */
.chroma .nt {
color: #f92672;
}
/* NameVariable */
.chroma .nv {
color: $text-color;
}
/* NameVariableClass */
.chroma .vc {
color: $text-color;
}
/* NameVariableGlobal */
.chroma .vg {
color: $text-color;
}
/* NameVariableInstance */
.chroma .vi {
color: $text-color;
}
/* NameVariableMagic */
.chroma .vm {
color: $text-color;
}
/* Literal */
.chroma .l {
color: #ae81ff;
}
/* LiteralDate */
.chroma .ld {
color: $literal-color;
}
/* LiteralString */
.chroma .s {
color: $literal-color;
}
/* LiteralStringAffix */
.chroma .sa {
color: $literal-color;
}
/* LiteralStringBacktick */
.chroma .sb {
color: $literal-color;
}
/* LiteralStringChar */
.chroma .sc {
color: $literal-color;
}
/* LiteralStringDelimiter */
.chroma .dl {
color: $literal-color;
}
/* LiteralStringDoc */
.chroma .sd {
color: $literal-color;
}
/* LiteralStringDouble */
.chroma .s2 {
color: $literal-color;
}
/* LiteralStringEscape */
.chroma .se {
color: #ae81ff;
}
/* LiteralStringHeredoc */
.chroma .sh {
color: $literal-color;
}
/* LiteralStringInterpol */
.chroma .si {
color: $literal-color;
}
/* LiteralStringOther */
.chroma .sx {
color: $literal-color;
}
/* LiteralStringRegex */
.chroma .sr {
color: $literal-color;
}
/* LiteralStringSingle */
.chroma .s1 {
color: $literal-color;
}
/* LiteralStringSymbol */
.chroma .ss {
color: $literal-color;
}
/* LiteralNumber */
.chroma .m {
color: #ae81ff;
}
/* LiteralNumberBin */
.chroma .mb {
color: #ae81ff;
}
/* LiteralNumberFloat */
.chroma .mf {
color: #ae81ff;
}
/* LiteralNumberHex */
.chroma .mh {
color: #ae81ff;
}
/* LiteralNumberInteger */
.chroma .mi {
color: #ae81ff;
}
/* LiteralNumberIntegerLong */
.chroma .il {
color: #ae81ff;
}
/* LiteralNumberOct */
.chroma .mo {
color: #ae81ff;
}
/* Operator */
.chroma .o {
color: #f92672;
}
/* OperatorWord */
.chroma .ow {
color: #f92672;
}
/* Punctuation */
.chroma .p {
color: $text-color;
}
/* Comment */
.chroma .c {
color: #75715e;
}
/* CommentHashbang */
.chroma .ch {
color: #75715e;
}
/* CommentMultiline */
.chroma .cm {
color: #75715e;
}
/* CommentSingle */
.chroma .c1 {
color: #75715e;
}
/* CommentSpecial */
.chroma .cs {
color: #75715e;
}
/* CommentPreproc */
.chroma .cp {
color: #75715e;
}
/* CommentPreprocFile */
.chroma .cpf {
color: #75715e;
}
/* Generic */
.chroma .g {
}
/* GenericDeleted */
.chroma .gd {
color: #f92672;
}
/* GenericEmph */
.chroma .ge {
font-style: italic;
}
/* GenericError */
.chroma .gr {
}
/* GenericHeading */
.chroma .gh {
}
/* GenericInserted */
.chroma .gi {
color: $name-color;
}
/* GenericOutput */
.chroma .go {
}
/* GenericPrompt */
.chroma .gp {
}
/* GenericStrong */
.chroma .gs {
font-weight: bold;
}
/* GenericSubheading */
.chroma .gu {
color: #75715e;
}
/* GenericTraceback */
.chroma .gt {
}
/* GenericUnderline */
.chroma .gl {
}
/* TextWhitespace */
.chroma .w {
}
+9 -379
View File
@@ -3,382 +3,12 @@
* https://xyproto.github.io/splash/docs/monokai.html
*/
/* Background */
.chroma {
color: #f8f8f2;
background-color: #272822
}
/* Other */
.chroma .x {}
/* Error */
.chroma .err {
color: #bb0064;
}
/* LineTableTD */
.chroma .lntd {
vertical-align: top;
padding: 0;
margin: 0;
border: 0;
}
/* LineTable */
.chroma .lntable {
border-spacing: 0;
padding: 0;
margin: 0;
border: 0;
width: auto;
overflow: auto;
display: block;
}
/* LineHighlight */
.chroma .hl {
display: block;
width: 100%;
background-color: #ffffcc
}
/* LineNumbersTable */
.chroma .lnt {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f
}
/* LineNumbers */
.chroma .ln {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f
}
/* Keyword */
.chroma .k {
color: #66d9ef
}
/* KeywordConstant */
.chroma .kc {
color: #66d9ef
}
/* KeywordDeclaration */
.chroma .kd {
color: #66d9ef
}
/* KeywordNamespace */
.chroma .kn {
color: #f92672
}
/* KeywordPseudo */
.chroma .kp {
color: #66d9ef
}
/* KeywordReserved */
.chroma .kr {
color: #66d9ef
}
/* KeywordType */
.chroma .kt {
color: #66d9ef
}
/* Name */
.chroma .n {}
/* NameAttribute */
.chroma .na {
color: #a6e22e
}
/* NameBuiltin */
.chroma .nb {}
/* NameBuiltinPseudo */
.chroma .bp {}
/* NameClass */
.chroma .nc {
color: #a6e22e
}
/* NameConstant */
.chroma .no {
color: #66d9ef
}
/* NameDecorator */
.chroma .nd {
color: #a6e22e
}
/* NameEntity */
.chroma .ni {}
/* NameException */
.chroma .ne {
color: #a6e22e
}
/* NameFunction */
.chroma .nf {
color: #a6e22e
}
/* NameFunctionMagic */
.chroma .fm {}
/* NameLabel */
.chroma .nl {}
/* NameNamespace */
.chroma .nn {}
/* NameOther */
.chroma .nx {
color: #a6e22e
}
/* NameProperty */
.chroma .py {}
/* NameTag */
.chroma .nt {
color: #f92672
}
/* NameVariable */
.chroma .nv {}
/* NameVariableClass */
.chroma .vc {}
/* NameVariableGlobal */
.chroma .vg {}
/* NameVariableInstance */
.chroma .vi {}
/* NameVariableMagic */
.chroma .vm {}
/* Literal */
.chroma .l {
color: #ae81ff
}
/* LiteralDate */
.chroma .ld {
color: #e6db74
}
/* LiteralString */
.chroma .s {
color: #e6db74
}
/* LiteralStringAffix */
.chroma .sa {
color: #e6db74
}
/* LiteralStringBacktick */
.chroma .sb {
color: #e6db74
}
/* LiteralStringChar */
.chroma .sc {
color: #e6db74
}
/* LiteralStringDelimiter */
.chroma .dl {
color: #e6db74
}
/* LiteralStringDoc */
.chroma .sd {
color: #e6db74
}
/* LiteralStringDouble */
.chroma .s2 {
color: #e6db74
}
/* LiteralStringEscape */
.chroma .se {
color: #ae81ff
}
/* LiteralStringHeredoc */
.chroma .sh {
color: #e6db74
}
/* LiteralStringInterpol */
.chroma .si {
color: #e6db74
}
/* LiteralStringOther */
.chroma .sx {
color: #e6db74
}
/* LiteralStringRegex */
.chroma .sr {
color: #e6db74
}
/* LiteralStringSingle */
.chroma .s1 {
color: #e6db74
}
/* LiteralStringSymbol */
.chroma .ss {
color: #e6db74
}
/* LiteralNumber */
.chroma .m {
color: #ae81ff
}
/* LiteralNumberBin */
.chroma .mb {
color: #ae81ff
}
/* LiteralNumberFloat */
.chroma .mf {
color: #ae81ff
}
/* LiteralNumberHex */
.chroma .mh {
color: #ae81ff
}
/* LiteralNumberInteger */
.chroma .mi {
color: #ae81ff
}
/* LiteralNumberIntegerLong */
.chroma .il {
color: #ae81ff
}
/* LiteralNumberOct */
.chroma .mo {
color: #ae81ff
}
/* Operator */
.chroma .o {
color: #f92672
}
/* OperatorWord */
.chroma .ow {
color: #f92672
}
/* Punctuation */
.chroma .p {}
/* Comment */
.chroma .c {
color: #75715e
}
/* CommentHashbang */
.chroma .ch {
color: #75715e
}
/* CommentMultiline */
.chroma .cm {
color: #75715e
}
/* CommentSingle */
.chroma .c1 {
color: #75715e
}
/* CommentSpecial */
.chroma .cs {
color: #75715e
}
/* CommentPreproc */
.chroma .cp {
color: #75715e
}
/* CommentPreprocFile */
.chroma .cpf {
color: #75715e
}
/* Generic */
.chroma .g {}
/* GenericDeleted */
.chroma .gd {
color: #f92672
}
/* GenericEmph */
.chroma .ge {
font-style: italic
}
/* GenericError */
.chroma .gr {}
/* GenericHeading */
.chroma .gh {}
/* GenericInserted */
.chroma .gi {
color: #a6e22e
}
/* GenericOutput */
.chroma .go {}
/* GenericPrompt */
.chroma .gp {}
/* GenericStrong */
.chroma .gs {
font-weight: bold
}
/* GenericSubheading */
.chroma .gu {
color: #75715e
}
/* GenericTraceback */
.chroma .gt {}
/* GenericUnderline */
.chroma .gl {}
/* TextWhitespace */
.chroma .w {}
$color: #f8f8f2;
$background-color: #272822;
$error-color: #bb0064;
$keyword-color: #66d9ef;
$text-color: $color;
$name-color: #a6e22e;
$literal-color: #e6db74;
@import "common.scss";
+9 -404
View File
@@ -3,407 +3,12 @@
* https://xyproto.github.io/splash/docs/monokailight.html
*/
/* Background */
.chroma {
color: #272822;
background-color: #fafafa;
}
/* Other */
.chroma .x {
}
/* Error */
.chroma .err {
color: #960050;
}
/* LineTableTD */
.chroma .lntd {
vertical-align: top;
padding: 0;
margin: 0;
border: 0;
}
/* LineTable */
.chroma .lntable {
border-spacing: 0;
padding: 0;
margin: 0;
border: 0;
width: auto;
overflow: auto;
display: block;
}
/* LineHighlight */
.chroma .hl {
display: block;
width: 100%;
background-color: #ffffcc;
}
/* LineNumbersTable */
.chroma .lnt {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* LineNumbers */
.chroma .ln {
margin-right: 0.4em;
padding: 0 0.4em 0 0.4em;
color: #7f7f7f;
}
/* Keyword */
.chroma .k {
color: #00a8c8;
}
/* KeywordConstant */
.chroma .kc {
color: #00a8c8;
}
/* KeywordDeclaration */
.chroma .kd {
color: #00a8c8;
}
/* KeywordNamespace */
.chroma .kn {
color: #f92672;
}
/* KeywordPseudo */
.chroma .kp {
color: #00a8c8;
}
/* KeywordReserved */
.chroma .kr {
color: #00a8c8;
}
/* KeywordType */
.chroma .kt {
color: #00a8c8;
}
/* Name */
.chroma .n {
color: #111111;
}
/* NameAttribute */
.chroma .na {
color: #75af00;
}
/* NameBuiltin */
.chroma .nb {
color: #111111;
}
/* NameBuiltinPseudo */
.chroma .bp {
color: #111111;
}
/* NameClass */
.chroma .nc {
color: #75af00;
}
/* NameConstant */
.chroma .no {
color: #00a8c8;
}
/* NameDecorator */
.chroma .nd {
color: #75af00;
}
/* NameEntity */
.chroma .ni {
color: #111111;
}
/* NameException */
.chroma .ne {
color: #75af00;
}
/* NameFunction */
.chroma .nf {
color: #75af00;
}
/* NameFunctionMagic */
.chroma .fm {
color: #111111;
}
/* NameLabel */
.chroma .nl {
color: #111111;
}
/* NameNamespace */
.chroma .nn {
color: #111111;
}
/* NameOther */
.chroma .nx {
color: #75af00;
}
/* NameProperty */
.chroma .py {
color: #111111;
}
/* NameTag */
.chroma .nt {
color: #f92672;
}
/* NameVariable */
.chroma .nv {
color: #111111;
}
/* NameVariableClass */
.chroma .vc {
color: #111111;
}
/* NameVariableGlobal */
.chroma .vg {
color: #111111;
}
/* NameVariableInstance */
.chroma .vi {
color: #111111;
}
/* NameVariableMagic */
.chroma .vm {
color: #111111;
}
/* Literal */
.chroma .l {
color: #ae81ff;
}
/* LiteralDate */
.chroma .ld {
color: #d88200;
}
/* LiteralString */
.chroma .s {
color: #d88200;
}
/* LiteralStringAffix */
.chroma .sa {
color: #d88200;
}
/* LiteralStringBacktick */
.chroma .sb {
color: #d88200;
}
/* LiteralStringChar */
.chroma .sc {
color: #d88200;
}
/* LiteralStringDelimiter */
.chroma .dl {
color: #d88200;
}
/* LiteralStringDoc */
.chroma .sd {
color: #d88200;
}
/* LiteralStringDouble */
.chroma .s2 {
color: #d88200;
}
/* LiteralStringEscape */
.chroma .se {
color: #8045ff;
}
/* LiteralStringHeredoc */
.chroma .sh {
color: #d88200;
}
/* LiteralStringInterpol */
.chroma .si {
color: #d88200;
}
/* LiteralStringOther */
.chroma .sx {
color: #d88200;
}
/* LiteralStringRegex */
.chroma .sr {
color: #d88200;
}
/* LiteralStringSingle */
.chroma .s1 {
color: #d88200;
}
/* LiteralStringSymbol */
.chroma .ss {
color: #d88200;
}
/* LiteralNumber */
.chroma .m {
color: #ae81ff;
}
/* LiteralNumberBin */
.chroma .mb {
color: #ae81ff;
}
/* LiteralNumberFloat */
.chroma .mf {
color: #ae81ff;
}
/* LiteralNumberHex */
.chroma .mh {
color: #ae81ff;
}
/* LiteralNumberInteger */
.chroma .mi {
color: #ae81ff;
}
/* LiteralNumberIntegerLong */
.chroma .il {
color: #ae81ff;
}
/* LiteralNumberOct */
.chroma .mo {
color: #ae81ff;
}
/* Operator */
.chroma .o {
color: #f92672;
}
/* OperatorWord */
.chroma .ow {
color: #f92672;
}
/* Punctuation */
.chroma .p {
color: #111111;
}
/* Comment */
.chroma .c {
color: #75715e;
}
/* CommentHashbang */
.chroma .ch {
color: #75715e;
}
/* CommentMultiline */
.chroma .cm {
color: #75715e;
}
/* CommentSingle */
.chroma .c1 {
color: #75715e;
}
/* CommentSpecial */
.chroma .cs {
color: #75715e;
}
/* CommentPreproc */
.chroma .cp {
color: #75715e;
}
/* CommentPreprocFile */
.chroma .cpf {
color: #75715e;
}
/* Generic */
.chroma .g {
}
/* GenericDeleted */
.chroma .gd {
color: #f92672;
}
/* GenericEmph */
.chroma .ge {
font-style: italic;
}
/* GenericError */
.chroma .gr {
}
/* GenericHeading */
.chroma .gh {
}
/* GenericInserted */
.chroma .gi {
color: #7ca727;
}
/* GenericOutput */
.chroma .go {
}
/* GenericPrompt */
.chroma .gp {
}
/* GenericStrong */
.chroma .gs {
font-weight: bold;
}
/* GenericSubheading */
.chroma .gu {
color: #75715e;
}
/* GenericTraceback */
.chroma .gt {
}
/* GenericUnderline */
.chroma .gl {
}
/* TextWhitespace */
.chroma .w {
}
$color: #272822;
$background-color: #fafafa;
$error-color: #960050;
$keyword-color: #00a8c8;
$text-color: #111111;
$name-color: #75af00;
$literal-color: #d88200;
@import "common.scss";
+34 -43
View File
@@ -72,52 +72,15 @@
a {
color: var(--body-text-color);
}
a.link {
box-shadow: unset;
}
}
}
}
}
#article-toolbar {
display: flex;
align-items: center;
margin: 20px 0;
@include respond(md) {
display: none;
}
.back-home {
background: var(--card-background);
border-radius: var(--tag-border-radius);
color: var(--card-text-color-tertiary);
margin-right: 30px;
display: inline-flex;
align-items: center;
font-size: 1.4rem;
text-transform: uppercase;
padding: 10px 20px 10px 15px;
transition: box-shadow 0.3s ease;
box-shadow: var(--shadow-l1);
&:hover {
box-shadow: var(--shadow-l2);
}
svg {
margin-right: 5px;
width: 20px;
height: 20px;
}
span {
font-weight: 500;
white-space: nowrap;
}
}
}
.widget--toc {
background-color: var(--card-background);
border-radius: var(--card-border-radius);
@@ -145,7 +108,7 @@
list-style-type: none;
counter-reset: item;
li a::before {
li a:first-of-type::before {
counter-increment: item;
content: counters(item, ".") ". ";
font-weight: bold;
@@ -207,7 +170,7 @@
}
}
.related-contents {
.related-content {
overflow-x: auto;
padding-bottom: 15px;
@@ -272,6 +235,16 @@
border-inline-start: var(--blockquote-border-size) solid var(--card-separator-color);
padding: 15px calc(var(--card-padding) - var(--blockquote-border-size));
background-color: var(--blockquote-background-color);
.cite {
display: block;
text-align: right;
font-size: 0.75em;
a {
text-decoration: underline;
}
}
}
hr {
@@ -414,6 +387,18 @@
}
}
.gitlab-embed-snippets {
margin: 0 !important;
.file-holder.snippet-file-content {
margin-block-end: 0 !important;
margin-block-start: 0 !important;
margin-left: calc((var(--card-padding)) * -1) !important;
margin-right: calc((var(--card-padding)) * -1) !important;
padding: 0 var(--card-padding) !important;
}
}
/// Negative margins
blockquote,
figure,
@@ -427,4 +412,10 @@
margin-right: calc((var(--card-padding)) * -1);
width: calc(100% + var(--card-padding) * 2);
}
/// Make long KaTeX equations scrollable in the x-axis
.katex-display > .katex {
overflow-x: auto;
overflow-y: hidden;
}
}
+1
View File
@@ -79,6 +79,7 @@
@include respond(lg) {
padding-top: var(--main-top-padding);
padding-bottom: var(--main-top-padding);
}
}
+1 -32
View File
@@ -24,36 +24,5 @@
@import "partials/layout/404.scss";
@import "partials/layout/search.scss";
@import "general.scss";
@import "custom.scss";
a {
text-decoration: none;
color: var(--accent-color);
&:hover {
color: var(--accent-color-darker);
}
&.link {
box-shadow: 0px -2px 0px rgba(var(--link-background-color), var(--link-background-opacity)) inset;
transition: all 0.3s ease;
&:hover {
box-shadow: 0px -10px 0px rgba(var(--link-background-color), var(--link-background-opacity-hover)) inset;
}
}
}
.section-title {
text-transform: uppercase;
margin-top: 0;
margin-bottom: 10px;
display: block;
font-size: 1.6rem;
font-weight: bold;
color: var(--body-text-color);
a {
color: var(--body-text-color);
}
}
+7 -4
View File
@@ -21,12 +21,15 @@ function setupSmoothAnchors() {
aElement.addEventListener("click", clickEvent => {
clickEvent.preventDefault();
let targetId = aElement.getAttribute("href").substring(1);
// The replace done on ':' is here for footnotes, as this character would otherwise interfere when used as a CSS selector.
let target = document.querySelector(`#${targetId.replace(":", "\\:")}`) as HTMLElement;
const targetId = decodeURI(aElement.getAttribute("href").substring(1)),
target = document.getElementById(targetId) as HTMLElement,
offset = target.getBoundingClientRect().top - document.documentElement.getBoundingClientRect().top;
window.history.pushState({}, "", aElement.getAttribute("href"));
scrollTo({ top: target.offsetTop, behavior: "smooth" });
scrollTo({
top: offset,
behavior: "smooth"
});
});
});
}
+2
View File
@@ -92,10 +92,12 @@ params:
category:
categoryID:
mapping:
strict:
lightTheme:
darkTheme:
reactionsEnabled: 1
emitMetadata: 0
inputPosition:
lang:
gitalk:
+10 -12
View File
@@ -1,6 +1,6 @@
Vibrant:
- src: https://cdn.jsdelivr.net/npm/node-vibrant@3.1.5/dist/vibrant.min.js
integrity: sha256-5NovOZc4iwiAWTYIFiIM7DxKUXKWvpVEuMEPLzcm5/g=
- src: https://cdn.jsdelivr.net/npm/node-vibrant@3.1.6/dist/vibrant.min.js
integrity: sha256-awcR2jno4kI5X0zL8ex0vi2z+KMkF24hUW8WePSA9HM=
type: script
PhotoSwipe:
@@ -14,26 +14,24 @@ PhotoSwipe:
type: script
defer: true
- src: https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.css
integrity: sha256-c0uckgykQ9v5k+IqViZOZKc47Jn7KQil4/MP3ySA3F8=
- 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.css
integrity: sha256-SBLU4vv6CA6lHsZ1XyTdhyjJxCjPif/TRkjnsyGAGnE=
- 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.13.13/dist/katex.min.css
integrity: sha384-RZU/ijkSsFbcmivfdRBQDtwuwVqK7GMOw6IMvKyeWL2K5UAlyp6WonmB8m7Jd0Hn
- src: https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.css
integrity: sha256-J+iAE0sgH8QSz9hpcDxXIftnj65JEZgNhGcgReTTK9s=
type: style
- src: https://cdn.jsdelivr.net/npm/katex@0.13.13/dist/katex.min.js
integrity: sha384-pK1WpvzWVBQiP0/GjnvRxV4mOb0oxFuyRxJlk6vVw146n3egcN5C925NCP7a7BY8
- src: https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.js
integrity: sha256-InsNdER1b2xUewP+pKCUJpkhiqwHgqiPXDlIk7GzBu4=
type: script
defer: true
- src: https://cdn.jsdelivr.net/npm/katex@0.13.13/dist/contrib/auto-render.min.js
integrity: sha384-vZTG03m+2yp6N6BNi5iM4rW4oIwk5DfcNdFfxkk9ZWpDriOkXX8voJBFrAO7MpVl
- src: https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/contrib/auto-render.min.js
integrity: sha256-y39Mpg7V3D4lhBX4x6O0bUqTV4pSrfgwEfGKfxkOdgI=
type: script
defer: true
+10 -8
View File
@@ -8,15 +8,18 @@ languages:
en:
languageName: English
title: Example Site
description: Example description
weight: 1
cn:
zh-cn:
languageName: 中文
title: 演示站点
description: 演示说明
weight: 2
ar:
languageName: عربي
languagedirection: rtl
title: موقع تجريبي
description: وصف تجريبي
weight: 3
# Change it to your Disqus shortname before using
@@ -26,7 +29,7 @@ disqusShortname: hugo-theme-stack
googleAnalytics:
# Theme i18n support
# Available values: en, fr, id, ja, ko, pt-br, zh-cn, zh-tw, es, de, nl, it, th, el, uk, ar
# Available values: ar, bn, ca, de, el, en, es, fr, hu, id, it, ja, ko, nl, pt-br, th, uk, zh-cn, zh-hk, zh-tw
DefaultContentLanguage: en
# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko]
@@ -42,7 +45,7 @@ params:
- post
featuredImageField: image
rssFullContent: true
favicon:
favicon: # e.g.: favicon placed in `static/favicon.ico` of your site folder, then set this field to `/favicon.ico` (`/` is necessary)
footer:
since: 2020
@@ -97,21 +100,20 @@ params:
clientSecret:
autoCreateIssue: false
# Waline client configuration see: https://waline.js.org/en/reference/client.html
# Waline client configuration see: https://waline.js.org/en/reference/component.html
waline:
serverURL:
lang:
visitor:
avatar:
pageview:
emoji:
- https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo
- https://unpkg.com/@waline/emojis@1.0.1/weibo
requiredMeta:
- name
- email
- url
placeholder:
locale:
admin: Admin
placeholder:
twikoo:
envId:
@@ -1,5 +0,0 @@
---
title: 关于
---
This is a test page for i18n support.
@@ -0,0 +1,10 @@
---
title: 关于
menu:
main:
weight: -90
params:
icon: user
---
This is a test page for i18n support.
+27 -2
View File
@@ -23,7 +23,7 @@ Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-manageme
## Twitter Simple Shortcode
{{< twitter_simple 1085870671291310081 >}}
{{< twitter_simple user="DesignReviewed" id="1085870671291310081" >}}
<br>
@@ -39,4 +39,29 @@ Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-manageme
## Gist Shortcode
{{< gist spf13 7896402 >}}
{{< gist spf13 7896402 >}}
## Gitlab Snippets Shortcode
{{< gitlab 2349278 >}}
## Quote Shortcode
Stack adds a `quote` shortcode. For example:
{{< quote author="A famous person" source="The book they wrote" url="https://en.wikipedia.org/wiki/Book">}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
{{< /quote >}}
{{< quote source="Anonymous book" url="https://en.wikipedia.org/wiki/Book">}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
{{< /quote >}}
{{< quote source="Some book">}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
{{< /quote >}}
{{< quote author="Somebody">}}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
{{< /quote >}}
+1 -1
View File
@@ -1,3 +1,3 @@
module github.com/CaiJimmy/hugo-theme-stack
module github.com/CaiJimmy/hugo-theme-stack/v3
go 1.17
+7 -3
View File
@@ -23,15 +23,15 @@ article:
tableOfContents:
other: جدول المحتويات
relatedContents:
relatedContent:
other: محتوى مشابهه
lastUpdatedOn:
other: التعديل الاخير
readingTime:
one: "قرائة {{ .Count }} دقيقة"
other: "قرائة {{ .Count }} دقائق"
one: "تُقرأ خلال دقيقة"
other: "تُقرأ خلال {{ .Count }} دقائق"
notFound:
title:
@@ -51,6 +51,10 @@ widget:
tagCloud:
title:
other: وسوم
categoriesCloud:
title:
other: التصنيفات
search:
title:
+73
View File
@@ -0,0 +1,73 @@
toggleMenu:
other: টগল মেনু
darkMode:
other: ডার্ক মোড
list:
page:
one: "{{ .Count }} পাতা"
other: "{{ .Count }} পাতা"
section:
other: অনুচ্ছেদ
subsection:
one: উপ-অনুচ্ছেদ
other: উপ-অনুচ্ছেদ
article:
back:
other: পেছনে
tableOfContents:
other: সূচিপত্র
relatedContent:
other: সম্পর্কিত বিষয়বস্তু
lastUpdatedOn:
other: সর্বশেষ আপডেট করা হয়েছে
readingTime:
one: "{{ .Count }} মিনিটে পড়া যাবে"
other: "{{ .Count }} মিনিটে পড়া যাবে"
notFound:
title:
other: পাওয়া যায়নি
subtitle:
other: এই পাতাটি বিদ্যমান নেই
widget:
archives:
title:
other: আর্কাইভ
more:
other: আরও
tagCloud:
title:
other: ট্যাগ
categoriesCloud:
title:
other: বিভাগ
search:
title:
other: অনুসন্ধান
placeholder:
other: কিছু টাইপ করুন...
resultTitle:
other: "#PAGES_COUNT পাতা (#TIME_SECONDS সেকেন্ড)"
footer:
builtWith:
other: "{{ .Generator }} দিয়ে নির্মিত"
designedBy:
other: "থিম {{ .Theme }} ডিজাইন করেছেন {{ .DesignedBy }}"
+73
View File
@@ -0,0 +1,73 @@
toggleMenu:
other: Toggle Menu
darkMode:
other: Mode fosc
list:
page:
one: "{{ .Count }} pàgina"
other: "{{ .Count }} pàgines"
section:
other: Secció
subsection:
one: Subsecció
other: Subseccions
article:
back:
other: Tornar
tableOfContents:
other: Taula de contingut
relatedContent:
other: Continguts relacionats
lastUpdatedOn:
other: Ú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
widget:
archives:
title:
other: Arxiu
more:
other: Més
tagCloud:
title:
other: Etiquetes
categoriesCloud:
title:
other: Categories
search:
title:
other: Cerca
placeholder:
other: Tecleja alguna cosa...
resultTitle:
other: "#PAGES_COUNT pàgines en (#TIME_SECONDS segons)"
footer:
builtWith:
other: Creat amb {{ .Generator }}
designedBy:
other: Tema {{ .Theme }} dissenyat per {{ .DesignedBy }}
+5 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: Inhaltsverzeichnis
relatedContents:
relatedContent:
other: Verwandte Inhalte
lastUpdatedOn:
@@ -52,6 +52,10 @@ widget:
title:
other: Schlagwörter
categoriesCloud:
title:
other: Kategorien
search:
title:
other: Suche
+1 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: Πινακας περιεχομενων
relatedContents:
relatedContent:
other: Σχετικο περιεχομενο
lastUpdatedOn:
+2 -2
View File
@@ -23,8 +23,8 @@ article:
tableOfContents:
other: Table of contents
relatedContents:
other: Related contents
relatedContent:
other: Related content
lastUpdatedOn:
other: Last updated on
+4 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: Tabla de contenido
relatedContents:
relatedContent:
other: Contenidos relacionados
lastUpdatedOn:
@@ -51,6 +51,9 @@ widget:
tagCloud:
title:
other: Etiquetas
categoriesCloud:
title:
other: Categorías
search:
title:
+73
View File
@@ -0,0 +1,73 @@
toggleMenu:
other: منو
darkMode:
other: حالت شب
list:
page:
one: "{{ .Count }} صفحه"
other: "{{ .Count }} صفحه"
section:
other: بخش
subsection:
one: زیربخش
other: زیربخش
article:
back:
other: قبلی
tableOfContents:
other: فهرست
relatedContent:
other: مطالب مرتبط
lastUpdatedOn:
other: آخرین بروزرسانی در
readingTime:
one: "مطالعه در {{ .Count }} دقیقه"
other: "مطالعه در {{ .Count }} دقیقه"
notFound:
title:
other: یافت نشد
subtitle:
other: این صحه وجود ندارد
widget:
archives:
title:
other: آرشیو
more:
other: بیشتر
tagCloud:
title:
other: تگ ها
categoriesCloud:
title:
other: دسته بندی
search:
title:
other: جستجو
placeholder:
other: تایپ کنید ...
resultTitle:
other: "#PAGES_COUNT صفحه (#TIME_SECONDS ثانیه)"
footer:
builtWith:
other: قدرت گرفته از {{ .Generator }}
designedBy:
other: قالب {{ .Theme }} ساخته شده توسط {{ .DesignedBy }}
+1 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: Table des matières
relatedContents:
relatedContent:
other: Contenus liés
lastUpdatedOn:
+73
View File
@@ -0,0 +1,73 @@
toggleMenu:
other: Menü Kapcsolása
darkMode:
other: Sötét Mód
list:
page:
one: "{{ .Count }} oldal"
other: "{{ .Count }} oldalak"
section:
other: 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
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
widget:
archives:
title:
other: Archívum
more:
other: Több
tagCloud:
title:
other: Cimkék
categoriesCloud:
title:
other: Kategóriák
search:
title:
other: Keresés
placeholder:
other: Írj valamit...
resultTitle:
other: "#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
+5 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: Daftar Isi
relatedContents:
relatedContent:
other: Konten terkait
lastUpdatedOn:
@@ -51,6 +51,10 @@ widget:
title:
other: Tag
categoriesCloud:
title:
other: Kategori
search:
title:
other: Cari
+5 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: Indice
relatedContents:
relatedContent:
other: Contenuti correlati
lastUpdatedOn:
@@ -51,6 +51,10 @@ widget:
title:
other: Tags
categoriesCloud:
title:
other: Categorie
search:
title:
other: Cerca
+12 -1
View File
@@ -11,7 +11,7 @@ article:
tableOfContents:
other: 目次
relatedContents:
relatedContent:
other: 関連するコンテンツ
lastUpdatedOn:
@@ -38,6 +38,10 @@ widget:
title:
other: タグ
categoriesCloud:
title:
other: カテゴリ
search:
title:
other: 検索
@@ -47,3 +51,10 @@ search:
resultTitle:
other: "#PAGES_COUNT 件 #TIME_SECONDS 秒)"
footer:
builtWith:
other: Built with {{ .Generator }}
designedBy:
other: テーマ {{ .Theme }} は {{ .DesignedBy }} によって設計されています。
+5 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: 목차
relatedContents:
relatedContent:
other: 관련 글
lastUpdatedOn:
@@ -47,6 +47,10 @@ widget:
more:
other: 더보기
categoriesCloud:
title:
other: 카테고리
tagCloud:
title:
other: 태그
+5 -1
View File
@@ -17,7 +17,7 @@ list:
other: Subsecties
article:
relatedContents:
relatedContent:
other: Gerelateerde inhoud
lastUpdatedOn:
other: Laatst bijgewerkt op
@@ -38,6 +38,10 @@ widget:
title:
other: Tags
categoriesCloud:
title:
other: Categorie
search:
title:
other: Zoeken
+16 -3
View File
@@ -7,6 +7,8 @@ darkMode:
list:
page:
one: "{{ .Count }} strona"
few: "{{ .Count }} strony"
many: "{{ .Count }} stron"
other: "{{ .Count }} stron"
section:
@@ -14,7 +16,9 @@ list:
subsection:
one: Podsekcja
other: Podsekcje
few: Podsekcje
many: Podsekcji
other: Podsekcji
article:
back:
@@ -23,14 +27,16 @@ article:
tableOfContents:
other: Spis treści
relatedContents:
relatedContent:
other: Powiązane artykuły
lastUpdatedOn:
other: Ostatnio zaktualizowany
readingTime:
one: "Przeczytasz w {{ .Count }} minutę"
few: "Przeczytasz w {{ .Count }} minuty"
many: "Przeczytasz w {{ .Count }} minut"
other: "Przeczytasz w {{ .Count }} minut"
notFound:
@@ -51,6 +57,10 @@ widget:
title:
other: Tagi
categoriesCloud:
title:
other: Kategorie
search:
title:
other: Szukaj
@@ -59,6 +69,9 @@ search:
other: Wpisz coś...
resultTitle:
one: "#PAGES_COUNT strona (#TIME_SECONDS sekund)"
few: "#PAGES_COUNT strony (#TIME_SECONDS sekund)"
many: "#PAGES_COUNT stron (#TIME_SECONDS sekund)"
other: "#PAGES_COUNT stron (#TIME_SECONDS sekund)"
footer:
+4 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: Índice
relatedContents:
relatedContent:
other: Conteúdo relacionado
lastUpdatedOn:
@@ -48,6 +48,9 @@ widget:
tagCloud:
title:
other: Tags
categoriesCloud:
title:
other: Categorias
search:
title:
+67
View File
@@ -0,0 +1,67 @@
toggleMenu:
other: Alternar Menu
darkMode:
other: Modo Escuro
list:
page:
one: "{{ .Count }} página"
other: "{{ .Count }} páginas"
section:
other: Secção
subsection:
one: Subsecção
other: Subsecções
article:
back:
other: Voltar
tableOfContents:
other: Índice
relatedContent:
other: Conteúdo relacionado
lastUpdatedOn:
other: Última atualização a
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.
widget:
archives:
title:
other: Arquivos
more:
other: Mais
tagCloud:
title:
other: Tags
categoriesCloud:
title:
other: Categorias
search:
title:
other: Pesquisa
placeholder:
other: Escreva algo...
resultTitle:
other: "#PAGES_COUNT páginas (#TIME_SECONDS segundos)"
footer:
builtWith:
other: Criado com {{ .Generator }}
designedBy:
other: Tema {{ .Theme }} desenvolvido por {{ .DesignedBy }}
+1 -1
View File
@@ -23,7 +23,7 @@ list:
article:
back:
other: Назад
relatedContents:
relatedContent:
other: Также рекомендуем
lastUpdatedOn:
other: Обновлено
+1 -1
View File
@@ -23,7 +23,7 @@ article:
tableOfContents:
other: สารบัญ
relatedContents:
relatedContent:
other: เนื้อหาคล้ายคลึงกัน
lastUpdatedOn:
+1 -1
View File
@@ -17,7 +17,7 @@ list:
other: Alt bölümler
article:
relatedContents:
relatedContent:
other: Alakalı içerikler
lastUpdatedOn:
other: Son güncelleme
+1 -1
View File
@@ -24,7 +24,7 @@ article:
tableOfContents:
other: Зміст
relatedContents:
relatedContent:
other: Схожі матеріали
lastUpdatedOn:
+74
View File
@@ -0,0 +1,74 @@
toggleMenu:
other: Hiển thị Menu
darkMode:
other: Chế độ nền tối
list:
page:
one: "{{ .Count }} trang"
other: "{{ .Count }} trang"
section:
other: Section
subsection:
one: Subsection
other: Subsections
article:
back:
other: Trở lại
tableOfContents:
other: Mục lục
relatedContent:
other: Bài viết liên quan
lastUpdatedOn:
other: Cập nhật lần cuối
readingTime:
one: "{{ .Count }} phút đọc"
other: "{{ .Count }} phút đọc"
notFound:
title:
other: Không tìm thấy
subtitle:
other: Trang này không tồn tại
widget:
archives:
title:
other: Lưu trữ
more:
other: Còn nữa
tagCloud:
title:
other: Nhãn dán
categoriesCloud:
title:
other: Chuỗi bài
search:
title:
other: Tìm kiếm
placeholder:
other: Nhập từ khoá ...
resultTitle:
other: "#PAGES_COUNT trang (#TIME_SECONDS giây)"
footer:
builtWith:
other: Built with {{ .Generator }}
designedBy:
other: Theme {{ .Theme }} thiết kế bởi {{ .DesignedBy }}
+12 -1
View File
@@ -11,7 +11,7 @@ article:
tableOfContents:
other: 目录
relatedContents:
relatedContent:
other: 相关文章
lastUpdatedOn:
@@ -38,6 +38,10 @@ widget:
title:
other: 标签云
categoriesCloud:
title:
other: 分类
search:
title:
other: 搜索
@@ -47,3 +51,10 @@ search:
resultTitle:
other: "#PAGES_COUNT 个结果 (用时 #TIME_SECONDS 秒)"
footer:
builtWith:
other: Built with {{ .Generator }}
designedBy:
other: 主题 {{ .Theme }} 由 {{ .DesignedBy }} 设计
+73
View File
@@ -0,0 +1,73 @@
toggleMenu:
other: 切換選單
darkMode:
other: 深色模式
list:
page:
one: "第 {{ .Count }} 頁"
other: "第 {{ .Count }} 頁"
section:
other: Section
subsection:
one: Subsection
other: Subsections
article:
back:
other: 返回
tableOfContents:
other: 目錄
relatedContent:
other: 相關內容
lastUpdatedOn:
other: 上次改過於
readingTime:
one: "需要 {{ .Count }} 分鐘閱讀"
other: "需要 {{ .Count }} 分鐘閱讀"
notFound:
title:
other: Not Found
subtitle:
other: 頁面不存在
widget:
archives:
title:
other: Archives
more:
other: 更多
tagCloud:
title:
other: Tags
categoriesCloud:
title:
other: Categories
search:
title:
other: 搜尋
placeholder:
other: Type 關鍵字...
resultTitle:
other: "#PAGES_COUNT pages (#TIME_SECONDS seconds)"
footer:
builtWith:
other: Built with {{ .Generator }}
designedBy:
other: 主題 {{ .Theme }} 由 {{ .DesignedBy }} 設計
+25 -1
View File
@@ -4,6 +4,18 @@ toggleMenu:
darkMode:
other: 夜晚模式
list:
page:
one: "第 {{ .Count }} 頁"
other: "第 {{ .Count }} 頁"
section:
other: 段落
subsection:
one: 小節
other: 小節
article:
back:
other: 返回
@@ -11,18 +23,20 @@ article:
tableOfContents:
other: 目錄
relatedContents:
relatedContent:
other: 相關文章
lastUpdatedOn:
other: 最後更新
readingTime:
one: "閱讀時間: {{ .Count }} 分鐘"
other: "閱讀時間: {{ .Count }} 分鐘"
notFound:
title:
other: 404 錯誤
subtitle:
other: 頁面不存在
@@ -37,6 +51,9 @@ widget:
tagCloud:
title:
other: 標籤雲
categoriesCloud:
title:
other: 分類
search:
title:
@@ -47,3 +64,10 @@ search:
resultTitle:
other: "#PAGES_COUNT 個結果 (用時 #TIME_SECONDS 秒)"
footer:
builtWith:
other: 使用 {{ .Generator }} 建立
designedBy:
other: 主題 {{ .Theme }} 由 {{ .DesignedBy }} 設計
+9 -2
View File
@@ -6,15 +6,22 @@
</head>
<body class="{{ block `body-class` . }}{{ end }}">
{{- partial "head/colorScheme" . -}}
{{- $hasWidget := default (gt (len .Site.Params.widgets.homepage) 0) (.Scratch.Get "hasWidget") -}}
{{/* The container is wider when there's any activated widget */}}
{{- $hasWidget := false -}}
{{- range .Site.Params.widgets -}}
{{- if gt (len .) 0 -}}
{{- $hasWidget = true -}}
{{- end -}}
{{- end -}}
<div class="container main-container flex on-phone--column {{ if $hasWidget }}extended{{ else }}compact{{ end }}">
{{- block "left-sidebar" . -}}
{{ partial "sidebar/left.html" . }}
{{- end -}}
{{- block "right-sidebar" . -}}{{ end }}
<main class="main full-width">
{{- block "main" . }}{{- end }}
</main>
{{- block "right-sidebar" . -}}{{ end }}
</div>
{{ partial "footer/include.html" . }}
</body>
+1 -1
View File
@@ -30,7 +30,7 @@
{{ partial "article/components/links" . }}
{{ end }}
{{ partial "article/components/related-contents" . }}
{{ partial "article/components/related-content" . }}
{{ if not (eq .Params.comments false) }}
{{ partial "comments/include" . }}
+2 -2
View File
@@ -10,7 +10,7 @@
{{- $Width := $imageRaw.Width -}}
{{- $Height := $imageRaw.Height -}}
{{- if (default true .Page.Site.Params.imageProcessing.cover.enabled) -}}
{{- if .context.Site.Params.imageProcessing.cover.enabled -}}
{{- $thumbnail := $imageRaw.Fill .size -}}
{{- $Permalink = $thumbnail.RelPermalink -}}
{{- $Width = $thumbnail.Width -}}
@@ -36,4 +36,4 @@
</h2>
</div>
</a>
</article>
</article>
@@ -23,9 +23,12 @@
{{ end }}
</div>
{{ if or (not .Date.IsZero) (.Site.Params.article.readingTime) }}
{{ $showReadingTime := .Params.readingTime | default (.Site.Params.article.readingTime) }}
{{ $showDate := not .Date.IsZero }}
{{ $showFooter := or $showDate $showReadingTime }}
{{ if $showFooter }}
<footer class="article-time">
{{ if not .Date.IsZero }}
{{ if $showDate }}
<div>
{{ partial "helper/icon" "date" }}
<time class="article-time--published">
@@ -34,7 +37,7 @@
</div>
{{ end }}
{{ if .Site.Params.article.readingTime }}
{{ if $showReadingTime }}
<div>
{{ partial "helper/icon" "clock" }}
<time class="article-time--reading">
@@ -55,4 +58,4 @@
</div>
</footer>
{{ end }}
</div>
</div>
@@ -7,6 +7,7 @@
{ left: "$", right: "$", display: false },
{ left: "\\(", right: "\\)", display: false },
{ left: "\\[", right: "\\]", display: true }
]
],
ignoredClasses: ["gist"]
});})
</script>
@@ -1,8 +1,8 @@
{{ $related := (where (.Site.RegularPages.Related .) "Params.hidden" "!=" true) | first 5 }}
{{ with $related }}
<aside class="related-contents--wrapper">
<h2 class="section-title">{{ T "article.relatedContents" }}</h2>
<div class="related-contents">
<aside class="related-content--wrapper">
<h2 class="section-title">{{ T "article.relatedContent" }}</h2>
<div class="related-content">
<div class="flex article-list--tile">
{{ range . }}
{{ partial "article-list/tile" (dict "context" . "size" "250x150" "Type" "articleList") }}
@@ -13,7 +13,7 @@
<script>
window.addEventListener('onColorSchemeChange', (e) => {
if (DISQUS) {
if (typeof DISQUS == 'object') {
DISQUS.reset({
reload: true
});
@@ -6,8 +6,10 @@
data-category="{{- .category -}}"
data-category-id="{{- .categoryID -}}"
data-mapping="{{- default `title` .mapping -}}"
data-strict="{{- default 0 .strict -}}"
data-reactions-enabled="{{- default 1 .reactionsEnabled -}}"
data-emit-metadata="{{- default 0 .emitMetadata -}}"
data-input-position="{{- default `top` .inputPosition -}}"
data-theme="{{- default `light` .lightTheme -}}"
data-lang="{{- default `en` .lang -}}"
crossorigin="anonymous"
@@ -2,10 +2,10 @@
<div id="remark42"></div>
<script>
var remark_config = {
host: "{{ .host }}",
host: '{{ .host }}',
site_id: '{{ .site }}',
components: ['embed'],
url: "{{ $.Permalink }}",
url: '{{ $.Permalink }}',
max_shown_comments: {{ default 15 .max_shown_comments }},
theme: document.documentElement.dataset.scheme,
page_title: '{{ $.Title }}',
@@ -13,14 +13,14 @@
show_email_subscription: {{ default true .show_email_subscription }}
};
(function (c) {
for (var i = 0; i < c.length; i++) {
var d = document, s = d.createElement('script');
s.src = remark_config.host + '/web/' + c[i] + '.js';
s.defer = true;
(d.head || d.body).appendChild(s);
!function(e, n) {
for (var o = 0; o < e.length; o++) {
var r = n.createElement('script'),
c = '.js',
d = n.head || n.body;
'noModule' in r ? (r.type = 'module', c = '.mjs') : r.async = !0, r.defer = !0, r.src = remark_config.host + '/web/' + e[o] + c, d.appendChild(r)
}
})(remark_config.components || ['embed']);
}(remark_config.components || ['embed'], document);
window.addEventListener('onColorSchemeChange', (e) => {
window.REMARK42.changeTheme(e.detail);
@@ -1,4 +1,4 @@
<script src="//cdn.jsdelivr.net/npm/twikoo@1.4.18/dist/twikoo.all.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/twikoo@1.6.11/dist/twikoo.all.min.js"></script>
<div id="tcomment"></div>
<style>
.twikoo {
@@ -28,6 +28,10 @@
.twikoo .el-button{
color: var(--twikoo-body-text-color)!important;
}
.OwO .OwO-body {
background-color: var(--body-background) !important;
color: var(--body-text-color) !important;
}
</style>
{{- with .Site.Params.comments.twikoo -}}
@@ -16,6 +16,8 @@
</style>
<script>
let utterancesLoaded = false;
function setUtterancesTheme(theme) {
let utterances = document.querySelector('.utterances iframe');
if (utterances) {
@@ -31,10 +33,14 @@
addEventListener('message', event => {
if (event.origin !== 'https://utteranc.es') return;
/// Called when Utterances is ready
utterancesLoaded = true;
setUtterancesTheme(document.documentElement.dataset.scheme)
});
window.addEventListener('onColorSchemeChange', (e) => {
if (!utterancesLoaded) return;
setUtterancesTheme(e.detail)
})
</script>
@@ -3,7 +3,7 @@
<div id="vssue"></div>
<script src="https://unpkg.com/vue/dist/vue.runtime.min.js"></script>
<script src="https://unpkg.com/vue@2/dist/vue.runtime.min.js"></script>
<script src="https://unpkg.com/vssue/dist/vssue.{{ .platform }}.min.js"></script>
<script>
@@ -1,4 +1,5 @@
<script src='//cdn.jsdelivr.net/npm/@waline/client/dist/Waline.min.js'></script>
<script src='//unpkg.com/@waline/client@v2/dist/waline.js'></script>
<link href='//unpkg.com/@waline/client@v2/dist/waline.css' rel='stylesheet'/>
<div id="waline" class="waline-container"></div>
<style>
.waline-container {
@@ -6,15 +7,16 @@
border-radius: var(--card-border-radius);
box-shadow: var(--shadow-l1);
padding: var(--card-padding);
--waline-font-size: var(--article-font-size);
}
.waline-container .vcount {
.waline-container .wl-count {
color: var(--card-text-color-main);
}
</style>
{{- with .Site.Params.comments.waline -}}
{{- $config := dict "el" "#waline" "dark" `html[data-scheme="dark"]` -}}
{{- $replaceKeys := dict "serverurl" "serverURL" "requiredmeta" "requiredMeta" "wordlimit" "wordLimit" "pagesize" "pageSize" "avatarcdn" "avatarCDN" "avatarforce" "avatarForce" -}}
{{- $replaceKeys := dict "serverurl" "serverURL" "requiredmeta" "requiredMeta" "wordlimit" "wordLimit" "pagesize" "pageSize" "imageuploader" "imageUploader" "texrenderer" "texRenderer" -}}
{{- range $key, $val := . -}}
{{- if $val -}}
@@ -27,6 +29,6 @@
<script>
/// Waline client configuration see: https://waline.js.org/en/reference/client.html
new Waline({{ $config | jsonify | safeJS }});
Waline.init({{ $config | jsonify | safeJS }});
</script>
{{- end -}}
+5
View File
@@ -1,6 +1,11 @@
<!-- Use site subtitle by default -->
{{ $description := .Site.Params.sidebar.subtitle }}
<!-- Seprate description exists -->
{{ if .Site.Params.description }}
{{ $description = .Site.Params.description }}
{{ end }}
{{ if .Description }}
<!-- Page description exists -->
{{ $description = .Description }}
+1 -1
View File
@@ -1,4 +1,4 @@
{{- $ThemeVersion := "3.9.0" -}}
{{- $ThemeVersion := "3.17.0" -}}
<footer class="site-footer">
<section class="copyright">
&copy;
+1
View File
@@ -3,6 +3,7 @@
{{- $description := partialCached "data/description" . .RelPermalink -}}
<meta name='description' content='{{ $description }}'>
{{ with .Params.Keywords }}<meta name="keywords" content="{{ delimit . ", " }}">{{ end }}
{{- $title := partialCached "data/title" . .RelPermalink -}}
<title>{{ $title }}</title>
+2 -2
View File
@@ -45,6 +45,7 @@
href='{{ .URL }}'
{{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
{{ with .Name }}title="{{ . }}"{{ end }}
rel="me"
>
{{ $icon := default "link" .Params.Icon }}
{{ with $icon }}
@@ -60,9 +61,8 @@
{{ $currentPage := . }}
{{ range .Site.Menus.main }}
{{ $active := or (eq $currentPage.Title .Name) (or ($currentPage.HasMenuCurrent "main" .) ($currentPage.IsMenuCurrent "main" .)) }}
<li {{ if $active }} class='current' {{ end }}>
<a href='{{ .URL | relLangURL }}' {{ if eq .Params.newTab true }}target="_blank"{{ end }}>
<a href='{{ .URL }}' {{ if eq .Params.newTab true }}target="_blank"{{ end }}>
{{ $icon := default .Pre .Params.Icon }}
{{ if .Pre }}
{{ warnf "Menu item [%s] is using [pre] field to set icon, please use [params.icon] instead.\nMore information: https://docs.stack.jimmycai.com/configuration/custom-menu.html" .URL }}
+4
View File
@@ -0,0 +1,4 @@
<script
type="application/javascript"
src="https://gitlab.com/-/snippets/{{ index .Params 0 }}.js"
></script>
+15
View File
@@ -0,0 +1,15 @@
<blockquote>
<p>{{ .Inner | markdownify }}</p>
{{- if or (.Get "author") (.Get "source") -}}
<span class="cite"><span></span>
{{- if .Get "author" -}}
<span>
{{- .Get "author" -}}{{- if .Get "source" -}}, {{ end -}}
</span>
{{- end -}}
{{- with .Get "url" -}}<a href="{{ . }}">{{- end -}}
<cite>{{ .Get "source" }}</cite>
{{- if .Get "url" -}}</a>{{- end -}}
</span>
{{- end -}}
</blockquote>
+2 -2
View File
@@ -2,7 +2,7 @@
publish = "exampleSite/public"
[build.environment]
HUGO_VERSION = "0.87.0"
HUGO_VERSION = "0.100.2"
HUGO_THEME = "repo"
[context.production]
@@ -23,4 +23,4 @@
# If it should show more verbose logs (optional, default = true)
debug = true
# Relative path to source directory in case you use Hugo's "--s" option
srcdir = "exampleSite"
srcdir = "exampleSite"