summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.gitignore2
-rw-r--r--LICENSE21
-rw-r--r--archetypes/default.md5
-rw-r--r--content/_index.md5
-rw-r--r--content/about.md7
-rwxr-xr-xcontent/android-chrome-192x192.pngbin0 -> 48916 bytes
-rwxr-xr-xcontent/android-chrome-512x512.pngbin0 -> 228914 bytes
-rwxr-xr-xcontent/apple-touch-icon.pngbin0 -> 44269 bytes
-rw-r--r--content/banner.pngbin0 -> 448044 bytes
-rw-r--r--content/cheatsheets/c_cpp.md109
-rwxr-xr-xcontent/favicon-16x16.pngbin0 -> 749 bytes
-rwxr-xr-xcontent/favicon-32x32.pngbin0 -> 2287 bytes
-rwxr-xr-xcontent/favicon.icobin0 -> 15406 bytes
-rw-r--r--content/posts/win7.md35
-rw-r--r--hugo.toml5
-rw-r--r--themes/hugo-xmin/.github/FUNDING.yml3
-rw-r--r--themes/hugo-xmin/.gitignore6
-rw-r--r--themes/hugo-xmin/LICENSE.md20
-rw-r--r--themes/hugo-xmin/README.md28
-rw-r--r--themes/hugo-xmin/archetypes/default.md4
-rw-r--r--themes/hugo-xmin/hugo-xmin.Rproj16
-rw-r--r--themes/hugo-xmin/layouts/404.html5
-rw-r--r--themes/hugo-xmin/layouts/_default/list.html16
-rw-r--r--themes/hugo-xmin/layouts/_default/single.html12
-rw-r--r--themes/hugo-xmin/layouts/_default/terms.html13
-rw-r--r--themes/hugo-xmin/layouts/index.html26
-rw-r--r--themes/hugo-xmin/layouts/partials/footer.html8
-rw-r--r--themes/hugo-xmin/layouts/partials/header.html20
-rw-r--r--themes/hugo-xmin/static/css/fonts.css8
-rw-r--r--themes/hugo-xmin/static/css/style.css74
-rw-r--r--themes/hugo-xmin/theme.toml13
31 files changed, 461 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100755
index 0000000..faa6c31
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+public \ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..5bf8dcc
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Hunter Kvalevog
+
+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/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..c6f3fce
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+title = '{{ replace .File.ContentBaseName "-" " " | title }}'
+date = {{ .Date }}
+draft = true
++++
diff --git a/content/_index.md b/content/_index.md
new file mode 100644
index 0000000..6f79ef2
--- /dev/null
+++ b/content/_index.md
@@ -0,0 +1,5 @@
++++
+title = 'Home'
++++
+
+![banner](/banner.png)
diff --git a/content/about.md b/content/about.md
new file mode 100644
index 0000000..f7b6fa0
--- /dev/null
+++ b/content/about.md
@@ -0,0 +1,7 @@
++++
+title = 'About'
++++
+
+My name is Hunter. I'm a hobbyist multimedia programmer from Minnesota.
+
+If you have a question or would like to report an issue, please email hunter@\<this domain>. \ No newline at end of file
diff --git a/content/android-chrome-192x192.png b/content/android-chrome-192x192.png
new file mode 100755
index 0000000..32f3bab
--- /dev/null
+++ b/content/android-chrome-192x192.png
Binary files differ
diff --git a/content/android-chrome-512x512.png b/content/android-chrome-512x512.png
new file mode 100755
index 0000000..dc0c9d1
--- /dev/null
+++ b/content/android-chrome-512x512.png
Binary files differ
diff --git a/content/apple-touch-icon.png b/content/apple-touch-icon.png
new file mode 100755
index 0000000..598a0af
--- /dev/null
+++ b/content/apple-touch-icon.png
Binary files differ
diff --git a/content/banner.png b/content/banner.png
new file mode 100644
index 0000000..f602b7e
--- /dev/null
+++ b/content/banner.png
Binary files differ
diff --git a/content/cheatsheets/c_cpp.md b/content/cheatsheets/c_cpp.md
new file mode 100644
index 0000000..e25e874
--- /dev/null
+++ b/content/cheatsheets/c_cpp.md
@@ -0,0 +1,109 @@
++++
+title = 'C/C++'
++++
+
+* [Preprocessor Definitions](#preprocessor-definitions)
+ * [Platform detection](#platform-detection)
+ * [Compiler detection](#compiler-detection)
+ * [Architecture detection](#architecture-detection)
+* [Standard Headers](#standard-headers)
+
+## Preprocessor Definitions
+
+* [predef wiki](https://github.com/cpredef/predef)
+
+### Platform detection
+```
+#ifdef _WIN32
+ // Windows
+#endif
+
+#ifdef __APPLE__
+ // Apple
+
+ #include <TargetConditionals.h>
+ #idef TARGET_OS_OSX
+ // macOS
+ #elif TARGET_OS_IPHONE
+ // Some kind of mobile device
+ #if TARGET_OS_MACCATALYST
+ // Mac Catalyst - iOS app on macOS
+ #elif TARGET_OS_VISION
+ // visionOS
+ #elif TARGET_OS_TV
+ // tvOS
+ #else
+ // iOS
+ #endif
+ #endif // TARGET_OS_OSX
+#endif // __APPLE__
+
+#ifdef __linux__
+ // Linux
+#endif
+
+```
+
+### Compiler detection
+```
+#ifdef __GNUC__
+ // GCC
+#endif
+
+#ifdef __clang__
+ // clang
+#endif
+
+#ifdef _MSC_VER
+ // Visual C++
+#endif
+```
+
+### Architecture detection
+```
+#if (defined(_MSC_VER) && _M_X64) || (defined(__GNUC__) && __amd64__)
+ // x86-64
+#endif
+
+#if (defined(_MSC_VER) && _M_ARM64) || (defined(__GNUC__) && __aarch64__)
+ // arm64
+#endif
+```
+
+## Standard Headers
+
+* [C standard headers](https://en.cppreference.com/w/c/header.html)
+* [C++ standard headers](https://en.cppreference.com/w/cpp/header.html)
+#
+* [assert.h](https://en.cppreference.com/w/c/header/assert.html)
+* [complex.h](https://en.cppreference.com/w/c/header/complex.html)
+* [ctype.h](https://en.cppreference.com/w/c/header/ctype.html)
+* [errno.h](https://en.cppreference.com/w/c/header/errno.html)
+* [fenv.h](https://en.cppreference.com/w/c/header/fenv.html)
+* [float.h](https://en.cppreference.com/w/c/header/float.html)
+* [inttypes.h](https://en.cppreference.com/w/c/header/inttypes.html)
+* [iso646.h](https://en.cppreference.com/w/c/header/iso646.html)
+* [limits.h](https://en.cppreference.com/w/c/header/limits.html)
+* [locale.h](https://en.cppreference.com/w/c/header/locale.html)
+* [math.h](https://en.cppreference.com/w/c/header/math.html)
+* [setjmp.h](https://en.cppreference.com/w/c/header/setjmp.html)
+* [signal.h](https://en.cppreference.com/w/c/header/signal.html)
+* [stdalign.h](https://en.cppreference.com/w/c/header/stdalign.html)
+* [stdarg.h](https://en.cppreference.com/w/c/header/stdarg.html)
+* [stdatomic.h](https://en.cppreference.com/w/c/header/stdatomic.html)
+* [stdbit.h](https://en.cppreference.com/w/c/header/stdbit.html)
+* [stdbool.h](https://en.cppreference.com/w/c/header/stdbool.html)
+* [stdckdint.h](https://en.cppreference.com/w/c/header/stdckdint.html)
+* [stddef.h](https://en.cppreference.com/w/c/header/stddef.html)
+* [stdint.h](https://en.cppreference.com/w/c/header/stdint.html)
+* [stdio.h](https://en.cppreference.com/w/c/header/stdio.html)
+* [stdlib.h](https://en.cppreference.com/w/c/header/stdlib.html)
+* [stdmchar.h](https://en.cppreference.com/w/c/header/stdmchar.html)
+* [stdnoreturn.h](https://en.cppreference.com/w/c/header/stdnoreturn.html)
+* [string.h](https://en.cppreference.com/w/c/header/string.html)
+* [tgmath.h](https://en.cppreference.com/w/c/header/tgmath.html)
+* [threads.h](https://en.cppreference.com/w/c/header/threads.html)
+* [time.h](https://en.cppreference.com/w/c/header/time.html)
+* [uchar.h](https://en.cppreference.com/w/c/header/uchar.html)
+* [wchar.h](https://en.cppreference.com/w/c/header/wchar.html)
+* [wctype.h](https://en.cppreference.com/w/c/header/wctype.html)
diff --git a/content/favicon-16x16.png b/content/favicon-16x16.png
new file mode 100755
index 0000000..5694cb4
--- /dev/null
+++ b/content/favicon-16x16.png
Binary files differ
diff --git a/content/favicon-32x32.png b/content/favicon-32x32.png
new file mode 100755
index 0000000..835f909
--- /dev/null
+++ b/content/favicon-32x32.png
Binary files differ
diff --git a/content/favicon.ico b/content/favicon.ico
new file mode 100755
index 0000000..ebda066
--- /dev/null
+++ b/content/favicon.ico
Binary files differ
diff --git a/content/posts/win7.md b/content/posts/win7.md
new file mode 100644
index 0000000..87c0d83
--- /dev/null
+++ b/content/posts/win7.md
@@ -0,0 +1,35 @@
++++
+title = 'Updating a fresh Windows 7+SP1 install'
+date = 2024-02-05T02:30:19-06:00
++++
+
+## How to update a fresh Windows 7+SP1 install in 2024
+
+*Mostly taken from http://www.freenode-windows.org/resources/vista-7/windows-update ([archived](https://web.archive.org/web/20220925214048/http://www.freenode-windows.org/resources/vista-7/windows-update))*
+
+Windows 7 Ultimate (SP1) SHA1 hash: `36ae90defbad9d9539e649b193ae573b77a71c83`
+
+## 1. Download rollup updates
+First, manually download (but don't install) these updates from the [Microsoft Update Catalog](https://www.catalog.update.microsoft.com/home.aspx):
+
+1. [KB3125574](https://www.catalog.update.microsoft.com/Search.aspx?q=KB3125574)
+2. [KB3172605](https://www.catalog.update.microsoft.com/Search.aspx?q=KB3172605)
+3. [KB3020369](https://www.catalog.update.microsoft.com/Search.aspx?q=KB3020369)
+
+## 2. Disable Windows Update
+
+1. Disable the internet connection
+2. Disable the Windows Update service (`stop-service wuauserv` in admin PowerShell)
+3. Remove cached update files (`remove-item C:\windows\softwaredistribution\WuRedir` in admin PowerShell)
+
+## 3. Install rollup updates
+
+1. Install KB3020369
+2. Install KB3172605 and reboot
+3. Install KB3125574 and reboot
+
+## 3. Updating via Windows Update
+
+Reconnect to the internet and launch the standard Windows Update program.
+
+Many updates will fail, but if you retry and restart enough, they will eventually succeed.
diff --git a/hugo.toml b/hugo.toml
new file mode 100644
index 0000000..beb3d11
--- /dev/null
+++ b/hugo.toml
@@ -0,0 +1,5 @@
+baseURL = 'https://kvog.sh/'
+languageCode = 'en-us'
+title = 'kvog.sh'
+theme = 'hugo-xmin'
+
diff --git a/themes/hugo-xmin/.github/FUNDING.yml b/themes/hugo-xmin/.github/FUNDING.yml
new file mode 100644
index 0000000..9a5a186
--- /dev/null
+++ b/themes/hugo-xmin/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+github: [yihui]
+patreon:
+custom:
diff --git a/themes/hugo-xmin/.gitignore b/themes/hugo-xmin/.gitignore
new file mode 100644
index 0000000..a057323
--- /dev/null
+++ b/themes/hugo-xmin/.gitignore
@@ -0,0 +1,6 @@
+.Rproj.user
+.Rhistory
+.RData
+.Ruserdata
+exampleSite/.hugo_build.lock
+exampleSite/public
diff --git a/themes/hugo-xmin/LICENSE.md b/themes/hugo-xmin/LICENSE.md
new file mode 100644
index 0000000..259e3d6
--- /dev/null
+++ b/themes/hugo-xmin/LICENSE.md
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2017-2022 Yihui Xie
+
+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-xmin/README.md b/themes/hugo-xmin/README.md
new file mode 100644
index 0000000..ea15b29
--- /dev/null
+++ b/themes/hugo-xmin/README.md
@@ -0,0 +1,28 @@
+# HUGO XMIN
+
+## _Keep it simple, but not simpler_
+
+**XMin** is a Hugo theme written by [Yihui Xie](https://yihui.org) in about four hours: half an hour was spent on the Hugo templates, and 3.5 hours were spent on styling. The main motivation for writing this theme was to provide a really minimal example to beginners of Hugo templates. This XMin theme contains about 140 lines of code in total, including the code in HTML templates and CSS (also counting empty lines).
+
+
+```bash
+find . -not -path '*/exampleSite/*' \( -name '*.html' -o -name '*.css' \) | xargs wc -l
+```
+
+```
+ 5 ./layouts/404.html
+ 12 ./layouts/_default/single.html
+ 20 ./layouts/_default/list.html
+ 13 ./layouts/_default/terms.html
+ 0 ./layouts/partials/foot_custom.html
+ 0 ./layouts/partials/head_custom.html
+ 9 ./layouts/partials/footer.html
+ 20 ./layouts/partials/header.html
+ 51 ./static/css/style.css
+ 7 ./static/css/fonts.css
+ 137 total
+```
+
+I can certainly further reduce the code, for example, by eliminating the CSS, but I believe a tiny bit of CSS can greatly improve readability. You cannot really find many CSS frameworks that only contain 50 lines of code.
+
+[![Screenshot](https://github.com/yihui/hugo-xmin/raw/master/images/screenshot.png)](https://xmin.yihui.org)
diff --git a/themes/hugo-xmin/archetypes/default.md b/themes/hugo-xmin/archetypes/default.md
new file mode 100644
index 0000000..fb98e92
--- /dev/null
+++ b/themes/hugo-xmin/archetypes/default.md
@@ -0,0 +1,4 @@
+---
+title: ''
+date: ''
+---
diff --git a/themes/hugo-xmin/hugo-xmin.Rproj b/themes/hugo-xmin/hugo-xmin.Rproj
new file mode 100644
index 0000000..d64e28b
--- /dev/null
+++ b/themes/hugo-xmin/hugo-xmin.Rproj
@@ -0,0 +1,16 @@
+Version: 1.0
+
+RestoreWorkspace: Default
+SaveWorkspace: Default
+AlwaysSaveHistory: Default
+
+EnableCodeIndexing: Yes
+UseSpacesForTab: Yes
+NumSpacesForTab: 2
+Encoding: UTF-8
+
+RnwWeave: knitr
+LaTeX: pdfLaTeX
+
+AutoAppendNewline: Yes
+StripTrailingWhitespace: Yes
diff --git a/themes/hugo-xmin/layouts/404.html b/themes/hugo-xmin/layouts/404.html
new file mode 100644
index 0000000..c2e4e40
--- /dev/null
+++ b/themes/hugo-xmin/layouts/404.html
@@ -0,0 +1,5 @@
+{{ partial "header.html" . }}
+
+404 NOT FOUND
+
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-xmin/layouts/_default/list.html b/themes/hugo-xmin/layouts/_default/list.html
new file mode 100644
index 0000000..351a976
--- /dev/null
+++ b/themes/hugo-xmin/layouts/_default/list.html
@@ -0,0 +1,16 @@
+{{ partial "header.html" . }}
+
+{{ .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>
+
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-xmin/layouts/_default/single.html b/themes/hugo-xmin/layouts/_default/single.html
new file mode 100644
index 0000000..ecf1861
--- /dev/null
+++ b/themes/hugo-xmin/layouts/_default/single.html
@@ -0,0 +1,12 @@
+{{ partial "header.html" . }}
+<div class="article-meta">
+<h2 style="border-bottom: none;"><span class="title">{{ .Title | markdownify }}</span></h2>
+{{ with .Params.author }}<h2 class="author">{{ . }}</h2>{{ end }}
+{{ if (gt .Params.date 0) }}<p class="date">{{ .Date.Format "2006/01/02" }}</p>{{ end }}
+</div>
+
+<main class="main">
+{{ .Content }}
+</main>
+
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-xmin/layouts/_default/terms.html b/themes/hugo-xmin/layouts/_default/terms.html
new file mode 100644
index 0000000..71f47e7
--- /dev/null
+++ b/themes/hugo-xmin/layouts/_default/terms.html
@@ -0,0 +1,13 @@
+{{ partial "header.html" . }}
+
+<h1>{{ .Title }}</h1>
+
+<ul class="terms">
+ {{ range .Data.Terms }}
+ <li>
+ <a href="{{ .Page.RelPermalink }}">{{ .Page.Title }}</a> ({{ .Count }})
+ </li>
+ {{ end }}
+</ul>
+
+{{ partial "footer.html" . }}
diff --git a/themes/hugo-xmin/layouts/index.html b/themes/hugo-xmin/layouts/index.html
new file mode 100644
index 0000000..a3daf68
--- /dev/null
+++ b/themes/hugo-xmin/layouts/index.html
@@ -0,0 +1,26 @@
+{{ partial "header.html" . }}
+
+{{ .Content }}
+
+<h2>Cheat Sheets:</h2>
+<ul>
+ {{ $pages := .Site.RegularPages }}
+ {{ range (where $pages "Section" "cheatsheets") }}
+ <li>
+ <a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a>
+ </li>
+ {{ end }}
+</ul>
+
+<h2>Posts:</h2>
+<ul>
+ {{ $pages := .Site.RegularPages }}
+ {{ range (where $pages "Section" "posts") }}
+ <li>
+ <span class="date">{{ .Date.Format "2006/01/02" }}</span>
+ <a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a>
+ </li>
+ {{ end }}
+</ul>
+
+{{ partial "footer.html" . }} \ No newline at end of file
diff --git a/themes/hugo-xmin/layouts/partials/footer.html b/themes/hugo-xmin/layouts/partials/footer.html
new file mode 100644
index 0000000..e8560f2
--- /dev/null
+++ b/themes/hugo-xmin/layouts/partials/footer.html
@@ -0,0 +1,8 @@
+ <footer>
+ {{ with .Site.Params.footer }}
+ <hr/>
+ {{ replace . "{Year}" now.Year | markdownify}}
+ {{ end }}
+ </footer>
+ </body>
+</html>
diff --git a/themes/hugo-xmin/layouts/partials/header.html b/themes/hugo-xmin/layouts/partials/header.html
new file mode 100644
index 0000000..970ccec
--- /dev/null
+++ b/themes/hugo-xmin/layouts/partials/header.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="{{ .Site.LanguageCode }}">
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>{{ .Title }} | {{ .Site.Title }}</title>
+ <link rel="stylesheet" href="{{ "css/style.css" | relURL }}" />
+ <link rel="stylesheet" href="{{ "css/fonts.css" | relURL }}" />
+ </head>
+
+ <body>
+ <nav>
+ <a href="/">Home</a>
+ <a href="/about/">About</a>
+ <ul class="menu">
+ {{ range .Site.Menus.main }}
+ <li><a href="{{ .URL | relURL }}">{{ .Name }}</a></li>
+ {{ end }}
+ </ul>
+ </nav>
diff --git a/themes/hugo-xmin/static/css/fonts.css b/themes/hugo-xmin/static/css/fonts.css
new file mode 100644
index 0000000..7d38280
--- /dev/null
+++ b/themes/hugo-xmin/static/css/fonts.css
@@ -0,0 +1,8 @@
+body {
+ font-family: Arial,sans-serif, Georgia, Serif;
+ font-size: 13px;
+}
+code {
+ font-family: monospace;
+ font-size: 100%;
+}
diff --git a/themes/hugo-xmin/static/css/style.css b/themes/hugo-xmin/static/css/style.css
new file mode 100644
index 0000000..071379d
--- /dev/null
+++ b/themes/hugo-xmin/static/css/style.css
@@ -0,0 +1,74 @@
+body {
+ max-width: 800px;
+ margin: auto;
+ padding: 1em;
+ line-height: 1.5;
+}
+
+nav {
+ /* background-color: green; */
+ border-bottom: 1px solid #666;
+}
+
+nav > * {
+ padding-right: 5px;
+}
+
+table {
+ width: 100%;
+}
+
+/* header and footer areas */
+.menu { padding: 0; }
+.menu li { display: inline-block; }
+.article-meta, .menu a {
+ text-decoration: none;
+ /* background: #eee; */
+ /* border-bottom: 1px solid #666; */
+ padding: 5px;
+ /* border-radius: 5px; */
+}
+.menu, .article-meta, footer { text-align: center; }
+.title { font-size: 1.1em; }
+footer a { text-decoration: none; }
+hr {
+ color: green;
+}
+
+/* main */
+.main {
+ border-top: 1px solid #666;
+ /* background-color: green; */
+}
+
+/* code */
+pre {
+ border: 1px solid #ddd;
+ box-shadow: 5px 5px 5px #eee;
+ padding: 1em;
+ overflow-x: auto;
+}
+code { background: #f9f9f9; }
+pre code { background: none; }
+
+/* misc elements */
+img, iframe, video { max-width: 100%; }
+main { hyphens: auto; }
+blockquote {
+ background: #f9f9f9;
+ border-left: 5px solid #ccc;
+ padding: 3px 1em 3px;
+}
+
+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; }
+thead, tfoot, tr:nth-child(even) { background: #eee; }
+
+h2 {
+ border-bottom: 1px dotted #666;
+}
diff --git a/themes/hugo-xmin/theme.toml b/themes/hugo-xmin/theme.toml
new file mode 100644
index 0000000..bb3c8ac
--- /dev/null
+++ b/themes/hugo-xmin/theme.toml
@@ -0,0 +1,13 @@
+name = "XMin"
+license = "MIT"
+licenselink = "https://github.com/yihui/hugo-xmin/blob/master/LICENSE.md"
+description = "eXtremely Minimal Hugo theme: about 150 lines of code in total, including HTML and CSS"
+homepage = "https://xmin.yihui.org"
+demosite = "https://xmin.yihui.org"
+tags = ["minimal", "blog", "personal", "clean", "simple", "starter", "minimalist"]
+features = ["blog"]
+min_version = "0.18"
+
+[author]
+ name = "Yihui Xie"
+ homepage = "https://yihui.org"