Sample code for 30+ languages & platforms
Zig Requires Chilkat v11.2.0+

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 Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // Select the pre-defined "ChatGPT" style.
    const options = try chilkat.JsonObject.init();
    defer options.deinit();
    options.updateString("theme", "ChatGPT") catch {};

    // We can also set an option for the max-width, which by default is "72ch".
    options.updateString("ChatGPT.max-width", "120ch") catch {};

    const sb_markdown = try chilkat.StringBuilder.init();
    defer sb_markdown.deinit();
    const sb_html = try chilkat.StringBuilder.init();
    defer sb_html.deinit();

    sb_markdown.loadFile("qa_data/markdown/test1.md", "utf-8") catch {
        std.debug.print("{s}\n", .{try sb_markdown.getLastErrorText(alloc)});
        return;
    };

    sb_markdown.markdownToHtml(options, sb_html) catch {};
    sb_html.toCRLF() catch {};

    std.debug.print("{s}\n", .{try sb_html.getAsString(alloc)});

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