As you may know I wrote the current "Pharo help" implementation which you can access from the Help menu or via
Yes and I still would like to convince people to write special Unitests tagged <public: #topic number: 3> to populate the help.
There is also no central "docu" point for someone who just downloaded Pharo and want a "Quick start". Also I dislike that we are limited with the in-image presentation style (text only) and that content is not visible to Google, Bing, etc.
Yes me too. This is why I want to write the next chapter of the book Deep into Pharo in a Pier syntax stored on SVN/Git but be able to generate html + latex (we did that for Seaside book) so it should be easy (just need time).
Packaging Seaside with the default Pharo image to serve help content would be overkill - but there is always a leaner way. Since Pharo 2.0 we have Zinc HTTP components within the image (thanks Sven!) and I played a little bit with it. It is really easy to setup/startup a webserver from Smalltalk now.
:)
So I wrote a basic "HelpServer" and wrapped the nice "twitter bootstrap" library. Code may be ugly and require some refactoring ... but it is currently more a prove of concept.
Attached is a screenshot of the result running in a web browser.
Sweet.
What is it: the idea is that we server the documentation from within the image but use the local webbrowser to display it. Since we soon integrate NativeBoost in Pharo 2.0 it is also easy to open the browser as soon as "Help" is requested from a menu.
Serving for the web would also mean we could easily setup an image online that displays the docu online for indexing by search engines etc.
Yes :)
Where is the code:
Next steps: ===========
1. Lets discuss how we want to fill the "API help" section. I know that there once was a project that generated static API help (http://magaloma.seasidehosting.st) but we can now directly serve from the live image.
My current implementation allows to navigate from classes to subclasses and superclasses - just to give you an idea. Maybe we want to display only class comments or provide a real Smalltalk browser within the webbrowser (similar to http://www.Amber-lang.net)
2. The section "Intro" is only a mock. I would like to see that people can find short "Quick start" like tutorials here to start with basic things like Smalltalk, Metacello, ...
Maybe we can integrate a live and running ProfStef similar to http://amber-lang.net/learn.html that is adopted to Pharo.
But amber is not pharo and it has the limit of Javascript I would not do that.
3. Lets discuss how we want to describe the content "in-image" for "serving on the web". Maybe with a "Markup to HTML translator" - or a "WikiStyle to HTML" like help
I want to use the pier syntax because I know that I can generate the correct latex with it for the books, and of course any kind of html and other formats.
My wish to Santa would be that Pharo 2.0 comes with a better and nicer out-of-the-box documentation. For each package/project we should have a common way to define/load/browse docu and tutorials so people can just load and quick start without much hazzle.
:)
The code repo is open for read and write - I would appreciate comments, code contributions, help/tutorial content and ideas.
Thanks Torsten <onlinehelp.png>