Sample code for 30+ languages & platforms
DataFlex

Markdown to HTML - Full Document, ChatGPT Theme

See more Markdown Examples

Demonstrates how to convert a complete Markdown document to HTML using the pre-defined "ChatGPT" theme. The "ChatGPT" theme produces a full HTML document including:

  • Document Type Declaration (e.g. <!DOCTYPE html>)
  • Root Element (e.g., <html> )
  • Head Section
  • Enclosing <body> and </body> elements
  • Closing </html> element

The Head Section includes style definitions that display the HTML in a style similar to the ChatGPT app. (How did Chilkat do it? We simply asked ChatGPT to generate CSS that is similar in style to the HTML displayed in the ChatGPT app.)

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Variant vOptions
    Handle hoOptions
    Handle hoSbMarkdown
    Variant vSbHtml
    Handle hoSbHtml
    String sTemp1

    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

    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:
    // 
    // To add code syntax highlighting, see the example at Markdown to HTML - Full Document, ChatGPT Theme with Code Syntax Highlighting

    // image


End_Procedure