Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
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 Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.JsonObject,
Chilkat.StringBuilder;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
options: TJsonObject;
sbMarkdown: TStringBuilder;
sbHtml: TStringBuilder;
begin
success := False;
// Select the pre-defined "ChatGPT" style.
options := TJsonObject.Create;
options.UpdateString('theme','ChatGPT');
// We can also set an option for the max-width, which by default is "72ch".
options.UpdateString('ChatGPT.max-width','120ch');
sbMarkdown := TStringBuilder.Create;
sbHtml := TStringBuilder.Create;
success := sbMarkdown.LoadFile('qa_data/markdown/test1.md','utf-8');
if (success = False) then
begin
WriteLn(sbMarkdown.LastErrorText);
Exit;
end;
sbMarkdown.MarkdownToHtml(options,sbHtml);
sbHtml.ToCRLF();
WriteLn(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:
//
// To add code syntax highlighting, see the example at Markdown to HTML - Full Document, ChatGPT Theme with Code Syntax Highlighting
//
options.Free;
sbMarkdown.Free;
sbHtml.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.