packages feed

yst 0.5.1.2 → 0.6

raw patch · 3 files changed

+31/−29 lines, 3 filesdep ~aesondep ~pandoc

Dependency ranges changed: aeson, pandoc

Files

Yst/Render.hs view
@@ -29,8 +29,8 @@ import Data.List (intercalate) import Data.List.Split (wordsBy) import Text.StringTemplate-import Data.Text.Lazy (unpack)-import Data.Text (pack)+import qualified Data.Text.Lazy as TL+import qualified Data.Text as T import Data.Maybe (fromMaybe) import System.FilePath -- Note: ghc >= 6.12 (base >=4.2) supports unicode through iconv@@ -42,12 +42,7 @@ #endif import Data.Time import Control.Monad-#if MIN_VERSION_pandoc(1,14,0) import Text.Pandoc.Error (handleError)-#else-handleError :: Pandoc -> Pandoc-handleError = id-#endif  -- | @relUrl a b@ returns a URL for @b@ relative to @a@.  So, for -- example, @relUrl "a" "a/b.html" = "b.html"@,@@ -74,14 +69,14 @@ dropCommon xs ys = (xs,ys)  renderNav :: String -> [NavNode] -> String-renderNav targeturl nodes = unpack $ renderText $+renderNav targeturl nodes = TL.unpack $ renderText $   ul_ [class_ "nav navbar-nav"] $ mapM_ (renderNavNode targeturl) nodes  renderNavNode :: String -> NavNode -> Html () renderNavNode targeturl (NavPage tit pageurl) =   li_ [class_ "active" | pageurl == targeturl] (a_ [href_ pageurl'] (toHtml tit))     where targetdir = takeUrlDir targeturl-          pageurl' = pack $ relUrl targetdir pageurl+          pageurl' = T.pack $ relUrl targetdir pageurl renderNavNode targeturl (NavMenu tit nodes) = li_ [] $     do a_ [class_ "dropdown-toggle", data_ "toggle" "dropdown"] (toHtml tit)        ul_ [class_ "dropdown-menu"] (mapM_ (renderNavNode targeturl) nodes)@@ -110,7 +105,7 @@   gs <- mapM directoryGroupRecursive srcDirs   let g = foldl1 mergeSTGroups gs   attrs <- forM (pageData page) $ \(k, v) -> getData site v >>= \n -> return (k,n)-  todaysDate <- liftM utctDay getCurrentTime+  todaysDate <- liftM utctDay Data.Time.getCurrentTime   let root' = case length (filter (=='/') $ pageUrl page) of                     0  -> []                     n  -> concat $ replicate n ("../" :: String)@@ -126,30 +121,33 @@                     $ templ   layoutTempl <- getTemplate layout g   let format = formatFromExtension (stripStExt layout)-  let contents = converterForFormat format rawContents+  contents <- converterForFormat format (T.pack rawContents)   return $ render          . setManyAttrib attrs          . setAttribute "sitetitle" (siteTitle site)          . setAttribute "pagetitle" (pageTitle page)-         . setAttribute "gendate" todaysDate -         . setAttribute "contents" contents+         . setAttribute "gendate" todaysDate+         . setAttribute "contents" (T.unpack contents)          . setAttribute "root" root'          . setAttribute "nav" menuHtml          $ layoutTempl -converterForFormat :: Format -> String -> String-converterForFormat f =-  let reader = handleError . readMarkdown def{readerSmart = True}-  in  case f of-       HtmlFormat          -> writeHtmlString def{ writerHtml5 = True } . reader-       LaTeXFormat         -> writeLaTeX def . reader-       PlainFormat         -> id-       ConTeXtFormat       -> writeConTeXt def . reader-       ManFormat           -> writeMan def . reader-       RTFFormat           -> writeRTF def . reader-       DocBookFormat       -> writeDocbook def . reader-       TexinfoFormat       -> writeTexinfo def . reader-       OpenDocumentFormat  -> writeOpenDocument def . reader+converterForFormat :: Format -> T.Text -> IO T.Text+converterForFormat PlainFormat s = return s+converterForFormat f s = handleError =<< runIO (reader s >>= writer)+  where wopts name = def{ writerExtensions = getDefaultExtensions name }+        reader = readMarkdown def{ readerExtensions =+                           getDefaultExtensions "markdown" }+        writer = case f of+                   HtmlFormat          -> writeHtml5String (wopts "html5")+                   LaTeXFormat         -> writeLaTeX (wopts "latex")+                   ConTeXtFormat       -> writeConTeXt (wopts "context")+                   ManFormat           -> writeMan (wopts "man")+                   RTFFormat           -> writeRTF (wopts "rtf")+                   DocBookFormat       -> writeDocbook5 (wopts "docbook5")+                   TexinfoFormat       -> writeTexinfo (wopts "texinfo")+                   OpenDocumentFormat  -> writeOpenDocument (wopts "opendocument")+                   PlainFormat         -> error "should not happen"  getTemplate :: Stringable a => String -> STGroup a -> IO (StringTemplate a) getTemplate templateName templateGroup = do
changelog view
@@ -1,3 +1,7 @@+yst 0.6 (released 29 Oct 2017)++  * Update to work with (and require) pandoc 2.0.+ yst 0.5.1.2 (released 19 Sep 2017)    * Update demo style to use Bootstrap's navbar instead of tree
yst.cabal view
@@ -1,5 +1,5 @@ name:                yst-version:             0.5.1.2+version:             0.6 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 && < 1.1, text,+                     yaml, csv, aeson >= 0.7 && < 1.3, text,                      scientific >= 0.2 && < 0.4,                      filepath, containers, directory, time,                      old-locale, old-time, parsec,                      lucid >= 2.9 && < 2.10,-                     pandoc >= 1.10 && < 1.20,+                     pandoc >= 2.0 && < 2.1,                      split, HDBC, HDBC-sqlite3   extensions:        CPP   if impl(ghc >= 6.12)