Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Rel = Rel {}
- data UnresolvedRelTarget
- type RelIxs = '[LMLRoute, UnresolvedRelTarget]
- type IxRel = IxSet RelIxs Rel
- relTo :: Lens' Rel UnresolvedRelTarget
- relFrom :: Lens' Rel LMLRoute
- relCtx :: Lens' Rel [Block]
- noteRels :: Note -> IxRel
- unresolvedRelsTo :: ModelRoute -> [UnresolvedRelTarget]
- parseUnresolvedRelTarget :: Maybe (R 'Folder) -> [(Text, Text)] -> Text -> Maybe (UnresolvedRelTarget, Maybe Anchor)
- relocateRelUrlUnder :: Maybe FilePath -> FilePath -> FilePath
- normalizeIgnoringSymlinks :: FilePath -> FilePath
- dropDotDot :: FilePath -> FilePath
- data ResolvedRelTarget a
- = RRTMissing
- | RRTAmbiguous (NonEmpty a)
- | RRTFound a
- resolvedRelTargetFromCandidates :: [a] -> ResolvedRelTarget a
Documentation
A relation from one note to anywhere in the model.
Target will remain unresolved in the Rel
, and can be resolved at a latter
time (eg: during rendering).
data UnresolvedRelTarget Source #
A link target that has not been resolved (using model) yet.
Resolving this may or may not result in a resource in the model. The ADT constructors capture the different possible types of links the user is allowed to link to.
Instances
type RelIxs = '[LMLRoute, UnresolvedRelTarget] Source #
parseUnresolvedRelTarget :: Maybe (R 'Folder) -> [(Text, Text)] -> Text -> Maybe (UnresolvedRelTarget, Maybe Anchor) Source #
Parse a relative URL string for later resolution.
TODO: Need tests for this function.
dropDotDot :: FilePath -> FilePath Source #
data ResolvedRelTarget a Source #
An UnresolvedRelTarget
that has been resolved.
See Model.Link.Resolve
for actual resolution logic.
Instances
resolvedRelTargetFromCandidates :: [a] -> ResolvedRelTarget a Source #