-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Documentation types library.
--
-- Currently, this package defines classes for types that represents
-- documentation.
--
-- The point of this library is to make possible write documentation in a
-- general format, and later, render it in a desired concrete format.
--
-- At the moment, only Html format are supported by default, but you can
-- add new instances.
@package Docs
@version 1.0.0
-- | Classes for Documentable types.
module Text.Docs.Class
-- | Class for types that represents a documentation text. Minimal complete
-- definition: All except lnappend.
--
-- Every instance of Documentable class can be an instance of
-- Monoid class.
class Documentable a
text :: Documentable a => String -> a
code :: Documentable a => String -> a
codeblock :: Documentable a => String -> a
emphasize :: Documentable a => a -> a
dappend :: Documentable a => a -> a -> a
lnappend :: Documentable a => a -> a -> a
renderdoc :: Documentable a => a -> String
-- | An empty documentation.
emptydoc :: Documentable a => a
-- | Documentable version of unlines.
dunlines :: Documentable a => [a] -> a
-- | Documentable types with titles.
class Documentable a => DocTitled a
title :: DocTitled a => a -> a
subtitle :: DocTitled a => a -> a
-- | Documentable types with links.
class Documentable a => DocLinked a
url :: DocLinked a => String -> a
nameurl :: DocLinked a => String -> String -> a
-- | Documentable types with lists.
class Documentable a => DocList a
ulist :: DocList a => [a] -> a
elist :: DocList a => [a] -> a
instance DocList Html
instance DocLinked Html
instance DocTitled Html
instance Documentable Html