The code, templates and content for my Hakyll powered blog at blog.rekahsoft.ca
Go to file
Collin J. Doering 072e3d9870 Themed post content (tables, images, figures, code)
Added theming for tables, inline images, and figures. Inline images are
specified using the markdown syntax "![link text](link_href)" somewhere
within a paragraph. When a link is specified with the same syntax given
previously, Pandoc will generate it as a figure. Figures are displayed
across the whole width of the post and inline-images floated to the
right. Some javascript was added to js/default.js to enable the ability
to click to toggle fullscreen on images and figures.

Code blocks were previously themed but the styling needed to be updated
due to how an update to how pandoc generates code blocks.

Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
2015-07-06 21:41:20 -04:00
clay Themed post content (tables, images, figures, code) 2015-07-06 21:41:20 -04:00
files Further various fixes and improvements 2014-03-12 20:59:58 -04:00
fonts Remove unused fonts 2015-01-14 04:50:28 -05:00
images Added initial implementation of error messages 2015-01-14 04:50:29 -05:00
images-src Added initial implementation of error messages 2015-01-14 04:50:29 -05:00
js Themed post content (tables, images, figures, code) 2015-07-06 21:41:20 -04:00
lib Bumped JQuery version from 1.9.1 -> 1.11.2 2015-01-28 23:26:23 -05:00
pages Fixed creative commons license link on home page 2015-01-19 23:40:03 -05:00
posts Fixed link in sample-news post 2015-01-24 14:11:43 -05:00
src Upgraded Hakyll 4.6 -> 4.7 2015-07-03 03:02:12 -04:00
templates Bumped JQuery version from 1.9.1 -> 1.11.2 2015-01-28 23:26:23 -05:00
test Test site using hspec and webdriver/selenium 2015-02-18 03:01:44 -05:00
.gitignore Added symbolic link for easy execution of site generator 2015-01-14 04:50:29 -05:00
LICENSE Corrected license file and updated cabal file 2015-01-14 04:50:28 -05:00
Makefile Test site using hspec and webdriver/selenium 2015-02-18 03:01:44 -05:00
README.md Added information about test-suite to README.md 2015-07-03 03:02:53 -04:00
Setup.hs Initial cabalization of site 2015-01-14 04:50:28 -05:00
blog-rekahsoft-ca.cabal Removed upper bounds on test-suite dependencies 2015-07-03 03:02:53 -04:00
site Added symbolic link for easy execution of site generator 2015-01-14 04:50:29 -05:00
site-test Test site using hspec and webdriver/selenium 2015-02-18 03:01:44 -05:00

README.md

Source Code for #! λ Slang

#! λ Slang is the personal technical blog of Collin Doering, built using software that respects our freedoms.

Features

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
  • Selenium is used for automated testing using real browsers
  • 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 "#! λ 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

All that is needed to build this site is cabal and a way to fetch required packages (whether directly via the internet or by using the fetch argument to cabal).

$ cabal sandbox init # optional but recommended
$ cabal configure
$ cabal install --only-dependencies
$ cabal build
$ ./site build  # build site
$ ./site server # view site at http://localhost:3000

Running Tests

To the run the tests that accompany this site, one must have Selenium installed and an instances running on port 4444. Then one must run the following:`

$ cabal configure --enable-tests
$ cabal install --only-dependencies
$ cabal test

Issues

Unfortunately, when trying to install the test-suite dependencies, webdriver 0.6.1 fails to install when using GHC 7.10 (Jun 24, 2015). This is due to a missing language pragma FlexibleContexts in src/Test/WebDriver/Commands.hs (see bug ticket. To get around this problem you can download webdriver from hackage using cabal get webdriver and then fix the problem yourself by adding the language pragma to the file src/Test/WebDriver/Commands.hs. This issue has also been fixed upstream so you can use git to get the latest sources. Once the working sources for webdriver-0.6.1 are in place, run the following:

$ cd webdriver-0.6.1
$ cabal sandbox init
$ cabal configure
$ cabal install --only-dependencies
$ cabal build
$ cabal install
$ cd ..
$ cabal sandbox init --sandbox webdriver-0.6.1/.cabal-sandbox

This will share the cabal sandbox which we used to build and install our fixed version of webdriver, with this project. Now the test-suite can be run once its dependencies are installed (see Running Tests).