[haiku-development] [RFC] Rewriting the main website from Drupal to Hugo

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: Haiku Development ML <haiku-development@xxxxxxxxxxxxx>, Haiku Web ML <haiku-web@xxxxxxxxxxxxx>
  • Date: Mon, 21 Dec 2015 15:20:50 -0500

Hi all,

The questions of how/why/when to migrate to Drupal 8 have been kicking
around for some time. All the investigations of this so far have shown
that it will be a monstrous task and possibly lose us some
functionality and control of the main site. So, I hereby propose we
instead switch the main website to be statically generated instead of
dynamically generated, and specifically to switch it to Hugo
(http://gohugo.io), as recommended by Jessica.

A demo of a site powered by my WIP rewrite is here (only the "FAQ" and
the first post on the main page will work; everything else will return
404) (also, disregard the missing piggy bank & sidebar images for the
time being): http://waddlesplash.github.io/haiku-website-next/
And its source is here: https://github.com/waddlesplash/website

UPSIDES
============================
* Easier to manage -- flat-files instead of a super complicated admin panel
* No more SQL to worry about
* Less load on the server -- generated once, served thousands of times
* More flexible -- edit raw HTML, template files, etc. without
installing another plugin for every single thing you want to do
* Write blog posts, edit articles, etc. from the command line
* Less of an attack surface (and less stuff to update)
* Theme is now based on Bootstrap 3, instead of Acquia Marina, which
means that the site now works on pretty much any screen size (try
resizing your browser to be the size of a phone screen -- or on an
actual phone), and there's less boilerplate (I rewrote Shijin 3 [it's
now called Shijin IV] in the process, and it's ~50% smaller.)

DOWNSIDES
===========================
* Can't add posters nearly as easily (it'll be another Git repo,
essentially) - so only people with commit access with be able to edit
it -- however, I don't know of anyone who doesn't have commit access
who has been working on the website in any substantial amount
* Forum system will not be integrated with article/blogpost system
(we'll have to switch to Flarum or something like that for forums)

MIGRATION
=========================
* All existing "pretty" URLs *will* be preserved, all existing
non-pretty (node ID) URLs ***WILL NOT*** be preserved
* Sidebars will (mostly) be preserved as-is

(anticipated) FAQ
=========================
Who's going to do all the work?
-- I am, over the next month-ish while I'm on break. Most of the
technical side has already been solved (with the exception of a few
bugs in Hugo I found along the way), I just need to dump all the
content out of Drupal and migrate it to the new system.

What about the comments sections on posts?
-- These will be converted to forum topics, and there will be a
script which creates a new forum topic for every news post and blog
post (and links to it) for discussion.

What about tags pages, categories pages, etc?
-- Hugo generates these at the same time it generates the site.

What about search?
-- There are a few options here. We can just shell out to Google
Custom Search (like the API docs already do), we can have a
statically-generated search index that's made at the same time the
site is, etc.

Thoughts? Comments? Concerns? Applause? Tomatoes?
-waddlesplash

Other related posts: