<> ---- **Name** ''dgw::hyperhelp'' - hypertext help system **Description** [DDG] 2020-02-01: ''dgw::hyperhelp'' is a help system using a Wiki/Markdown like Markup language, based on [A Hypertext Help System] which was cleaned up, extended and documented - HTML - manual links see below. Here an example help page for explaining the hyperhelp markup https://chiselapp.com/user/dgroth/repository/tclcode/doc/tip/dgw/hyperhelp-docu.txt - so all documentation is in a single text file using a well known Markup language. There is as well the possibility to reate help files which are as well valid Markdown documents. Here an example for this approach: https://chiselapp.com/user/dgroth/repository/tclcode/doc/tip/dgw/hyperhelp-markdown-sample.md - here in raw text: https://chiselapp.com/user/dgroth/repository/tclcode/artifact?name=596773b6b985ca11&txt=1 The help browser system displays a nice table of contents table in a ttk::treeview widget, offers index, search facilities and sophisticated keyboard navigation. **Links** * Homepage: https://chiselapp.com/user/dgroth/repository/tclcode * Download: https://chiselapp.com/user/dgroth/repository/tclcode/download * Manual: https://chiselapp.com/user/dgroth/repository/tclcode/doc/tip/dgw/hyperhelp.html * Minimal Markdown compatible help template: https://chiselapp.com/user/dgroth/repository/tclcode/doc/tip/dgw/hyperhelp-minimal.txt * Help file example: https://chiselapp.com/user/dgroth/repository/tclcode/doc/tip/dgw/hyperhelp-docu.txt * Version: 0.7 - 2020-02-07 * License: MIT **Example** The package is both a standalone application to directly view help files, as well loadable within an existing application. ====== package require dgw::hyperhelp set helpfile [file join [file dirname [info script]] hyperhelp-docu.txt] set hhelp [dgw::hyperhelp .help -helpfile $helpfile] pack $hhelp -side top -fill both -expand true $hhelp help overview ====== **Image** Below is an image of the running application. [dgw::hyperhelp-image] ---- [Jeff Smith] 2020-02-05 : Below is an online demo using [CloudTk]. This demo runs HyperHelp in an Alpine Linux Docker Container. It is a 20MB image which is made up of Alpine Linux + tclkit + dgw-hyperhelp.kit + libx11 + libxft + fontconfig. It is run under a user account in the Container. The Container is restrictive with permissions for "Other" removed for "execute" and "read" for certain directories. Also the Alpine Linux container is using a strange font so the demo looks a bit funky! (I will work on changing the font in the container.) <> <> ---- **See also** * [snidgets] (Snit widgets) * [A Hypertext Help System] which was the starting point for this package **Discussion** Please discuss here ... [Jeff Smith] 2020-02-05 : I had to add hyperhelp.png from this wiki to the dgw directory for the demo to run. [DDG] 2020-02-05: Thanks for mentioning the image error. I uploaded the image as well to the fossil repository, further I catch now against errors for missing images, with a helpful message within the document, also command substitution errors are better catched. Really nice the [CloudTk] example. Even the key based navigation using the 'n', 'p' and 'space' works :) [DDG] 2020-02-07: I updated to version 0.7 which solved problems with single page help files. Further now the Treeview widget is hidden if there is no "Table of Contents" page, and the toolbar is automatically hidden if there is only one page. Last but not least a subset of Markdown is usable, so you can create valid Markdown files which are at the same time valid help files. See https://chiselapp.com/user/dgroth/repository/tclcode/doc/tip/dgw/hyperhelp-markdown-sample.md for an example help page. Here the raw text source: - here in raw text: https://chiselapp.com/user/dgroth/repository/tclcode/artifact?name=596773b6b985ca11&txt=1 <> Package | Widget | Snit Widgets