Sample code for 30+ languages & platforms
Objective-C

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 Objective-C Downloads

Objective-C
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>

BOOL success = NO;

success = NO;

CkoJsonObject *options = [[CkoJsonObject alloc] init];

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

CkoStringBuilder *sbHead = [[CkoStringBuilder alloc] init];
BOOL bCrlf = YES;
[sbHead AppendLine: @"<head>" crlf: bCrlf];
[sbHead AppendLine: @"<style>" crlf: bCrlf];
[sbHead AppendLine: @"body {" crlf: bCrlf];
[sbHead AppendLine: @"  font-family: \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;" crlf: bCrlf];
[sbHead AppendLine: @"}" crlf: bCrlf];
[sbHead AppendLine: @"</style>" crlf: bCrlf];
[sbHead AppendLine: @"</head>" crlf: bCrlf];

// Each HTML section can be set individually.
[options UpdateString: @"docType" value: @"<!DOCTYPE html>"];
[options UpdateString: @"rootElement" value: @"<html lang=\"en\">"];
[options UpdateString: @"head" value: [sbHead GetAsString]];
[options UpdateString: @"bodyStart" value: @"<body>\n<div id=\"content\""];
[options UpdateString: @"bodyEnd" value: @"</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.
[options UpdateString: @"extraHead" value: @"<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-coy.min.css\" />"];
[options UpdateString: @"extraBody" value: @"<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>"];

CkoStringBuilder *sbMarkdown = [[CkoStringBuilder alloc] init];
CkoStringBuilder *sbHtml = [[CkoStringBuilder alloc] init];

success = [sbMarkdown LoadFile: @"qa_data/markdown/test1.md" charset: @"utf-8"];
if (success == NO) {
    NSLog(@"%@",sbMarkdown.LastErrorText);
    return;
}

[sbMarkdown MarkdownToHtml: options sbHtml: sbHtml];
[sbHtml ToCRLF];

NSLog(@"%@",[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