Re Organize My Blog Structure
Feb 20, 2020
Technology
Recently I find it’s necessary to re-orgnize my blog structure, for past 8
years I’ve written nearly 1000 articles in this blog, they covered so many
technologies, from embedded system to cloud-computing, also with my life’s
blog. So I simply use Technology
and Life
for classifying them. Also I
have to adjust my websiste’s compatibility to newest hugo(v0.64.0), previously
I use an old version(v0.31.0) for building the whole website. Following
are the steps for doing such a complicated task.
1. Structure Re-Orgnization
Replace all of the md
files and markdown
files’s categories
:
$ cd /home/xxxxx/Code/purplepalmxxxx.github.io/src/content/post
$ find . | xargs -I % sed -i 's/categories\ =.*/categories\ =\ ["Technology"]/g' %
$ find . | xargs -I % sed -i 's/categories:.*/categories:\ ["Technology"]/g' %
Some of the old markdown files didn’t have categories, manually add them:
$ sed -i '2s/$/categories:\ ["Technology"]/' 2013-07-*
$ sed -i '2s/$/categories:\ ["Technology"]/' 2013-08-*
$ sed -i '2s/$/categories:\ ["Technology"]/' 2013-09-*
$ sed -i '2s/$/categories:\ ["Technology"]/' 2013-10-*
$ sed -i '2s/$/categories:\ ["Technology"]/' 2013-11-0*
$ sed -i '2s/$/categories:\ ["Technology"]/' 2013-11-11*
$ sed -i '2s/$/categories:\ ["Technology"]/' 2013-11-12*
By-now all of the posts are Technology
related, manually change some posts
to LinuxTips
and Life
.
2. Upgrade hugo
Download the newest hugo version from official site and put it in binary directory:
$ cd binaries
$ ls
hugo hugo_v031
$ ./hugo version
Hugo Static Site Generator v0.64.1/extended linux/amd64 BuildDate: unknown
Adjust some for generate properly(hyde-a theme adjustment):
$ rm -f
/home/xxxx/Code/purplepalmxxxx.github.io/src/themes/hyde-a/layouts/post/post.html
$ vim
/home/xxxx/Code/purplepalmxxxx.github.io/src/themes/hyde-a/layouts/index.html
{{ partial "head.html" . }}
<div class="content container">
<div class="posts">
+++ {{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" site.Params.mainSections) }}
{{ range $paginator.Pages }}
Now commit all of the changes, the ci/cd for blogging will automatically use the newest version of hugo for building-out the static website.