Yelp

Yelp is the help viewer in Gnome. It's what happens when you hit F1. Together with gnome-doc-utils, Yelp serves as a DocBook viewer, a man page viewer, and an info page viewer. This page serves as a development workspace for Yelp and gnome-doc-utils. For the content that goes into Yelp, see the GNOME DocumentationProject.

Bug Squad

See our bug lists

Notes for yelp:

Notes for gnome-doc-utils:

Shaun is notoriously bad at watching bugzilla. Do feel free to nag him on IRC about outstanding patches.

Scrollkeeper Patches

Note:Scrollkeeper is dead. Rejoice. However, if you prefer to use scrollkeeper, you'll need thee patches:

Patch one:http://bugzilla.gnome.org/attachment.cgi?id=69293

Patch two:http://bugzilla.gnome.org/attachment.cgi?id=69294

Patch three:http://bugzilla.gnome.org/attachment.cgi?id=69295

These fix various array bounding checks. They can be applied to the scrollkeeper source directory by changing directory into it (from the terminal) and running the commnad:

patch -p1 < FILENAME

for each patch file. Rebuild scrollkeeper and install should allow yelp to function correctly. If you are still having trouble, please file a bug.

Hackers

There are many tasks in Yelp and gnome-doc-utils (and the rest of the GNOME documentation project) that are up for grabs. If you're interested in any of these, or anything else, either drop by irc.gimp.org #docs or send an email to gnome-doc-devel@gnome.org and let us know. We'll be happy to help you get started.

A little note about the IRC channel: We are spread around the world and often do not appear to respond immediately. If you do come in past and speak to us, but get no answer, leave a message and we will check the logs (hint: leaving an email address or sending an email to the list will get you a response)

Yelp Tasks (as of 2.21)

General

Brain-dumping:

Printing

Yelp has now moved to Gtk printing (instead of libgnomeprint). This has caused some problems. There are also some long standing requests

Man Pages

Man pages are now on by default. We do a good job an lots of man pages, but some suck rather badly.

  1. Pick a man page on you're system
  2. Load it in yelp and man programs
  3. Compare
  4. Fix yelp output

I started some work on a new parser, based on groff markup codes in bug #477788. Either make our system better or work on that.

Info Pages

There are still some issues with info pages. Not entirely sure where they are any more, but you should be able to find them. In addition, it'd be really, really sweet if we had a yelp-info-print pager that could bind all the sections together and allow printing the entire document as one.

Other

There are many other tasks, big and small, that could be undertaken in a wide variety of different areas. If you want to know more, or if you want to work on something in particular, let us know and we'll try and help you out.

Other Documentation Project Projects

On the 27th July 2006, our all-powerful leader (shaunm) proclaimed the following:

We need authoring tools and status checkers. We need tools to help our authors, editors, review teams, maintainers, and distributors. There are worlds of opportunities for hacking here.

For the fun stuff, I can't just give you a simple TODO list. The fun stuff involves talking to the right people, designing the right ideas, and creating the right experience. The fun stuff is on the path non-yet-traveled.

Project Mallard

Project Mallard is the code-name for a new help system currently being planned. The main page can be found at ProjectMallard. It has many facets (mmm. Lovely word) to it, so if you want to help out on any of the aspects of it, give us a shout and we can point you in the right direction.

New API

The new API has now been integrated into head. This gives a generic overview of how it works (although, I don't know how up to date it is)

The YelpPager API that's in Yelp right now was my first attempt at modularizing the transformations and getting logic outside of YelpWindow. It suffers from a few problems, though:

  1. It's needlessly complex. Windows have to check states, watch page emissions, etc.
  2. It assumes a single transformation run on a document. This makes it hard to do on-demand page loads.
  3. Pages are always returns as strings, making potential implementations of some document types sub-optimal.
  4. Pagers have no idea what's watching which pages, making it hard to clean up resources.

The following summarizes a new API I'm working on, the YelpDocument. Documents are simple opaque objects that returns pages via callback functions. Nothing outside the document ever needs to know about transformation status.


CategoryDocumentationProject

Yelp (last edited 2008-02-03 14:44:12 by localhost)