younsl / younsl.github.io

Blog and chart repo
https://younsl.github.io/
MIT License
5 stars 2 forks source link

younsl.github.io

Deploy hugo site to Github Pages Find broken links on a website Badge - License

Tech blog and chart repository.

Getting started

Prerequisite

[!NOTE] Before installing the blog, You need to install hugo v0.119.0 or higher.

Install hugo using brew package manager in your local environment.

brew install hugo
hugo version

Installation

Add etch theme as a submodule using git command.

git submodule init
git submodule add https://github.com/LukasJoswiak/etch.git themes/etch
git submodule update themes/etch

Check the submodule status.

$ git submodule status
 3286754ceb4e01b4995551f06ffd0a7c43000fe6 themes/etch (heads/master)

Running hugo server

Generate your blog site using etch theme.

hugo server -t etch
open http://localhost:1313

If you want to run hugo server locally using the container, use this dockerfile with bootstrap script.

# Build blog container
docker build -t hugo:dev .

# Run blog container with local blog files mounted
export LOCAL_REPO_PATH=$HOME/github/younsl/younsl.github.io
docker run -d --name hugo -p 1313:1313 -v ${LOCAL_REPO_PATH}:/app hugo:dev

Verify the blog container is running.

$ docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED        STATUS        PORTS                    NAMES
5fc4d6457641   hugo:latest   "hugo server -t etch…"   12 hours ago   Up 12 hours   0.0.0.0:1313->1313/tcp   hugo

Deployment

Deployment method is github actions (beta), not classic. There is no need for any additional branches.

It is recommended to use the Standard Hugo Workflow provided by Github Pages. See my hugo deployment workflow on this repository.

Integrations

Several plugins were integrated with this blog using the partials function.

Status Integration Name Description Integration Method
In-use Google Adsense Google Ads Hugo partials
In-use Google Search Console SEO for Google Static file
In-use Giscus Page comment plugin Hugo partials