- Notifications
You must be signed in to change notification settings - Fork4
My blog - the site, the content and the code
License
cloudartisan/cloudartisan.github.io
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Personalblog and project showcase for David Taylor (Cloud Artisan).
This site is built with:
- Hugo - A fast and modern static site generator
- Congo Theme - A powerful, lightweight theme for Hugo
Clone this repository:
git clone https://github.com/cloudartisan/cloudartisan.github.io.gitcd cloudartisan.github.ioInstall Hugo (specific version to ensure compatibility):
go install -tags extended github.com/gohugoio/hugo@v0.149.0Ensure your Go bin directory (typically ~/go/bin) is in your PATH.
Run the local development server:
hugo server -DView the site athttp://localhost:1313/
hugo new content posts/YYYY-MM-DD-post-name.mdA new post will be created with the following template:
---title:"Post Name"date:YYYY-MM-DDT00:00:00+00:00draft:truedescription:""tags:[]categories:[]series:[]---# Post Name## Introduction<!-- Write your introduction here -->## Main Content<!-- Main content starts here -->## Conclusion<!-- Wrap up your post here -->
File naming: Use the format
YYYY-MM-DD-post-name.md(kebab-case)Frontmatter:
title: Clear, descriptive title in title casedate: Publication date in ISO formatdraft: Set totrueuntil ready to publishdescription: 1-2 sentences summarising the post (used for SEO)tags: Array of relevant keywords (use existing tags where possible)categories: Optional grouping (e.g., "Tutorials", "Cloud Computing")series: Optional series name if part of a multi-post series
Content Structure:
- Use Markdown for content with
##(H2) and###(H3) for sections - Store images in
/static/images/YYYY/MM/directory - Reference images with absolute paths (e.g.,
/images/2025/04/example.png) - Use UK English spelling and grammar
- Use Markdown for content with
Testing:
- Preview with
hugo server -Dto see drafts locally - Drafts will not be published to the live site
- Preview with
hugo new content projects/project-name/index.mdCreate a project directory to include additional assets like images and thumbnails.
The repository includes several maintenance scripts in thescripts/ directory:
fix_backticks.py- Fixes inline code formatting issues in markdown filesfix_twitter_links.py- Updates Twitter links from HTTP to HTTPSfix_links.py- Template for fixing various broken links
To run a script:
python3 -m venv venv # Create virtual environment (first time only)source venv/bin/activate # Activate virtual environmentpip3 install -r requirements.txt # Install dependencies (first time only)python3 scripts/script_name.py # Run the scripthugoThis will generate the static site in thepublic directory.
The site is automatically deployed to GitHub Pages using GitHub Actions when changes are pushed to the main branch. The workflow:
- Builds the Hugo site using Hugo modules
- Deploys the generated files to the gh-pages branch
- GitHub Pages then serves the content from the gh-pages branch
To configure GitHub Pages:
- Go to repository Settings > Pages
- Set the source to "Deploy from a branch"
- Select the "gh-pages" branch and "/" (root) folder
- Save the settings
Note: The site uses two workflows - "Deploy Hugo site" builds the site, and "pages-build-deployment" handles the GitHub Pages publishing.
My blog content, posts, etc are licensed under aCreative Commons Attribution-ShareAlike 4.0 International License.
About
My blog - the site, the content and the code
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.
