Skip to content

Markdown Help Viewer License

Latest Version 2.3.4 - 26 Jan 2025

An integrated help system based on files in Markdown format (and also html), for Delphi and Windows applications

  • A "Setup" of the pre-built "Markdown Help Viewer" ready to use.

  • A unit (MarkdownHelpViewer.pas) to add the interface to Delphi Help System of your Delphi Application (from XE6 version to latest)

  • A VCL Visual Component (TMarkdownViewer) to automatically show Markdown file formatted in HTML (from XE6 version to latest)

  • A simple demo to show how to integrate the Help in your application, as exaplained here...

  • For editing and prepare the Help manual of your application we suggest to use the Editor contained into "Markdown Shell Extensions" project.

► Features

  • Supports Windows 10 and 11 (for 32 and 64 bits platforms).

  • Themes (Dark and Light) according to user preferences of Windows Theme

  • Auto-detect Index file in the working folder

  • Very easy to integrate into Delphi Application, also in "embedded" mode.

► Setup using the Installer

Click to download the MarkDownHelpViewerSetup.exe located also in the Release area. The Installer works both for 32 and 64 bit system.

Markdown Setup_Program

► Markdown Help Viewer in action

A useful Viewer for instant preview of Markdown formatted content help files (with auto-detection of Windows-Theme):

Markdown Help Viewer

The Viewer is "localized" for some languages. In this example the GUI with Italian language:

Markdown Help Viewer Italian

► Step to activate this Help into MarkdownHelpViewerDemo Application

Use MarkdownHelpViewer.pas (located into AppInterface folder) in dpr:

Pascal
  MarkdownHelpViewer in '..\..\AppInterface\MarkDownHelpViewer.pas',

then specify the default file of the help:

Pascal
  Application.HelpFile := ExtractFilePath(Application.ExeName)+'..\Help\Home.md';

If you have installed the viewer using the provided Setup, the installation folder of the Viewer is registere into:

HKEY_CLASSES_ROOT\Applications\MDHelpViewer.exe\Shell\Open\Command so the interface can launch the viewer automatically.

If you don't want to use the provided Setup you can register the location of the Viewer built by yourself and deployed to a specific location, for example:

Pascal
{$IFDEF WIN32}
  RegisterMDViewerLocation(ExtractFilePath(Application.ExeName)+
    '..\..\Bin32\MDHelpViewer.exe');
{$ELSE}
  RegisterMDViewerLocation(ExtractFilePath(Application.ExeName)+
    '..\..\Bin64\MDHelpViewer.exe');
{$ENDIF}

► Rules to open the correct file using HelpContext or HelpTopic

To test the application you can lauch the Home.md help using the menu About/Help: in the OnClick handler invoke the help:

Pascal
procedure TfmMain.HelpMenuItemClick(Sender: TObject);
begin
  Application.HelpKeyword('home');
end;

In any Delphi component, you can define HelpType (htKeyword or htContext) and the specify HelpKeyword (string) or HelpContext (Integer).

When the user press "F1" inside the application, the HelpSystem is invoked with HelpKeyword or HelpContext.

Then the interface searches in the same folder of default file (specified into Application.HelpFile) the specific file using those rules:

► Rules of precedence

  • first search a file named as the Keyword or the Context with any markdown extension (eg. 1000.md, MainForm.md)
  • Then, try the Help Name and the Keyword (eg.Home1000.md, HomeMainForm.md)
  • At least, try the Help Name and the Keyword with underscore (eg.Home_1000.md, Home_MainForm.md)

► Markdown Help Viewer in depth

Learn more about "MarkDown Help Viewer" within our wiki. Dive deeper into everything related to this tool, its features, and how to make the most of it.

► Other libraries from Ethea

SVGIconImageList - https://github.com/EtheaDev/SVGIconImageList/

StyledComponents - https://github.com/EtheaDev/StyledComponents

Delphi MarkdownProcessor - https://github.com/EtheaDev/MarkdownProcessor

► Third parties libraries

OpenSLL Library: Cryptography and SSL/TLS Toolkit

Copyright © 1998-2018 The OpenSSL Project. All rights reserved.

Delphi Markdown - https://github.com/grahamegrieve/delphi-markdown

Copyright (c) 2011+, Health Intersections Pty Ltd All rights reserved

Delphi Preview Handler - https://github.com/RRUZ/delphi-preview-handler

The Initial Developer of the Original Code is Rodrigo Ruz V. Portions created by Rodrigo Ruz V. are Copyright © 2011-2023 Rodrigo Ruz V.

Synopse/SynPDF - https://github.com/synopse/SynPDF

Copyright © Synopse: all right reserved.

HtmlToPdf - https://github.com/MuzioValerio/HtmlToPdf

Copyright © Muzio Valerio.

Image32 Library - http://www.angusj.com/delphi/image32/Docs/_Body.htm

Copyright ©2019-2023 Angus Johnson.

HTMLViewer - https://github.com/BerndGabriel/HtmlViewer

Copyright (c) 1995 - 2008 by L. David Baldwin

Copyright (c) 1995 - 2023 by Anders Melander (DitherUnit.pas)

Copyright (c) 1995 - 2023 by Ron Collins (HtmlGif1.pas)

Copyright (c) 2008 - 2009 by Sebastian Zierer (Delphi 2009 Port)

