diff options
author | Jasper Van der Jeugt <m@jaspervdj.be> | 2012-12-14 10:42:30 +0100 |
---|---|---|
committer | Jasper Van der Jeugt <m@jaspervdj.be> | 2012-12-14 10:42:30 +0100 |
commit | a2620eec367711480ee2e34ada39b76dc52dbb17 (patch) | |
tree | 5bab9f4c497bcbcd06e09c40936cceeb7901521b /web/tutorials/01-installation.markdown | |
parent | cfac1bbca6e5950d8abdc8329e84de4794e08677 (diff) | |
download | hakyll-a2620eec367711480ee2e34ada39b76dc52dbb17.tar.gz |
Work on installation tutorial
Diffstat (limited to 'web/tutorials/01-installation.markdown')
-rw-r--r-- | web/tutorials/01-installation.markdown | 62 |
1 files changed, 28 insertions, 34 deletions
diff --git a/web/tutorials/01-installation.markdown b/web/tutorials/01-installation.markdown index 131971f..a0a0f3a 100644 --- a/web/tutorials/01-installation.markdown +++ b/web/tutorials/01-installation.markdown @@ -3,46 +3,13 @@ title: Installation author: Jasper Van der Jeugt --- -Why static websites? --------------------- - -Modern web frameworks make it easy to create huge dynamic websites. Why would -anyone still care about a static website? - -- Static websites are fast, because it's simply files served directly from the - hard disk. -- Static websites are secure. Nobody has ever found an SQL injection in static - pages. -- Static websites are easy to deploy. Just copy them to your webhost using - (S)FTP/rsync/scp and you are done. They work on all webhosts: no CGI or extra - modules needed for the web server. - -Why Hakyll? ------------ - -Hakyll is a [Haskell] library meant for creating small-to-medium sized static -websites. It is a powerful publishing tool, precisely because of the power of -Haskell. By using the awesome [pandoc] library, it is able to create your -website from a large variety of input formats. - -[Haskell]: http://haskell.org/ -[pandoc]: http://johnmacfarlane.net/pandoc/ - -Features include: - -- easy templating system; -- a simple HTTP server for previewing and compiling your website on the go; -- powerful syntax highlighting; -- modules for common items such as tags and feeds; -- easily extensible. - Installation ------------ Installation is provided using [cabal], and some packages are available for different distributions. - cabal install hakyll + $ cabal install hakyll [cabal]: http://www.haskell.org/cabal/ @@ -50,3 +17,30 @@ Linux distro packages: - [Archlinux (AUR)](https://aur.archlinux.org/packages/haskell-hakyll/) - [Debian unstable](http://packages.debian.org/source/sid/haskell-hakyll) + +Building the example site +------------------------- + +Apart from the main Hakyll library, the cabal package also provided you with an +executable `hakyll-init` to create an example site. This is an easy way to get +started: + + $ hakyll-init my-site + +If `hakyll-init` is not found, you should make sure `$HOME/.cabal/bin` is in +your `$PATH`. + +The file `site.hs` holds the configuration of your site, as an executable +haskell program. We can compile and run it like this: + + $ cd my-site + $ ghc --make site.hs + $ ./site build + +If you installed `hakyll` with a preview server (this is the default), you can +now use + + $ ./site preview + +and have a look at your site at +[http://localhost:8000/](http://localhost:8000/). |