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

Emanote.Route.Ext

Synopsis

Documentation

data SourceExt Source #

Constructors

SourceExt 

Instances

Instances details
ToJSON SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

Data SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceExt -> c SourceExt #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceExt #

toConstr :: SourceExt -> Constr #

dataTypeOf :: SourceExt -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceExt) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceExt) #

gmapT :: (forall b. Data b => b -> b) -> SourceExt -> SourceExt #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceExt -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceExt -> r #

gmapQ :: (forall d. Data d => d -> u) -> SourceExt -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceExt -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceExt -> m SourceExt #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceExt -> m SourceExt #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceExt -> m SourceExt #

Generic SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

Associated Types

type Rep SourceExt :: Type -> Type #

Read SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

Show SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

Eq SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

Ord SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt 'AnyExt Source #

The AnyExt instance ignores explicitly dealing with extensions, expecting the user to explicitly encode the extension in their value tpye.

Instance details

Defined in Emanote.Route.Ext

HasExt 'HeistTpl Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt 'Yaml Source # 
Instance details

Defined in Emanote.Route.Ext

Indexable SDataIxs SData Source # 
Instance details

Defined in Emanote.Model.SData

Indexable StaticFileIxs StaticFile Source # 
Instance details

Defined in Emanote.Model.StaticFile

HasExt ('LMLType 'Md) Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt ('LMLType 'Org) Source # 
Instance details

Defined in Emanote.Route.Ext

type Rep SourceExt Source # 
Instance details

Defined in Emanote.Route.Ext

type Rep SourceExt = D1 ('MetaData "SourceExt" "Emanote.Route.Ext" "emanote-1.0.2.0-inplace" 'False) (C1 ('MetaCons "SourceExt" 'PrefixI 'False) (U1 :: Type -> Type))

data FileType a where Source #

Constructors

LMLType :: LML -> FileType SourceExt 
Yaml :: FileType SourceExt 
HeistTpl :: FileType SourceExt 
AnyExt :: FileType SourceExt

AnyExt has no *known* (at compile time) extension. It is used as a "catch all" type to capture files using an arbitrary.

Html :: FileType () 
Folder :: FileType () 

Instances

Instances details
Eq a => Eq (FileType a) Source # 
Instance details

Defined in Emanote.Route.Ext

Methods

(==) :: FileType a -> FileType a -> Bool #

(/=) :: FileType a -> FileType a -> Bool #

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

Defined in Emanote.Route.Ext

Methods

compare :: FileType a -> FileType a -> Ordering #

(<) :: FileType a -> FileType a -> Bool #

(<=) :: FileType a -> FileType a -> Bool #

(>) :: FileType a -> FileType a -> Bool #

(>=) :: FileType a -> FileType a -> Bool #

max :: FileType a -> FileType a -> FileType a #

min :: FileType a -> FileType a -> FileType a #

data LML Source #

A lightweight markup language

https://en.wikipedia.org/wiki/Lightweight_markup_language

This type exists simply because we may support more formats (eg: org-mode) in the future.

Constructors

Md 
Org 

Instances

Instances details
ToJSON LML Source # 
Instance details

Defined in Emanote.Route.Ext

Data LML Source # 
Instance details

Defined in Emanote.Route.Ext

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LML -> c LML #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LML #

toConstr :: LML -> Constr #

dataTypeOf :: LML -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LML) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LML) #

gmapT :: (forall b. Data b => b -> b) -> LML -> LML #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LML -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LML -> r #

gmapQ :: (forall d. Data d => d -> u) -> LML -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LML -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LML -> m LML #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LML -> m LML #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LML -> m LML #

Bounded LML Source # 
Instance details

Defined in Emanote.Route.Ext

Methods

minBound :: LML #

maxBound :: LML #

Enum LML Source # 
Instance details

Defined in Emanote.Route.Ext

Methods

succ :: LML -> LML #

pred :: LML -> LML #

toEnum :: Int -> LML #

fromEnum :: LML -> Int #

enumFrom :: LML -> [LML] #

enumFromThen :: LML -> LML -> [LML] #

enumFromTo :: LML -> LML -> [LML] #

enumFromThenTo :: LML -> LML -> LML -> [LML] #

Generic LML Source # 
Instance details

Defined in Emanote.Route.Ext

Associated Types

type Rep LML :: Type -> Type #

Methods

from :: LML -> Rep LML x #

to :: Rep LML x -> LML #

Eq LML Source # 
Instance details

Defined in Emanote.Route.Ext

Methods

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

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

Ord LML Source # 
Instance details

Defined in Emanote.Route.Ext

Methods

compare :: LML -> LML -> Ordering #

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

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

(>) :: LML -> LML -> Bool #

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

max :: LML -> LML -> LML #

min :: LML -> LML -> LML #

type Rep LML Source # 
Instance details

Defined in Emanote.Route.Ext

type Rep LML = D1 ('MetaData "LML" "Emanote.Route.Ext" "emanote-1.0.2.0-inplace" 'False) (C1 ('MetaCons "Md" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Org" 'PrefixI 'False) (U1 :: Type -> Type))

class HasExt (ext :: FileType a) where Source #

The HasExt class's responsibility is to allow dealing with basepath sans extension (and vice-versa).

Methods

fileType :: FileType a Source #

withExt :: FilePath -> FilePath Source #

Return the filepath with the known extension.

withoutKnownExt :: FilePath -> Maybe FilePath Source #

Return the filepath without the known extension.

Instances

Instances details
HasExt 'AnyExt Source #

The AnyExt instance ignores explicitly dealing with extensions, expecting the user to explicitly encode the extension in their value tpye.

Instance details

Defined in Emanote.Route.Ext

HasExt 'HeistTpl Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt 'Yaml Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt 'Folder Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt 'Html Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt ('LMLType 'Md) Source # 
Instance details

Defined in Emanote.Route.Ext

HasExt ('LMLType 'Org) Source # 
Instance details

Defined in Emanote.Route.Ext