Copyright (c) 2008 - 2010 by Arvid Winkelsdorf (Fixes)

Copyright (c) 2009 - 2023 by HtmlViewer Team

► External projects

To simpilfy compilation of projects they are added into ext folder

SVGIconImageList

HtmlViewer

vcl-styles-utils

markdownProcessor

StyledComponents

Delphi Support

Related links: embarcadero.com - learndelphi.org

Markdown Editor and Shell Extensions License

Latest Version 2.3.3 - 26 Jan 2025

A collection of tools for markdown files, to edit and view content:

  • A Markdown Text Editor to manually edit a markdown file, with instant preview of the output in a HTML Viewer.

  • A Preview handler which allows you to see the content of the markdown file without open it, in the "Preview Panel", integrated into Windows Explorer.

► Features

  • No need to built the project with Delphi: an easy Setup is provided.

  • Supports Windows Vista, 7, 8, 10 and 11 (for 32 bits and 64 bits).

  • Themes (Dark and Light) according to user preferences of Windows Theme

  • Integrated also with other Shell Applications (like XYplorer)

► Delphi: integration with MarkDown Help Viewer

  • For Delphi developers: use this tool to prepare and integrate a Help System in your application, using the "MarkDown Help Viewer" project.
  • Use the Markdown Text Editor to edit your help files and use the Markdown Help Viewer to show them.

► Setup using the Installer

Click to download the MDShellExtensionsSetup.exe located also in the Release area. The Installer works both for 32 and 64 bit system.

Markdown Setup_Program

For a clean Setup close all the windows explorer instances which have the preview handler active or the preview handler was used (remember the dll remains in memory until the windows explorer was closed).

► Markdown Text Editor

A useful Text editor with instant preview of Markdown formatted content:

Markdown Text Editor Dark

► Manual Build and Installation (only for Delphi developers)

Learn more about the manual within our wiki. Dive deeper into everything related to this tool, its features, and how to make the most of it.

► Preview Panel in action

In Windows 10 with Dark theme:

Preview Panel Dark

► Manual Build and Installation (only for Delphi developers)

If you have Delphi 12, you can manually build the projects using:

\Source\MDShellExtensionsGroup.groupproj

or the command: Build.bat (defining location of your Delphi environment)

Warning: To simplyfy build of the projects, some third parties libraries are located into ext folder

To manually install the SVGShellExtensions.dll follow these steps:

  1. Close all the windows explorer instances which have the preview handler active or the preview handler was used (remember the dll remains in memory until the windows explorer was closed).

  2. If you have already used the installer uninstall the components from system.

  3. To install manually the dll run the Unregister_Register.cmd (run-as-administrator): notice that you must change the path into cmd file.

► Credits

Many thanks to Rodrigo Ruz V. (author of theroadtodelphi.com Blog) for his wonderful work on delphi-preview-handler from which this project has used a lot of code and inspiration.

► Other libraries from Ethea

SVGIconImageList - https://github.com/EtheaDev/SVGIconImageList/

StyledComponents - https://github.com/EtheaDev/StyledComponents

Delphi MarkdownProcessor - https://github.com/EtheaDev/MarkdownProcessor

► Third parties libraries

OpenSLL Library: Cryptography and SSL/TLS Toolkit

Copyright © 1998-2018 The OpenSSL Project. All rights reserved.

Delphi Markdown - https://github.com/grahamegrieve/delphi-markdown

Copyright (c) 2011+, Health Intersections Pty Ltd All rights reserved

Delphi Preview Handler - https://github.com/RRUZ/delphi-preview-handler

The Initial Developer of the Original Code is Rodrigo Ruz V. Portions created by Rodrigo Ruz V. are Copyright © 2011-2023 Rodrigo Ruz V.

SynEdit - http://synedit.svn.sourceforge.net/viewvc/synedit/

all rights reserved.

Synopse/SynPDF - https://github.com/synopse/SynPDF

Copyright © Synopse: all right reserved.

HtmlToPdf - https://github.com/MuzioValerio/HtmlToPdf

Copyright © Muzio Valerio.

Image32 Library - http://www.angusj.com/delphi/image32/Docs/_Body.htm

Copyright ©2019-2023 Angus Johnson.

dzlib - https://sourceforge.net/projects/dzlib/

Copyright (c) Thomas Mueller

HTMLViewer - https://github.com/BerndGabriel/HtmlViewer

Copyright (c) 1995 - 2008 by L. David Baldwin

Copyright (c) 1995 - 2023 by Anders Melander (DitherUnit.pas)

Copyright (c) 1995 - 2023 by Ron Collins (HtmlGif1.pas)

Copyright (c) 2008 - 2009 by Sebastian Zierer (Delphi 2009 Port)

Copyright (c) 2008 - 2010 by Arvid Winkelsdorf (Fixes)

Copyright (c) 2009 - 2023 by HtmlViewer Team

► External projects

To simpilfy compilation of projects they are added into ext folder

SVGIconImageList

HtmlViewer

vcl-styles-utils

markdownProcessor

StyledComponents

dzlib

Delphi Support

Related links: embarcadero.com - learndelphi.org

License

Licensed under the Apache License, Version 2.0 (the "License");

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Released under Apache License, Version 2.0.