diff --git a/Dockerfile b/Dockerfile
index dc55c7f..2ad272e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM ghcr.io/peaceiris/hugo:v0.145.0-full AS hugo-builder
+FROM ghcr.io/peaceiris/hugo:v0.162.1-full AS hugo-builder
COPY . /app
WORKDIR /app
RUN /usr/bin/hugo --minify --source=src/ --destination /app/build/
diff --git a/Taskfile.yml b/Taskfile.yml
new file mode 100644
index 0000000..68c53a8
--- /dev/null
+++ b/Taskfile.yml
@@ -0,0 +1,59 @@
+version: '3'
+
+vars:
+ THEME: hugo-theme-m10c
+ SRC_DIR: src
+ PATCHES_DIR: "{{.SRC_DIR}}/patches"
+ THEME_DIR: "{{.SRC_DIR}}/themes/{{.THEME}}"
+
+tasks:
+ default:
+ desc: Show available tasks
+ cmds:
+ - task --list
+
+ patch:
+ desc: Apply patches to the theme
+ cmds:
+ - cd {{.THEME_DIR}} && git apply "..\..\patches\hugo-theme-m10c-baseof.html.patch" || true
+ - cd {{.THEME_DIR}} && git apply "..\..\patches\hugo-theme-m10c-icon.html.patch" || true
+
+ build:
+ desc: Build the Hugo site
+ deps:
+ - patch
+ cmds:
+ - cd {{.SRC_DIR}} && hugo --minify
+ sources:
+ - "{{.SRC_DIR}}/content/**"
+ - "{{.SRC_DIR}}/layouts/**"
+ - "{{.SRC_DIR}}/config.toml"
+ generates:
+ - "{{.SRC_DIR}}/public/**"
+
+ server:
+ desc: Run Hugo server for local development
+ deps:
+ - patch
+ cmds:
+ - cd {{.SRC_DIR}} && hugo server --minify --port 1313 --bind 0.0.0.0
+ interactive: true
+
+ clean:
+ desc: Clean Hugo build artifacts
+ cmds:
+ - rm -rf "{{.SRC_DIR}}/public"
+ - rm -rf "{{.SRC_DIR}}/resources"
+
+ rebuild:
+ desc: Clean and rebuild the site
+ deps:
+ - clean
+ - build
+
+ update-theme:
+ desc: Update the theme submodule and reapply patches
+ cmds:
+ - git -C {{.THEME_DIR}} pull
+ - task: patch
+ - task: build
diff --git a/src/.hugo_build.lock b/src/.hugo_build.lock
new file mode 100644
index 0000000..e69de29
diff --git a/src/assets/css/_extra.scss b/src/assets/css/_extra.scss
new file mode 100644
index 0000000..93fdaea
--- /dev/null
+++ b/src/assets/css/_extra.scss
@@ -0,0 +1,279 @@
+* {
+ box-sizing: border-box
+}
+
+html {
+ line-height: 1.6
+}
+
+body {
+ margin: 0;
+ font-family: sans-serif;
+ background: #353b43;
+ color: #afbac4
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ color: #fff
+}
+
+a {
+ color: #57cc8a;
+ transition: color .35s;
+ text-decoration: none
+}
+
+a:hover {
+ color: #fff
+}
+
+code {
+ font-family: monospace, monospace;
+ font-size: 1em;
+ color: rgba(175, 186, 196, .8)
+}
+
+pre {
+ font-size: 1rem;
+ line-height: 1.2em;
+ margin: 0;
+ overflow: auto
+}
+
+pre code {
+ font-size: .8em
+}
+
+::selection {
+ background: rgba(175, 186, 196, .25)
+}
+
+::-moz-selection {
+ background: rgba(175, 186, 196, .25)
+}
+
+.app-header {
+ padding: 2.5em;
+ background: #242930;
+ text-align: center
+}
+
+.app-header-avatar {
+ width: 15rem;
+ height: 15rem
+}
+
+.app-container {
+ padding: 2.5rem
+}
+
+.app-header-social {
+ font-size: 2em;
+ color: #fff
+}
+
+.app-header-social a {
+ margin: 0 .1em
+}
+
+@media(min-width:940px) {
+ .app-header {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 20rem;
+ min-height: 100vh
+ }
+
+ .app-container {
+ max-width: 65rem;
+ margin-left: 20rem
+ }
+}
+
+@media(max-width:940px) {
+ h2 {
+ font-size: large
+ }
+
+ .app-container {
+ padding: .5rem
+ }
+}
+
+.error-404 {
+ text-align: center
+}
+
+.error-404-title {
+ text-transform: uppercase
+}
+
+.icon {
+ display: inline-block;
+ width: 1em;
+ height: 1em;
+ vertical-align: -.125em
+}
+
+.pagination {
+ display: block;
+ list-style: none;
+ padding: 0;
+ font-size: .8em;
+ text-align: center;
+ margin: 3em 0
+}
+
+.page-item {
+ display: inline-block
+}
+
+.page-item .page-link {
+ display: block;
+ padding: .285em .8em
+}
+
+.page-item.active .page-link {
+ color: #fff;
+ border-radius: 2em;
+ background: #57cc8a
+}
+
+.post-title {
+ color: #fff
+}
+
+.post-content>pre,
+.post-content .highlight {
+ margin: 1em 0
+}
+
+.post-content>pre,
+.post-content .highlight>pre,
+.post-content .highlight>div {
+ border-left: .4em solid rgba(87, 204, 138, .8);
+ padding: .5em 1em
+}
+
+.post-content img {
+ max-width: 100%
+}
+
+.post-meta {
+ font-size: .8em
+}
+
+.posts-list {
+ padding: 0
+}
+
+.posts-list-item {
+ list-style: none;
+ padding: .4em 0
+}
+
+.posts-list-item:not(:last-child) {
+ border-bottom: 1px dashed rgba(255, 255, 255, .3)
+}
+
+.posts-list-item-description {
+ display: block;
+ font-size: .8em
+}
+
+.tag {
+ display: inline-block;
+ margin-right: .2em;
+ padding: 0 .6em;
+ font-size: .9em;
+ border-radius: .2em;
+ white-space: nowrap;
+ background: rgba(255, 255, 255, .1);
+ transition: color .35s, background .35s
+}
+
+.tag:hover {
+ transition: color .25s, background .05s;
+ background: rgba(255, 255, 255, .3)
+}
+
+.tags-list {
+ padding: 0
+}
+
+.tags-list-item {
+ list-style: none;
+ padding: .4em 0
+}
+
+.tags-list-item:not(:last-child) {
+ border-bottom: 1px dashed rgba(255, 255, 255, .3)
+}
+
+@media(min-width:450px) {
+ .tags-list {
+ display: flex;
+ flex-wrap: wrap
+ }
+
+ .tags-list-item {
+ width: calc(50% - 1em)
+ }
+
+ .tags-list-item:nth-child(even) {
+ margin-left: 1em
+ }
+
+ .tags-list-item:nth-last-child(2) {
+ border: none
+ }
+}
+
+.gradient-border {
+ margin: auto;
+ --border-width: 0.35rem;
+ border-radius: .35rem;
+ position: relative;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-family: Lato, sans-serif;
+ font-size: 2.5rem;
+ text-transform: uppercase;
+ color: #fff;
+ background: #222;
+ border-radius: var(--border-width)
+}
+
+.gradient-border::after {
+ position: absolute;
+ content: "";
+ top: calc(-1 * var(--border-width));
+ left: calc(-1 * var(--border-width));
+ z-index: -1;
+ width: calc(100% + var(--border-width) * 2);
+ height: calc(100% + var(--border-width) * 2);
+ background: linear-gradient(60deg, #5f86f2, #a65ff2, #f25fd0, #f25f61, #f2cb5f, #abf25f, #5ff281, #5ff2f0);
+ background-size: 300% 300%;
+ background-position: 0;
+ border-radius: calc(2 * var(--border-width));
+ animation: moveGradient 4s alternate infinite
+}
+
+@keyframes moveGradient {
+ 50% {
+ background-position: 100%
+ }
+}
+
+.gradient-border img {
+ margin: auto;
+ width: 100%;
+ border-radius: 1.5%
+}
\ No newline at end of file
diff --git a/src/build.sh b/src/build.sh
deleted file mode 100755
index aa5b64c..0000000
--- a/src/build.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-rm -Rf public/ build/
-hugo --destination build/
\ No newline at end of file
diff --git a/src/config.toml b/src/config.toml
index 4375604..ca54005 100644
--- a/src/config.toml
+++ b/src/config.toml
@@ -1,12 +1,13 @@
baseURL = "https://blog.fluttershub.com/"
theme = "m10c"
-languageCode = "en-us"
+locale = "en-US"
title = "Phoenix's Personal Blog"
homepage = "https://fluttershub.com"
tags = ["blog","personal","coding"]
[markup.goldmark.renderer]
hardWraps = true
+unsafe = true
[menu]
[[menu.main]]
@@ -62,4 +63,4 @@ hardWraps = true
[markup.tableOfContents]
endLevel = 3
ordered = false
- startLevel = 3
\ No newline at end of file
+ startLevel = 3
diff --git a/src/content/posts/windows-yubikey-guide/gpg4win.md b/src/content/posts/windows-yubikey-guide/gpg4win.md
index d55c214..e18df07 100644
--- a/src/content/posts/windows-yubikey-guide/gpg4win.md
+++ b/src/content/posts/windows-yubikey-guide/gpg4win.md
@@ -5,7 +5,7 @@ date = "2022-11-03"
+++
# Table of Contents
-{{< table_of_contents >}}
+{{ .TableOfContents }}
### Step 1: Setup Gpg4win
diff --git a/src/content/posts/windows-yubikey-guide/openssh.md b/src/content/posts/windows-yubikey-guide/openssh.md
index b5db46e..9af7771 100644
--- a/src/content/posts/windows-yubikey-guide/openssh.md
+++ b/src/content/posts/windows-yubikey-guide/openssh.md
@@ -5,7 +5,7 @@ date = "2022-11-03"
+++
# Table of Contents
-{{< table_of_contents >}}
+{{ .TableOfContents }}
### Step 0: Preparing Windows 10 for OpenSSH (Importent!)
diff --git a/src/content/posts/windows10-kvm.md b/src/content/posts/windows10-kvm.md
index a3bd702..80c99d4 100644
--- a/src/content/posts/windows10-kvm.md
+++ b/src/content/posts/windows10-kvm.md
@@ -7,7 +7,7 @@ date = "2020-05-18"
## Note: This is here as notes and shouldn't be taken as a direct guide.
# Table of Contents
-{{< table_of_contents >}}
+{{ .TableOfContents }}
---
### Host Specs
diff --git a/src/isableFastRender/404.html b/src/isableFastRender/404.html
deleted file mode 100644
index dffa4c6..0000000
--- a/src/isableFastRender/404.html
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
- 404 Page not found // Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/isableFastRender/avatar.jpg b/src/isableFastRender/avatar.jpg
deleted file mode 100644
index dad9e72..0000000
Binary files a/src/isableFastRender/avatar.jpg and /dev/null differ
diff --git a/src/isableFastRender/avatar.png b/src/isableFastRender/avatar.png
deleted file mode 100644
index 5849c2b..0000000
Binary files a/src/isableFastRender/avatar.png and /dev/null differ
diff --git a/src/isableFastRender/categories/index.html b/src/isableFastRender/categories/index.html
deleted file mode 100644
index 87525ec..0000000
--- a/src/isableFastRender/categories/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- Categories // Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Categories
-
-
-
-
-
-
diff --git a/src/isableFastRender/categories/index.xml b/src/isableFastRender/categories/index.xml
deleted file mode 100644
index e9d666b..0000000
--- a/src/isableFastRender/categories/index.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
- Categories on Phoenix's Personal Blog
- http://localhost:1313/categories/
- Recent content in Categories on Phoenix's Personal Blog
- Hugo -- gohugo.io
- en-us
-
-
diff --git a/src/isableFastRender/css/main.min.4c70cb4897ba15d2c09f9dabed6b26b751f0638d2a16a28ec38cfcde2ffc4de6.css b/src/isableFastRender/css/main.min.4c70cb4897ba15d2c09f9dabed6b26b751f0638d2a16a28ec38cfcde2ffc4de6.css
deleted file mode 100644
index d22051c..0000000
--- a/src/isableFastRender/css/main.min.4c70cb4897ba15d2c09f9dabed6b26b751f0638d2a16a28ec38cfcde2ffc4de6.css
+++ /dev/null
@@ -1 +0,0 @@
-*{box-sizing:border-box}html{line-height:1.6}body{margin:0;font-family:sans-serif;background:#353b43;color:#afbac4}h1,h2,h3,h4,h5,h6{color:#fff}a{color:#57cc8a;transition:color .35s;text-decoration:none}a:hover{color:#fff}code{font-family:monospace,monospace;font-size:1em;color:rgba(175,186,196,.8)}pre{font-size:1rem;line-height:1.2em;margin:0;overflow:auto}pre code{font-size:.8em}::selection{background:rgba(175,186,196,.25)}::-moz-selection{background:rgba(175,186,196,.25)}.app-header{padding:2.5em;background:#242930;text-align:center}.app-header-avatar{width:15rem;height:15rem}.app-container{padding:2.5rem}.app-header-social{font-size:2em;color:#fff}.app-header-social a{margin:0 .1em}@media(min-width:940px){.app-header{position:fixed;top:0;left:0;width:20rem;min-height:100vh}.app-container{max-width:65rem;margin-left:20rem}}@media(max-width:940px){h2{font-size:large}.app-container{padding:.5rem}}.error-404{text-align:center}.error-404-title{text-transform:uppercase}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em}.pagination{display:block;list-style:none;padding:0;font-size:.8em;text-align:center;margin:3em 0}.page-item{display:inline-block}.page-item .page-link{display:block;padding:.285em .8em}.page-item.active .page-link{color:#fff;border-radius:2em;background:#57cc8a}.post-title{color:#fff}.post-content>pre,.post-content .highlight{margin:1em 0}.post-content>pre,.post-content .highlight>pre,.post-content .highlight>div{border-left:.4em solid rgba(87,204,138,.8);padding:.5em 1em}.post-content img{max-width:100%}.post-meta{font-size:.8em}.posts-list{padding:0}.posts-list-item{list-style:none;padding:.4em 0}.posts-list-item:not(:last-child){border-bottom:1px dashed rgba(255,255,255,.3)}.posts-list-item-description{display:block;font-size:.8em}.tag{display:inline-block;margin-right:.2em;padding:0 .6em;font-size:.9em;border-radius:.2em;white-space:nowrap;background:rgba(255,255,255,.1);transition:color .35s,background .35s}.tag:hover{transition:color .25s,background .05s;background:rgba(255,255,255,.3)}.tags-list{padding:0}.tags-list-item{list-style:none;padding:.4em 0}.tags-list-item:not(:last-child){border-bottom:1px dashed rgba(255,255,255,.3)}@media(min-width:450px){.tags-list{display:flex;flex-wrap:wrap}.tags-list-item{width:calc(50% - 1em)}.tags-list-item:nth-child(even){margin-left:1em}.tags-list-item:nth-last-child(2){border:none}}.gradient-border{margin:auto;--border-width:0.35rem;border-radius:.35rem;position:relative;display:flex;justify-content:center;align-items:center;font-family:Lato,sans-serif;font-size:2.5rem;text-transform:uppercase;color:#fff;background:#222;border-radius:var(--border-width)}.gradient-border::after{position:absolute;content:"";top:calc(-1 * var(--border-width));left:calc(-1 * var(--border-width));z-index:-1;width:calc(100% + var(--border-width) * 2);height:calc(100% + var(--border-width) * 2);background:linear-gradient(60deg,#5f86f2,#a65ff2,#f25fd0,#f25f61,#f2cb5f,#abf25f,#5ff281,#5ff2f0);background-size:300% 300%;background-position:0;border-radius:calc(2 * var(--border-width));animation:moveGradient 4s alternate infinite}@keyframes moveGradient{50%{background-position:100%}}.gradient-border img{margin:auto;width:100%;border-radius:1.5%}
\ No newline at end of file
diff --git a/src/isableFastRender/index.html b/src/isableFastRender/index.html
deleted file mode 100644
index 51b90ca..0000000
--- a/src/isableFastRender/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
- Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Phoenix's Personal Blog
-
-
- -
- Test Post
-
-
- May 18, 2020
- -
-
- 1 min read
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/isableFastRender/index.xml b/src/isableFastRender/index.xml
deleted file mode 100644
index e3c522d..0000000
--- a/src/isableFastRender/index.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- Phoenix's Personal Blog
- http://localhost:1313/
- Recent content on Phoenix's Personal Blog
- Hugo -- gohugo.io
- en-us
- Mon, 18 May 2020 00:00:00 +0000
- -
- Test Post
- http://localhost:1313/posts/test/
- Mon, 18 May 2020 00:00:00 +0000
-
- http://localhost:1313/posts/test/
- This is a test HTML <section id="main"> <div> <h1 id="title">{{ .Title }}</h1> {{ range .Pages }} {{ .Render "summary"}} {{ end }} </div> </section> Golang package main import "fmt" func main() { fmt.Println("hello world") }
-
-
-
-
diff --git a/src/isableFastRender/page/1/index.html b/src/isableFastRender/page/1/index.html
deleted file mode 100644
index fca5035..0000000
--- a/src/isableFastRender/page/1/index.html
+++ /dev/null
@@ -1 +0,0 @@
-http://localhost:1313/
\ No newline at end of file
diff --git a/src/isableFastRender/posts/index.html b/src/isableFastRender/posts/index.html
deleted file mode 100644
index e9c9302..0000000
--- a/src/isableFastRender/posts/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
- Posts // Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Posts
-
-
- -
- Test Post
-
-
- May 18, 2020
- -
-
- 1 min read
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/isableFastRender/posts/index.xml b/src/isableFastRender/posts/index.xml
deleted file mode 100644
index 9381d63..0000000
--- a/src/isableFastRender/posts/index.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- Posts on Phoenix's Personal Blog
- http://localhost:1313/posts/
- Recent content in Posts on Phoenix's Personal Blog
- Hugo -- gohugo.io
- en-us
- Mon, 18 May 2020 00:00:00 +0000
- -
- Test Post
- http://localhost:1313/posts/test/
- Mon, 18 May 2020 00:00:00 +0000
-
- http://localhost:1313/posts/test/
- This is a test HTML <section id="main"> <div> <h1 id="title">{{ .Title }}</h1> {{ range .Pages }} {{ .Render "summary"}} {{ end }} </div> </section> Golang package main import "fmt" func main() { fmt.Println("hello world") }
-
-
-
-
diff --git a/src/isableFastRender/posts/page/1/index.html b/src/isableFastRender/posts/page/1/index.html
deleted file mode 100644
index 0d976eb..0000000
--- a/src/isableFastRender/posts/page/1/index.html
+++ /dev/null
@@ -1 +0,0 @@
-http://localhost:1313/posts/
\ No newline at end of file
diff --git a/src/isableFastRender/posts/test/index.html b/src/isableFastRender/posts/test/index.html
deleted file mode 100644
index 4830a02..0000000
--- a/src/isableFastRender/posts/test/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
- Test Post // Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This is a test
-
-
HTML
-
<section id="main">
- <div>
- <h1 id="title">{{ .Title }}</h1>
- {{ range .Pages }}
- {{ .Render "summary"}}
- {{ end }}
- </div>
-</section>
-
Golang
-
package main
-
-import "fmt"
-
-func main() {
- fmt.Println("hello world")
-}
-
-
-
-
-
-
-
-
diff --git a/src/isableFastRender/sitemap.xml b/src/isableFastRender/sitemap.xml
deleted file mode 100644
index 1e6a77a..0000000
--- a/src/isableFastRender/sitemap.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- http://localhost:1313/tags/development/
- 2020-05-18T00:00:00+00:00
-
- http://localhost:1313/
- 2020-05-18T00:00:00+00:00
-
- http://localhost:1313/posts/
- 2020-05-18T00:00:00+00:00
-
- http://localhost:1313/tags/
- 2020-05-18T00:00:00+00:00
-
- http://localhost:1313/tags/test/
- 2020-05-18T00:00:00+00:00
-
- http://localhost:1313/posts/test/
- 2020-05-18T00:00:00+00:00
-
- http://localhost:1313/categories/
-
-
diff --git a/src/isableFastRender/tags/development/index.html b/src/isableFastRender/tags/development/index.html
deleted file mode 100644
index 39c781b..0000000
--- a/src/isableFastRender/tags/development/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
- development // Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- development
-
-
- -
- Test Post
-
-
- May 18, 2020
- -
-
- 1 min read
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/isableFastRender/tags/development/index.xml b/src/isableFastRender/tags/development/index.xml
deleted file mode 100644
index 43a59e0..0000000
--- a/src/isableFastRender/tags/development/index.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- development on Phoenix's Personal Blog
- http://localhost:1313/tags/development/
- Recent content in development on Phoenix's Personal Blog
- Hugo -- gohugo.io
- en-us
- Mon, 18 May 2020 00:00:00 +0000
- -
- Test Post
- http://localhost:1313/posts/test/
- Mon, 18 May 2020 00:00:00 +0000
-
- http://localhost:1313/posts/test/
- This is a test HTML <section id="main"> <div> <h1 id="title">{{ .Title }}</h1> {{ range .Pages }} {{ .Render "summary"}} {{ end }} </div> </section> Golang package main import "fmt" func main() { fmt.Println("hello world") }
-
-
-
-
diff --git a/src/isableFastRender/tags/development/page/1/index.html b/src/isableFastRender/tags/development/page/1/index.html
deleted file mode 100644
index 74a19d2..0000000
--- a/src/isableFastRender/tags/development/page/1/index.html
+++ /dev/null
@@ -1 +0,0 @@
-http://localhost:1313/tags/development/
\ No newline at end of file
diff --git a/src/isableFastRender/tags/index.html b/src/isableFastRender/tags/index.html
deleted file mode 100644
index 3279da5..0000000
--- a/src/isableFastRender/tags/index.html
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
- Tags // Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tags
-
-
-
-
-
-
diff --git a/src/isableFastRender/tags/index.xml b/src/isableFastRender/tags/index.xml
deleted file mode 100644
index f198c0f..0000000
--- a/src/isableFastRender/tags/index.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- Tags on Phoenix's Personal Blog
- http://localhost:1313/tags/
- Recent content in Tags on Phoenix's Personal Blog
- Hugo -- gohugo.io
- en-us
- Mon, 18 May 2020 00:00:00 +0000
- -
- development
- http://localhost:1313/tags/development/
- Mon, 18 May 2020 00:00:00 +0000
-
- http://localhost:1313/tags/development/
-
-
-
- -
- Test
- http://localhost:1313/tags/test/
- Mon, 18 May 2020 00:00:00 +0000
-
- http://localhost:1313/tags/test/
-
-
-
-
-
diff --git a/src/isableFastRender/tags/test/index.html b/src/isableFastRender/tags/test/index.html
deleted file mode 100644
index 12ebd7f..0000000
--- a/src/isableFastRender/tags/test/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
- Test // Phoenix's Personal Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Test
-
-
- -
- Test Post
-
-
- May 18, 2020
- -
-
- 1 min read
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/isableFastRender/tags/test/index.xml b/src/isableFastRender/tags/test/index.xml
deleted file mode 100644
index 81d0603..0000000
--- a/src/isableFastRender/tags/test/index.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- Test on Phoenix's Personal Blog
- http://localhost:1313/tags/test/
- Recent content in Test on Phoenix's Personal Blog
- Hugo -- gohugo.io
- en-us
- Mon, 18 May 2020 00:00:00 +0000
- -
- Test Post
- http://localhost:1313/posts/test/
- Mon, 18 May 2020 00:00:00 +0000
-
- http://localhost:1313/posts/test/
- This is a test HTML <section id="main"> <div> <h1 id="title">{{ .Title }}</h1> {{ range .Pages }} {{ .Render "summary"}} {{ end }} </div> </section> Golang package main import "fmt" func main() { fmt.Println("hello world") }
-
-
-
-
diff --git a/src/isableFastRender/tags/test/page/1/index.html b/src/isableFastRender/tags/test/page/1/index.html
deleted file mode 100644
index 63b3dc9..0000000
--- a/src/isableFastRender/tags/test/page/1/index.html
+++ /dev/null
@@ -1 +0,0 @@
-http://localhost:1313/tags/test/
\ No newline at end of file
diff --git a/src/layouts/_default/baseof.html b/src/layouts/_default/baseof.html
new file mode 100644
index 0000000..a961e65
--- /dev/null
+++ b/src/layouts/_default/baseof.html
@@ -0,0 +1,51 @@
+
+
+
+ {{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ .Title }} // {{ .Site.Title }}{{ end }}
+
+
+ {{ hugo.Generator }}
+
+
+
+ {{ $style := resources.Get "css/main.scss" | resources.ExecuteAsTemplate "css/main.scss" . | css.Sass | resources.Minify | resources.Fingerprint -}}
+
+ {{ $style := resources.Get "css/syntax.css" | resources.ExecuteAsTemplate "css/main.scss" . | css.Sass | resources.Minify | resources.Fingerprint -}}
+
+ {{ template "_internal/google_analytics.html" . }}
+ {{ template "_internal/twitter_cards.html" . }}
+ {{ template "_internal/opengraph.html" . }}
+
+
+
+
+
+ {{ block "main" . }}
+ {{ .Content }}
+ {{ end }}
+
+
+
diff --git a/src/layouts/_default/list.html b/src/layouts/_default/list.html
new file mode 100644
index 0000000..73bc59e
--- /dev/null
+++ b/src/layouts/_default/list.html
@@ -0,0 +1,24 @@
+{{ define "main" }}
+
+ {{ .Title }}
+
+ {{ range where .Paginator.Pages "Type" "!=" "page" }}
+ {{ if not .Params.hidden }}
+ -
+ {{ .Title }}
+
+ {{ partial "icon.html" (dict "ctx" $ "name" "calendar") }}
+ {{ .PublishDate.Format "Jan 2, 2006" }}
+ {{ if not .Site.Params.noreadingtime }}
+ -
+ {{ partial "icon.html" (dict "ctx" $ "name" "clock") }}
+ {{ .ReadingTime }} min read
+ {{ end }}
+
+ {{ end }}
+
+ {{ end }}
+
+ {{ partial "pagination.html" $ }}
+
+{{ end }}
diff --git a/src/layouts/_default/single.html b/src/layouts/_default/single.html
new file mode 100644
index 0000000..3a8756b
--- /dev/null
+++ b/src/layouts/_default/single.html
@@ -0,0 +1,43 @@
+{{ define "main" }}
+
+
+
+ {{ .Content }}
+
+
+
+{{ end }}
diff --git a/src/layouts/_default/terms.html b/src/layouts/_default/terms.html
new file mode 100644
index 0000000..459ab73
--- /dev/null
+++ b/src/layouts/_default/terms.html
@@ -0,0 +1,18 @@
+{{ define "main" }}
+{{if not .Page.Params.hidden}}
+
+ {{ .Title }}
+
+
+ {{ end }}
+{{ end }}
diff --git a/src/layouts/shortcodes/table_of_contents.html b/src/layouts/shortcodes/table_of_contents.html
new file mode 100644
index 0000000..c619f10
--- /dev/null
+++ b/src/layouts/shortcodes/table_of_contents.html
@@ -0,0 +1,3 @@
+
+ {{ .Page.TableOfContents }}
+
diff --git a/src/resources/_gen/assets/scss/css/main.scss_e86386c8bae1cd02295de71a1be078d6.content b/src/resources/_gen/assets/scss/css/main.scss_e86386c8bae1cd02295de71a1be078d6.content
deleted file mode 100644
index d22051c..0000000
--- a/src/resources/_gen/assets/scss/css/main.scss_e86386c8bae1cd02295de71a1be078d6.content
+++ /dev/null
@@ -1 +0,0 @@
-*{box-sizing:border-box}html{line-height:1.6}body{margin:0;font-family:sans-serif;background:#353b43;color:#afbac4}h1,h2,h3,h4,h5,h6{color:#fff}a{color:#57cc8a;transition:color .35s;text-decoration:none}a:hover{color:#fff}code{font-family:monospace,monospace;font-size:1em;color:rgba(175,186,196,.8)}pre{font-size:1rem;line-height:1.2em;margin:0;overflow:auto}pre code{font-size:.8em}::selection{background:rgba(175,186,196,.25)}::-moz-selection{background:rgba(175,186,196,.25)}.app-header{padding:2.5em;background:#242930;text-align:center}.app-header-avatar{width:15rem;height:15rem}.app-container{padding:2.5rem}.app-header-social{font-size:2em;color:#fff}.app-header-social a{margin:0 .1em}@media(min-width:940px){.app-header{position:fixed;top:0;left:0;width:20rem;min-height:100vh}.app-container{max-width:65rem;margin-left:20rem}}@media(max-width:940px){h2{font-size:large}.app-container{padding:.5rem}}.error-404{text-align:center}.error-404-title{text-transform:uppercase}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em}.pagination{display:block;list-style:none;padding:0;font-size:.8em;text-align:center;margin:3em 0}.page-item{display:inline-block}.page-item .page-link{display:block;padding:.285em .8em}.page-item.active .page-link{color:#fff;border-radius:2em;background:#57cc8a}.post-title{color:#fff}.post-content>pre,.post-content .highlight{margin:1em 0}.post-content>pre,.post-content .highlight>pre,.post-content .highlight>div{border-left:.4em solid rgba(87,204,138,.8);padding:.5em 1em}.post-content img{max-width:100%}.post-meta{font-size:.8em}.posts-list{padding:0}.posts-list-item{list-style:none;padding:.4em 0}.posts-list-item:not(:last-child){border-bottom:1px dashed rgba(255,255,255,.3)}.posts-list-item-description{display:block;font-size:.8em}.tag{display:inline-block;margin-right:.2em;padding:0 .6em;font-size:.9em;border-radius:.2em;white-space:nowrap;background:rgba(255,255,255,.1);transition:color .35s,background .35s}.tag:hover{transition:color .25s,background .05s;background:rgba(255,255,255,.3)}.tags-list{padding:0}.tags-list-item{list-style:none;padding:.4em 0}.tags-list-item:not(:last-child){border-bottom:1px dashed rgba(255,255,255,.3)}@media(min-width:450px){.tags-list{display:flex;flex-wrap:wrap}.tags-list-item{width:calc(50% - 1em)}.tags-list-item:nth-child(even){margin-left:1em}.tags-list-item:nth-last-child(2){border:none}}.gradient-border{margin:auto;--border-width:0.35rem;border-radius:.35rem;position:relative;display:flex;justify-content:center;align-items:center;font-family:Lato,sans-serif;font-size:2.5rem;text-transform:uppercase;color:#fff;background:#222;border-radius:var(--border-width)}.gradient-border::after{position:absolute;content:"";top:calc(-1 * var(--border-width));left:calc(-1 * var(--border-width));z-index:-1;width:calc(100% + var(--border-width) * 2);height:calc(100% + var(--border-width) * 2);background:linear-gradient(60deg,#5f86f2,#a65ff2,#f25fd0,#f25f61,#f2cb5f,#abf25f,#5ff281,#5ff2f0);background-size:300% 300%;background-position:0;border-radius:calc(2 * var(--border-width));animation:moveGradient 4s alternate infinite}@keyframes moveGradient{50%{background-position:100%}}.gradient-border img{margin:auto;width:100%;border-radius:1.5%}
\ No newline at end of file
diff --git a/src/resources/_gen/assets/scss/css/main.scss_e86386c8bae1cd02295de71a1be078d6.json b/src/resources/_gen/assets/scss/css/main.scss_e86386c8bae1cd02295de71a1be078d6.json
deleted file mode 100644
index 210d9ac..0000000
--- a/src/resources/_gen/assets/scss/css/main.scss_e86386c8bae1cd02295de71a1be078d6.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Target":"css/main.min.4c70cb4897ba15d2c09f9dabed6b26b751f0638d2a16a28ec38cfcde2ffc4de6.css","MediaType":"text/css","Data":{"Integrity":"sha256-THDLSJe6FdLAn52r7Wsmt1HwY40qFqKOw4z83i/8TeY="}}
\ No newline at end of file
diff --git a/src/static/avatar.jpg b/src/static/avatar.jpg
new file mode 100644
index 0000000..463e612
Binary files /dev/null and b/src/static/avatar.jpg differ