-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Bindings to the sundown markdown library
--   
--   Bindings to GitHub's C markdown library:
--   <a>https://github.com/vmg/sundown</a>.
--   
--   The Haskell code is in the public domain. For sundown's license, refer
--   to its GitHub page.
@package sundown
@version 0.6


-- | Bindings to the github fork of the sundown library - previously known
--   as upskirt: <a>https://github.com/tanoku/sundown</a>
--   
--   To actually get output, you have to use one of the
--   <tt>Text.Sundown.Html</tt> modules:
--   
--   <ul>
--   <li><a>Text.Sundown.Html.String</a></li>
--   <li><a>Text.Sundown.Html.Text</a></li>
--   <li><a>Text.Sundown.Html.ByteString</a></li>
--   </ul>
--   
--   Example usage:
--   
--   <pre>
--   import Text.Sundown.Renderers.Html.String
--   import System (getArgs)
--   import Control.Monad (liftM)
--   
--   main :: IO ()
--   main = do
--     input &lt;- liftM (!! 0) getArgs &gt;&gt;= readFile
--     putStrLn $ renderHtml input allExtensions noHtmlModes Nothing
--   </pre>
module Text.Sundown

-- | A set of switches to enable or disable markdown features.
data Extensions
Extensions :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Extensions

-- | Turn off underscores insode a word does designating emphasis.
[extNoIntraEmphasis] :: Extensions -> Bool
[extTables] :: Extensions -> Bool

-- | Turns on a non-indentation form of code-blocks, by blocking off a
--   regionwith ~ or `.
[extFencedCode] :: Extensions -> Bool

-- | Turn things that look like URLs and email addresses into links
[extAutolink] :: Extensions -> Bool

-- | Surround text with `~` to designate it as struck through
[extStrikethrough] :: Extensions -> Bool
[extSpaceHeaders] :: Extensions -> Bool
[extSuperscript] :: Extensions -> Bool

-- | Allow blocks inside of paragraphs, instead requireing tags to be on
--   separate lines
[extLaxSpacing] :: Extensions -> Bool

-- | All <a>Extensions</a> disabled
noExtensions :: Extensions

-- | All <a>Extensions</a> enabled
allExtensions :: Extensions


-- | sanely. Use <a>Text.Sundown.Html.String</a> or
--   <a>Text.Sundown.Html.Text</a> so that you won't have to worry about
--   text encoding.
--   
--   If you really want to use <a>ByteString</a>s directly, make sure that
--   they are UTF-8.
module Text.Sundown.Html.ByteString

-- | Parses a <a>ByteString</a> containing the markdown, returns the Html
--   code.
renderHtml :: Extensions -> HtmlRenderMode -> Bool -> Maybe Int -> ByteString -> ByteString

-- | Converts punctuation in Html entities,
--   <a>http://daringfireball.net/projects/smartypants/</a>
smartypants :: ByteString -> ByteString

-- | A set of switches to enable or disable markdown features.
data Extensions
Extensions :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Extensions

-- | Turn off underscores insode a word does designating emphasis.
[extNoIntraEmphasis] :: Extensions -> Bool
[extTables] :: Extensions -> Bool

-- | Turns on a non-indentation form of code-blocks, by blocking off a
--   regionwith ~ or `.
[extFencedCode] :: Extensions -> Bool

-- | Turn things that look like URLs and email addresses into links
[extAutolink] :: Extensions -> Bool

-- | Surround text with `~` to designate it as struck through
[extStrikethrough] :: Extensions -> Bool
[extSpaceHeaders] :: Extensions -> Bool
[extSuperscript] :: Extensions -> Bool

-- | Allow blocks inside of paragraphs, instead requireing tags to be on
--   separate lines
[extLaxSpacing] :: Extensions -> Bool

-- | All <a>Extensions</a> enabled
allExtensions :: Extensions

-- | All <a>Extensions</a> disabled
noExtensions :: Extensions
data HtmlRenderMode
HtmlRenderMode :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> HtmlRenderMode

-- | Drop in-line HTML tags from the output
[htmlSkipHtml] :: HtmlRenderMode -> Bool

-- | Don't add any style tags to the output
[htmlSkipStyle] :: HtmlRenderMode -> Bool

-- | Don't include images in the output
[htmlSkipImages] :: HtmlRenderMode -> Bool

-- | Don't include links in the output
[htmlSkipLinks] :: HtmlRenderMode -> Bool
[htmlExpandTabs] :: HtmlRenderMode -> Bool

-- | Sanity check links for known URL schemes
[htmlSafelink] :: HtmlRenderMode -> Bool

