clay | ||
drafts | ||
files | ||
fonts | ||
images | ||
images-src | ||
infra | ||
js | ||
lib | ||
pages | ||
posts | ||
src | ||
templates | ||
.drone.yml | ||
.gitignore | ||
blog-rekahsoft-ca.cabal | ||
blog-rekahsoft-ca.scm | ||
channels.scm | ||
LICENSE | ||
manifest.scm | ||
README.md | ||
robots.txt | ||
Setup.hs | ||
site | ||
stack.yaml | ||
stack.yaml.lock |
Source Code for #! Lambda Slang
#! Lambda Slang is the personal technical blog of Collin Doering, built using software that respects our freedoms.
Features
- Single Page Application (SPA)
- Utilizes CSS 3
- Uses HTML5 Application Cache for offline viewing of website
Tools
The creation of this website was made possible by the following open source tools and libraries:
- Hakyll is used to generate site from static files
- Clay is used for CSS pre-processing
- Skeleton is used for CSS boilerplate
- MathJax is used for rendering mathematics
- Inkscape and the Gimp were used to create various images/artwork
- Gnu Free Fonts, specifically FreeMono is used as main font
- Gnu Emacs, because there is no place like home; and no greater editor!
License
Simply put, you're welcome to use the code used to generate this site though there are a few restrictions:
- Any images and artwork that embody the likeness of "#! Lambda Slang" are not to be distributed or used and are strictly copyright
- The content of pages and posts can be used with attribution, providing you aren't making money off of it
Various licenses (GPLv3, Creative Commons BY-NC-SA License, and Creative Commons BY-NC-ND License) are deployed dependent on which part of the site is in question. Please see the LICENSE file for full details.
Building
Stack is used to manage dependencies for this project. A simple wrapper script site
is
provided that also takes care of building the static site and offering access to hakyll
commands.
$ ./site build
$ ./site watch
Deploying
Terraform is used to deploy this site. Its configuration files are located in ./infra
. Three
workspaces are currently available, including:
- default (unused)
- staging
- production
For example, this is how to deploy the production version of the site:
$ cd infra
$ terraform workspace select production
$ terraform plan --var-file=production.tfvars --out local.plan
$ terraform apply local.plan
Issues
If you have an issue while browsing my blog please file a issue in the blog-rekahsoft-ca issue tracker.