![]()  | 
  
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
 
      (Unicode C) 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. 
 #include <C_CkJsonObjectW.h> #include <C_CkStringBuilderW.h> void ChilkatSample(void) { BOOL success; HCkJsonObjectW options; HCkStringBuilderW sbHead; BOOL bCrlf; HCkStringBuilderW sbMarkdown; HCkStringBuilderW sbHtml; success = FALSE; success = FALSE; options = CkJsonObjectW_Create(); // Instead of specifying a "theme", provide values for the HTML document parts. sbHead = CkStringBuilderW_Create(); bCrlf = TRUE; CkStringBuilderW_AppendLine(sbHead,L"<head>",bCrlf); CkStringBuilderW_AppendLine(sbHead,L"<style>",bCrlf); CkStringBuilderW_AppendLine(sbHead,L"body {",bCrlf); CkStringBuilderW_AppendLine(sbHead,L" font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;",bCrlf); CkStringBuilderW_AppendLine(sbHead,L"}",bCrlf); CkStringBuilderW_AppendLine(sbHead,L"</style>",bCrlf); CkStringBuilderW_AppendLine(sbHead,L"</head>",bCrlf); // Each HTML section can be set individually. CkJsonObjectW_UpdateString(options,L"docType",L"<!DOCTYPE html>"); CkJsonObjectW_UpdateString(options,L"rootElement",L"<html lang=\"en\">"); CkJsonObjectW_UpdateString(options,L"head",CkStringBuilderW_getAsString(sbHead)); CkJsonObjectW_UpdateString(options,L"bodyStart",L"<body>\n<div id=\"content\""); CkJsonObjectW_UpdateString(options,L"bodyEnd",L"</div>\n</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. CkJsonObjectW_UpdateString(options,L"extraHead",L"<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-coy.min.css\" />"); CkJsonObjectW_UpdateString(options,L"extraBody",L"<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 = CkStringBuilderW_Create(); sbHtml = CkStringBuilderW_Create(); success = CkStringBuilderW_LoadFile(sbMarkdown,L"qa_data/markdown/test1.md",L"utf-8"); if (success == FALSE) { wprintf(L"%s\n",CkStringBuilderW_lastErrorText(sbMarkdown)); CkJsonObjectW_Dispose(options); CkStringBuilderW_Dispose(sbHead); CkStringBuilderW_Dispose(sbMarkdown); CkStringBuilderW_Dispose(sbHtml); return; } CkStringBuilderW_MarkdownToHtml(sbMarkdown,options,sbHtml); CkStringBuilderW_ToCRLF(sbHtml); wprintf(L"%s\n",CkStringBuilderW_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.