From b17c20d980f27ca703ca1331964150913975f590 Mon Sep 17 00:00:00 2001 From: Dmitry Zuikov Date: Fri, 29 Mar 2024 08:16:09 +0300 Subject: [PATCH] wip --- hbs2-fixer/hbs2-fixer.cabal | 1 - .../lib/HBS2/Git/Oracle/Html.hs | 25 ++++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/hbs2-fixer/hbs2-fixer.cabal b/hbs2-fixer/hbs2-fixer.cabal index bba3210d..0f64d55c 100644 --- a/hbs2-fixer/hbs2-fixer.cabal +++ b/hbs2-fixer/hbs2-fixer.cabal @@ -68,7 +68,6 @@ common shared-properties , streaming , streaming-bytestring , streaming-commons - , streaming-utils , cryptonite , directory , exceptions diff --git a/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Html.hs b/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Html.hs index e7dbc2f0..d60b18a9 100644 --- a/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Html.hs +++ b/hbs2-git/hbs2-git-oracle/lib/HBS2/Git/Oracle/Html.hs @@ -5,13 +5,27 @@ import HBS2.Git.Oracle.State import Data.HashMap.Strict (HashMap) -import Lucid (Html,HtmlT,toHtml,renderBS) +import Lucid (Html,HtmlT,toHtml,toHtmlRaw,renderBS) import Lucid.Html5 hiding (for_) import Data.Text (Text) import Data.Text qualified as Text import Data.ByteString.Lazy -import Control.Monad.Identity +import Text.Pandoc +import Text.Pandoc.Error (handleError) + + +markdownToHtml :: Text -> Either PandocError String +markdownToHtml markdown = runPure $ do + doc <- readMarkdown def {readerExtensions = pandocExtensions} markdown + html <- writeHtml5String def {writerExtensions = pandocExtensions} doc + return $ Text.unpack html + +renderMarkdown :: Text -> Html () +renderMarkdown markdown = case markdownToHtml markdown of + Left{} -> mempty + Right html -> toHtmlRaw $ Text.pack html + renderEntries :: Monad m => HashMap Text Text -> [(HashVal, Text, Text)] -> m ByteString renderEntries _ items = pure $ renderBS do @@ -25,8 +39,7 @@ renderEntries _ items = pure $ renderBS do when ( Text.length n > 2) do h3_ [class_ "repo-name"] (toHtml (show $ pretty n)) - span_ [class_ "repo-reference"] (toHtml (show $ pretty h)) - - -- td_ (toHtml (show $ pretty n)) - -- td_ (toHtml (show $ pretty b)) + div_ [class_ "repo-reference"] (toHtml (show $ pretty h)) + div_ [class_ "repo-brief"] do + renderMarkdown b