emanote-1.0.2.0: Emanate a structured view of your plain-text notes
Safe HaskellSafe-Inferred
LanguageHaskell2010

Emanote.Model.Link.Rel

Synopsis

Documentation

data Rel Source #

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).

Constructors

Rel 

Fields

Instances

Instances details
Show Rel Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Methods

showsPrec :: Int -> Rel -> ShowS #

show :: Rel -> String #

showList :: [Rel] -> ShowS #

Eq Rel Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Methods

(==) :: Rel -> Rel -> Bool #

(/=) :: Rel -> Rel -> Bool #

Ord Rel Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Methods

compare :: Rel -> Rel -> Ordering #

(<) :: Rel -> Rel -> Bool #

(<=) :: Rel -> Rel -> Bool #

(>) :: Rel -> Rel -> Bool #

(>=) :: Rel -> Rel -> Bool #

max :: Rel -> Rel -> Rel #

min :: Rel -> Rel -> Rel #

Indexable RelIxs Rel Source # 
Instance details

Defined in Emanote.Model.Link.Rel

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

Instances details
ToJSON UnresolvedRelTarget Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Generic UnresolvedRelTarget Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Associated Types

type Rep UnresolvedRelTarget :: Type -> Type #

Show UnresolvedRelTarget Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Eq UnresolvedRelTarget Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Ord UnresolvedRelTarget Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Indexable RelIxs Rel Source # 
Instance details

Defined in Emanote.Model.Link.Rel

type Rep UnresolvedRelTarget Source # 
Instance details

Defined in Emanote.Model.Link.Rel

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.

normalizeIgnoringSymlinks :: FilePath -> FilePath Source #

Like normalise but also normalises '..'

data ResolvedRelTarget a Source #

An UnresolvedRelTarget that has been resolved.

See Model.Link.Resolve for actual resolution logic.

Instances

Instances details
Functor ResolvedRelTarget Source # 
Instance details

Defined in Emanote.Model.Link.Rel

ToJSON a => ToJSON (ResolvedRelTarget a) Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Generic (ResolvedRelTarget a) Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Associated Types

type Rep (ResolvedRelTarget a) :: Type -> Type #

Show a => Show (ResolvedRelTarget a) Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Eq a => Eq (ResolvedRelTarget a) Source # 
Instance details

Defined in Emanote.Model.Link.Rel

Ord a => Ord (ResolvedRelTarget a) Source # 
Instance details

Defined in Emanote.Model.Link.Rel

type Rep (ResolvedRelTarget a) Source # 
Instance details

Defined in Emanote.Model.Link.Rel

type Rep (ResolvedRelTarget a) = D1 ('MetaData "ResolvedRelTarget" "Emanote.Model.Link.Rel" "emanote-1.0.2.0-inplace" 'False) (C1 ('MetaCons "RRTMissing" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RRTAmbiguous" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty a))) :+: C1 ('MetaCons "RRTFound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))