Skip to content

SunsetMkt/Blog-hugo

Repository files navigation

Blog-hugo

Blog refactored.

logo

Quickstart

scoop install main/go
scoop install main/hugo-extended
hugo mod get
hugo --minify --gc

Migration notes

This blog is migrated from Jekyll with /article/:slug/ URL pattern (allow uppercase). The migrated slugs are defined explicitly in the front matter.

Compress media

All files in final release should < 25 MB to make Cloudflare Pages happy.

scoop install main/ffmpeg
# https://stackoverflow.com/a/26109838
ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3
# https://gist.github.com/lukehedger/277d136f68b028e22bed?permalink_comment_id=4436587#gistcomment-4436587
ffmpeg -i input.mp4 -c:v libx265 -preset ultrafast -crf 30 -c:a aac -b:a 250k output.mp4
# Firefox: media.wmf.hevc.enabled = 1 to play.

Cloudflare Pages enforce file size

hugo --minify --gc && find public -type f -size +25M -print -exec rm -vf {} \;
# The maximum file size for a single Cloudflare Pages site asset is 25 MiB.
# https://developers.cloudflare.com/pages/platform/limits/

Icons

Tabler

CMS & OAuth

netlify-cms-cloudflare-pages


Hugo Theme Stack Starter Template

This is a quick start template for Hugo theme Stack. It uses 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 <username>.github.io on GitHub. Step 1

  2. Once the repository is created, create a GitHub codespace associated with it. Create codespace

  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

  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


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:

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

image

Make sure also to specify Hugo version in the environment variable HUGO_VERSION (Use the latest version of Hugo extended):

Environment variable