-- | Include a table of contents in the output
[htmlToc] :: HtmlRenderMode -> Bool
[htmlHardWrap] :: HtmlRenderMode -> Bool

-- | Produce XHTML output instead of HTML
[htmlUseXhtml] :: HtmlRenderMode -> Bool
[htmlEscape] :: HtmlRenderMode -> Bool

-- | All the <a>HtmlRenderMode</a> disabled
noHtmlModes :: HtmlRenderMode

-- | All the <a>HtmlRenderMode</a> enabled
allHtmlModes :: HtmlRenderMode


-- | Module exposing a generic class to convert to/from UTF8
--   <a>ByteString</a>s, and the corresponding generic markdown functions.
module Text.Sundown.Html

-- | Parses markdown, returns the Html.
renderHtml :: (ToBS a, FromBS b) => Extensions -> HtmlRenderMode -> Bool -> Maybe Int -> a -> b
smartypants :: (ToBS a, FromBS b) => a -> b

-- | Converts something to an UTF8 <a>ByteString</a>.
class ToBS a
toBS :: ToBS a => a -> ByteString

-- | Converts an UTF8 <a>ByteString</a> to something.
class FromBS a
fromBS :: FromBS a => ByteString -> a

-- | A set of switches to enable or disable markdown features.
data Extensions
Extensions :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Extensions

-- | Turn off underscores insode a word does designating emphasis.
[extNoIntraEmphasis] :: Extensions -> Bool
[extTables] :: Extensions -> Bool

-- | Turns on a non-indentation form of code-blocks, by blocking off a
--   regionwith ~ or `.
[extFencedCode] :: Extensions -> Bool

-- | Turn things that look like URLs and email addresses into links
[extAutolink] :: Extensions -> Bool

-- | Surround text with `~` to designate it as struck through
[extStrikethrough] :: Extensions -> Bool
[extSpaceHeaders] :: Extensions -> Bool
[extSuperscript] :: Extensions -> Bool

-- | Allow blocks inside of paragraphs, instead requireing tags to be on
--   separate lines
[extLaxSpacing] :: Extensions -> Bool

-- | All <a>Extensions</a> enabled
allExtensions :: Extensions

-- | All <a>Extensions</a> disabled
noExtensions :: Extensions
data HtmlRenderMode
HtmlRenderMode :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> HtmlRenderMode

-- | Drop in-line HTML tags from the output
[htmlSkipHtml] :: HtmlRenderMode -> Bool

-- | Don't add any style tags to the output
[htmlSkipStyle] :: HtmlRenderMode -> Bool

-- | Don't include images in the output
[htmlSkipImages] :: HtmlRenderMode -> Bool

-- | Don't include links in the output
[htmlSkipLinks] :: HtmlRenderMode -> Bool
[htmlExpandTabs] :: HtmlRenderMode -> Bool

-- | Sanity check links for known URL schemes
[htmlSafelink] :: HtmlRenderMode -> Bool

-- | Include a table of contents in the output
[htmlToc] :: HtmlRenderMode -> Bool
[htmlHardWrap] :: HtmlRenderMode -> Bool

-- | Produce XHTML output instead of HTML
[htmlUseXhtml] :: HtmlRenderMode -> Bool
[htmlEscape] :: HtmlRenderMode -> Bool

-- | All the <a>HtmlRenderMode</a> disabled
noHtmlModes :: HtmlRenderMode

-- | All the <a>HtmlRenderMode</a> enabled
allHtmlModes :: HtmlRenderMode
instance Text.Sundown.Html.FromBS Data.ByteString.Internal.ByteString
instance Text.Sundown.Html.FromBS [GHC.Types.Char]
instance Text.Sundown.Html.FromBS Data.Text.Internal.Text
instance Text.Sundown.Html.ToBS Data.ByteString.Internal.ByteString
instance Text.Sundown.Html.ToBS [GHC.Types.Char]
instance Text.Sundown.Html.ToBS Data.Text.Internal.Text

module Text.Sundown.Html.String

-- | Parses a <a>String</a> containing the markdown, returns the Html code.
renderHtml :: Extensions -> HtmlRenderMode -> Bool -> Maybe Int -> String -> String

-- | Converts punctuation in Html entities,
--   <a>http://daringfireball.net/projects/smartypants/</a>
smartypants :: String -> String

-- | A set of switches to enable or disable markdown features.
data Extensions
Extensions :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Extensions

-- | Turn off underscores insode a word does designating emphasis.
[extNoIntraEmphasis] :: Extensions -> Bool
[extTables] :: Extensions -> Bool

-- | Turns on a non-indentation form of code-blocks, by blocking off a
--   regionwith ~ or `.
[extFencedCode] :: Extensions -> Bool

