corebot-bliki 0.2 → 0.2.2.0
raw patch · 3 files changed
+49/−6 lines, 3 files
Files
- corebot-bliki.cabal +2/−1
- src/DefaultMain.hs +8/−1
- src/Yesod/CoreBot/Bliki/Widgets.hs +39/−4
corebot-bliki.cabal view
@@ -1,5 +1,5 @@ name: corebot-bliki-version: 0.2+version: 0.2.2.0 synopsis: A bliki written using yesod. Uses pandoc to process files stored in git. description: Also provides a sample use of the library that uses $HOME/bliki for data and serves to port 8080.@@ -79,6 +79,7 @@ GADTs FlexibleContexts ghc-options: -threaded+ cpp-options: -DCABAL_EXE_BUILD build-depends: base >= 4.4.0 && < 5, aeson >= 0.3.2.11, blaze-builder >= 0.3.0.1,
src/DefaultMain.hs view
@@ -1,4 +1,9 @@+{-# LANGUAGE CPP #-}+#ifdef CABAL_EXE_BUILD module Main where+#else+module DefaultMain where+#endif import Yesod import Yesod.CoreBot.Bliki @@ -35,7 +40,9 @@ instance Yesod Main where approot _ = "http://localhost:8080" defaultLayout w = do- let page_w = mconcat [ w, toWidget NavWidget ]+ bliki <- bliki <$> getYesod+ let nav = toWidget $ NavWidget bliki+ let page_w = mconcat [ nav, w ] p <- widgetToPageContent page_w mmsg <- getMessage hamletToRepHtml [hamlet|
src/Yesod/CoreBot/Bliki/Widgets.hs view
@@ -9,9 +9,44 @@ import Yesod.CoreBot.Bliki.Config import Yesod.CoreBot.Bliki.Resources.Base -data NavWidget = NavWidget+data NavWidget master where+ NavWidget :: forall master . Yesod master => Bliki_ master -> NavWidget master -instance ToWidget sub master NavWidget where- toWidget _ = do- return ()+instance ToWidget sub master ( NavWidget master ) where+ toWidget (NavWidget bliki) = do+ main_URL <- approot <$> ( lift $ getYesod )+ let cfg = config $ data_res bliki+ blog_update_log = blog_routes cfg BlogIndexR+ wiki_index = wiki_routes cfg $ WikiIndexR []+ [whamlet|+ <ul .nav_sidebar>+ <li>+ <a href=#{main_URL}>Main+ <li><a href=@{blog_update_log}>Blog+ <li><a href=@{wiki_index}>Wiki+ |]+ toWidget $ [cassius| + .nav_sidebar li+ font-size: large;+ list-style: none;++ .nav_sidebar+ position: fixed;+ margin: 0;+ top: 0em;+ left: 1em;+ width: 9em;+ height: 100%;+ padding-top: 1em;+ padding-right: 0.1em;+ padding-left: 0.1em;+ border-right: 0.3em solid #111111;++ body + margin: 3em 12em;+ padding: 0em 0.2em;++ .wiki_index li+ list-style: none + |]