Sample code for 30+ languages & platforms
Xojo Plugin

Markdown to HTML - Full Document, Custom Theme with Code Syntax Highlighting

See more Markdown Examples

Demonstrates how to convert a complete Markdown document to HTML using your own custom theme with Cloudfare Prism's code syntax highlighting.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

success = False

Dim options As New Chilkat.JsonObject

// Instead of specifying a "theme", provide values for the HTML document parts.

Dim sbHead As New Chilkat.StringBuilder
Dim bCrlf As Boolean
bCrlf = True
success = sbHead.AppendLine("<head>",bCrlf)
success = sbHead.AppendLine("<style>",bCrlf)
success = sbHead.AppendLine("body {",bCrlf)
success = sbHead.AppendLine("  font-family: ""Segoe UI"", Tahoma, Geneva, Verdana, sans-serif;",bCrlf)
success = sbHead.AppendLine("}",bCrlf)
success = sbHead.AppendLine("</style>",bCrlf)
success = sbHead.AppendLine("</head>",bCrlf)

// Each HTML section can be set individually.
success = options.UpdateString("docType","<!DOCTYPE html>")
success = options.UpdateString("rootElement","<html lang=""en"">")
success = options.UpdateString("head",sbHead.GetAsString())
success = options.UpdateString("bodyStart","<body>" + EndOfLine.Unix + "<div id=""content""")
success = options.UpdateString("bodyEnd","</div>" + EndOfLine.Unix + "</body>")

// We can add extra content to the bottom of the HTML head and body sections like this:
// Here we are using the Cloudfare Prism "coy" theme for code syntax higlighting.
success = options.UpdateString("extraHead","<link rel=""stylesheet"" href=""https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-coy.min.css"" />")
success = options.UpdateString("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>")

Dim sbMarkdown As New Chilkat.StringBuilder
Dim sbHtml As New Chilkat.StringBuilder

success = sbMarkdown.LoadFile("qa_data/markdown/test1.md","utf-8")
If (success = False) Then
    System.DebugLog(sbMarkdown.LastErrorText)
    Return
End If

success = sbMarkdown.MarkdownToHtml(options,sbHtml)
success = sbHtml.ToCRLF()

System.DebugLog(sbHtml.GetAsString())

// 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:

// image