* 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
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
* 添加giscus设置选项
根据giscus官方文档,添加了data-strict和data-input-position设置选项
* feat: add strict and inputPosition to giscus config section
Co-authored-by: Jimmy Cai <github@jimmycai.com>
* 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>
* add LanguageDirection variable
* add .direction-rtl and .direction-ltr clases
* margin -right > margin-inline-end
* keep Codeblocks LTR
* switch to logical properties
* left -> inset-inline-start
* Add Arabic/RTL placeholder text
* Add arabic language
* remove space
* use Html Dir instead of class
* Move codeblock code to layout/article.css and fix 4 spaces codeblocks
* remove unused clases
* feat: Add https://cactus.chat as comments provider
* Add cactus comments config fields to exampleSite
* Add cactus css and js to external.yaml and move custom cactus css to html
* Remove unneeded cactus comments css
* Load external dependencies for cactus comments in the comments provider
* Use safeJS instead of safeHTML
* add comment provider: DisqusJS
* Simplify `if` condition, and format code
* Load disqusjs.scss only when it's enabled
* Use `let` instead of `var`
Co-authored-by: sspirits <admin@lv5.moe>
Co-authored-by: Jimmy Cai <github@jimmycai.com>
* feat(menu): support open an entry in new tab
closes https://github.com/CaiJimmy/hugo-theme-stack/issues/230
* Revert change in markup.tableOfContents.ordered
* Upgrade Netlify Hugo version
* doc: require Hugo Extended >= 0.87.0
* Create twikoo.html
* Upgrade to Twikoo 1.4.3 and add `lang` param
* Add twikoo section in config.yaml
Co-authored-by: Jimmy Cai <github@jimmycai.com>
* Use markdownify for licence in article
So we can use links, e.g. to credits for main photo.
* refactor: move .article-copyright style to partials/layout/article
Co-authored-by: Jimmy Cai <github@jimmycai.com>
* add reading time feature
* Revert change in jsconfig.json
* feat: add article.readingTime param, and improve style
* Revert change in jsconfig.json x2
* Remove reading time in compact layout
It doesn't look right to me for now
* feat: add i18n support to reading time string
* Hide footer.article-time when there's not content
Co-authored-by: Jimmy Cai <github@jimmycai.com>
* Allow to disable logo image in left sidebar
* Enable sidebar avatar by default for backward compatibility
Co-authored-by: Jimmy Cai <github@jimmycai.com>
Currently, the new table of contents is disabled by default. I will change that after several versions.
-------------
* feat: Table of Content (WIP)
* fix: set scratch inside define block
* fix(toc): darkmode text color
* feat: unify page layout, and add config to disable toc
* feat: add scroll-behavior: smooth to html
* fix: use <ol> for TOC. And Disable TOC by default for now
* refactor: use css flexbox for article page with toc
enable toc for example site
* feat(i18n): add i18n entry for "Back" and "Table of Contents"
* style: remove unused `keep-sidebar` class
* doc: add table of contents as feature
* fix: take out [data-scheme="dark"] from :root
Taking out the [data-scheme="dark"] from :root allows us to fix the
precedence of CSS when the [data-scheme="dark"] is placed in the <html>
tag. This is needed in order to make the dark styles accesible from the
<html> elment, this will allow us to change the vertical scrollbar
styles following the dark and light schemes.
* change document.body.dataset.scheme to document.documentElement.dataset.scheme
When the dark mode is on or when the light mode is on, the
[data-scheme="light"] or [data-scheme="dark"], respectively, will be
placed in the <html> tag. Allowing us to access the dark and light color
schemes from the <html> to change the vertical scrollbar styles
according to the current color scheme.
* feat: change the page vertical scrollbar styles
This change will make the vertical scrollbar styles to follow the dark
and light color scheme modes. Also, this change will make the vertical
scrollbar to look consistent in both, Chromium and Firefox.
* make the scrollbar-track background-color transparent
The body has this transition: 'transition: background-color 0.3s ease
0s'. Making the scrollbar-track background-color transparent allow us to
appreciate that transition in the scrollbar-track when switching the
background-color.
* Move [data-scheme=dark] back to :root block
* fix(comment/waline): detect dark mode from html tag
* feat: apply custom scrollbar style to all elements
Co-authored-by: Jimmy Cai <jimmehcai@gmail.com>
* refactor(WIP): add new SCSS mixin `respond`
Theme's stylesheet mixes the use of max-width and min-width for responsive design, and it's horrible.
* refactor: update variable.scss to use @mixin respond
* refactor(grid): adjust sidebar max-width
* refactor(partials/article.scss): use `@include respond`
* refactor(layout/article.scss): delete unused SCSS and migrate to `@include respond`
* Adjust left sidebar max-width on xl screen
* fix: right sidebar not sticky
* refactor(breakpoint): simplify `@mixin respond`
* refactor(breakpoints): improve warning message
* fix(breakpoint): return only the requested breakpoint
* fix: add missing padding to .article-details
In order to fix this kind of typo, the (not sophisticated) Regular
Expression: `[a-zA-Z] [aA] [aeiouAEIOU]` was ran.
That Regular Expression matches some good written sentences like `a
User`, therefore, those has been omitted.