Description
GitBook takes the content and converts it to the HTML code webbrowsers can read. However, it became apparent that GitBook is no longer a great fit for the AAA.
Reasons
The version of GitBook we are using is no longer supported. This means that security flaws and bugs are no longer fixed by the dev team.
These problems are the main reasons for a migration away from GitBook, but there are also other potential benefits we could enjoy by switching.
Other Benefits
-
A Faster Build
The build process is currently unbearably slow. I timed it very roughly with my phone and on my machine it takes about 26.7 seconds before you can open the website locally on my machine. This is way too long if you consider that you have to rebuild the website every time you make an edit to an .md file. Debugging becomes especially annoying and time consuming. Switching from GitBook or at least optimizing the build process could mitigate this downtime. -
An Easier Time Adding Features
Adding features like the language picker can be a bit of a problem with GitBook. You have to work around GitBook instead of working with it and that can sometimes be a real headache. -
Faster Load Times
This one is not a problem yet. Using a bit of Chrome analytics gives the first meaningful paint at around 250 milliseconds after page startup. This is however with a good wifi connection. It would be worth finding out how fast the page loads with airplane internet. It's also worth seeing how extra chapters affect the load times. When we get more chapters, will it slow down the loading as it loads all the content in one go. Again, this isn't a problem yet, but worth looking into when going for a rewrite.
There are probably other advantages to switching I forgot to mention, but these are the main ones. I think I've made my case pretty clear and most of the archivists already agree with me that switching is a good move. This is not my idea, I'm just stating what has already been said before.
Now the question becomes: 'What do we switch to?"
Options
-
The New GitBook
We are using an old gitbook which is no longer supported, but there is a newer version out there. Sadly, this version isn't open source and monitized. While this version would solve some problems it would create some new ones and is therefore an unattractive candidate. -
Nev's Python Version
There already have been made some private attempts at improving the build system of the archive. One of these attempts comes from community member Nev (or Neverik). While I'm not sure if it is totally operational it can be found here. -
MdBook
This is a program @berquist has been looking into. It's written in rust and presumably quite fast, but adding the features we need is going to be difficult. -
Just Fork It
Another way to fix the problems we have is to just fork the version of GitBook we currently use, rename it AAABook and develop it further to our wishes. The license might get in the way however. -
Alternatives To GitBook
There are some other out-of-the-box solutions available, which is probably worth checking out first. -
A Tabula Rasa (blank slate)
We could always start from scratch. This way you can make it exactly like you want and use whatever language you want. I would personally advise against this since it takes a long time and you end up reinventing the wheel a lot.
Final Advice
My final advice is to just start. The current system works, but when something works it's all to easy to become complacent. There current setup can improve and if we don't do anything, it won't improve. So I recommend Leios to open up a separate chat in the Discord server under projects called something along the lines of 'AAABook'. It's also important that we have an official place to work on this projects so I recommend Leios to open up a separate project on GitHub. And while I know that it will still take a while to properly get started, I hope that this can be a start.