diff --git a/.gitignore b/.gitignore
index 757fee3..8ce70bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
-/.idea
\ No newline at end of file
+public
+resources
+.hugo_build.lock
+.idea
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..12232b0
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "themes/hugo-theme-stack"]
+ path = themes/hugo-theme-stack
+ url = https://github.com/CaiJimmy/hugo-theme-stack/
diff --git a/README.md b/README.md
index f387e31..fbfbbca 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,69 @@
-# cheesy-guacamole
+
-Name comes from my first auto-generated repository on Github.
+# Hugo Theme Stack Starter Template
-Always wanted to start a tech blog and now I might have some experience to talk about my setup and other topics i'm interested in!
\ No newline at end of file
+This is a quick start template for [Hugo theme Stack](https://github.com/CaiJimmy/hugo-theme-stack). It uses [Hugo modules](https://gohugo.io/hugo-modules/) feature to load the theme.
+
+It comes with a basic theme structure and configuration. GitHub action has been set up to deploy the theme to a public GitHub page automatically. Also, there's a cron job to update the theme automatically everyday.
+
+## Get started
+
+1. Click *Use this template*, and create your repository as `.github.io` on GitHub.
+
+
+2. Once the repository is created, create a GitHub codespace associated with it.
+
+
+3. And voila! You're ready to go. The codespace has been configured with the latest version of Hugo extended, just run `hugo server` in the terminal and see your new site in action.
+
+4. Check `config` folder for the configuration files. You can edit them to suit your needs. Make sure to update the `baseurl` property in `config/_default/config.toml` to your site's URL.
+
+5. Open Settings -> Pages. Change the build branch from `master` to `gh-pages`.
+
+
+6. Once you're done editing the site, just commit it and push it. GitHub action will deploy the site automatically to GitHub page asociated with the repository.
+
+
+---
+
+In case you don't want to use GitHub codespace, you can also run this template in your local machine. **You need to install Git, Go and Hugo extended locally.**
+
+## Update theme manually
+
+Run:
+
+```bash
+hugo mod get -u github.com/CaiJimmy/hugo-theme-stack/v3
+hugo mod tidy
+```
+
+> This starter template has been configured with `v3` version of theme. Due to the limitation of Go module, once the `v4` or up version of theme is released, you need to update the theme manually. (Modifying `config/module.toml` file)
+
+## Deploy to another static page hostings
+
+If you want to build this site using another static page hosting, you need to make sure they have Go installed in the machine.
+
+
+ Vercel
+
+You need to overwrite build command to install manually Go:
+
+```
+amazon-linux-extras install golang1.11 && hugo --gc --minify
+```
+
+
+
+If you are using Node.js 20, you need to overwrite the install command to install manually Go:
+
+```
+dnf install -y golang
+```
+
+
+
+
+Make sure also to specify Hugo version in the environment variable `HUGO_VERSION` (Use the latest version of Hugo extended):
+
+
+
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/assets/img/avatar.jpeg b/assets/img/avatar.jpeg
new file mode 100755
index 0000000..4c57789
Binary files /dev/null and b/assets/img/avatar.jpeg differ
diff --git a/assets/jsconfig.json b/assets/jsconfig.json
new file mode 100644
index 0000000..d0d7a6e
--- /dev/null
+++ b/assets/jsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "*": [
+ "../themes/hugo-theme-stack/assets/*"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/assets/scss/custom.scss b/assets/scss/custom.scss
new file mode 100644
index 0000000..942c2bb
--- /dev/null
+++ b/assets/scss/custom.scss
@@ -0,0 +1,3 @@
+/*
+ You can add your own custom styles here.
+*/
\ No newline at end of file
diff --git a/config/_default/_languages.toml b/config/_default/_languages.toml
new file mode 100644
index 0000000..9f196e6
--- /dev/null
+++ b/config/_default/_languages.toml
@@ -0,0 +1,6 @@
+# Rename this file to languages.toml to enable multilingual support
+[en]
+languageName = "English"
+languagedirection = "ltr"
+title = ""
+weight = 1
diff --git a/config/_default/config.toml b/config/_default/config.toml
new file mode 100644
index 0000000..c95a903
--- /dev/null
+++ b/config/_default/config.toml
@@ -0,0 +1,18 @@
+# Change baseurl before deploy
+#baseurl = "https://blog.octubre.be"
+#languageCode = "en-us"
+#title = "Octubre"
+
+# Theme i18n support
+# Available values: en, fr, id, ja, ko, pt-br, zh-cn, zh-tw, es, de, nl, it, th, el, uk, ar
+defaultContentLanguage = "en"
+
+# Set hasCJKLanguage to true if DefaultContentLanguage is in [zh-cn ja ko]
+# This will make .Summary and .WordCount behave correctly for CJK languages.
+hasCJKLanguage = false
+
+# Change it to your Disqus shortname before using
+disqusShortname = "hugo-theme-stack"
+
+[pagination]
+pagerSize = 5
\ No newline at end of file
diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml
new file mode 100644
index 0000000..86aac0d
--- /dev/null
+++ b/config/_default/hugo.toml
@@ -0,0 +1,4 @@
+baseURL = 'https://blog.octubre.be'
+languageCode = 'en-us'
+title = 'Octubre'
+theme = 'hugo-theme-stack'
diff --git a/config/_default/markup.toml b/config/_default/markup.toml
new file mode 100644
index 0000000..98928e0
--- /dev/null
+++ b/config/_default/markup.toml
@@ -0,0 +1,26 @@
+# Markdown renderer configuration
+[goldmark.renderer]
+unsafe = true
+
+[goldmark.extensions.passthrough]
+enable = true
+
+# LaTeX math support
+# https://gohugo.io/content-management/mathematics/
+[goldmark.extensions.passthrough.delimiters]
+block = [['\[', '\]'], ['$$', '$$']]
+inline = [['\(', '\)']]
+
+[tableOfContents]
+endLevel = 4
+ordered = true
+startLevel = 2
+
+[highlight]
+noClasses = false
+codeFences = true
+guessSyntax = true
+lineNoStart = 1
+lineNos = true
+lineNumbersInTable = true
+tabWidth = 4
\ No newline at end of file
diff --git a/config/_default/menu.toml b/config/_default/menu.toml
new file mode 100644
index 0000000..d6ef1fd
--- /dev/null
+++ b/config/_default/menu.toml
@@ -0,0 +1,24 @@
+# Configure main menu and social menu
+#[[main]]
+#identifier = "home"
+#name = "Home"
+#url = "/"
+#[main.params]
+#icon = "home"
+#newtab = true
+
+[[social]]
+identifier = "github"
+name = "GitHub"
+url = "https://github.com/JeCheeseSmith"
+
+[social.params]
+icon = "brand-github"
+
+#[[social]]
+#identifier = "twitter"
+#name = "Twitter"
+#url = "https://twitter.com"
+#
+#[social.params]
+#icon = "brand-twitter"
diff --git a/config/_default/module.toml b/config/_default/module.toml
new file mode 100644
index 0000000..fe5db12
--- /dev/null
+++ b/config/_default/module.toml
@@ -0,0 +1,2 @@
+#[[imports]]
+#path = "github.com/CaiJimmy/hugo-theme-stack/v3"
diff --git a/config/_default/params.toml b/config/_default/params.toml
new file mode 100644
index 0000000..0f52b5d
--- /dev/null
+++ b/config/_default/params.toml
@@ -0,0 +1,150 @@
+# Pages placed under these sections will be shown on homepage and archive page.
+mainSections = ["post"]
+# Output page's full content in RSS.
+rssFullContent = true
+favicon = "/favicon.png"
+
+[footer]
+since = 2020
+customText = ""
+
+[dateFormat]
+published = "Jan 02, 2006"
+lastUpdated = "Jan 02, 2006 15:04 MST"
+
+[sidebar]
+emoji = "✉️"
+subtitle = "Words can't describe"
+
+[sidebar.avatar]
+enabled = true
+local = true
+src = "img/avatar.jpeg"
+
+[article]
+headingAnchor = false
+math = false
+readingTime = true
+
+[article.license]
+enabled = true
+default = "Licensed under CC BY-NC-SA 4.0"
+
+## Widgets
+[[widgets.homepage]]
+type = "search"
+
+[[widgets.homepage]]
+type = "archives"
+
+[widgets.homepage.params]
+limit = 5
+
+[[widgets.homepage]]
+type = "categories"
+
+[widgets.homepage.params]
+limit = 10
+
+[[widgets.homepage]]
+type = "tag-cloud"
+
+[widgets.homepage.params]
+limit = 10
+
+[[widgets.page]]
+type = "toc"
+
+[opengraph.twitter]
+site = ""
+card = "summary_large_image"
+
+[defaultImage.opengraph]
+enabled = false
+local = false
+src = ""
+
+[colorScheme]
+toggle = true
+default = "auto"
+
+[imageProcessing.cover]
+enabled = true
+
+[imageProcessing.content]
+enabled = true
+
+## Comments
+[comments]
+enabled = false
+provider = "disqus"
+
+[comments.disqusjs]
+shortname = ""
+apiUrl = ""
+apiKey = ""
+admin = ""
+adminLabel = ""
+
+[comments.utterances]
+repo = ""
+issueTerm = "pathname"
+label = ""
+
+[comments.remark42]
+host = ""
+site = ""
+locale = ""
+
+[comments.vssue]
+platform = ""
+owner = ""
+repo = ""
+clientId = ""
+clientSecret = ""
+autoCreateIssue = false
+
+[comments.waline]
+serverURL = ""
+lang = ""
+visitor = ""
+avatar = ""
+emoji = ["https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo"]
+requiredMeta = ["name", "email", "url"]
+placeholder = ""
+
+[comments.waline.locale]
+admin = "Admin"
+
+[comments.twikoo]
+envId = ""
+region = ""
+path = ""
+lang = ""
+
+[comments.cactus]
+defaultHomeserverUrl = "https://matrix.cactus.chat:8448"
+serverName = "cactus.chat"
+siteName = ""
+
+[comments.giscus]
+repo = ""
+repoID = ""
+category = ""
+categoryID = ""
+mapping = ""
+lightTheme = ""
+darkTheme = ""
+reactionsEnabled = 1
+emitMetadata = 0
+
+[comments.gitalk]
+owner = ""
+admin = ""
+repo = ""
+clientID = ""
+clientSecret = ""
+
+[comments.cusdis]
+host = ""
+id = ""
diff --git a/config/_default/permalinks.toml b/config/_default/permalinks.toml
new file mode 100644
index 0000000..2499a7e
--- /dev/null
+++ b/config/_default/permalinks.toml
@@ -0,0 +1,3 @@
+# Permalinks format of each content section
+post = "/p/:slug/"
+page = "/:slug/"
\ No newline at end of file
diff --git a/config/_default/related.toml b/config/_default/related.toml
new file mode 100644
index 0000000..ae9f69a
--- /dev/null
+++ b/config/_default/related.toml
@@ -0,0 +1,12 @@
+# Related contents configuration
+includeNewer = true
+threshold = 60
+toLower = false
+
+[[indices]]
+name = "tags"
+weight = 100
+
+[[indices]]
+name = "categories"
+weight = 200
diff --git a/content/_index.md b/content/_index.md
new file mode 100644
index 0000000..636abae
--- /dev/null
+++ b/content/_index.md
@@ -0,0 +1,8 @@
+---
+menu:
+ main:
+ name: Home
+ weight: 1
+ params:
+ icon: home
+---
\ No newline at end of file
diff --git a/content/categories/announcements/_index.md b/content/categories/announcements/_index.md
new file mode 100644
index 0000000..6b6e4e5
--- /dev/null
+++ b/content/categories/announcements/_index.md
@@ -0,0 +1,10 @@
+---
+title: Announcements
+description: aaa
+image:
+
+# Badge style
+style:
+ background: "#2a9d8f"
+ color: "#fff"
+---
\ No newline at end of file
diff --git a/content/categories/guides/_index.md b/content/categories/guides/_index.md
new file mode 100644
index 0000000..6c0893e
--- /dev/null
+++ b/content/categories/guides/_index.md
@@ -0,0 +1,10 @@
+---
+title: Guides
+description: Tutorials for various topics
+image:
+
+# Badge style
+style:
+ background: "#2a9d8f"
+ color: "#fff"
+---
\ No newline at end of file
diff --git a/content/categories/opinion/_index.md b/content/categories/opinion/_index.md
new file mode 100644
index 0000000..b667a5b
--- /dev/null
+++ b/content/categories/opinion/_index.md
@@ -0,0 +1,10 @@
+---
+title: Opinion & Vision
+description:
+image:
+
+# Badge style
+style:
+ background: "#2a9d8f"
+ color: "#fff"
+---
\ No newline at end of file
diff --git a/content/page/archives/index.md b/content/page/archives/index.md
new file mode 100644
index 0000000..2b1bf20
--- /dev/null
+++ b/content/page/archives/index.md
@@ -0,0 +1,11 @@
+---
+title: "Archives"
+date: 2022-03-06
+layout: "archives"
+slug: "archives"
+menu:
+ main:
+ weight: 2
+ params:
+ icon: archives
+---
\ No newline at end of file
diff --git a/content/page/links/index.md b/content/page/links/index.md
new file mode 100644
index 0000000..fe4c2cd
--- /dev/null
+++ b/content/page/links/index.md
@@ -0,0 +1,46 @@
+---
+title: Links
+links:
+ - title: Octubre
+ description: Octubre is the name for my hobby project in which I self host & maintain different services, including this blog!
+ website: https://octubre.be
+ image: https://octubre.be/favicon.png
+menu:
+ main:
+ weight: 4
+ params:
+ icon: link
+
+comments: false
+---
+
+[//]: # (To use this feature, add `links` section to frontmatter.)
+
+[//]: # ()
+[//]: # (This page's frontmatter:)
+
+[//]: # ()
+[//]: # (```yaml)
+
+[//]: # (links:)
+
+[//]: # ( - title: GitHub)
+
+[//]: # ( description: GitHub is the world's largest software development platform.)
+
+[//]: # ( website: https://github.com)
+
+[//]: # ( image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png)
+
+[//]: # ( - title: TypeScript)
+
+[//]: # ( description: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.)
+
+[//]: # ( website: https://www.typescriptlang.org)
+
+[//]: # ( image: ts-logo-128.jpg)
+
+[//]: # (```)
+
+[//]: # ()
+[//]: # (`image` field accepts both local and external images.)
\ No newline at end of file
diff --git a/content/page/search/index.md b/content/page/search/index.md
new file mode 100644
index 0000000..7507b68
--- /dev/null
+++ b/content/page/search/index.md
@@ -0,0 +1,13 @@
+---
+title: "Search"
+slug: "search"
+layout: "search"
+outputs:
+ - html
+ - json
+menu:
+ main:
+ weight: 3
+ params:
+ icon: search
+---
\ No newline at end of file
diff --git a/content/post/hello-world/cover.jpg b/content/post/hello-world/cover.jpg
new file mode 100644
index 0000000..1634e85
Binary files /dev/null and b/content/post/hello-world/cover.jpg differ
diff --git a/content/post/hello-world/index.md b/content/post/hello-world/index.md
new file mode 100644
index 0000000..3a62a6a
--- /dev/null
+++ b/content/post/hello-world/index.md
@@ -0,0 +1,20 @@
+---
+title: Hello World
+description: Welcome to Hugo Theme Stack
+slug: hello-world
+date: 2022-03-06 00:00:00+0000
+image: cover.jpg
+categories:
+ - Announcements
+tags:
+ - Launch
+weight: 1 # You can add weight to some posts to override the default sorting (date descending)
+---
+
+Welcome to Hugo theme Stack. This is your first post. Edit or delete it, then start writing!
+
+For more information about this theme, check the documentation: https://stack.jimmycai.com/
+
+Want a site like this? Check out [hugo-theme-stack-stater](https://github.com/CaiJimmy/hugo-theme-stack-starter)
+
+> Photo by [Pawel Czerwinski](https://unsplash.com/@pawel_czerwinski) on [Unsplash](https://unsplash.com/)
\ No newline at end of file
diff --git a/layouts/partials/footer/footer.html b/layouts/partials/footer/footer.html
new file mode 100644
index 0000000..9fe6d96
--- /dev/null
+++ b/layouts/partials/footer/footer.html
@@ -0,0 +1,23 @@
+{{- $ThemeVersion := "3.30.0" -}}
+
diff --git a/static/favicon.png b/static/favicon.png
new file mode 100644
index 0000000..ea6690a
Binary files /dev/null and b/static/favicon.png differ
diff --git a/themes/hugo-theme-stack b/themes/hugo-theme-stack
new file mode 160000
index 0000000..4783208
--- /dev/null
+++ b/themes/hugo-theme-stack
@@ -0,0 +1 @@
+Subproject commit 47832083d8669f7269a6a301f79eb44247a9a5d0