<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>Hi Eliot.<br></div><div><br></div><div>I am currently working on autogenerating CustomHelp from markup.<br></div><div><br></div><div><br></div><div>If you care to get your content to me or available in an email here, I will use that to develop with.<br></div><div><br></div><div>If you go here: <a target="_blank" href="http://menmachinesmaterials.com/SeasideDoc">http://menmachinesmaterials.com/SeasideDoc</a><br></div><div><br></div><div>and the "dimly colored" hamburger icon at the top left, a menu expands.<br></div><div>Under Custom Help are the CustomHelp currently in the image running that SeasideApp.  (I have two named TerseGuide because I thought I would get a TerseGuideToFonts going, but haven't got to it yet)<br></div><div><br></div><div>The HTML is generated on-the-fly. pretty nifty, imho.<br></div><div><br></div><div>With the ability to display CustomHelp on-the-fly, I now want to export it and import it to various markups.<br></div><div><br></div><div><br></div><div>My first markup will be what I use daily, Emacs Org-mode markup. (there will be others like MarkDown and Pillar )<br></div><div><br></div><div>It looks like this:<br></div><div><br></div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div><div>* top level topic<br></div><div>  some content<br></div><div>** sub topic<br></div><div>      sub content <br></div><div>*** sub sub topic<br></div><div>      sub sub content<br></div><div>* another top level top<br></div></div></blockquote><div>so...taking your previous email and winging it....<br></div><div><br></div><div>I will commit to writing this for you as the tool I am starting next will generate CustomHelp f<br></div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div><div>* Pragmas<br></div><div><br></div><div><span style="color: rgb(0, 0, 0); font-family: "Lato 2", sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">To sum up, many see pragmas as labels.  But they are executable.  With pragmas, to label is human, to execute is devine.</span><br></div><div style="color: rgb(0, 0, 0); font-family: "Lato 2", sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><div><br></div><div>** Things to avoid<br></div><div>      and, which is sadly what lots of designers miss, with perform:wothArguments: and/or sentTo:/sendMessage: etc. ..<br></div><div><br></div><div>** A pattern that works<br></div><div>      create a builder object that understands the pragma(s) in question<br></div><div>      visit the method(s) implementing the pragma<br></div><div>      send the pragma to the builder<br></div><blockquote><div dir="ltr"><div><div><br></div></div></div></blockquote><div>** Pragmas for menus<br></div><blockquote><div dir="ltr"><div>- give the base menu to a menu decorator builder, which is parameterized with the name of the menu and the class(es) involved in the menu<br></div><div>- have the menu decorator builder visit the relevant pragma methods in the class(es)<br></div><div>- use the resulting decorated menu<br></div></div></blockquote></div><div><br></div><div><br></div></div></blockquote><div><br></div><div>I will commit to writing this for you as the tool I am starting next will generate CustomHelp from that markup.<br></div><div><br></div><div><br></div><div>let me know.<br></div><div><br></div><div>cheers,<br></div><div><br></div><div>tty</div><div><br></div><div>p.s. what I will be doing is writing a PEG Grammar for org-mode and at the actor callbacks, dynamically create the class and its methods. Should be a lot of fun.<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div style="border-top: 1px solid rgb(204, 204, 204); height: 0px; margin-top: 10px; margin-bottom: 10px; line-height: 0px;" class="zmail_extra_hr"><br></div><div style="" data-zbluepencil-ignore="true" class="zmail_extra"><div><br></div><div id="Zm-_Id_-Sgn1">---- On Fri, 27 Aug 2021 13:59:41 -0400 <b>Eliot Miranda <eliot.miranda@gmail.com></b> wrote ----<br></div><div><br></div><blockquote style="margin: 0px;"><div>Hi Tim,<br><br>> On Aug 25, 2021, at 10:18 AM, tim Rowledge <<a target="_blank" href="mailto:tim@rowledge.org">tim@rowledge.org</a>> wrote:<br>> <br>>> On 2021-08-25, at 5:16 AM, Marcel Taeumel <<a target="_blank" href="mailto:marcel.taeumel@hpi.de">marcel.taeumel@hpi.de</a>> wrote:<br>>> <br>>> Hi Tim --<br>>> <br>>> Please update your image and see if it got fixed. :-)<br>> <br>> [snip] ... Pragmas do something similar; an interesting idea for annotating code and then no tool(s) that make it easy to work out what is going on.<br><br>I think the issue here is a lack of documentation, not a lack of tools.  Pragmas are essentially complete.  There may be a need to provide a visitor that is parameterized by classes & pragma selector set, but this is easily synthesized given standard code.  But having a good set of documented patterns would help.  I commit to writing a page for the HelpBrowser on pragmas if you think such a page would address your concerns adequately.<br><br>> <br>> tim<br>> --<br>> tim Rowledge; <a target="_blank" href="mailto:tim@rowledge.org">tim@rowledge.org</a>; <a target="_blank" href="http://www.rowledge.org/tim">http://www.rowledge.org/tim</a><br>> Esc key to reboot Universe, or any other key to continue...<br>> <br>> <br>> <br><br></div></blockquote></div><div><br></div></div><br></body></html>