-- | Turn things that look like URLs and email addresses into links
[extAutolink] :: Extensions -> Bool

-- | Surround text with `~` to designate it as struck through
[extStrikethrough] :: Extensions -> Bool
[extSpaceHeaders] :: Extensions -> Bool
[extSuperscript] :: Extensions -> Bool

-- | Allow blocks inside of paragraphs, instead requireing tags to be on
--   separate lines
[extLaxSpacing] :: Extensions -> Bool

-- | All <a>Extensions</a> enabled
allExtensions :: Extensions

-- | All <a>Extensions</a> disabled
noExtensions :: Extensions
data HtmlRenderMode
HtmlRenderMode :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> HtmlRenderMode

-- | Drop in-line HTML tags from the output
[htmlSkipHtml] :: HtmlRenderMode -> Bool

-- | Don't add any style tags to the output
[htmlSkipStyle] :: HtmlRenderMode -> Bool

-- | Don't include images in the output
[htmlSkipImages] :: HtmlRenderMode -> Bool

-- | Don't include links in the output
[htmlSkipLinks] :: HtmlRenderMode -> Bool
[htmlExpandTabs] :: HtmlRenderMode -> Bool

-- | Sanity check links for known URL schemes
[htmlSafelink] :: HtmlRenderMode -> Bool

-- | Include a table of contents in the output
[htmlToc] :: HtmlRenderMode -> Bool
[htmlHardWrap] :: HtmlRenderMode -> Bool

-- | Produce XHTML output instead of HTML
[htmlUseXhtml] :: HtmlRenderMode -> Bool
[htmlEscape] :: HtmlRenderMode -> Bool

-- | All the <a>HtmlRenderMode</a> disabled
noHtmlModes :: HtmlRenderMode

-- | All the <a>HtmlRenderMode</a> enabled
allHtmlModes :: HtmlRenderMode

module Text.Sundown.Html.Text

-- | Parses a <a>Text</a> containing the markdown, returns the Html code.
renderHtml :: Extensions -> HtmlRenderMode -> Bool -> Maybe Int -> Text -> Text

-- | Converts punctuation in Html entities,
--   <a>http://daringfireball.net/projects/smartypants/</a>
smartypants :: Text -> Text

-- | A set of switches to enable or disable markdown features.
data Extensions
Extensions :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Extensions

-- | Turn off underscores insode a word does designating emphasis.
[extNoIntraEmphasis] :: Extensions -> Bool
[extTables] :: Extensions -> Bool

-- | Turns on a non-indentation form of code-blocks, by blocking off a
--   regionwith ~ or `.
[extFencedCode] :: Extensions -> Bool

-- | Turn things that look like URLs and email addresses into links
[extAutolink] :: Extensions -> Bool

-- | Surround text with `~` to designate it as struck through
[extStrikethrough] :: Extensions -> Bool
[extSpaceHeaders] :: Extensions -> Bool
[extSuperscript] :: Extensions -> Bool

-- | Allow blocks inside of paragraphs, instead requireing tags to be on
--   separate lines
[extLaxSpacing] :: Extensions -> Bool

-- | All <a>Extensions</a> enabled
allExtensions :: Extensions

-- | All <a>Extensions</a> disabled
noExtensions :: Extensions
data HtmlRenderMode
HtmlRenderMode :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> HtmlRenderMode

-- | Drop in-line HTML tags from the output
[htmlSkipHtml] :: HtmlRenderMode -> Bool

-- | Don't add any style tags to the output
[htmlSkipStyle] :: HtmlRenderMode -> Bool

-- | Don't include images in the output
[htmlSkipImages] :: HtmlRenderMode -> Bool

-- | Don't include links in the output
[htmlSkipLinks] :: HtmlRenderMode -> Bool
[htmlExpandTabs] :: HtmlRenderMode -> Bool

-- | Sanity check links for known URL schemes
[htmlSafelink] :: HtmlRenderMode -> Bool

-- | Include a table of contents in the output
[htmlToc] :: HtmlRenderMode -> Bool
[htmlHardWrap] :: HtmlRenderMode -> Bool

-- | Produce XHTML output instead of HTML
[htmlUseXhtml] :: HtmlRenderMode -> Bool
[htmlEscape] :: HtmlRenderMode -> Bool

-- | All the <a>HtmlRenderMode</a> disabled
noHtmlModes :: HtmlRenderMode

-- | All the <a>HtmlRenderMode</a> enabled
allHtmlModes :: HtmlRenderMode
