The Trunk: HelpSystem-Core-ct.159.mcz
[email protected] Wed, 1 Jul 2026 17:21:34 0000
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <[email protected]> |
Christoph Thiede uploaded a new version of HelpSystem-Core to project The Trunk:
http://source.squeak.org/trunk/HelpSystem-Core-ct.159.mcz
==================== Summary ====================
Name: HelpSystem-Core-ct.159
Author: ct
Time: 1 July 2026, 7:20:40.82398 pm
UUID: 8eb7517d-679e-479e-8096-ddb2a601b8cc
Ancestors: HelpSystem-Core-ct.158
Updates "help on help" to describe the new facilities of the help browser for editing help directly in the GUI without writing code.
Fixes reordering of subbooks of help on help and some minor phrasings/typos.
This should be fine, but a short review would be nice anyway. :-)
=============== Diff against HelpSystem-Core-ct.158 ===============
Item was changed:
----- Method: HelpAPIDocumentation class>>asHelpTopic (in category 'defaults') -----
asHelpTopic
^ (HelpTopic named: self bookName)
subtopics: (self packages collect: [:pkgName | PackageAPIHelpTopic new packageName: pkgName]);
+ priority: self priority;
yourself!
Item was changed:
----- Method: HelpHowToHelpTopicsFromCode class>>overview (in category 'pages') -----
overview
"This method was automatically generated. Edit it using:"
"HelpHowToHelpTopicsFromCode edit: #overview"
+ <generated>
+ ^(HelpTopic
- ^HelpTopic
title: 'Overview'
contents:
'Overview
The help system allows you to provide your own help books and help texts. You can open the help browser on any object that is able to understand #asHelpTopic.
This method returns the root node of the displayed topic hierarchy:
HelpBrowser openOn: myObject
Typically the object does not convert itself to a help topic structure; rather it dispatches to a builder (see HelpBuilder and subclasses) that does all this.
+ A much more convenient and reproducible way is to implement custom help classes. This allows you to implement and manage your help texts using the standard development and code management tools. These custom help classes are subclasses of "CustomHelp" and are automatically included into the standard help browser.
+
+ Important notice
+ The following pages describe how to create your own help topic with the help of the system browser by implementing a subclass of CustomHelp. Starting with Squeak 6.1, most of these edits can also be performed directly in the help browser. Refer to "Writing your own help" above for more details.!!
+ ]style[(387 11 280 10 67 17 295),LHelpBuilder Hierarchy;,,LCustomHelp Hierarchy;,,b,!!' readStream nextChunkText)
+ key: #overview;
+ shouldStyle: false;
+ yourself!
- A much more convenient and reproducable way is to implement custom help classes. This allows you to implement and manage your help texts using the standard development and code management tools. These custom help classes are subclasses of "CustomHelp" and are automatically included into the standard help browser. !!
- ]style[(387 11 280 10 65),LHelpBuilder Hierarchy;,,LCustomHelp Hierarchy;,!!' readStream nextChunkText!
Item was changed:
----- Method: HelpOnHelp class>>introduction (in category 'pages') -----
introduction
"This method was automatically generated. Edit it using:"
"HelpOnHelp edit: #introduction"
+ <generated>
+ ^(HelpTopic
- ^HelpTopic
title: 'Introduction'
contents:
'WELCOME TO THE HELP SYSTEM
+ The help system is a simple user interface to display help contents to the user and edit them. It can be accessed from the world menu using "Help" -> "Squeak Help" or by evaluating ''HelpBrowser open'' in a workspace.
- The help system is a simple user interface to display help contents to the user. It can be accessed from the world menu using "Help" -> "Squeak Help" or by evaluating ''HelpBrowser open'' in a workspace.
+ There is a predefined mechanism allowing you to have help contents stored as source code using methods in specific help provider classes. This allows you to manage the help texts using the standard development tools. But this is only one possible format.
+ !!' readStream nextChunkText)
+ key: #introduction;
+ shouldStyle: false;
+ yourself!
- There is a predefined mechanism allowing you to have help contents stored as source code using methods in specific help provider classes. This allows you to manage the help texts using the standard development tools. But this is only one possible representation.
- !!' readStream nextChunkText!
Item was changed:
----- Method: HelpOnHelp class>>pages (in category 'accessing') -----
pages
+ <generated>
+ ^ #(#introduction #HelpHowToHelpTopics #HelpAPIDocumentation #writingYourOwnHelp)!
- ^#(introduction HelpHowToHelpTopics HelpAPIDocumentation)!
Item was added:
+ ----- Method: HelpOnHelp class>>writingYourOwnHelp (in category 'pages') -----
+ writingYourOwnHelp
+ "This method was automatically generated. Edit it using:"
+ "HelpOnHelp edit: #writingYourOwnHelp"
+ <generated>
+ ^(HelpTopic
+ title: 'Writing your own help'
+ contents:
+ 'WRITING YOUR OWN HELP
+
+ As described in the following pages, there are multiple ways to define help contents for the help system, but the most established format is to create a subclass of CustomHelp. While you can write and customize your help by implementing methods on this subclass, for most use cases it is easier to edit the help directly in the help browser:
+
+ - To add a new help book, you still need to create a new class by hand:
+ CustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp''
+ - To add a subtopic, open a context menu on any help topic in the tree pane on the left and select "add subtopic".
+ - To edit a topic, type into the large text pane of the help browser and press Cmd + S to save your changes.
+ - To rename or remove a subtopic, use its context menu again.
+ - To move a topic under a different parent, you can drag''n''drop nodes in the tree.
+
+ At the time of writing, the following operations are not yet supported through the UI but must be performed by manually changing the code of your help class:
+ - Adding/editing a book blurb
+ - Adding/changing an icon
+ - Configuring automatic syntax highlighting
+ - Reordering of help topics within a parent node
+ On how to do this, please continue reading the following pages.!!
+ ]style[(368 23 48 11 9 1 12 3 22 1 2 3 19 1 2 3 17 1 2 3 9 1 8 3 18 97 16 93 31 31 41 411),b,,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c000000120dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c000000120dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c000000120dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c120000120ndCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c000000120dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c120000120ndCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c000000120dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c120000120ndCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c000000120dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,dCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,c120000120ndCustomHelp subclass: #MyHelpTopic
+ instanceVariableNames: ''''
+ classVariableNames: ''''
+ poolDictionaries: ''''
+ category: ''MyHelp'';;,,b,,b,,b,,b,!!' readStream nextChunkText)
+ key: #writingYourOwnHelp;
+ shouldStyle: false;
+ yourself!
Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]