packages feed

pandoc-link-context 1.4.0.0 → 1.4.1.0

raw patch · 4 files changed

+41/−32 lines, 4 filesdep ~basesetup-changedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for pandoc-link-context +## 1.4.1.0++- Relax `base` version constraint+ ## 1.4.0.0  - Remove definition list handling. Fixes https://github.com/srid/emanote/issues/275
Setup.hs view
@@ -1,2 +1,3 @@ import Distribution.Simple+ main = defaultMain
@@ -1,8 +1,10 @@ cabal-version:      2.2 name:               pandoc-link-context-version:            1.4.0.0+version:            1.4.1.0 synopsis:           Extract "contextual links" from Pandoc-description:        A library to pull out all links with their surrounding context in your Pandoc documents. Useful for software dealing with wiki-links and Zettelkasten.+description:+  A library to pull out all links with their surrounding context in your Pandoc documents. Useful for software dealing with wiki-links and Zettelkasten.+ category:           Text license:            BSD-3-Clause license-file:       LICENSE@@ -16,7 +18,7 @@   hs-source-dirs:     src   exposed-modules:    Text.Pandoc.LinkContext   build-depends:-      base >=4.12 && < 4.17+    , base          >=4.12    && <4.99.0.0.0     , containers     , pandoc-types     , relude        >=0.7.0.0@@ -29,11 +31,12 @@   default-extensions:     FlexibleContexts     FlexibleInstances+    ImportQualifiedPost     LambdaCase     OverloadedStrings-      RecordWildCards-      ScopedTypeVariables-      TupleSections+    RecordWildCards+    ScopedTypeVariables+    TupleSections     TypeApplications     ViewPatterns 
src/Text/Pandoc/LinkContext.hs view
@@ -1,47 +1,48 @@ module Text.Pandoc.LinkContext (queryLinksWithContext) where  import Data.List (nub)-import qualified Data.Map.Strict as Map-import qualified Text.Pandoc.Builder as B+import Data.Map.Strict qualified as Map+import Text.Pandoc.Builder qualified as B import Text.Pandoc.Definition (Block, Inline (Link), Pandoc (..))-import qualified Text.Pandoc.Walk as W+import Text.Pandoc.Walk qualified as W  type Url = Text  -- | Attributes other than id and class type OtherAttr = (Text, Text) --- | Query the pandoc document for all links------ Return a map, containing the "surrounding context" (as Pandoc blocks) for--- each link.+{- | Query the pandoc document for all links++ Return a map, containing the "surrounding context" (as Pandoc blocks) for+ each link.+-} queryLinksWithContext :: Pandoc -> Map Url (NonEmpty ([OtherAttr], [Block])) queryLinksWithContext =-  fmap (fmap $ second nub)-    . Map.fromListWith (<>)-    . W.query go+    fmap (fmap $ second nub)+        . Map.fromListWith (<>)+        . W.query go   where     go :: Block -> [(Url, NonEmpty ([OtherAttr], [Block]))]     go blk =-      fmap (\(url, attr) -> (url, one (attr, [blk]))) $ case blk of-        B.Para is ->-          queryLinkUrls is-        B.Plain is ->-          queryLinkUrls is-        B.LineBlock is ->-          queryLinkUrls is-        B.Header _ _ is ->-          queryLinkUrls is-        _ -> mempty+        fmap (\(url, attr) -> (url, one (attr, [blk]))) $ case blk of+            B.Para is ->+                queryLinkUrls is+            B.Plain is ->+                queryLinkUrls is+            B.LineBlock is ->+                queryLinkUrls is+            B.Header _ _ is ->+                queryLinkUrls is+            _ -> mempty      queryLinkUrls :: W.Walkable Inline b => b -> [(Url, [OtherAttr])]     queryLinkUrls =-      W.query (maybeToList . getLinkUrl)+        W.query (maybeToList . getLinkUrl)      getLinkUrl :: Inline -> Maybe (Url, [OtherAttr])     getLinkUrl = \case-      Link (_, _, attrs) _inlines (url, title) -> do-        -- Put title in attrs, as it *is* an attribute-        pure (url, ("title", title) : attrs)-      _ ->-        Nothing+        Link (_, _, attrs) _inlines (url, title) -> do+            -- Put title in attrs, as it *is* an attribute+            pure (url, ("title", title) : attrs)+        _ ->+            Nothing