Ok - I've gotten a little further on this - if I put a try / except in process_todo_nodes() in the node.replace_self() call and just pass on the exception, things seem to be ok for todo output. Now, in htmlwriter.py, I get an "unkown_visit()" call for 'todolist' - still trying to figure this out...
On Fri, Nov 7, 2008 at 6:06 PM, Yarko T <[EMAIL PROTECTED]> wrote: > Hi Daniel, > Thanks for posting this. It caused me to read about extensions to > Sphinx... > > I don't know if I"m missing something in config somewhere - I put in one > test ".. todo::" > and the node seems to be created, but docutils/nodes.py doesn't like that > > node.replace_self([]) > > is being called on a node whose attribute is ['admonition-todo'] > > > I've got a todolist.rst, and a single todo test entry in the sources. I'm > pretty sure I've configured conf.py right (after all, the extension is > correctly getting called - I've stepped through this to try to find what's > going on). > > I've also put my new todolist in the toctree - basically just trying to > start w/ the example usage file you'd posted. > > Can you help? > > Thanks much, > > Yarko > > On Thu, Nov 6, 2008 at 9:00 AM, <[EMAIL PROTECTED]> wrote: > >> >> Thanks for your quick help. I managed to make todos show up as 'Todo: >> content of todo'. It >> did not work by simply putting 'Todo' in the argument list. It showed >> up then as 'Note: Todo:'. >> I needed to create a new node type 'todoNode' and add appropriate >> visitors. The Sphinx documentation >> is not up to date I think, addNode does not take any visitor arguments >> anymore, so I helped myself >> by using setattr on the translator object. This did the job. Maybe >> there is a better way? >> >> I manged to include a target node for each todo item, but I did not >> find how to actually insert a >> reference to these labels in the todolist. How is this done? I cannot >> find the code that actually >> generates the index pages. >> >> I also collect all todo nodes at the environment object now. >> >> I have put the current version here: >> >> http://pastebin.com/m2b02f72b >> >> Regards, >> Daniel >> >> On Nov 6, 11:11 am, Georg Brandl <[EMAIL PROTECTED]> wrote: >> > [EMAIL PROTECTED] schrieb: >> > >> > >> > >> > > Dear all, >> > >> > > first of all I want to thank the Sphinx developers for this great >> > > tool. I >> > > ported the developers manual for our openWNS (open Wireless Network >> > > Simulator) >> > > to Sphinx. I am still surprised how easy and intuitively the work with >> > > Sphinx is. >> > > So, thanks for that! >> > >> > > During the work on the documentation I often wanted to place ToDos >> > > within the text to keep track of >> > > things that still need to be documented. I think it would be >> > > benefitial to have >> > > a special kind of admonition (.. todo::) to place inline in the text >> > > for this task. >> > > Furthermore, I want these admonitions to show only if a certain flag >> > > is set in the >> > > configuration, such that a released version of the documentation does >> > > not show any >> > > todo content. In addition to that I want a separate page that collects >> > > all todo >> > > admonitions and provides an overview of all pending todos within the >> > > document. >> > >> > That's a good idea! I'd like to include the extension when it's >> finished. >> > >> > >> > >> > > I did not find any support for this within the current release of >> > > Sphinx, so I started >> > > developing a todo extension of my own. I implemented two directives: >> > > todo & todolist >> > > that should take care of the task. The basic functionality works now, >> > > but I still face >> > > some problems. You can take a look at what I have done so far here: >> > >> > >http://pastebin.com/f55ea9fe0 >> > >> > > An example of how I use this example can be seen here: >> > >> > >http://pastebin.com/f7913c13a >> > >> > > The problems I have now are: >> > >> > > 1. I only want to include the todolist page in the TOC if the >> > > configuration flag is set. >> > > The todolist page is now always included, although it is empty if >> > > the configuration file >> > > is not set. I want it to completely vanish. >> > >> > Hmm... there's no API yet for excluding items from the TOC. >> > >> > Of course, as a hack-around, you could generate the document heading >> only >> > if the "todo" option is set. Then, since there is no heading in the >> document, >> > none will show up in the TOC. >> > >> > > 2. With this implementation all todo admonitions show up in the final >> > > document as >> > > '''Note: The todo description''' I want them to show up as '''Todo: >> > > The todo description''' >> > >> > If you modify your make_admonition call a bit, that should be fine. Look >> > at the seealso directive: >> > >> > seealsonode = make_admonition( >> > addnodes.seealso, name, [_('See also')], options, content, >> > lineno, content_offset, block_text, state, state_machine) >> > >> > IOW, the "arguments" arg is replaced by your wanted title. >> > >> > > 3. In the todolist I only copy the original todo. It would be nice to >> > > include additional >> > > information there, such as a link to the original todo location and >> > > the original location within the >> > > source (filename, linenumber, etc.) >> > >> > For the link to the location, you can put a "target" node at the point >> > where the todo directive occurs. Look at the index directive for an >> example. >> > >> > I see that you store all todo nodes as an attribute of the node class. >> > This will not work with partial builds, when only changed files are >> parsed. >> > The canonical way is to use an attribute of the environment object, >> which >> > is pickled and restored between calls. >> > >> > > I am a little bit stuck here and wonder if someone could help. I >> > > already tried the sphinx.ext.ifconfig >> > > to exclude the todolist from the TOC, but this does not work. I think >> > > Sphinx does not expect any directive within the TOC. >> > >> > That's true. It doesn't interpret the content in the "normal" way. >> > >> > cheers, >> > Georg >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sphinx-dev" group. To post to this group, send email to sphinx-dev@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sphinx-dev?hl=en -~----------~----~----~----~------~----~------~--~---