diff options
-rw-r--r-- | content/posts/2021-10-16-jekyll-to-hugo.md | 65 | ||||
-rw-r--r-- | content/posts/2021-10-17-imported-old-repos.md | 87 |
2 files changed, 152 insertions, 0 deletions
diff --git a/content/posts/2021-10-16-jekyll-to-hugo.md b/content/posts/2021-10-16-jekyll-to-hugo.md new file mode 100644 index 0000000..f3ff839 --- /dev/null +++ b/content/posts/2021-10-16-jekyll-to-hugo.md @@ -0,0 +1,65 @@ +--- +slug: jekyll-to-hugo +title: "Jekyll to Hugo" +date: "2021-10-16T07:51:29-04:00" +draft: false +--- +I took some time this weekend to do the following: + +1. Migrate this site from [Jekyll][] to [Hugo][]. +2. Create a new site theme. +3. Update the [About][] page. +4. Add a new [Articles][] section. + +The [Articles][] section will allow me to write longer articles without +polluting the main blog. + +### Hugo Migration + +Pros: + +* Significantly faster. [Jekyll][] sometimes tool 30 seconds to + regenerate this site, and [Hugo][] does it in less than a second. +* Single static binary. Much easier to install. +* Built-in [SASS/SCSS][sass] support. +* [HTML][], [CSS][], and [JavaScript][js] [minification][]. In + particular, HTML minification is content-aware so it doesn't strip + significant whitespace in `<pre>` or `<code>` blocks. View the + source of this page to see what I mean). +* [Go template][html-template] support. +* [Jekyll][] importer that works reasonably well (but see below). + +Cons: + +* The default [Markdown][] parser is limited and not based on + [GitHub][]-flavored [Markdown][]. +* Because of the previous item, many of the literal `<img>` elements in + my imported [Jekyll][] content had to be fixed by hand. +* Occasionally baffling template search order. +* Default RSS feed entry contents are truncated and stripped of HTML. + +### Theme Rewrite + +Changes in the new theme: + +* Clean rewrite based on [Bulma v0.9.3][bulma]. +* Icons from [Feather Icons][feathericons]. +* Consistent font sizes. +* Improved layout. In particular, I removed the sidebar and improved + the page header. + +[jekyll]: https://jekyllrb.com/ "Jekyll static site generator" +[hugo]: https://gohugo.io/ "Hugo static site generator" +[bulma]: https://bulma.io/ "Bulma CSS framework" +[sass]: https://sass-lang.com/ "Syntactically Awesome Style Sheets" +[css]: https://en.wikipedia.org/wiki/CSS "Cascading Style Sheets" +[html]: https://en.wikipedia.org/wiki/HTML "HyperText Markup Language" +[js]: https://en.wikipedia.org/wiki/JavaScript "JavaScript programming language" +[minification]: https://en.wikipedia.org/wiki/Minification_(programming) "Remove all unnecessary characters from source code to reduce it's size" +[go]: https://golang.org/ "Go programming language." +[html-template]: https://pkg.go.dev/html/template "Go html/template" +[feathericons]: https://github.com/feathericons/feather "beautiful open source icons" +[about]: /about "About page" +[articles]: /articles "Articles section" +[markdown]: https://en.wikipedia.org/wiki/Markdown "Markdown markup language" +[github]: https://github.com/ "GitHub" diff --git a/content/posts/2021-10-17-imported-old-repos.md b/content/posts/2021-10-17-imported-old-repos.md new file mode 100644 index 0000000..9b4918f --- /dev/null +++ b/content/posts/2021-10-17-imported-old-repos.md @@ -0,0 +1,87 @@ +--- +slug: imported-old-repos +title: "Imported Old Repos" +date: "2021-10-17T07:36:37-04:00" +draft: false +--- +Several months ago I used [fast-export][] to convert most of my old +repositories from [Mercurial][hg] to [Git][]. This morning I finally +imported the converted repositories to [GitHub][] and archived them. + +The old repositories are as follows: + +* [broker-cappy](https://github.com/pablotron/broker-cappy) +* [cuckoo2](https://github.com/pablotron/cuckoo2) +* [devil-ruby](https://github.com/pablotron/devil-ruby) +* [easing-js](https://github.com/pablotron/easing-js) +* [easy-cookie](https://github.com/pablotron/easy-cookie) +* [fam-ruby](https://github.com/pablotron/fam-ruby) +* [forced-timeout](https://github.com/pablotron/forced-timeout) +* [freshmeat-ruby](https://github.com/pablotron/freshmeat-ruby) +* [honeypot-php](https://github.com/pablotron/honeypot-php) +* [honeypot-ruby](https://github.com/pablotron/honeypot-ruby) +* [id3-ruby](https://github.com/pablotron/id3-ruby) +* [imlib2-ruby](https://github.com/pablotron/imlib2-ruby) +* [joggle](https://github.com/pablotron/joggle) +* [joystick-ruby](https://github.com/pablotron/joystick-ruby) +* [libjiffy](https://github.com/pablotron/libjiffy) +* [localfark](https://github.com/pablotron/localfark) +* [maildrop-log-colorize](https://github.com/pablotron/maildrop-log-colorize) +* [mb-ruby](https://github.com/pablotron/mb-ruby) +* [persist-js](https://github.com/pablotron/persist-js) +* [ptpgp](https://github.com/pablotron/ptpgp) +* [raggle](https://github.com/pablotron/raggle) +* [reddit-content-filter](https://github.com/pablotron/reddit-content-filter) +* [rubilicious](https://github.com/pablotron/rubilicious) +* [searchkeys-chrome](https://github.com/pablotron/searchkeys-chrome) +* [sn9c102-webcam](https://github.com/pablotron/sn9c102-webcam) +* [speedtest-kml](https://github.com/pablotron/speedtest-kml) +* [syndic8-ruby](https://github.com/pablotron/syndic8-ruby) +* [tarstream-php](https://github.com/pablotron/tarstream-php) +* [techmeme-author-filter](https://github.com/pablotron/techmeme-author-filter) +* [technorati-ruby](https://github.com/pablotron/technorati-ruby) +* [tilefu](https://github.com/pablotron/tilefu) +* [tunepimp-ruby](https://github.com/pablotron/tunepimp-ruby) +* [wirble](https://github.com/pablotron/wirble) +* [xmms-ruby](https://github.com/pablotron/xmms-ruby) + +Here is the repo import script: + +```bash +#!/bin/bash + +set -eu + +# space-delimited list of repos +repos='... omitted for brevity ...' + +# get base repo dir +base=$(pwd) + +# loop through repos +for repo in $repos; do + # print repo name, switch to repo + echo repo: $repo + cd "$base/$repo" + + # create repo + gh repo create $repo + + # fix origin + # (gh sets the origin to "https://github.com/pablotron/...) + git remote rm origin + git remote add origin git@github.com:pablotron/$repo.git + + # push upstream + git push -u origin master + + # archive repo + gh repo archive $repo +done +``` + +[hg]: https://www.mercurial-scm.org/ "Mercurial VCS" +[git]: https://www.git-scm.com/ "Git VCS" +[github]: https://github.com/ "GitHub" +[gh]: https://cli.github.com/ "GitHub CLI" +[fast-export]: http://repo.or.cz/w/fast-export.git "mercurial to git converter" |