aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/DEVELOPMENT.md
diff options
context:
space:
mode:
Diffstat (limited to 'DEVELOPMENT.md')
-rw-r--r--DEVELOPMENT.md53
1 files changed, 53 insertions, 0 deletions
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
new file mode 100644
index 0000000..36a27a3
--- /dev/null
+++ b/DEVELOPMENT.md
@@ -0,0 +1,53 @@
+Workspace setup
+---------------
+
+* To reduce pain, set up [rbenv] to manage your Ruby versions.
+Install one that's known to work: `make ruby`
+ * Otherwise, make sure you have Ruby and [Bundler] set up.
+* Install dependencies: `make deps`
+* Make sure builds are working: `make build`
+
+[rbenv]: https://github.com/rbenv/rbenv
+[Bundler]: https://bundler.io/
+
+Development
+-----------
+
+* Build the example website and serve it at http://localhost:4000/jekyll-theme/:
+`make serve`
+ * It will pick up changes and reload pages automatically.
+
+Upgrading dependencies
+----------------------
+
+ bundle update
+
+Building static pages
+---------------------
+
+If you try to copy the _site directory and open index.html without running the
+web server, it won't work: all links will be messed up.
+Jekyll doesn't provide native support for generating a static website which can
+be browsed without running a web server.
+
+One workaround is to `wget` the website:
+
+ make serve LIVE_RELOAD=0 # Live reloading breaks wget
+ make wget
+
+The truly static version will be downloaded to the .wget/ directory.
+
+Bootstrap theme
+---------------
+
+At one point I decided to bundle a modified version of Bootstrap 3.4 with the
+theme.
+One thing I found annoying about the unmodified Bootstrap is the small font
+size & the insanely large headers.
+I used the [customization tool] with a [custom config] to download a modified
+Boost version and included it in the assets/bootstrap directory.
+
+[customization tool]: https://getbootstrap.com/docs/3.4/customize/
+[custom config]: assets/bootstrap/config.json
+
+TODO: port the theme to Bootstrap 4/5/whatever?