2007-11-06 22:34:23 +01:00
|
|
|
[[I|tschwinge]] started writing a plugin to render [Texinfo](http://www.gnu.org/software/texinfo/)
|
2007-11-06 22:03:44 +01:00
|
|
|
inside the ikiwiki environment.
|
|
|
|
|
|
|
|
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.
|
2007-11-06 22:34:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
# Issues
|
|
|
|
|
2007-11-06 22:39:50 +01:00
|
|
|
## N-to-M Mapping of Input and Output Files
|
|
|
|
|
2007-11-06 22:35:37 +01:00
|
|
|
Conventional ikiwiki [[*htmlize*ing|plugins/write#index6h3]] plugins
|
|
|
|
have a one-to-one mapping of input file and output file:
|
|
|
|
`some/where/page.mdwn` is rendered to `some/where/page.html`.
|
2007-11-06 22:34:23 +01:00
|
|
|
This can also be achieved for Texinfo files, but is somewhat
|
|
|
|
unusual there, when rendering them to HTML. In general, there
|
|
|
|
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
|
|
|
|
<http://www.gnu.org/software/texinfo/manual/texinfo/html_node/#Top>
|
|
|
|
for an example.
|
|
|
|
|
|
|
|
How to teach this to ikiwiki?
|
2007-11-06 22:39:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Copyright and Licensing Snippets
|
|
|
|
|
|
|
|
ikiwiki (obviously) doesn't understand (parse) the copyright and licensing
|
|
|
|
statements which are included in `.texi` files.
|
2007-11-06 22:42:12 +01:00
|
|
|
|
|
|
|
|
|
|
|
## `makeinfo` Output
|
|
|
|
|
|
|
|
`makeinfo --html` is being used for rendering. It creates stand-alone
|
|
|
|
HTML files, while ikiwiki only needs the files' `<body>`s.
|