]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/contrib/texinfo.mdwn
web commit by tschwinge
[ikiwiki.git] / doc / plugins / contrib / texinfo.mdwn
index 07e506948206c80aabe76cdb63e3925072343e13..6584648d64e8d5080e94c4d5f129cae982b41c9e 100644 (file)
@@ -1,6 +1,11 @@
-[[I|tschwinge]] started writing a plugin to render [Texinfo](http://www.gnu.org/software/texinfo/)
+[[I|tschwinge]] started writing a plugin to render
+[GNU Texinfo](http://www.gnu.org/software/texinfo/)
 inside the ikiwiki environment.
 
+This plugin is not neccessarily meant to enable people to write arbitrary
+wiki pages in the Texinfo format (even though that is possible, of course),
+but rather to ease collaboration on existing Texinfo documents.
+
 The plugin is available at <http://www.schwinge.homeip.net/~thomas/tmp/texinfo.pm>.
 
 It's very basic at the moment, but will be improved over time.
@@ -27,16 +32,39 @@ is a N-to-M mapping:
   <http://www.gnu.org/software/texinfo/manual/texinfo/html_node/#Top>
   for an example.
 
-How to teach this to ikiwiki?
+How to teach this to ikiwiki?  --[[tschwinge]]
+
+> As far as multiple input files, you'd need to use add_depends()
+> to let ikiwiki know that a change to any of those files should cause a
+> rebuild of the "main" file. --[[Joey]]
 
+>> (?) I'll see about a frob to get `makeinfo` provide me with a list of additional files
+>> it used for rendering a given `.texi` file. --[[tschwinge]]
 
-## Copyright and Licensing Snippets
+> I guess you'd also have to somehow deal with
+> it wanting to render pages for each of the helper files. Not quite sure
+> what the best way would be to avoid that. --[[Joey]]
 
-ikiwiki (obviously) doesn't understand (parse) the copyright and licensing
-statements which are included in `.texi` files.
+>> Might it be an option to simply not render the pages that are already
+>> being used as an `include` file for another `.texi` file?  --[[tschwinge]]
+
+> Ikiwiki is perfectly happy with a page creating other files (see eg, the
+> img and teximg plugins, as well as the inline plugin's rss generation).
+> The will_render() function supports that.
+> 
+> What hasn't been done though is a page creating more than one other _page_.
+> Perhaps you could call IkiWiki::genpage by hand for each additional page.
+> You might also want to manipulate each data structure that tracks info about
+> pages, adding the additional pages to them, so that they're first class
+> pages that work as pages everywhere in ikiwiki (ie, can be inlined,
+> appear in a site map, be linked to, etc). Not sure how to do that,
+> and perhaps you could get away without doing it actually. --[[Joey]]
 
 
 ## `makeinfo` Output
 
 `makeinfo --html` is being used for rendering.  It creates stand-alone
 HTML files, while ikiwiki only needs the files' `<body>`s.
+
+(?) One possibility (which is what I'm doing at the moment) is to simply cut away
+everythin until `<body>` is seen and after `</body>` has been seen.  --[[tschwinge]]