aboutsummaryrefslogtreecommitdiff
path: root/doc/plugins/contrib/texinfo.mdwn
blob: 07e506948206c80aabe76cdb63e3925072343e13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[[I|tschwinge]] started writing a plugin to render [Texinfo](http://www.gnu.org/software/texinfo/)
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.


# Issues

## N-to-M Mapping of Input and Output Files

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`.
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?


## Copyright and Licensing Snippets

ikiwiki (obviously) doesn't understand (parse) the copyright and licensing
statements which are included in `.texi` files.


## `makeinfo` Output

`makeinfo --html` is being used for rendering.  It creates stand-alone
HTML files, while ikiwiki only needs the files' `<body>`s.