X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2ed67f7fe7290aa39144d0289bf7205cd421d386..2bb218865e8e52256f3bc660d0a675446cb4f88a:/doc/plugins/contrib/texinfo.mdwn diff --git a/doc/plugins/contrib/texinfo.mdwn b/doc/plugins/contrib/texinfo.mdwn index 5ea3bb144..56669c442 100644 --- a/doc/plugins/contrib/texinfo.mdwn +++ b/doc/plugins/contrib/texinfo.mdwn @@ -25,20 +25,13 @@ is a N-to-M mapping: * N Texinfo input files (a main `.texi` file, several helper files (`fdl.texi`, `version.texi`, ...), and additional text files which are included from the main `.texi` - file, e.g. `history.texi`, `libfoo.texi`, `libbar.texi`. -* M Texinfo output files: the main `.texi` file (which `include`s - the other input files) is usually rendered into a (flat) hierarchy - of HTML files, one file per node, see the table on - - for an example. - -How to teach this to ikiwiki? --[[tschwinge]] + file, e.g. `history.texi`, `libfoo.texi`, `libbar.texi`. --[[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 files +>> (?) 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]] > I guess you'd also have to somehow deal with @@ -48,6 +41,12 @@ How to teach this to ikiwiki? --[[tschwinge]] >> 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]] +* M Texinfo output files: the main `.texi` file (which `include`s + the other input files) is usually rendered into a (flat) hierarchy + of HTML files, one file per node, see the table on + + for an example. --[[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. @@ -60,14 +59,33 @@ How to teach this to ikiwiki? --[[tschwinge]] > 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]] - -## Copyright and Licensing Snippets - -ikiwiki (obviously) doesn't understand (parse) the copyright and licensing -statements which are included in `.texi` files. --[[tschwinge]] +>> Currently I use `makeinfo --no-split` and render to stdout, so that I can +>> easily capture the output and stuff it into the appropriate ikiwiki data structure. +>> If we want to have multiple output files (which we'll eventually want to have, +>> to avoid having such large single-file outputs), we won't be able to +>> do this anymore. +>> (?) Then we'll need a way to find the main output file, which +>> will be the one to be copied into what ikiwiki expects to be the main output +>> of the rendered `.texi` file. +>> Perhaps (again) parse the `.texi` file for a `@setfilename` statement? +>> The other generated files will also have to +>> copied somewhere (preferably into a subdirectory named alike the main file +>> to avoid name space collisions; but need to take care of links between the files then) +>> and need to be registed within the ikiwiki system. +>> --[[tschwinge]] + +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*. +--[[tschwinge]] ## `makeinfo` Output `makeinfo --html` is being used for rendering. It creates stand-alone -HTML files, while ikiwiki only needs the files' ``s. --[[tschwinge]] +HTML files, while ikiwiki only needs the files' ``s. + +(?) One possibility (which is what I'm doing at the moment) is to simply cut away +everythin until `` is seen and after `` has been seen. --[[tschwinge]]