DataFlex
DataFlex
Markdown to HTML - Full Document, ChatGPT Theme with Code Syntax Highlighting
See more Markdown Examples
Demonstrates how to convert a complete Markdown document to HTML using the pre-defined "ChatGPT" theme but also with Cloudfare Prism's code syntax highlighting.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vOptions
Handle hoOptions
Handle hoSbMarkdown
Variant vSbHtml
Handle hoSbHtml
String sTemp1
Move False To iSuccess
Move False To iSuccess
// Select the pre-defined "ChatGPT" style.
Get Create (RefClass(cComChilkatJsonObject)) To hoOptions
If (Not(IsComObjectCreated(hoOptions))) Begin
Send CreateComObject of hoOptions
End
Get ComUpdateString Of hoOptions "theme" "ChatGPT" To iSuccess
// We can also set an option for the max-width, which by default is "72ch".
Get ComUpdateString Of hoOptions "ChatGPT.max-width" "120ch" To iSuccess
// We can add extra content to the bottom of the HTML head and body sections like this:
// Here we are using the "tomorrow" theme.
Get ComUpdateString Of hoOptions "extraHead" '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" />' To iSuccess
Get ComUpdateString Of hoOptions "extraBody" '<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script><script src ="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js"></script>' To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbMarkdown
If (Not(IsComObjectCreated(hoSbMarkdown))) Begin
Send CreateComObject of hoSbMarkdown
End
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbHtml
If (Not(IsComObjectCreated(hoSbHtml))) Begin
Send CreateComObject of hoSbHtml
End
Get ComLoadFile Of hoSbMarkdown "qa_data/markdown/test1.md" "utf-8" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSbMarkdown To sTemp1
Showln sTemp1
Procedure_Return
End
Get pvComObject of hoOptions to vOptions
Get pvComObject of hoSbHtml to vSbHtml
Get ComMarkdownToHtml Of hoSbMarkdown vOptions vSbHtml To iSuccess
Get ComToCRLF Of hoSbHtml To iSuccess
Get ComGetAsString Of hoSbHtml To sTemp1
Showln sTemp1
// The sample markdown input for this example is identical to the one at Markdown to HTML - Full Document, Raw, where you can view it.
// Sample HTML output as viewed in a browser:
//
End_Procedure