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 +logo -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. +![Step 1](https://user-images.githubusercontent.com/5889006/156916624-20b2a784-f3a9-4718-aa5f-ce2a436b241f.png) + +2. Once the repository is created, create a GitHub codespace associated with it. +![Create codespace](https://user-images.githubusercontent.com/5889006/156916672-43b7b6e9-4ffb-4704-b4ba-d5ca40ffcae7.png) + +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`. +![Build](https://github.com/namanh11611/hugo-theme-stack-starter/assets/16586200/12c763cd-bead-4923-b610-8788f388fcb5) + +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. +![GitHub action](https://user-images.githubusercontent.com/5889006/156916881-90b8bb9b-1925-4e60-9d7a-8026cda729bf.png) + +--- + +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 +``` + +![](https://user-images.githubusercontent.com/5889006/156917172-01e4d418-3469-4ffb-97e4-a905d28b8424.png) + +If you are using Node.js 20, you need to overwrite the install command to install manually Go: + +``` +dnf install -y golang +``` + +![image](https://github.com/zhi-yi-huang/hugo-theme-stack-starter/assets/83860323/777c1109-dfc8-4893-9db7-1305ec027cf5) + + +Make sure also to specify Hugo version in the environment variable `HUGO_VERSION` (Use the latest version of Hugo extended): + +![Environment variable](https://user-images.githubusercontent.com/5889006/156917212-afb7c70d-ab85-480f-8288-b15781a462c0.png) +
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