]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/contrib/texinfo.mdwn
checkcontent: New hook, can be used to implement arbitrary content filters, including...
[git.ikiwiki.info.git] / doc / plugins / contrib / texinfo.mdwn
index 56669c442a9e03df2567601b7f4fd8393c7f25df..595bd27aa7a270732a38142ede24c7e72dfeb566 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.
@@ -39,7 +41,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 +83,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 +100,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.