Productivity
This is the best migrator for migrating WordPress export to Hugo. It handles several weird edge cases that I encountered while trying to migrate my personal website to Hugo-based site.
While this primarily targets Hugo-based code generation, one can use it to convert WordPress blogs to Markdown-based files that can be used with other systems for example Mkdocs or Jekyll.
I want this project to be as widely accessible as possible, while still funding the development costs. This project is completely free for non-commercial and personal usage. Commercial usage is restricted via a license. Feel free to contact me if you want to license this commercially.
wp2hugo
tool from releasesTools -> Export
in your admin dashboardwordpress-export.xml
generate the website using $ wp2hugo --source wordpress-export.xml --download-media
$ wp2hugo
Usage of wp2hugo:
-authors string
CSV list of author name(s), if provided, only posts by these authors will be processed
-color-log-output
enable colored log output, set false to structured JSON log (default true)
-continue-on-media-download-error
continue processing even if one or more media downloads fail
-download-media
download media files embedded in the WordPress content
-font string
custom font for the output website (default "Lexend")
-media-cache-dir string
dir path to cache the downloaded media files (default "/tmp/wp2hugo-cache")
-output string
dir path to write the Hugo-generated data to (default "/tmp")
-source string
file path to the source WordPress XML file
$ git clone git@github.com:ashishb/wp2hugo.git
$ cd wp2hugo/src/wp2hugo
$ make build_prod
# `./bin/wp2hugo` will contain the binary and you can use it as `$ ./bin/wp2hugo --source wordpress-export.xml --download-media`
wp2hugo
feed.xml
to Hugo's RSS feed.xml
Summary
in Hugogooglemaps
wp-content/uploads
images embedded in pages to Hugo static files while maintaining relative URLsExisting tools do a half-baked job of migrating content. They rarely migrate the metadata like GUID, YouTube embeds, Google Map embeds, and code embeds properly.
This repository contains an experimental tool hugomanager
.
I use this tool for the automatic generation of URLs from title as well as for knowing which blog posts are still
marked draft or which ones are scheduled to be published soon.
You can build that via
src/wp2hugo $ make build_hugo_manager
...
src/wp2hugo $ ./bin/hugomanager
A tool for managing Hugo sites e.g. adding URL suggestions, generating site status summary etc.
Usage:
hugomanager [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
sitesummary Print site stats (e.g. number of posts, number of drafts etc.)
urlsuggest Suggests URLs for all the pending/future posts that are missing a URL
version Print the version number of HugoManager
Flags:
-a, --author string author name for copyright attribution (default "YOUR NAME")
--config string config file (default is $HOME/.cobra.yaml)
-h, --help help for hugomanager
-l, --license string name of license for the project
--viper use Viper for configuration (default true)
Use "hugomanager [command] --help" for more information about a command.
Note: