summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleo <azuminha1@gmail.co>2025-10-16 20:02:39 -0300
committerleo <azuminha1@gmail.co>2025-10-16 20:02:39 -0300
commit8e7996214af853803c4dd04534b1f5646b0ac1c5 (patch)
tree14a30d462b47b54d41613347782da6e48b71d082
first
-rw-r--r--archetypes/default.md5
-rw-r--r--hugo.toml3
-rw-r--r--themes/hugo-classic/LICENSE.md18
-rw-r--r--themes/hugo-classic/README.md106
-rw-r--r--themes/hugo-classic/archetypes/default.md6
-rw-r--r--themes/hugo-classic/exampleSite/content/_index.md22
-rw-r--r--themes/hugo-classic/exampleSite/content/post/2012-01-23-juicy-code.md30
-rw-r--r--themes/hugo-classic/exampleSite/content/post/2012-04-23-hacker-with-horn.md25
-rw-r--r--themes/hugo-classic/exampleSite/content/post/2015-07-23-command-line-awesomeness.md14
-rw-r--r--themes/hugo-classic/exampleSite/content/post/2018-08-30-markdown-guide.md155
-rw-r--r--themes/hugo-classic/exampleSite/hugo.toml44
-rw-r--r--themes/hugo-classic/exampleSite/static/css/theme-override.css1
-rw-r--r--themes/hugo-classic/exampleSite/static/images/android-chrome-192x192.pngbin0 -> 1307 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/android-chrome-512x512.pngbin0 -> 6220 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/apple-touch-icon.pngbin0 -> 1159 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/favicon-16x16.pngbin0 -> 187 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/favicon-32x32.pngbin0 -> 234 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/favicon.icobin0 -> 15406 bytes
-rwxr-xr-xthemes/hugo-classic/exampleSite/static/images/grayf0x.jpgbin0 -> 55444 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/partywizard.gifbin0 -> 23511 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/screenshot.pngbin0 -> 366422 bytes
-rw-r--r--themes/hugo-classic/exampleSite/static/images/tn.pngbin0 -> 130371 bytes
-rw-r--r--themes/hugo-classic/images/dark.pngbin0 -> 551552 bytes
-rw-r--r--themes/hugo-classic/images/light.pngbin0 -> 537454 bytes
-rw-r--r--themes/hugo-classic/images/screenshot.pngbin0 -> 551552 bytes
-rw-r--r--themes/hugo-classic/images/tn.pngbin0 -> 551552 bytes
-rw-r--r--themes/hugo-classic/layouts/404.html5
-rw-r--r--themes/hugo-classic/layouts/_default/list.html21
-rw-r--r--themes/hugo-classic/layouts/_default/single.html30
-rw-r--r--themes/hugo-classic/layouts/_default/terms.html13
-rw-r--r--themes/hugo-classic/layouts/partials/foot_custom.html0
-rw-r--r--themes/hugo-classic/layouts/partials/footer.html35
-rw-r--r--themes/hugo-classic/layouts/partials/head_custom.html0
-rw-r--r--themes/hugo-classic/layouts/partials/header.html48
-rw-r--r--themes/hugo-classic/layouts/robots.txt4
-rw-r--r--themes/hugo-classic/static/css/fonts.css31
-rw-r--r--themes/hugo-classic/static/css/style.css239
-rw-r--r--themes/hugo-classic/theme.toml17
38 files changed, 872 insertions, 0 deletions
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..25b6752
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+date = '{{ .Date }}'
+draft = true
+title = '{{ replace .File.ContentBaseName "-" " " | title }}'
++++
diff --git a/hugo.toml b/hugo.toml
new file mode 100644
index 0000000..7e568b8
--- /dev/null
+++ b/hugo.toml
@@ -0,0 +1,3 @@
+baseURL = 'https://example.org/'
+languageCode = 'en-us'
+title = 'My New Hugo Site'
diff --git a/themes/hugo-classic/LICENSE.md b/themes/hugo-classic/LICENSE.md
new file mode 100644
index 0000000..c7d9150
--- /dev/null
+++ b/themes/hugo-classic/LICENSE.md
@@ -0,0 +1,18 @@
+The MIT License (MIT)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/themes/hugo-classic/README.md b/themes/hugo-classic/README.md
new file mode 100644
index 0000000..756b9c6
--- /dev/null
+++ b/themes/hugo-classic/README.md
@@ -0,0 +1,106 @@
+# Hugo.io - Classic Theme
+
+Classic is a stylized fork of the **XMin** theme, written by [Yihui Xie](https://yihui.name).
+
+Provides `highlight.js` for syntax highlighting, emoji support, Inter and optional **_darkmode_**.
+
+[**View live demo**](https://goodroot.ca)
+
+### Instructions
+
+1: Install Hugo.
+
+```
+brew install hugo
+```
+
+2: Create a new site.
+
+```
+hugo new site classic
+```
+
+3: Change to themes dir.
+
+```
+cd classic/themes
+```
+
+4: Clone the repo
+
+```
+git clone git@github.com:goodroot/hugo-classic.git
+```
+
+5: Copy files within the `exampleSite` directory
+
+```
+cp -a hugo-classic/exampleSite/. ../
+```
+
+6: Run `hugo server` within `classic/`
+
+```
+cd .. && hugo server
+```
+
+### New Posts
+
+Make new posts:
+
+```
+hugo new post/good-to-great.md
+```
+
+### Header Colour
+
+Adjust header colour within `static/css/style.css`
+
+```
+header {
+ background: #613DC1;
+}
+```
+
+... `background:` to any colour value you'd like!
+
+For header font:
+
+```
+header a {
+ color: #fff;
+}
+```
+
+Change `color:` to a nice matching colour.
+
+### Darkmode
+
+Match or over-ride system-wide dark/light settings
+
+1. Open `static/css/style.css`
+
+2. Edit the following attributes to match light/dark
+
+```css
+/* darkmode */
+@media (prefers-color-scheme: dark) {
+ ...
+}
+
+/* lightmode */
+@media (prefers-color-scheme: light) {
+ ...
+}
+```
+
+#### Screenshot
+
+![Hugo Classic dark mode](/images/dark.png)
+![Hugo Classic light mode](/images/light.png)
+
+## Blog Posts
+
+hugo-classic has appeared in...
+
+[15 Hugo Framework blog themes](https://terrty.net/2018/15-hugo-framework-blog-themes/) by [paskal](https://github.com/paskal)
diff --git a/themes/hugo-classic/archetypes/default.md b/themes/hugo-classic/archetypes/default.md
new file mode 100644
index 0000000..4ef6f52
--- /dev/null
+++ b/themes/hugo-classic/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: ''
+date: ''
+description: ''
+author: ''
+---
diff --git a/themes/hugo-classic/exampleSite/content/_index.md b/themes/hugo-classic/exampleSite/content/_index.md
new file mode 100644
index 0000000..97a1a10
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/content/_index.md
@@ -0,0 +1,22 @@
+---
+title: Home
+description: "The personal writings and expressions of Grayfox, otherwise known as you too and everyone else. It is a loving and silly place."
+---
+<img
+ id="foxy"
+ src="/images/grayf0x.jpg"
+ alt="A foxy face">
+
+## Welcome, friend
+
+### :purple_heart: :earth_africa: :purple_heart:
+
+Born in [The Abyss](https://en.wikipedia.org/wiki/Edmonton), **Grayfox** - also known as Zerkle Snorp - has spent over two decades fiddling with things on the Internet. Today he does nothing, so stop asking.
+
+Their greatest joys are darkness and its quietudes.
+
+<img src="/images/partywizard.gif">
+
+---
+
+## Musings \ No newline at end of file
diff --git a/themes/hugo-classic/exampleSite/content/post/2012-01-23-juicy-code.md b/themes/hugo-classic/exampleSite/content/post/2012-01-23-juicy-code.md
new file mode 100644
index 0000000..4614e74
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/content/post/2012-01-23-juicy-code.md
@@ -0,0 +1,30 @@
+---
+title: Juicy Code
+author: Open Source
+date: '2012-01-23'
+categories:
+ - Code
+tags:
+ - Juicy
+slug: juicy-code
+---
+
+Check out this JUICY! code:
+
+~~~ruby
+def with_value_from_database(value)
+ self.class.from_database(name, value, type)
+end
+
+def with_cast_value(value)
+ self.class.with_cast_value(name, value, type)
+end
+
+def with_type(type)
+ if changed_in_place?
+ with_value_from_user(value).with_type(type)
+ else
+ self.class.new(name, value_before_type_cast, type, original_attribute)
+ end
+end
+~~~
diff --git a/themes/hugo-classic/exampleSite/content/post/2012-04-23-hacker-with-horn.md b/themes/hugo-classic/exampleSite/content/post/2012-04-23-hacker-with-horn.md
new file mode 100644
index 0000000..8511d11
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/content/post/2012-04-23-hacker-with-horn.md
@@ -0,0 +1,25 @@
+---
+title: Hacker with Bullhorn
+author: Open-Source
+date: '2012-04-23'
+categories:
+ - Bullhorn
+ - Example
+slug: hacker-with-horn
+---
+
+Hacker with bullhorn: "Save your money! Accept one of our free tanks! It is invulnerable, and can drive across rocks and swamps at ninety miles an hour while getting a hundred miles to the gallon!"
+
+Prospective station wagon buyer: "I know what you say is true...but...er...I don't know how to maintain a tank!"
+
+Bullhorn: "You don't know how to maintain a station wagon either!"
+
+Buyer: "But this dealership has mechanics on staff. If something goes wrong with my station wagon, I can take a day off work, bring it here, and pay them to work on it while I sit in the waiting room for hours, listening to elevator music."
+
+Bullhorn: "But if you accept one of our free tanks we will send volunteers to your house to fix it for free while you sleep!"
+
+Buyer: "Stay away from my house, you freak!"
+
+Bullhorn: "But..."
+
+Buyer: "Can't you see that everyone is buying station wagons?"
diff --git a/themes/hugo-classic/exampleSite/content/post/2015-07-23-command-line-awesomeness.md b/themes/hugo-classic/exampleSite/content/post/2015-07-23-command-line-awesomeness.md
new file mode 100644
index 0000000..6914648
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/content/post/2015-07-23-command-line-awesomeness.md
@@ -0,0 +1,14 @@
+---
+title: "Command Line Awesomeness"
+date: '2012-03-12'
+categories:
+ - Blog
+tags:
+ - HTML
+---
+
+This crud is called HTML (HyperText Markup Language) and it is basically a very simple programming language instructing your web browser how to draw a page on a screen. Anyone can learn HTML and many people do. The important thing is that no matter what splendid multimedia web pages they might represent, HTML files are just telegrams.
+
+> When Ronald Reagan was a radio announcer, he used to call baseball games by reading the terse descriptions that trickled in over the telegraph wire and were printed out on a paper tape. He would sit there, all by himself in a padded room with a microphone, and the paper tape would eke out of the machine and crawl over the palm of his hand printed with cryptic abbreviations. If the count went to three and two, Reagan would describe the scene as he saw it in his mind's eye: "The brawny left-hander steps out of the batter's box to wipe the sweat from his brow. The umpire steps forward to sweep the dirt from home plate." and so on. When the cryptogram on the paper tape announced a base hit, he would whack the edge of the table with a pencil, creating a little sound effect, and describe the arc of the ball as if he could actually see it. His listeners, many of whom presumably thought that Reagan was actually at the ballpark watching the game, would reconstruct the scene in their minds according to his descriptions.
+
+This is exactly how the World Wide Web works: the HTML files are the pithy description on the paper tape, and your Web browser is Ronald Reagan. The same is true of Graphical User Interfaces in general.
diff --git a/themes/hugo-classic/exampleSite/content/post/2018-08-30-markdown-guide.md b/themes/hugo-classic/exampleSite/content/post/2018-08-30-markdown-guide.md
new file mode 100644
index 0000000..42337fc
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/content/post/2018-08-30-markdown-guide.md
@@ -0,0 +1,155 @@
+---
+title: Markdown Guide (modified)
+author: Open Source
+date: '2018-08-30'
+categories:
+ - Example
+tags:
+ - Markdown
+---
+
+An h1 header
+============
+
+Paragraphs are separated by a blank line.
+
+2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists
+look like:
+
+ * this one
+ * that one
+ * the other one
+
+Note that --- not considering the asterisk --- the actual text
+content starts at 4-columns in.
+
+> Block quotes are
+> written like so.
+>
+> They can span multiple paragraphs,
+> if you like.
+
+Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all
+in chapters 12--14"). Three dots ... will be converted to an ellipsis.
+Unicode is supported. ☺
+
+
+
+An h2 header
+------------
+
+Here's a numbered list:
+
+ 1. first item
+ 2. second item
+ 3. third item
+
+Note again how the actual text starts at 4 columns in (4 characters
+from the left side). Here's a code sample:
+
+ # Let me re-iterate ...
+ for i in 1 .. 10 { do-something(i) }
+
+As you probably guessed, indented 4 spaces. By the way, instead of
+indenting the block, you can use delimited blocks, if you like:
+
+~~~
+define foobar() {
+ print "Welcome to flavor country!";
+}
+~~~
+
+(which makes copying & pasting easier). You can optionally mark the
+delimited block for Pandoc to syntax highlight it:
+
+~~~python
+import time
+# Quick, count to ten!
+for i in range(10):
+ # (but not *too* quick)
+ time.sleep(0.5)
+ print i
+~~~
+
+
+
+### An h3 header ###
+
+Now a nested list:
+
+ 1. First, get these ingredients:
+
+ * carrots
+ * celery
+ * lentils
+
+ 2. Boil some water.
+
+ 3. Dump everything in the pot and follow
+ this algorithm:
+
+ find wooden spoon
+ uncover pot
+ stir
+ cover pot
+ balance wooden spoon precariously on pot handle
+ wait 10 minutes
+ goto first step (or shut off burner when done)
+
+ Do not bump wooden spoon or it will fall.
+
+Notice again how text always lines up on 4-space indents (including
+that last line which continues item 3 above).
+
+Here's a link to [a website](http://foo.bar), to a [local
+doc](local-doc.html), and to a [section heading in the current
+doc](#an-h2-header). Here's a footnote [^1].
+
+[^1]: Footnote text goes here.
+
+Tables can look like this:
+
+size|material |color
+----|------------|------------
+9 |leather |brown
+10 |hemp canvas |natural
+11 |glass |transparent
+
+Table: Shoes, their sizes, and what they're made of
+
+(The above is the caption for the table.)
+
+A horizontal rule follows.
+
+***
+
+Here's a definition list:
+
+apples
+: Good for making applesauce.
+
+oranges
+: Citrus!
+
+tomatoes
+: There's no "e" in tomatoe.
+
+(Put a blank line between each term/definition pair to spread
+things out more.)
+
+and images can be specified like so:
+
+![example image](/images/partywizard.gif "An exemplary image")
+
+Inline math equations go in like so: \\(\omega = d\phi / dt\\).
+Display math should get its own line and be put in in
+double-dollarsigns:
+
+$$I = \int \rho R^{2} dV$$
+
+And note that you can backslash-escape any punctuation characters
+which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc.
+
+#### Images auto center:
+
+![Party](http://emojis.slackmojis.com/emojis/images/1475875185/1223/party-dinosaur.gif?1475875185)
diff --git a/themes/hugo-classic/exampleSite/hugo.toml b/themes/hugo-classic/exampleSite/hugo.toml
new file mode 100644
index 0000000..6c652dd
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/hugo.toml
@@ -0,0 +1,44 @@
+baseurl = "https://example.com"
+enableEmoji = true
+footnotereturnlinkcontents = "↩"
+googleAnalytics = ""
+ignoreFiles = ["\\.Rmd$", "_files$", "_cache$"]
+languageCode = "en-us"
+theme = "hugo-classic"
+title = "Classic"
+
+[markup.goldmark.renderer]
+unsafe = true
+
+[markup.highlight]
+anchorLineNos = false
+codeFences = true
+guessSyntax = false
+hl_Lines = ""
+lineAnchors = ""
+lineNoStart = 1
+lineNos = false
+lineNumbersInTable = true
+noClasses = true
+style = "monokai"
+tabWidth = 4
+
+[permalinks]
+post = "/post/:year/:month/:day/:slug/"
+
+[[menu.main]]
+name = "Categories"
+url = "/categories/"
+weight = 1
+[[menu.main]]
+name = "Tags"
+url = "/tags/"
+weight = 2
+[[menu.feed]]
+name = "Subscribe"
+url = "/index.xml"
+
+[params]
+custom_css = ["css/theme-override.css"]
+description = "A simple, minimal blog for those who love text."
+footer = "Open-Source | [Github](https://github.com/goodroot/hugo-classic) | [Keybase](https://keybase.io/goodroot)"
diff --git a/themes/hugo-classic/exampleSite/static/css/theme-override.css b/themes/hugo-classic/exampleSite/static/css/theme-override.css
new file mode 100644
index 0000000..1e8f759
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/css/theme-override.css
@@ -0,0 +1 @@
+footer { font-size: 90%; }
diff --git a/themes/hugo-classic/exampleSite/static/images/android-chrome-192x192.png b/themes/hugo-classic/exampleSite/static/images/android-chrome-192x192.png
new file mode 100644
index 0000000..4bf78af
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/android-chrome-192x192.png
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/android-chrome-512x512.png b/themes/hugo-classic/exampleSite/static/images/android-chrome-512x512.png
new file mode 100644
index 0000000..8bf4499
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/android-chrome-512x512.png
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/apple-touch-icon.png b/themes/hugo-classic/exampleSite/static/images/apple-touch-icon.png
new file mode 100644
index 0000000..c5870fa
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/apple-touch-icon.png
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/favicon-16x16.png b/themes/hugo-classic/exampleSite/static/images/favicon-16x16.png
new file mode 100644
index 0000000..5444143
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/favicon-16x16.png
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/favicon-32x32.png b/themes/hugo-classic/exampleSite/static/images/favicon-32x32.png
new file mode 100644
index 0000000..257696f
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/favicon-32x32.png
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/favicon.ico b/themes/hugo-classic/exampleSite/static/images/favicon.ico
new file mode 100644
index 0000000..83ec83e
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/favicon.ico
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/grayf0x.jpg b/themes/hugo-classic/exampleSite/static/images/grayf0x.jpg
new file mode 100755
index 0000000..46819d5
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/grayf0x.jpg
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/partywizard.gif b/themes/hugo-classic/exampleSite/static/images/partywizard.gif
new file mode 100644
index 0000000..1c1d813
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/partywizard.gif
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/screenshot.png b/themes/hugo-classic/exampleSite/static/images/screenshot.png
new file mode 100644
index 0000000..0dc8a8c
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/screenshot.png
Binary files differ
diff --git a/themes/hugo-classic/exampleSite/static/images/tn.png b/themes/hugo-classic/exampleSite/static/images/tn.png
new file mode 100644
index 0000000..f58c780
--- /dev/null
+++ b/themes/hugo-classic/exampleSite/static/images/tn.png
Binary files differ
diff --git a/themes/hugo-classic/images/dark.png b/themes/hugo-classic/images/dark.png
new file mode 100644
index 0000000..f0507f8
--- /dev/null
+++ b/themes/hugo-classic/images/dark.png
Binary files differ
diff --git a/themes/hugo-classic/images/light.png b/themes/hugo-classic/images/light.png
new file mode 100644
index 0000000..5cbd7b7
--- /dev/null
+++ b/themes/hugo-classic/images/light.png
Binary files differ
diff --git a/themes/hugo-classic/images/screenshot.png b/themes/hugo-classic/images/screenshot.png
new file mode 100644
index 0000000..f0507f8
--- /dev/null
+++ b/themes/hugo-classic/images/screenshot.png
Binary files differ
diff --git a/themes/hugo-classic/images/tn.png b/themes/hugo-classic/images/tn.png
new file mode 100644
index 0000000..f0507f8
--- /dev/null
+++ b/themes/hugo-classic/images/tn.png
Binary files differ
diff --git a/themes/hugo-classic/layouts/404.html b/themes/hugo-classic/layouts/404.html
new file mode 100644
index 0000000..bd93017
--- /dev/null
+++ b/themes/hugo-classic/layouts/404.html
@@ -0,0 +1,5 @@
+{{ partial "header.html" . }}
+
+404 - You once were found. But now you're lost.
+
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-classic/layouts/_default/list.html b/themes/hugo-classic/layouts/_default/list.html
new file mode 100644
index 0000000..0ee6442
--- /dev/null
+++ b/themes/hugo-classic/layouts/_default/list.html
@@ -0,0 +1,21 @@
+{{ partial "header.html" . }}
+
+<div class="content-wrapper">
+{{if not .IsHome }}
+ <h1>{{ .Title | markdownify }}</h1>
+ {{ end }}
+
+ {{ .Content }}
+
+ <ul>
+ {{ $pages := .Pages }}
+ {{ if .IsHome }}{{ $pages = .Site.RegularPages }}{{ end }}
+ {{ range (where $pages "Section" "!=" "") }}
+ <li>
+ <span class="date">{{ .Date.Format "2006/01/02" }}</span>
+ <a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a>
+ </li>
+ {{ end }}
+ </ul>
+</div>
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-classic/layouts/_default/single.html b/themes/hugo-classic/layouts/_default/single.html
new file mode 100644
index 0000000..04688e0
--- /dev/null
+++ b/themes/hugo-classic/layouts/_default/single.html
@@ -0,0 +1,30 @@
+{{ partial "header.html" . }}
+<div class="article-meta">
+<h1><span class="title">{{ .Title | markdownify }}</span></h1>
+{{ with .Params.author }}<h2 class="author">{{ . }}</h2>{{ end }}
+{{ if .Params.date }}<h2 class="date">{{ .Date.Format "2006/01/02" }}</h2>{{ end }}
+<p class="terms">
+ {{ range $i := (slice "categories" "tags") }}
+ {{ with ($.Param $i) }}
+ {{ $i | title }}: {{ range $k := . }}<a href="{{ relURL (print "/" $i "/" $k | urlize) }}">{{$k}}</a> {{ end }}
+ {{ end }}
+ {{ end }}
+</p>
+</div>
+
+{{ if .Params.toc }}
+ {{ with .TableOfContents }}
+ <div id="table-of-contents">
+ <h2>Table of Contents</h2>
+ {{ . | safeHTML }}
+ </div>
+ {{ end }}
+{{ end }}
+
+<div class="content-wrapper">
+ <main>
+ {{ .Content }}
+ <a href="/"> >> Home</a>
+ </main>
+</div>
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-classic/layouts/_default/terms.html b/themes/hugo-classic/layouts/_default/terms.html
new file mode 100644
index 0000000..1b515a5
--- /dev/null
+++ b/themes/hugo-classic/layouts/_default/terms.html
@@ -0,0 +1,13 @@
+{{ partial "header.html" . }}
+
+<h1>{{ .Title }}</h1>
+
+<ul class="terms">
+ {{ range .Data.Terms }}
+ <li>
+ <a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> ({{ .Count }})
+ </li>
+ {{ end }}
+</ul>
+
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-classic/layouts/partials/foot_custom.html b/themes/hugo-classic/layouts/partials/foot_custom.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-classic/layouts/partials/foot_custom.html
diff --git a/themes/hugo-classic/layouts/partials/footer.html b/themes/hugo-classic/layouts/partials/footer.html
new file mode 100644
index 0000000..494ce73
--- /dev/null
+++ b/themes/hugo-classic/layouts/partials/footer.html
@@ -0,0 +1,35 @@
+ <footer>
+ {{ partial "foot_custom.html" . }}
+ <!-- Automagically centers images. Original Author Yihui Xie: https://yihui.name -->
+ <script>
+ (function() {
+ function center_el(tagName) {
+ var tags = document.getElementsByTagName(tagName), i, tag;
+ for (i = 0; i < tags.length; i++) {
+ tag = tags[i];
+ var parent = tag.parentElement;
+ // center an image if it is the only element of its parent
+ if (parent.childNodes.length === 1) {
+ // if there is a link on image, check grandparent
+ if (parent.nodeName === 'A') {
+ parent = parent.parentElement;
+ if (parent.childNodes.length != 1) continue;
+ }
+ if (parent.nodeName === 'P') parent.style.textAlign = 'center';
+ }
+ }
+ }
+ var tagNames = ['img', 'embed', 'object'];
+ for (var i = 0; i < tagNames.length; i++) {
+ center_el(tagNames[i]);
+ }
+ })();
+ </script>
+
+ {{ with .Site.Params.footer }}
+ <hr/>
+ {{ . | markdownify }}
+ {{ end }}
+ </footer>
+ </body>
+</html>
diff --git a/themes/hugo-classic/layouts/partials/head_custom.html b/themes/hugo-classic/layouts/partials/head_custom.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-classic/layouts/partials/head_custom.html
diff --git a/themes/hugo-classic/layouts/partials/header.html b/themes/hugo-classic/layouts/partials/header.html
new file mode 100644
index 0000000..855f593
--- /dev/null
+++ b/themes/hugo-classic/layouts/partials/header.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="{{ .Site.LanguageCode }}">
+ <head>
+
+ <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png">
+ <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png">
+ <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png">
+ <link rel="manifest" href="/images/site.webmanifest">
+
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.Description }}{{ end }}">
+ <title>{{ .Title }} | {{ .Site.Title }}</title>
+ <link rel="stylesheet" href="{{ "/css/style.css" | relURL }}" />
+ <link rel="stylesheet" href="{{ "/css/fonts.css" | relURL }}" />
+ {{ range .Site.Params.custom_css -}}
+ <link rel="stylesheet" href="{{ . | absURL }}">
+ {{- end }}
+ {{ partial "head_custom.html" . }}
+ </head>
+
+ <body>
+ <header>
+ <nav>
+ <ul>
+ {{ $title := lower .Title }}
+ {{ $section := lower .Section }}
+ <li class="pull-left {{ if .IsHome }}current{{ end }}">
+ <a href="{{ .Site.BaseURL }}">~/{{ lower .Site.Title}}</a>
+ </li>
+ {{ range .Site.Menus.main }}
+ {{ $name := lower .Name }}
+ <li class="pull-left {{ if eq $name $title }}current{{ else if eq $section $name }}current{{ else if eq $title (pluralize $name) }}current{{ end }}">
+ <a href="{{ .URL }}">~/{{ lower .Name }}</a>
+ </li>
+ {{end}}
+
+ {{ range .Site.Menus.feed }}
+ {{ $name := lower .Name}}
+ <li class="pull-right">
+ <a href="{{ .URL }}">~/{{ lower .Name}}</a>
+ </li>
+ {{end}}
+
+ </ul>
+ </nav>
+ </header>
+
diff --git a/themes/hugo-classic/layouts/robots.txt b/themes/hugo-classic/layouts/robots.txt
new file mode 100644
index 0000000..2a87967
--- /dev/null
+++ b/themes/hugo-classic/layouts/robots.txt
@@ -0,0 +1,4 @@
+# robots.txt
+User-agent: *
+Disallow:
+Disallow: /cgi-bin/ \ No newline at end of file
diff --git a/themes/hugo-classic/static/css/fonts.css b/themes/hugo-classic/static/css/fonts.css
new file mode 100644
index 0000000..da969a7
--- /dev/null
+++ b/themes/hugo-classic/static/css/fonts.css
@@ -0,0 +1,31 @@
+@import url('https://rsms.me/inter/inter.css');
+html { font-family:
+ 'Inter',
+ sans-serif,
+ 'Apple Color Emoji',
+ 'Segoe UI Emoji',
+ 'Segoe UI Symbol';
+ }
+@supports (font-variation-settings: normal) {
+ html { font-family:
+ 'Inter var',
+ sans-serif,
+ 'Apple Color Emoji',
+ 'Segoe UI Emoji',
+ 'Segoe UI Symbol';
+ }
+}
+
+code {
+ font-family:
+ -apple-system,
+ BlinkMacSystemFont,
+ "Segoe UI",
+ Helvetica,
+ Arial,
+ sans-serif,
+ "Apple Color Emoji",
+ "Segoe UI Emoji",
+ "Segoe UI Symbol";
+ font-size: 85%;
+}
diff --git a/themes/hugo-classic/static/css/style.css b/themes/hugo-classic/static/css/style.css
new file mode 100644
index 0000000..c68c01c
--- /dev/null
+++ b/themes/hugo-classic/static/css/style.css
@@ -0,0 +1,239 @@
+/* Dark mode */
+@media (prefers-color-scheme: dark) {
+ body {
+ background-color: #393E41;
+ color: white;
+ }
+
+ blockquote {
+ background: #393E41;
+ }
+
+ a {
+ color: #EBC3DB;
+ }
+
+ header {
+ background: #393E41;
+ border-bottom: 2px dotted #EBC3DB;
+
+ }
+
+ .article-meta, .menu a {
+ background: #393E41;
+ color: white;
+ }
+
+ table {
+ margin: auto;
+ border-top: 1px solid #666;
+ border-bottom: 1px solid #666;
+ }
+ table thead th { border-bottom: 1px solid #666; }
+ th, td { padding: 5px; }
+ tr:nth-child(even) { background: #666 }
+
+}
+
+
+/* Light mode */
+@media (prefers-color-scheme: light) {
+ blockquote {
+ background: #f9f9f9;
+ }
+
+ a {
+ color: #613DC1;
+ }
+
+ header {
+ background: #613DC1;
+ }
+
+ .article-meta, .menu a {
+ background: #E8DBC5;
+ color: #000;
+ }
+
+ table {
+ margin: auto;
+ border-top: 1px solid #666;
+ border-bottom: 1px solid #666;
+ }
+ table thead th { border-bottom: 1px solid #ddd; }
+ th, td { padding: 5px; }
+ tr:nth-child(even) { background: #eee }
+
+}
+
+
+body {
+ max-width: 800px;
+ margin: auto;
+ padding: .2em;
+ line-height: 1.5em;
+}
+
+h1 {
+ line-height: 1.5em;
+}
+
+/* Table of Contents, if wanted
+
+Add to yaml:
+
+output:
+ blogdown::html_page:
+ toc: true
+
+ */
+
+#TableOfContents, #TOC {
+ border: 1px solid #eee;
+ border-radius: 5px;
+}
+
+/* Header and Footer */
+.menu li { display: inline-block; }
+.article-meta, .menu a {
+ text-decoration: none;
+ padding: 5px;
+ border-radius: 5px;
+ border-style: dotted;
+ border-width: 1px;
+ margin: 20px 0px 20px 0px;
+}
+
+.terms { font-size: .9em; }
+.menu, .article-meta, footer { text-align: center; }
+.title { font-size: 1.1em; }
+footer a { text-decoration: none; }
+
+.pull-left {
+ float: left
+}
+.pull-right {
+ float: right
+}
+
+a {
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* Adjust background at your leisure! */
+header {
+ position: relative;
+ width: 100%;
+ height: 1.75rem;
+ font-size: 1rem;
+}
+
+header ul,
+header ol {
+ margin: 0;
+ padding: 0;
+ list-style: none
+}
+header nav {
+ padding: 0 0.5rem
+}
+
+header a {
+ color: #fff;
+ line-height: 1.75rem;
+ padding: 0 0.5rem
+}
+header a:hover,
+header .current a {
+ color: #fff
+}
+
+/* Code Boxes */
+pre {
+ border: 2px solid #EBC3DB;
+ padding: 1em;
+ overflow-x: auto;
+}
+pre code { background: none; }
+
+code {
+ background-color: light-dark(#D6D6D6, #888);
+ border-radius: 3px;
+ padding: 0.2em;
+ overflow-x: auto;
+}
+
+/* Images, tables, misc. */
+img, iframe, video {
+ max-width: 100%;
+ height: auto;
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+main {
+ hyphens: auto;
+ max-width: 650px;
+ margin-left: auto;
+ margin-right: auto;
+ line-height: 1.7em;
+ hyphens: auto;
+ display: block;
+ font-size: 1.1em;
+}
+main a {
+ font-weight: bold;
+}
+
+blockquote {
+
+ border-left: 5px solid #ccc;
+ padding: 3px 1em 3px;
+}
+
+.content-wrapper {
+ padding: 0px 12px 0px 12px;
+}
+#foxy {
+ min-width: 40px;
+ float: right;
+ padding: 10px;
+ display: block;
+}
+
+
+#table-of-contents {
+}
+
+/* Small devices, phones */
+@media only screen and (min-width : 480px) {
+ #foxy {
+ min-width: 40px;
+ float: center;
+ padding: 10px 10px 10px 20px;
+ display: block;
+ }
+
+}
+
+/* 在大屏幕上应用特定样式 */
+@media screen and (min-width: 768px) {
+ #table-of-contents {
+ position: fixed; /* 固定定位,使其悬浮在页面上 */
+ top: 50%; /* 上边距为50% */
+ right: 15px; /* 右边距为0,将其放在右侧 */
+ transform: translateY(-50%); /* 使用transform来垂直居中 */
+ background-color: #f0f0f0; /* 设置背景颜色 */
+ padding: 10px; /* 添加一些内边距以增加可读性 */
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); /* 添加阴影效果 */
+ width: 250px; /* 设置宽度 */
+ max-height: 70vh; /* 设置最大高度为视口的70% */
+ overflow-y: auto; /* 添加垂直滚动条 */
+ }
+}
+
diff --git a/themes/hugo-classic/theme.toml b/themes/hugo-classic/theme.toml
new file mode 100644
index 0000000..c020fdc
--- /dev/null
+++ b/themes/hugo-classic/theme.toml
@@ -0,0 +1,17 @@
+description = "A minimal blog theme, for those who love text. Based off the eXtremely minimal theme by Yihui Xui."
+features = ["blog"]
+homepage = "https://goodroot.ca"
+license = "MIT"
+licenselink = "https://github.com/goodroot/hugo-classic/blob/master/LICENSE.md"
+min_version = "0.18"
+name = "Hugo - Classic"
+tags = ["minimal", "blog", "personal", "simple", "clean", "starter", "minimalist", "darkmode"]
+
+[author]
+homepage = "https://goodroot.ca"
+name = "Kellen Evan Person"
+
+[original]
+author = "Yihui Xui"
+homepage = "https://xmin.yihui.name/"
+repo = "https://github.com/yihui/hugo-xmin"