my blog at blog.dosch.nl
Find a file
dosch 5c107a4f94 Initial commit: WordPress to Hugo migration
Migrated blog.dosch.nl from WordPress to Hugo static site generator.

Migration summary:
- 251 blog posts converted to Markdown
- 2 static pages (Over mij, Speaking Preferences)
- 37 media files downloaded and stored locally
- Terminal theme configured
- Mixed language support (Dutch/English)
- Draft handling preserved from WordPress
- robots.txt configured to prevent indexing

Theme: Terminal (minimal, retro style)
Site description: Internet Politics, Free, Libre and Open Software
2025-10-01 09:59:06 +02:00
archetypes Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
content Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
static Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
themes Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
.gitignore Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
.gitmodules Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
hugo.toml Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
README.md Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
retry_downloads.py Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
WORDPRESS-MIGRATION.md Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00
wp2hugo.py Initial commit: WordPress to Hugo migration 2025-10-01 09:59:06 +02:00

blog.dosch.nl - Hugo Site

This Hugo site was successfully migrated from WordPress on 2025-10-01.

Quick Start

View your site locally (including drafts):

hugo server -D

Then open http://localhost:1313 in your browser.

Build for production (only published content):

hugo

The site will be generated in the public/ directory.

What Was Migrated

251 blog posts from WordPress 2 pages (Over mij, Speaking Preferences) 37 images downloaded and saved locally Categories and tags preserved 1 draft post (marked with draft: true) Mixed language content (Dutch and English)

Site Configuration

  • Theme: Terminal (minimal, retro style)
  • Color scheme: Orange
  • Menu: Posts, Over mij, Speaking
  • Description: "Internet Politics, Free, Libre and Open Software"
  • SEO: robots.txt configured to prevent indexing (can be changed)

Important Files

  • hugo.toml - Main site configuration
  • content/posts/ - All blog posts (251 files)
  • content/pages/ - Static pages (2 files)
  • static/ - Images and media files
  • themes/terminal/ - Terminal theme (git submodule)
  • WORDPRESS-MIGRATION.md - Detailed migration documentation

Understanding Drafts vs Published

In Hugo, post status is controlled by the draft field in frontmatter:

  • draft: false = Published (appears in production builds)
  • draft: true = Draft (only appears with hugo server -D)

All migrated posts retain their original WordPress status in the wp_status field.

To publish a draft:

  1. Open the post in content/posts/
  2. Change draft: true to draft: false
  3. Save and rebuild

Common Tasks

Create a new post:

hugo new posts/my-new-post.md

Preview all content (including drafts):

hugo server -D

Build for production:

hugo

Check Hugo version:

hugo version

Next Steps

  1. Hugo site is running at http://localhost:1313
  2. Review your migrated posts in content/posts/
  3. Check that images display correctly
  4. Customize theme settings in hugo.toml if needed
  5. Review any draft posts and publish them
  6. When ready, deploy the public/ directory to your hosting

Documentation

Notes

  • Some older images (2012-2015) couldn't be downloaded as they no longer exist on the server
  • Original WordPress URLs are preserved in each post's frontmatter as wp_url
  • The site is configured for mixed languages (no separate language sections)
  • robots.txt is set to disallow all crawlers (can be changed in static/robots.txt)

Migration completed successfully! 🎉

The Hugo server is currently running at http://localhost:1313