Merge pull request #18 from Junyi-99/feature-main

Change: "style" to "colorTheme"
This commit is contained in:
Junyi 2024-03-13 17:50:39 +08:00 committed by GitHub
commit bfb5aab0a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 165 additions and 767 deletions

101
README.md
View File

@ -47,102 +47,6 @@ For more information read the official [setup guide](https://gohugo.io/overview/
## Getting started ## Getting started
After installing the theme successfully it requires a just a few more steps to get your site running. After installing the theme successfully it requires a just a few more steps to get your site running.
### Update config file
If you have toml config (which is by default), you should rename it to config.yaml or adapt this config for toml syntax.
Example of config.yaml:
```yaml
languageCode: "en-us"
baseUrl: ""
title: "Anubis"
theme: "anubis2"
paginate: 10
disqusShortname: "yourdiscussshortname"
googleAnalytics: "G-12345"
enableRobotsTXT: true
menu:
main:
- identifier: archive
name: Archive
title: Archive
url: /posts/
weight: 0
params:
author: "John Doe"
email: mail@example.org # used for microformats
avatar: "/images/me.png" # used for microformats
description: ""
# Uncomment if you need this
# images:
# - images/og-featured.png # relative path to "static" directory
# customCSS:
# - css/my.css # relative path to "assets" directory (don't use main.css filename)
# customJS:
# - js/main.js # relative path to "assets" directory
dateFormat: "2006-01-02"
paginationSinglePost: true
style: light-without-switcher
mainSections: [ "posts" ] # which sections should be on index/main page
sectionsWithFullContentOnListPage: [ "notes" ] # for which sections content should be displayed on list pages
readMore: false # show read more button
readNextPosts: 5 # show 5 related posts, 0 by default
disableSummary: false
toc: true # display Table of Contents
tocWordCount: 300 # ...when a post is longer than 300 words
copyCodeButton: true # true by default
rssAsSocialIcon: true
mathjax: false # https://www.mathjax.org/ loading cost 257.4KiB network traffic
# utteranc.es support
utterancesRepo: "" # mandatory
utterancesTheme: "" # optional
utterancesIssue: "" # optional
utterancesLabel: "" # optional
# isso support
isso:
enabled: true # mandatory
data: "https://comments.example.com/" # mandatory
jsLocation: "https://comments.example.com/js/embed.min.js" # mandatory
css: true # optional
lang: "de" # optional
replyToSelf: true # mandatory
requireAuthor: true # mandatory
requireEmail: true # mandatory
id: "thread-id" # optional
avatar: true # optional
avatar-bg: "#f0f0f0" # optional
feed: false # optional
UmamiAnalytics:
enabled: true # mandatory
dnt: true # optional
id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # mandatory
datacache: false # optional
url: "https://abc.example.com/umami.js" # mandatory
graphcommentId: ""
# giscus support
GiscusRepo: "" # mandatory
GiscusRepoId: "" # mandatory
GiscusCategory: "Announcements" # mandatory
GiscusCategoryId: "" # mandatory
GiscusLazyLoad: false # optional
webmentions:
url: https://yourdomain.com/webemntions/receive
login: hugo-theme-anubis
pingback: true
social:
- id: github
name: gohugoio
# - id: hugo
# url: "https://gohugo.io/"
# icon: "hugo"
markup:
goldmark:
renderer:
unsafe: true # enable raw HTML in Markdown
```
### Check your site ### Check your site
In order to see your site in action, run Hugo's built-in local server. In order to see your site in action, run Hugo's built-in local server.
@ -154,11 +58,6 @@ Now enter [`localhost:1313`](http://localhost:1313/) in the address bar of your
## Feature Settings ## Feature Settings
### Dark Mode ### Dark Mode
Customize via `style` param in `params` section of config.
Options:
- `light-without-switcher` - light theme, without switcher (by default)
- `dark-without-switcher` - dark theme, without switcher
- `auto-without-switcher` - theme based on user system settings, without switcher
- `light` - light theme by default, can be switched by user to dark theme and back. Theme settings are saved for user - `light` - light theme by default, can be switched by user to dark theme and back. Theme settings are saved for user
- `dark` - dark theme by default, can be switched by user to light theme and back. Theme settings are saved for user - `dark` - dark theme by default, can be switched by user to light theme and back. Theme settings are saved for user
- `auto` - theme based on user system settings by default, can be switched by user to dark/light theme. Theme settings are saved for user (by default in example sites) - `auto` - theme based on user system settings by default, can be switched by user to dark/light theme. Theme settings are saved for user (by default in example sites)

View File

@ -1,35 +1,75 @@
/* dark.css */ @media (prefers-color-scheme: dark) {
--font-color: #dadadb; html {
--bg-color: #1d1e20; --font-color: #dadadb;
--bg-color: #1d1e20;
--card-color: #2e2e33;
--card-border-color: #333333;
--link-color:#599ada; --card-color: #2e2e33;
--link-state-color:#ff5858; --card-border-color: #333333;
--link-state-border-color: rgba(238, 54, 54, 0.5);
--thead-bg-color: #343a40; --link-color: #599ada;
--table-border-color: lightgrey; --link-state-color: #ff5858;
--link-state-border-color: rgba(238, 54, 54, 0.5);
--nav-bg-color: #2e2e33; --thead-bg-color: #343a40;
--nav-link-color: #b6b6b6; --table-border-color: lightgrey;
--pre-color: #f8f8f2; --nav-bg-color: #2e2e33;
--pre-bg-color: rgba(175, 184, 193, 0.1); --nav-link-color: #b6b6b6;
--pre-border-color: rgba(175, 184, 193, 0.3);
--bq-color: #ccc; --pre-color: #f8f8f2;
--hr-color: #333; --pre-bg-color: rgba(175, 184, 193, 0.1);
--pre-border-color: rgba(175, 184, 193, 0.3);
--pagination-bg-color: #2e2e33; --bq-color: #ccc;
--pagination-link-color: #b6b6b6; --hr-color: #333;
--pagination-border-color: #333333;
--pagination-border-radius: 5px;
--post-info-color: grey; --pagination-bg-color: #2e2e33;
--pagination-link-color: #b6b6b6;
--pagination-border-color: #333333;
--pagination-border-radius: 5px;
--switcher-color: #fff; --post-info-color: grey;
--svg-color: #ccc; --switcher-color: #fff;
--svg-state-color:#ff5858;
--svg-color: #ccc;
--svg-state-color: #ff5858;
}
}
/* Same as above. */
html[data-theme='dark'] {
--font-color: #dadadb;
--bg-color: #1d1e20;
--card-color: #2e2e33;
--card-border-color: #333333;
--link-color: #599ada;
--link-state-color: #ff5858;
--link-state-border-color: rgba(238, 54, 54, 0.5);
--thead-bg-color: #343a40;
--table-border-color: lightgrey;
--nav-bg-color: #2e2e33;
--nav-link-color: #b6b6b6;
--pre-color: #f8f8f2;
--pre-bg-color: rgba(175, 184, 193, 0.1);
--pre-border-color: rgba(175, 184, 193, 0.3);
--bq-color: #ccc;
--hr-color: #333;
--pagination-bg-color: #2e2e33;
--pagination-link-color: #b6b6b6;
--pagination-border-color: #333333;
--pagination-border-radius: 5px;
--post-info-color: grey;
--switcher-color: #fff;
--svg-color: #ccc;
--svg-state-color: #ff5858;
}

View File

@ -1,14 +1,12 @@
:root { html[data-theme='light'] {
/* light.css */
--font-color: #1e1e1e; --font-color: #1e1e1e;
--bg-color: #ffffff; --bg-color: #ffffff;
--card-color: #fafafa; --card-color: #fafafa;
--card-border-color: #eeeeee; --card-border-color: #eeeeee;
--link-color:#1d60a3; --link-color: #1d60a3;
--link-state-color:rgb(163, 29, 29); --link-state-color: rgb(163, 29, 29);
--link-state-border-color: rgba(163, 29, 29, .5); --link-state-border-color: rgba(163, 29, 29, .5);
--thead-bg-color: lightgrey; --thead-bg-color: lightgrey;
@ -35,4 +33,4 @@
--svg-color: #333; --svg-color: #333;
--svg-state-color: #a31d1d; --svg-state-color: #a31d1d;
} }

View File

@ -1,39 +1,10 @@
{{ $light := resources.Get "css/light.css" }}
{{ $dark := resources.Get "css/dark.css" }}
{{ $style := "light-without-switcher" }}
{{ if and (isset site.Params "style") (ne site.Params.style "") }}
{{ $style = site.Params.style | lower }}
{{ end }}
{{ if eq $style "dark-without-switcher" }}
:root {
{{ $dark.Content }}
}
{{ else }}
{{ $light.Content }}
{{ if eq $style "auto-without-switcher" }}
@media (prefers-color-scheme: dark) {
:root {
{{ $dark.Content }}
}
}
{{ else if ne $style "light-without-switcher" }}
[data-theme="dark"] {
{{ $dark.Content }}
}
{{ end }}
{{ end }}
/* Basic */ /* Basic */
:root { :root {
--card-border-radius: 0.5em; --card-border-radius: 0.5em;
--card-margin: 1.5em; --card-margin: 1.5em;
--icon-margin-left: 1em;
--icon-margin-top: 1em;
} }
html { html {
@ -205,7 +176,7 @@ pre,
kbd { kbd {
color: var(--pre-color); color: var(--pre-color);
background-color: var(--pre-bg-color); background-color: var(--pre-bg-color);
font-family: monospace; font-family: 'Courier New', 'Consolas', monospace;
font-size: 0.90em; font-size: 0.90em;
line-height: 154%; line-height: 154%;
border-radius: 6px; border-radius: 6px;
@ -303,7 +274,7 @@ header nav a {
/* Social icons */ /* Social icons */
.social-icons { .social-icons {
display: inline; display: inline;
margin: 1em 0 0 1em; margin: var(--icon-margin-top) 0 0 var(--icon-margin-left);
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
} }
@ -313,7 +284,7 @@ header nav a {
} }
.social-icons li:not(:first-of-type) { .social-icons li:not(:first-of-type) {
margin-left: 0.5em; margin-left: var(--icon-margin-left);
} }
.social-icons a:hover, .social-icons a:hover,
@ -779,7 +750,7 @@ ul.language-select > li, ul.footer-menu > li {
.theme-switcher { .theme-switcher {
color: var(--switcher-color); color: var(--switcher-color);
/* padding: 0.5em 1em; */ /* padding: 0.5em 1em; */
margin: 1em 0 0 1.5em; margin: var(--icon-margin-top) 0 0 var(--icon-margin-left);
cursor: pointer; cursor: pointer;
} }

View File

@ -1,3 +0,0 @@
.hugo_build.lock
public/
resources/

View File

@ -1,4 +0,0 @@
+++
author = "Hugo Authors"
+++

View File

@ -1,24 +0,0 @@
---
title: "About subpage"
description: "About subpage"
date: "2019-02-28"
author: "Hugo Authors"
slug: /about/subpage
menu:
about:
identifier: about-subpage-s
parent: about
name: About Subpage
title: About Subpage
url: /about/subpage/
weight: 1
subpage:
identifier: about-subpage2-s
parent: about
name: Second About subpage
title: Second About subpage
url: /about/subpage2/
weight: 10
---
About subpage

View File

@ -1,24 +0,0 @@
---
title: "Second About subpage"
description: "Second About subpage"
date: "2019-02-28"
author: "Hugo Authors"
slug: /about/subpage2
menu:
about:
identifier: about-subpage-s2
parent: about
name: About Subpage
title: About Subpage
url: /about/subpage/
weight: 1
subpage:
identifier: about-subpage2-s2
parent: about
name: Second About subpage
title: Second About subpage
url: /about/subpage2/
weight: 10
---
Second About subpage

View File

@ -1,43 +0,0 @@
---
title: "About"
description: "Hugo, the worlds fastest framework for building websites"
date: "2019-02-28"
aliases: ["about-us","about-hugo","contact"]
author: "Hugo Authors"
menu:
about:
identifier: about-subpage
parent: about
name: About Subpage
title: About Subpage
url: /about/subpage/
weight: 1
subpage:
identifier: about-subpage2
parent: about
name: Second About subpage
title: Second About subpage
url: /about/subpage2/
weight: 10
---
Written in Go, Hugo is an open source static site generator available under the [Apache License 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
Hugo makes use of a variety of open source projects including:
* https://github.com/yuin/goldmark
* https://github.com/alecthomas/chroma
* https://github.com/muesli/smartcrop
* https://github.com/spf13/cobra
* https://github.com/spf13/viper
Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
Learn more and contribute on [GitHub](https://github.com/gohugoio).

View File

@ -1,5 +0,0 @@
---
date: 2019-05-28
type: section
layout: "archives"
---

View File

@ -1,7 +0,0 @@
---
title: 'Our Difference'
button: 'About us'
weight: 2
---
Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. ipsum dolor sit amet, et essent mediocritatem quo,

View File

@ -1,3 +0,0 @@
---
headless : true
---

View File

@ -1,7 +0,0 @@
---
title: 'We Help Business Grow'
button: 'Our Work'
weight: 1
---
Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Numquam dolores mel eu, mea docendi omittantur et, mea ea duis erat. Elit melius cu ius. Per ex novum tantas putant, ei his nullam aliquam apeirian. Aeterno quaestio constituto sea an, no eum intellegat assueverit.

View File

@ -1,6 +0,0 @@
+++
aliases = ["posts","articles","blog","showcase","docs"]
title = "Posts"
author = "Hugo Authors"
tags = ["index"]
+++

View File

@ -1,47 +0,0 @@
+++
author = "Hugo Authors"
title = "Emoji Support"
date = "2019-03-05"
description = "Guide to emoji usage in Hugo"
tags = [
"emoji",
]
+++
Emoji can be enabled in a Hugo project in a number of ways.
<!--more-->
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
To enable emoji globally, set `enableEmoji` to `true` in your sites [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
<br>
The [Emoji cheat sheet](https://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.
***
**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.
{{< highlight html >}}
.emoji {
font-family: Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
}
{{< /highlight >}}
{{< css.inline >}}
<style>
.emojify {
font-family: Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
font-size: 2rem;
vertical-align: middle;
}
@media screen and (max-width:650px) {
.nowrap {
display: block;
margin: 25px 0;
}
}
</style>
{{< /css.inline >}}

View File

@ -1,12 +0,0 @@
+++
author = "Junyi"
title = "Hidden Post"
date = "2021-12-24"
description = "Post available only by link"
tags = [
"privacy"
]
hidden = true
+++
This is hidden post

View File

@ -1,146 +0,0 @@
+++
author = "Hugo Authors"
title = "Markdown Syntax Guide"
date = "2019-03-11"
description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements."
tags = [
"markdown",
"css",
"html",
"themes",
]
categories = [
"themes",
"syntax",
]
aliases = ["migrate-from-jekyl"]
favorite = true
+++
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.
<!--more-->
## Headings
The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` 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.</p>
> — <cite>Rob Pike[^1]</cite>
[^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 supports them out-of-the-box.
Name | Age
--------|------
Bob | 27
Alice | 23
#### Inline Markdown within tables
| Inline&nbsp;&nbsp;&nbsp; | Markdown&nbsp;&nbsp;&nbsp; | In&nbsp;&nbsp;&nbsp; | Table |
| ---------- | --------- | ----------------- | ---------- |
| *italics* | **bold** | ~~strikethrough~~&nbsp;&nbsp;&nbsp; | `code` |
## Code Blocks
#### Code block with backticks
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
#### Code block indented with four spaces
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
#### Code block with Hugo's internal highlight shortcode
{{< highlight html >}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
{{< /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
* Item
1. First Sub-item
2. Second Sub-item
## Other Elements — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.

View File

@ -1,45 +0,0 @@
---
author: Hugo Authors
title: Math Typesetting
date: 2019-03-08
description: A brief guide to setup KaTeX
math: true
---
Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries.
<!--more-->
In this example we will be using [KaTeX](https://katex.org/)
- Create a partial under `/layouts/partials/math.html`
- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally.
- Include the partial in your templates like so:
```
{{ if or .Params.math .Site.Params.math }}
{{ partial "math.html" . }}
{{ end }}
```
- To enable KaTex globally set the parameter `math` to `true` in a project's configuration
- To enable KaTex on a per page basis include the parameter `math: true` in content files.
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
{{< math.inline >}}
{{ if or .Page.Params.math .Site.Params.math }}
<!-- KaTeX -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/katex.min.css" integrity="sha384-dbVIfZGuN1Yq7/1Ocstc1lUEm+AT+/rCkibIcC/OmWo5f0EA48Vf8CytHzGrSwbQ" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/katex.min.js" integrity="sha384-2BKqo+exmr9su6dir+qCw08N2ZKRucY4PrGQPPWU1A7FtlCGjmEGFqXCv5nyM5Ij" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
{{ end }}
{{</ math.inline >}}
### Examples
Inline math: $$ \varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887… $$
Block math:
$$
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
$$

View File

@ -1,58 +0,0 @@
+++
author = "Hugo Authors"
title = "Placeholder Text"
date = "2019-03-09"
description = "Lorem Ipsum Dolor Si Amet"
tags = [
"markdown",
"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.<!--more-->
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
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
[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 >}}
<style>
.canon { background: white; width: 100%; height: auto;}
</style>
{{< /css.inline >}}

View File

@ -1,34 +0,0 @@
+++
author = "Hugo Authors"
title = "Rich Content"
date = "2019-03-10"
description = "A brief description of Hugo Shortcodes"
tags = [
"shortcodes",
"privacy",
]
+++
Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugo-s-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds.
<!--more-->
---
## YouTube Privacy Enhanced Shortcode
{{< youtube ZJthWmvUzzc >}}
<br>
---
## Twitter Simple Shortcode
{{< tweet user="DesignReviewed" id="1085870671291310081" >}}
<br>
---
## Vimeo Simple Shortcode
{{< vimeo_simple 48912912 >}}

View File

@ -1,74 +0,0 @@
baseURL = "https://example.com"
languageCode = "en-us"
title = "Anubis"
theme = "anubis"
paginate = 3
disqusShortname = ""
googleAnalytics = ""
[author]
name = "Junyi"
[params]
author = "Junyi"
description = "Anubis2 is another simple minimalist theme for Hugo blog engine."
dateFormat = "2006-01-02"
paginationSinglePost = true
style = "auto"
readMore = false
readNextPosts = 2
copyCodeButton = true
rssAsSocialIcon = true
mathjax = false
# Graphcomment support
graphcommentId = ""
# utteranc.es support
utterancesRepo = "" # mandatory
utterancesTheme = "" # optional
utterancesIssue = "" # optional
utterancesLabel = "" # optional
# Giscus support
GiscusRepo = "" # mandatory
GiscusRepoId = "" # mandatory
GiscusCategory = "Announcements" # mandatory
GiscusCategoryId = "" # mandatory
GiscusLazyLoad = false # optional
[[params.social]]
id = "docs"
url = "https://gohugo.io/documentation/"
[[params.social]]
id = "github"
url = "https://github.com/Junyi-99/hugo-theme-anubis2"
[menu]
[[menu.main]]
identifier = "about"
name = "About"
url = "/about/"
weight = 1
[[menu.main]]
identifier = "tags"
name = "Tags"
url = "/tags/"
weight = 2
[[menu.main]]
name = "Archive"
identifier = "archive"
url = "/posts/"
weight = 3
[taxonomies]
category = "categories"
tag = "tags"
[markup.goldmark.renderer]
unsafe = true

View File

@ -1,8 +0,0 @@
[build]
publish = "public"
command = "hugo --gc --minify"
[context.production.environment]
HUGO_VERSION = "0.115.4"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z"/></svg>

Before

Width:  |  Height:  |  Size: 790 B

View File

@ -1,4 +1,4 @@
baseURL = "https://example.com" baseURL = "https://hugo-theme-anubis2.netlify.app/"
languageCode = "en-us" languageCode = "en-us"
defaultContentLanguage = "en" defaultContentLanguage = "en"
title = "Anubis2" title = "Anubis2"
@ -16,7 +16,10 @@ author = "Junyi"
description = "Anubis2 is another simple minimalist theme for Hugo blog engine." description = "Anubis2 is another simple minimalist theme for Hugo blog engine."
dateFormat = "2006-01-02" dateFormat = "2006-01-02"
paginationSinglePost = true paginationSinglePost = true
style = "auto"
colorTheme = "auto"
colorThemeSwitcher = true
readMore = false readMore = false
readNextPosts = 2 readNextPosts = 2
copyCodeButton = true copyCodeButton = true
@ -28,11 +31,12 @@ toc = true
# Graphcomment support # Graphcomment support
graphcommentId = "" graphcommentId = ""
# utteranc.es support GiscusRepo = "Junyi-99/hugo-theme-anubis2"
utterancesRepo = "" # mandatory GiscusRepoId = "R_kgDOLEp76Q"
utterancesTheme = "" # optional GiscusCategory = "General"
utterancesIssue = "" # optional GiscusCategoryId = "DIC_kwDOLEp76c4CcbPS"
utterancesLabel = "" # optional GiscusLazyLoad = false
GiscusDataMapping = "pathname"
[[params.social]] [[params.social]]
id = "docs" id = "docs"

View File

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
{{ $dataTheme := "" }} {{ $dataTheme := "" }}
{{ if eq site.Params.style "dark-without-switcher" }} {{ if and (ne site.Params.colortheme "auto") (eq site.Params.colorthemeswitcher false) }}
{{ $dataTheme = "dark" }} {{ $dataTheme := site.Params.colortheme }}
{{ end }} {{ end }}
<html lang="{{ .Site.Params.locale | default .Site.LanguageCode }}" data-theme="{{ $dataTheme }}"> <html lang="{{ .Site.Params.locale | default .Site.LanguageCode }}" data-theme="{{ $dataTheme }}">
<head> <head>

View File

@ -21,12 +21,18 @@
{{ partial "favicons.html" . }} {{ partial "favicons.html" . }}
{{ $style := "light-without-switcher" }} {{ $colorTheme := "light" }}
{{ if and (isset site.Params "style") (ne site.Params.style "") }} {{ $colorThemeSwitcher := false }}
{{ $style = site.Params.style | lower }}
{{ if and (isset site.Params "colortheme") (ne site.Params.colortheme "") }}
{{ $colorTheme = site.Params.colortheme | lower }}
{{ end }} {{ end }}
{{ if not (in (slice "light-without-switcher" "dark-without-switcher") $style) }} {{ if and (isset site.Params "colorthemeswitcher") }}
{{ $colorThemeSwitcher = site.Params.colorthemeswitcher }}
{{ end }}
{{ if or (eq $colorThemeSwitcher true) (eq $colorTheme "auto") }}
<style> <style>
body { body {
visibility: hidden; visibility: hidden;
@ -45,6 +51,8 @@
{{end}} {{end}}
{{ partial "resource.html" (dict "context" . "type" "css" "filename" "css/main.css") }} {{ partial "resource.html" (dict "context" . "type" "css" "filename" "css/main.css") }}
{{ partial "resource.html" (dict "context" . "type" "css" "filename" "css/light.css") }}
{{ partial "resource.html" (dict "context" . "type" "css" "filename" "css/dark.css") }}
{{ if .Site.Params.copyCodeButton | default true }} {{ if .Site.Params.copyCodeButton | default true }}
{{ partial "resource.html" (dict "context" . "type" "js" "filename" "js/copy-code.js") }} {{ partial "resource.html" (dict "context" . "type" "js" "filename" "js/copy-code.js") }}

View File

@ -2,7 +2,7 @@
<div class="header-top-left"> <div class="header-top-left">
{{ partial "site-title.html" . }} {{ partial "site-title.html" . }}
{{ partial "theme-switcher.html" . }} {{ partial "theme-switcher.html" . }}
{{ partial "social.html" . }} {{ partial "social-icons.html" . }}
</div> </div>
<div class="header-top-right"> <div class="header-top-right">

View File

@ -0,0 +1,37 @@
<ul class="social-icons">
{{ range $.Site.Params.Social }}
{{ if and (isset $.Site.Data.social.social_icons .id) (isset . "url") }}
<li>
<a {{ printf "href=%q" .url | safeHTMLAttr }} title="{{ humanize .id }}" rel="me">
{{ partial "font-awesome.html" (dict "iconName" .id "custom" false) }}
</a>
</li>
{{ else if and (isset $.Site.Data.social.social_icons .id) (isset . "name") }}
{{ $url := index $.Site.Data.social.social_icons .id }}
{{ $ref := printf $url .name }}
<li>
<a {{ printf "href=%q" $ref | safeHTMLAttr }} title="{{ humanize .id }}" rel="me">
{{ partial "font-awesome.html" (dict "iconName" .id "custom" false) }}
</a>
</li>
{{ else if (isset . "url") }}
<li>
<a href="{{ printf .url }}" title="{{ humanize .id }}" rel="me">
{{ partial "font-awesome.html" (dict "iconName" .id "custom" true) }}
</a>
</li>
{{ end }}
{{ end }}
{{ if .Site.Params.rssAsSocialIcon }}
{{ with .Site.Home.OutputFormats.Get "rss" -}}
<li>
<a {{ printf "href=%q" .Permalink | safeHTMLAttr }} title="RSS" rel="me">
{{ partial "font-awesome.html" (dict "iconName" "rss" "custom" false) }}
</a>
</li>
{{ end -}}
{{ end }}
</ul>

View File

@ -1,10 +1,16 @@
{{ $style := "light-without-switcher" }} {{ $colorTheme := "light" }}
{{ if and (isset site.Params "style") (ne site.Params.style "") }} {{ $colorThemeSwitcher := false }}
{{ $style = site.Params.style | lower }}
{{ if and (isset site.Params "colortheme") (ne site.Params.colortheme "") }}
{{ $colorTheme = site.Params.colortheme | lower }}
{{ end }} {{ end }}
{{ if not (in (slice "light-without-switcher" "dark-without-switcher") $style) }} {{ if and (isset site.Params "colorthemeswitcher") }}
{{ if ne "auto-without-switcher" $style }} {{ $colorThemeSwitcher = site.Params.colorthemeswitcher }}
{{ end }}
{{ if or (eq $colorThemeSwitcher true) (eq $colorTheme "auto") }}
{{ if site.Params.colorthemeswitcher }}
<div class="theme-switcher"> <div class="theme-switcher">
{{ partial "font-awesome.html" (dict "iconName" "theme-light" "custom" false) }} {{ partial "font-awesome.html" (dict "iconName" "theme-light" "custom" false) }}
</div> </div>
@ -12,7 +18,7 @@
<script> <script>
const STORAGE_KEY = 'user-color-scheme' const STORAGE_KEY = 'user-color-scheme'
const defaultTheme = {{ $style }} const defaultTheme = {{ $colorTheme }}
let currentTheme let currentTheme
let switchButton let switchButton
@ -23,52 +29,38 @@
document.documentElement.setAttribute('data-theme', currentTheme) document.documentElement.setAttribute('data-theme', currentTheme)
} }
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function () {
switchButton = document.querySelector('.theme-switcher') switchButton = document.querySelector('.theme-switcher')
currentTheme = detectCurrentScheme() currentTheme = detectCurrentScheme()
if (currentTheme == 'dark') {
document.documentElement.setAttribute('data-theme', 'dark') if (currentTheme === 'auto') {
}
if (currentTheme == 'auto') {
autoChangeScheme(autoDefinedScheme); autoChangeScheme(autoDefinedScheme);
autoDefinedScheme.addListener(autoChangeScheme); autoDefinedScheme.addListener(autoChangeScheme);
} else {
document.documentElement.setAttribute('data-theme', currentTheme)
} }
if (switchButton) { if (switchButton) {
switchButton.addEventListener('click', switchTheme, false) switchButton.addEventListener('click', switchTheme, false)
} }
showContent() showContent()
}) })
function detectCurrentScheme() { function detectCurrentScheme() {
if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) { if (localStorage !== null && localStorage.getItem(STORAGE_KEY)) {
return localStorage.getItem(STORAGE_KEY) return localStorage.getItem(STORAGE_KEY)
} }
if (defaultTheme) { if (defaultTheme) {
return defaultTheme return defaultTheme
}
if (!window.matchMedia) {
return 'light'
}
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
return 'dark'
} }
return 'light' return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
} }
function switchTheme(e) { function switchTheme(e) {
if (currentTheme == 'dark') { currentTheme = (currentTheme === 'dark') ? 'light' : 'dark';
if (localStorage !== null) if (localStorage) localStorage.setItem(STORAGE_KEY, currentTheme);
localStorage.setItem(STORAGE_KEY, 'light') document.documentElement.setAttribute('data-theme', currentTheme);
document.documentElement.setAttribute('data-theme', 'light')
currentTheme = 'light'
} else {
if (localStorage !== null)
localStorage.setItem(STORAGE_KEY, 'dark')
document.documentElement.setAttribute('data-theme', 'dark')
currentTheme = 'dark'
}
} }
function showContent() { function showContent() {
@ -76,4 +68,4 @@
document.body.style.opacity = 1; document.body.style.opacity = 1;
} }
</script> </script>
{{ end }} {{ end }}