/bastiat.org

Source code for the website bastiat.org

Primary LanguageScheme

How to hack bastiat.org

This is the source code for the bastiat.org website dedicated to the life and works of Frédéric Bastiat.

Installing the toolchain

  1. Install sbcl. On Ubuntu and other debian-based distributions, use:
sudo apt-get install sbcl
  1. Download Quicklisp:
wget https://beta.quicklisp.org/quicklisp.lisp
  1. Install Quicklisp:
sbcl --load quicklisp.lisp --eval '(quicklisp-quickstart:install)'
  1. Download and compile Exscribe:
mkdir -p ~/common-lisp/
cd ~/common-lisp/
git clone https://github.com/fare/fare-scripts.git
git clone https://gitlab.common-lisp.net/frideau/exscribe.git
sbcl --eval '(load "~/quicklisp/setup")' --eval '(ql:quickload :exscribe/executable)'
  1. Make sure that your system can find the exscribe program:
# One option is to create a symlink at a well-known location:
sudo ln -sf ~/common-lisp/exscribe/exscribe /usr/local/bin/

# Alternatively, just extend your `$PATH` variable:
PATH=$PATH:~/common-lisp/exscribe

Building the website

Once you've properly installed your toolchain, you can build the website with:

make

Repetitive output will follow that lasts a couple of minutes; be patient it's not an error! Then point your browser to the index file and browse:

chrome file://$PWD/index.html

or:

firefox file://$PWD/en/index.html

Adding a new file

If you add a new file, you need to tell the build system about it with:

make dep

You may also have to edit the .gitignore to hush git warnings about the .html file created when you built the website.

Publishing Changes

Either:

  1. Fork the official repository on github, and send a pull request, or

  2. Have me add you to the official repository on github, and to the bastiat account on bespin (maybe also get an account on bespin.org). Then you can make bespin to rebuild the website.

Please consult a git tutorial for details.

What to do?

See the TODO.md file. Take an item, break it down until you reach an actionable items, act on it. Or add new items.