Sample code for 30+ languages & platforms
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

Pascal (Lazarus/Delphi)
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

  //  image


  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.