From 8e448ffc31685427afaee62a0379c33525769a6a Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 5 Mar 2017 15:44:50 +0100 Subject: Use stack --- .gitignore | 1 + .gitlab-ci.yml | 29 ++++++++++++++++++++++--- Cooking.cabal | 13 ------------ Makefile | 11 +++++----- cooking.cabal | 13 ++++++++++++ dev | 2 +- recipes/cookies.md | 20 +++++++++--------- "recipes/cr\303\250me-chocolat.md" | 2 +- recipes/pain-basique.md | 15 ------------- recipes/pain-rapide.md | 14 ------------- recipes/riz-vinaigre-casserole.md | 2 +- shell.nix | 9 +------- src/Cooking.hs | 43 -------------------------------------- src/Main.hs | 43 ++++++++++++++++++++++++++++++++++++++ stack.yaml | 1 + 15 files changed, 104 insertions(+), 114 deletions(-) delete mode 100644 Cooking.cabal create mode 100644 cooking.cabal delete mode 100644 recipes/pain-basique.md delete mode 100644 recipes/pain-rapide.md delete mode 100644 src/Cooking.hs create mode 100644 src/Main.hs create mode 100644 stack.yaml diff --git a/.gitignore b/.gitignore index ea1a5de..8430b45 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ _cache public dist +.stack-work diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d48e511..0e2ed34 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,31 @@ +image: haskell:latest + +before_script: + - apt-get update && apt-get install xz-utils make + - export STACK_ROOT=`pwd`/.stack + - stack setup + - stack install --only-dependencies + - stack build + +build: + cache: + paths: + - _cache + - .stack + script: + - stack exec site build + except: + - master + pages: + cache: + paths: + - _cache + - .stack script: - - ls public + - stack exec site build artifacts: paths: - - public + - public only: - - demo + - master diff --git a/Cooking.cabal b/Cooking.cabal deleted file mode 100644 index 7f5117d..0000000 --- a/Cooking.cabal +++ /dev/null @@ -1,13 +0,0 @@ -name: Cooking -version: 0.1.0.0 -build-type: Simple -cabal-version: >= 1.10 - -executable Cooking - main-is: Cooking.hs - hs-source-dirs: src - ghc-options: -threaded - default-language: Haskell2010 - build-depends: base - , hakyll - , clay diff --git a/Makefile b/Makefile index 62f36a6..43f592e 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,19 @@ all: build clean: - @./dist/build/Cooking/Cooking clean > /dev/null 2>&1 || true - @cabal clean > /dev/null + @stack exec cooking clean > /dev/null 2>&1 || true + @stack clean > /dev/null install: - @cabal build + @stack setup .PHONY: build build: - @cabal run build + @stack build + @stack exec cooking build watch: @nodemon --watch src -e hs --exec 'make watch-command --silent' watch-command: - @(killall Cooking || :) && sleep 1 && cabal run watch + @(killall cooking || :) && sleep 1 && stack build && stack exec cooking watch diff --git a/cooking.cabal b/cooking.cabal new file mode 100644 index 0000000..f0bb109 --- /dev/null +++ b/cooking.cabal @@ -0,0 +1,13 @@ +name: cooking +version: 0.1.0.0 +build-type: Simple +cabal-version: >= 1.10 + +executable cooking + main-is: Main.hs + hs-source-dirs: src + ghc-options: -threaded + default-language: Haskell2010 + build-depends: base + , hakyll + , clay diff --git a/dev b/dev index ddd2ada..4dbcbcc 100755 --- a/dev +++ b/dev @@ -1,2 +1,2 @@ #!/bin/sh -nix-shell --command "tmuxinator local" +nix-shell --command "mux local" diff --git a/recipes/cookies.md b/recipes/cookies.md index 31e6bf1..5168442 100644 --- a/recipes/cookies.md +++ b/recipes/cookies.md @@ -17,16 +17,16 @@ Ingrédients (45 cookies) Recette ------- -#. Travaillez le beurre mou avec les deux sucres jusqu'à obtention d'un mélange +#. Travailler le beurre mou avec les deux sucres jusqu'à obtention d'un mélange homogène. -#. Ajoutez les œufs et mélangez bien. -#. Joignez la farine tamisée, le sel et la levure en poudre. -#. Mélangez à nouveau. -#. Rajoutez les pépites de chocolat et mélangez. -#. Recouvrez le plateau du four de papier cuisson ou sulfurisé, et à l'aide de - 2 cuillères à café, disposez-y des petits tas de pâte de la valeur d'une +#. Ajouter les œufs et mélanger bien. +#. Joigner la farine tamisée, le sel et la levure en poudre. +#. Mélanger à nouveau. +#. Rajouter les pépites de chocolat et mélanger. +#. Recouvrer le plateau du four de papier cuisson ou sulfurisé, et à l'aide de + 2 cuillères à café, disposer-y des petits tas de pâte de la valeur d'une noix. -#. Veillez à bien les espacer car la pâte s'étale assez fort. -#. Enfournez et comptez une dizaine de minutes de cuisson (four préchauffé à +#. Veiller à bien les espacer car la pâte s'étale asser fort. +#. Enfourner et compter une dizaine de minutes de cuisson (four préchauffé à 180°C). -#. Laissez les cookies cuits sur une grille pour les laisser refroidir. +#. Laisser les cookies cuits sur une grille pour les laisser refroidir. diff --git "a/recipes/cr\303\250me-chocolat.md" "b/recipes/cr\303\250me-chocolat.md" index 1c28c3e..fdbe4e8 100644 --- "a/recipes/cr\303\250me-chocolat.md" +++ "b/recipes/cr\303\250me-chocolat.md" @@ -18,4 +18,4 @@ Recette #. Ajouter le sucre, attendre qu’il soit dissout. #. Mélanger, dans un bol, la Maïzena et les jaunes d’œufs et verser dans le chocolat. -#. Remuez sans arrêt. +#. Remuer sans arrêt. diff --git a/recipes/pain-basique.md b/recipes/pain-basique.md deleted file mode 100644 index 109e3c5..0000000 --- a/recipes/pain-basique.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Pain basique ---- - -Ingrédients (pain de 1000g) ---------------------------- - -- 325 ml d’eau. -- 2 CS : - - de sucre ; - - de lait en poudre ; - - d’huile. -- 2 cc de sel. -- 600 g de farine. -- 1.5 cc de levure boulangère. diff --git a/recipes/pain-rapide.md b/recipes/pain-rapide.md deleted file mode 100644 index 6e4c60a..0000000 --- a/recipes/pain-rapide.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Pain rapide ---- - -Ingrédients (1000g) -------------------- - -- 400 ml d’eau. -- 1.5 CS de sucre. -- 2.5 CS de lait en poudre. -- 2 CS d’huile. -- 2 cc de sel. -- 640 g de farine. -- 4 cc de levure boulangère. diff --git a/recipes/riz-vinaigre-casserole.md b/recipes/riz-vinaigre-casserole.md index b1c6bf3..7f953fe 100644 --- a/recipes/riz-vinaigre-casserole.md +++ b/recipes/riz-vinaigre-casserole.md @@ -20,7 +20,7 @@ Recette #. 400 g de riz rond ; #. de l’eau jusqu’au dessus du niveau du riz. #. Remuer le riz en le soulevant. -#. Tant que l’eau se trouble, changer l'eau et remuez à nouveau. +#. Tant que l’eau se trouble, changer l'eau et remuer à nouveau. #. Égoutter le riz. ### Chauffe du riz diff --git a/shell.nix b/shell.nix index 6ede61e..6723108 100644 --- a/shell.nix +++ b/shell.nix @@ -2,16 +2,9 @@ with import {}; { env = stdenv.mkDerivation { name = "env"; buildInputs = with pkgs; [ - cabal-install - cabal2nix + nodePackages.nodemon tmux tmuxinator - nodePackages.nodemon - (haskellPackages.ghcWithPackages (p: with p; [ - (haskell.lib.dontCheck hakyll) - (haskell.lib.dontCheck clay) - text - ])) ]; }; } diff --git a/src/Cooking.hs b/src/Cooking.hs deleted file mode 100644 index e5f92b9..0000000 --- a/src/Cooking.hs +++ /dev/null @@ -1,43 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -import Data.List (sortBy) -import Data.Monoid (mappend) -import Data.Ord (comparing) - -import Hakyll -import Hakyll.Core.Item (Item(itemIdentifier)) - -main :: IO () -main = hakyllWith configuration $ do - match "images/*" $ do - route idRoute - compile copyFileCompiler - - match "design/*.hs" $ do - route $ setExtension "css" - compile $ getResourceString >>= withItemBody (unixFilter "runghc" []) - - match "recipes/*" $ do - route $ setExtension "html" - compile $ pandocCompiler - >>= loadAndApplyTemplate "templates/main.html" defaultContext - >>= relativizeUrls - - match "index.html" $ do - route idRoute - let context = - listField "recipes" defaultContext (loadAll "recipes/*") `mappend` - defaultContext - compile $ - getResourceBody - >>= applyAsTemplate context - >>= loadAndApplyTemplate "templates/main.html" context - >>= relativizeUrls - - match "templates/*" $ compile templateBodyCompiler - -configuration :: Configuration -configuration = defaultConfiguration - { destinationDirectory = "public" - , inMemoryCache = True - } diff --git a/src/Main.hs b/src/Main.hs new file mode 100644 index 0000000..e5f92b9 --- /dev/null +++ b/src/Main.hs @@ -0,0 +1,43 @@ +{-# LANGUAGE OverloadedStrings #-} + +import Data.List (sortBy) +import Data.Monoid (mappend) +import Data.Ord (comparing) + +import Hakyll +import Hakyll.Core.Item (Item(itemIdentifier)) + +main :: IO () +main = hakyllWith configuration $ do + match "images/*" $ do + route idRoute + compile copyFileCompiler + + match "design/*.hs" $ do + route $ setExtension "css" + compile $ getResourceString >>= withItemBody (unixFilter "runghc" []) + + match "recipes/*" $ do + route $ setExtension "html" + compile $ pandocCompiler + >>= loadAndApplyTemplate "templates/main.html" defaultContext + >>= relativizeUrls + + match "index.html" $ do + route idRoute + let context = + listField "recipes" defaultContext (loadAll "recipes/*") `mappend` + defaultContext + compile $ + getResourceBody + >>= applyAsTemplate context + >>= loadAndApplyTemplate "templates/main.html" context + >>= relativizeUrls + + match "templates/*" $ compile templateBodyCompiler + +configuration :: Configuration +configuration = defaultConfiguration + { destinationDirectory = "public" + , inMemoryCache = True + } diff --git a/stack.yaml b/stack.yaml new file mode 100644 index 0000000..018615a --- /dev/null +++ b/stack.yaml @@ -0,0 +1 @@ +resolver: lts-8.3 -- cgit v1.2.3