]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/contrib/texinfo.mdwn
Contrib plugin created_in_future
[git.ikiwiki.info.git] / doc / plugins / contrib / texinfo.mdwn
index 56669c442a9e03df2567601b7f4fd8393c7f25df..b6a6c4bf3b5c55f2d2e4ad6a8b3fede4249418c1 100644 (file)
@@ -1,3 +1,5 @@
+[[!template id=plugin name=texinfo author="[[tschwinge]]"]]
+
 [[I|tschwinge]] started writing a plugin to render
 [GNU Texinfo](http://www.gnu.org/software/texinfo/)
 inside the ikiwiki environment.
@@ -6,13 +8,20 @@ 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>.
+The plugin is available at
+<http://git.savannah.gnu.org/cgit/hurd/web.git/plain/.library/IkiWiki/Plugin/texinfo.pm>.
 
 It's very basic at the moment, but will be improved over time.
 
+It also has not really been audited for any security issues.
+
 
 # Issues
 
+## How can I use verbatiminclude?
+
+I only can post a file ...
+
 ## N-to-M Mapping of Input and Output Files
 
 Conventional ikiwiki [[*htmlize*ing|plugins/write#index6h3]] plugins
@@ -39,7 +48,12 @@ is a N-to-M mapping:
 > what the best way would be to avoid that. --[[Joey]]
 
 >> 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]]
+>> being used as an `include` file for another `.texi` file?
+>> But how to assemble that list before actually having rendered all `.texi` files?
+>> One possibility might be to already render them at ikiwiki's *scanning* stage and
+>> store the rendered HTML files into temporary directories, and then at ikiwiki's
+>> *rendering* stage simply install the desired ones into the main tree and discard
+>> the others.  --[[tschwinge]]
 
 * M Texinfo output files: the main `.texi` file (which `include`s
   the other input files) is usually rendered into a (flat) hierarchy
@@ -76,9 +90,13 @@ is a N-to-M mapping:
 
 There needs to be some logic to establish a mapping between the *N* input files
 and the *M* output files.
-(At least for web-editing via CGI this is needed.)
-Easiest would be either to leave *M = 1* or to have
-*M = N* and have a one-to-one mapping between *input file n* and *output file m*.
+(At least for web-editing via CGI this is needed: ikiwiki (currently) needs to be able
+to deduce *one* input file from a given output file)
+Easiest would be either to have *N = 1*
+(plus perhaps some input files that are not meant to be editable, like `gpl.texi`)
+or to have
+*M = N* and have a (?) one-to-one mapping between *input file n* and *output file m*
+(which is not possible in Texinfo's `makeinfo` at the moment).
 --[[tschwinge]]
 
 
@@ -89,3 +107,16 @@ 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]]
+
+
+# Bugs
+
+## Non-functional Texinfo Commands
+
+Those commands are know to not work currently:
+
+* `@printindex`
+* `@shortcontents`
+* `@contents`
+
+This is due to `makeinfo` not providing this functionality if rendering to stdout.