!)W ]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\Safe"]^_`abcdefghijklmnopqrstuvwxyz{|}~b5Safe127  cheapskateRendering and parsing options. cheapskate(Sanitize raw HTML, link/image attributes cheapskate)Allow raw HTML (if false it gets escaped) cheapskate'Preserve hard line breaks in the source cheapskate'Print container structure for debugging  cheapskateInline elements. cheapskate"Simple representation of HTML tag.  cheapskate$Attributes for fenced code blocks. "+ is the first word of the attribute line, # is the rest.$ cheapskateBlock-level elements., cheapskate.Structured representation of a document. The ) affect how the document is rendered by toHtml.-   !#"$+*)'&%(,--,-$+*)'&%( !#"  NoneQ cheapskateRender a markdown document as . (This can be turned into a  or  ByteString using a renderer from the  blaze-html library.)QRSQRSSafeMSafeNone?T cheapskate4Parses the input as a markdown document. Note that , is an instance of ToMarkup&, so the document can be converted to Html using toHtml . A simple  to Html filter would be EmarkdownToHtml :: Text -> Html markdownToHtml = toHtml . markdown defTTNoneZ cheapskateApply a transformation bottom-up to every node of a parsed document. This can be used, for example, to transform specially marked code blocks to highlighted code or images. Here is a simple example that promotes the levels of headers: promoteHeaders :: Doc -> Doc promoteHeaders = walk promoteHeader where promoteHeader (Header n ils) = Header (n+1) ils promoteHeader x = x[ cheapskateMonadic version of Z.1  !"#$(%&')*+,-TZ[TZ[Safe      !"#$%&'()**+,-./01234556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijklmnopqrstuvwxyz{|}~)cheapskate-0.1.1.2-GHDt1kcDjAPEXqf9q9dD02 CheapskateCheapskate.TypesCheapskate.HtmlCheapskate.ParseCheapskate.ParserCombinatorsCheapskate.UtilCheapskate.InlinesPaths_cheapskate1data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQData.Default.ClassdefOptionssanitize allowRawHtmlpreserveHardBreaksdebug ReferenceMapInlinesInlineStrSpace SoftBreak LineBreakEmphStrongCodeLinkImageEntityRawHtmlBlocks HtmlTagTypeOpeningClosing SelfClosing NumWrapperPeriodFollowingParenFollowingListTypeBulletNumberedCodeAttrcodeLangcodeInfoBlockParaHeader BlockquoteList CodeBlock HtmlBlockHRuleDoc$fNFDataCodeAttr$fNFDataNumWrapper$fNFDataListType$fNFDataHtmlTagType$fNFDataInline $fNFDataBlock$fNFDataOptions$fDefaultOptions $fNFDataDoc$fShowCodeAttr$fDataCodeAttr$fEqNumWrapper$fShowNumWrapper$fDataNumWrapper $fEqListType$fShowListType$fDataListType$fShowHtmlTagType$fDataHtmlTagType $fShowInline $fDataInline $fShowBlock $fDataBlock $fShowOptions $fDataOptions $fShowDoc $fDataDoc$fGenericOptions$fGenericInline$fGenericHtmlTagType$fGenericNumWrapper$fGenericListType$fGenericCodeAttr$fGenericBlock $fGenericDoc renderDoc renderBlocks renderInlinesmarkdown$fShowContainer$fEqContainerType$fShowContainerType $fShowLeaf $fShowEltwalkwalkM $fToMarkupDocParserPositionlinecolumnparsesatisfypeekChar peekLastCharnotAfterinClass notInClass endOfInputcharanyChar getPosition setPosition takeWhiletakeTill takeWhile1takeTextskip skipWhilestringscan lookAhead notFollowedByoptionmany1manyTillskipMany skipMany1count)blaze-html-0.9.1.2-J20JWCD2FKk8MCNGBN7MhEText.Blaze.HtmlHtml text-1.2.3.1Data.Text.InternalTextScanner joinLines tabFilter isWhitespace isEscapablenormalizeReferencescanIndentSpacescanSpacesToColumnscanNonindentSpacescanChar scanBlankline scanSpacesscanSpnlnfbnfbCharupToCountCharspHtmlTag pLinkLabel pReference parseInlinesversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName