yst 0.5.1.1 → 0.5.1.2
raw patch · 9 files changed
+57/−86 lines, 9 filesdep ~aesondep ~pandoc
Dependency ranges changed: aeson, pandoc
Files
- README.markdown +1/−1
- Yst/Build.hs +11/−1
- Yst/CSV.hs +8/−1
- Yst/Render.hs +4/−8
- Yst/Types.hs +2/−1
- changelog +11/−0
- demo/files/css/screen.css +2/−57
- demo/layout.html.st +15/−14
- yst.cabal +3/−3
README.markdown view
@@ -22,7 +22,7 @@ cabal install yst (Note that by default, `cabal` installs the `yst` executable into-a special directory: `~\.cabal\bin` on unix systems. You will need+a special directory: `~/.cabal/bin` on unix systems. You will need to make sure that directory is in your system path.) If you get the error "yst-0.2.3 depends on template-haskell-2.4.0.0
Yst/Build.hs view
@@ -38,9 +38,19 @@ -- So we use System.IO.UTF8 only if we have an earlier version #if MIN_VERSION_base(4,2,0) import System.IO (hPutStrLn)+#if !(MIN_VERSION_base(4,6,0)) import Prelude hiding (catch)+#endif #else-import Prelude hiding (readFile, putStrLn, print, writeFile, catch)+import Prelude hiding (+ readFile+, putStrLn+, print+, writeFile+#if !(MIN_VERSION_base(4,6,0))+, catch+#endif+) import System.IO.UTF8 #endif import System.IO (stderr)
Yst/CSV.hs view
@@ -25,9 +25,16 @@ -- Note: ghc >= 6.12 (base >=4.2) supports unicode through iconv -- So we use System.IO.UTF8 only if we have an earlier version #if MIN_VERSION_base(4,2,0)+#if !(MIN_VERSION_base(4,6,0)) import Prelude hiding (catch)+#endif #else-import Prelude hiding (readFile, catch)+import Prelude hiding (+ readFile+#if !(MIN_VERSION_base(4,6,0))+, catch+#endif+) import System.IO.UTF8 #endif import Control.Exception (catch, SomeException)
Yst/Render.hs view
@@ -75,20 +75,16 @@ renderNav :: String -> [NavNode] -> String renderNav targeturl nodes = unpack $ renderText $- ul_ [class_ "nav tree"] $ mapM_ (renderNavNode targeturl) nodes+ ul_ [class_ "nav navbar-nav"] $ mapM_ (renderNavNode targeturl) nodes renderNavNode :: String -> NavNode -> Html () renderNavNode targeturl (NavPage tit pageurl) =- li_ [class_ "current" | pageurl == targeturl] (a_ [href_ pageurl'] (toHtml tit))+ li_ [class_ "active" | pageurl == targeturl] (a_ [href_ pageurl'] (toHtml tit)) where targetdir = takeUrlDir targeturl pageurl' = pack $ relUrl targetdir pageurl renderNavNode targeturl (NavMenu tit nodes) = li_ [] $- do a_ [class_ "tree-toggle nav-header"] (toHtml tit)- ul_ [class_ "nav tree"] (mapM_ (renderNavNode targeturl) nodes)- where active = targeturl `isInNavNodes` nodes- isInNavNodes u = any (isInNavNode u)- isInNavNode u (NavPage _ u') = u == u'- isInNavNode u (NavMenu _ ns) = u `isInNavNodes` ns+ do a_ [class_ "dropdown-toggle", data_ "toggle" "dropdown"] (toHtml tit)+ ul_ [class_ "dropdown-menu"] (mapM_ (renderNavNode targeturl) nodes) formatFromExtension :: FilePath -> Format formatFromExtension f = case (map toLower $ takeExtension f) of
Yst/Types.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-orphans #-} {-# LANGUAGE FlexibleInstances, TypeSynonymInstances, CPP #-} {- Copyright (C) 2009 John MacFarlane <jgm@berkeley.edu>@@ -182,5 +183,5 @@ parseAsDate :: (ParseTime t) => String -> Maybe t parseAsDate s = msum $ map (\fs -> parsetimeWith fs s) formats- where parsetimeWith = parseTime defaultTimeLocale+ where parsetimeWith = parseTimeM True defaultTimeLocale formats = ["%x","%m/%d/%Y", "%D","%F", "%d %b %Y"]
changelog view
@@ -1,3 +1,14 @@+yst 0.5.1.2 (released 19 Sep 2017)++ * Update demo style to use Bootstrap's navbar instead of tree+ (Jacob Mitchell).+ * Remove unused code in nav menu rendering (Jacob Mitchell).+ * Fix some warnings (Jacob Mitchell).+ * Make `$nav$` compatible with Bootstrap (Jacob Mitchell).+ * Fixed typo (#45).+ * Allow latest aeson.+ * Allow pandoc 1.19.x.+ yst 0.5.1.1 (released 22 Mar 2016) * Allow pandoc 1.17, aeson 0.11.
demo/files/css/screen.css view
@@ -1,64 +1,9 @@ @import url("hk-pyg.css"); -body { padding: 10px;+body { padding-top: 60px; /* make room for top-fixed navbar */ font-size: 14pt;- font-family: Arial, sans-serif; line-height: 1.4em; } header h1 { font-size: 42pt; } -main { max-width: 46em;- border-left: 1px solid grey; }--nav { margin-top: 1em; }--footer { padding: 1em; color: #888; text-align: center; font-size: 93%; }--.navbar-default { background-color: transparent; border: none; }--/* Tree menus */-.nav-header:after {-content: "\00A0\25BE";-}-li > ul.tree {- padding-left: 10px;-}--/* collapse menu at "small" size rather than phone size */-@media (max-width: 991px) {- .navbar-header {- float: none;- }- .navbar-toggle {- display: block;- }- .navbar-collapse {- border-top: 1px solid transparent;- box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);- }- .navbar-collapse.collapse {- display: none!important;- }- .navbar-nav {- float: none!important;- margin: 7.5px -15px;- }- .navbar-nav>li {- float: none;- }- .navbar-nav>li>a {- padding-top: 10px;- padding-bottom: 10px;- }- .navbar-text {- float: none;- margin: 15px 0;- }- /* since 3.1.0 */- .navbar-collapse.collapse.in {- display: block!important;- }- .collapsing {- overflow: hidden!important;- }-}+footer { padding: 1em; text-align: center; }
demo/layout.html.st view
@@ -10,25 +10,21 @@ <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <link rel="stylesheet"- href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">- <link rel="stylesheet" type="text/css" media="screen"- href="$root$css/screen.css">- <link rel="stylesheet" type="text/css" media="print"- href="$root$css/print.css">+ href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">+ <link rel="stylesheet"+ href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/flatly/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script>- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>+ <script src="$root$js/nav.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="$root$css/screen.css" /> <link rel="stylesheet" type="text/css" media="print" href="$root$css/print.css" /> </head> <body>- <div class="container-fluid">- <header>- <h1>$sitetitle$</h1>- </header>- <div class="row">- <nav id="navbar" class="navbar nav navbar-default col-md-2">+ <div class="container">+ <nav id="navbar" class="navbar navbar-default navbar-fixed-top">+ <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">@@ -41,12 +37,17 @@ <div class="navbar-collapse collapse"> $nav$ </div>- </nav>+ </div>+ </nav>+ <header>+ <h1>$sitetitle$</h1>+ </header>+ <div class="row"> <main role="main" class="col-md-10"> $contents$ </main> </div>- <footer>+ <footer class="text-muted small"> powered by <a href="https://github.com/jgm/yst">yst</a> </footer> </div>
yst.cabal view
@@ -1,5 +1,5 @@ name: yst-version: 0.5.1.1+version: 0.5.1.2 Tested-With: GHC == 7.8.3 Cabal-version: >= 1.8 build-type: Simple@@ -52,12 +52,12 @@ Yst.Render, Yst.Build, Yst.CSV, Yst.Sqlite3, Paths_yst build-depends: base >=3 && < 5, unordered-containers, HStringTemplate >= 0.6.1 && < 0.6.9 || > 0.6.11 && < 0.9,- yaml, csv, aeson >= 0.7 && < 0.12, text,+ yaml, csv, aeson >= 0.7 && < 1.1, text, scientific >= 0.2 && < 0.4, filepath, containers, directory, time, old-locale, old-time, parsec, lucid >= 2.9 && < 2.10,- pandoc >= 1.10 && < 1.18,+ pandoc >= 1.10 && < 1.20, split, HDBC, HDBC-sqlite3 extensions: CPP if impl(ghc >= 6.12)