![]()  | 
  
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
 
      (Delphi DLL) Markdown to HTML - Full Document, Custom Theme with Code Syntax HighlightingSee more Markdown ExamplesDemonstrates how to convert a complete Markdown document to HTML using your own custom theme with Cloudfare Prism's code syntax highlighting.Note: This example requires Chilkat v11.2.0 or greater. 
 uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject, StringBuilder; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; options: HCkJsonObject; sbHead: HCkStringBuilder; bCrlf: Boolean; sbMarkdown: HCkStringBuilder; sbHtml: HCkStringBuilder; begin success := False; success := False; options := CkJsonObject_Create(); // Instead of specifying a "theme", provide values for the HTML document parts. sbHead := CkStringBuilder_Create(); bCrlf := True; CkStringBuilder_AppendLine(sbHead,'<head>',bCrlf); CkStringBuilder_AppendLine(sbHead,'<style>',bCrlf); CkStringBuilder_AppendLine(sbHead,'body {',bCrlf); CkStringBuilder_AppendLine(sbHead,' font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;',bCrlf); CkStringBuilder_AppendLine(sbHead,'}',bCrlf); CkStringBuilder_AppendLine(sbHead,'</style>',bCrlf); CkStringBuilder_AppendLine(sbHead,'</head>',bCrlf); // Each HTML section can be set individually. CkJsonObject_UpdateString(options,'docType','<!DOCTYPE html>'); CkJsonObject_UpdateString(options,'rootElement','<html lang="en">'); CkJsonObject_UpdateString(options,'head',CkStringBuilder__getAsString(sbHead)); CkJsonObject_UpdateString(options,'bodyStart','<body>' + #10 + '<div id="content"'); CkJsonObject_UpdateString(options,'bodyEnd','</div>' + #10 + '</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. CkJsonObject_UpdateString(options,'extraHead','<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-coy.min.css" />'); CkJsonObject_UpdateString(options,'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>'); sbMarkdown := CkStringBuilder_Create(); sbHtml := CkStringBuilder_Create(); success := CkStringBuilder_LoadFile(sbMarkdown,'qa_data/markdown/test1.md','utf-8'); if (success = False) then begin Memo1.Lines.Add(CkStringBuilder__lastErrorText(sbMarkdown)); Exit; end; CkStringBuilder_MarkdownToHtml(sbMarkdown,options,sbHtml); CkStringBuilder_ToCRLF(sbHtml); Memo1.Lines.Add(CkStringBuilder__getAsString(sbHtml)); // 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: //  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.