summaryrefslogtreecommitdiff
path: root/bk_xhtml.c (follow)
Commit message (Collapse)AuthorAge
* Initial checkin of the shiny new rewritten-from-scratch HTML backSimon Tatham2004-06-12
| | | | | | | | | | | | | | | | | | end. There's a lot more _potentiality_ for new features than there are actual new features just yet, but future highlights include: configurable flavour of HTML (3.2, 4, XHTML Transitional or Strict), proper character set support (this is half way there already), and more flexible allocation of sections between multiple HTML files. Meanwhile, immediate benefits include correct handling of special characters within `author' and `description' strings, omission of the filename part in hyperlinks within the same HTML file (in particular, this means a single output file is now totally independent of its filename), and hyperlinks to the index from the top-level contents page (I'm amazed nobody has complained at the lack of this yet!). There are no doubt some shiny new bugs as well, but I'll never find them unless people start using the thing... [originally from svn r4275]
* para_Title was confusing the XHTML backend and preventing it fromSimon Tatham2004-05-04
| | | | | | printing preambles. Not quite sure how I missed that one! [originally from svn r4201]
* Infrastructure changes for character set support. ustrtoa,Simon Tatham2004-04-20
| | | | | | | | | | | ustrfroma, utoa_dup and ufroma_dup now take a charset parameter, and also have a variety of subtly distinct forms. Also, when a \cfg directive is seen in the input file, the precise octet strings for each parameter are kept in their original form as well as being translated into Unicode, so that when they represent filenames they can be used verbatim. [originally from svn r4097]
* Better robustness when backends encounter a Unicode character notSimon Tatham2004-04-19
| | | | | | representable in the output character set. [originally from svn r4094]
* Standardise on using double quotes in HTML attributes. It turns outSimon Tatham2004-04-15
| | | | | | | | that the GNOME help browser is perfectly happy with Halibut's HTML _except_ that it doesn't approve of single quotes in places such as <a href='here'>. [originally from svn r4082]
* Initial work on PS and PDF output. Because these two backends shareSimon Tatham2004-04-13
| | | | | | | | | | | | | | | | | | | an enormous amount of preprocessing and differ only in their final output form, I've introduced a new type of layer called a `pre-backend' (bk_paper.c is one). This takes all the information passed to a normal backend and returns an arbitrary void *, which is cached by the front end and passed on to any backend(s) which state a desire for the output of that particular pre-backend. Thus, all the page layout is done only once, and the PS and PDF backends process the same data structures into two output files. Note that these backends are _very_ unfinished; all sorts of vital things such as section numbers, list markers, and title formatting are missing, the paragraph justification doesn't quite work, and advanced stuff like indexes and PDF interactive features haven't even been started. But this basic framework generates valid output files and is a good starting point, so I'm checking it in. [originally from svn r4058]
* Added an info(1) backend, which constructs .info files directlySimon Tatham2004-04-09
| | | | | | | without going through the .texi source stage. A few things left to do, notably documentation, but the basics all seem to be there. [originally from svn r4047]
* Now I've got a mechanism for formatting HTML file names to aSimon Tatham2004-04-01
| | | | | | | | | | parametric template, reuse the same mechanism to allow the <a name="..."> markers on each section to be parametrised as well. That way, any user who so desires can arrange for everything in a section URL to be constructed from internal keywords, making it pretty robust against section numbering changes. [originally from svn r4019]
* Arrange a mechanism whereby each backend can be passed a filenameSimon Tatham2004-04-01
| | | | | | | | | from its command-line option (`--text=foo.txt') and automatically convert it into one or more notional \cfg directives. In the HTML case this mechanism enables single-file mode as well as setting the filename. [originally from svn r4018]
* Add \cfg / -C directives to allow the user to choose the output fileSimon Tatham2004-04-01
| | | | | | name (or name schema, in HTML). [originally from svn r4017]
* Fix a couple of memory leaks in backends.Simon Tatham2004-04-01
| | | | [originally from svn r4016]
* After so much fuss was made about this being an _XHTML_ back endSimon Tatham2004-03-31
| | | | | | | | rather than merely HTML, I thought it might be instructive to run it through the W3C's XHTML validator. Consequent changes in this checkin... [originally from svn r4010]
* The navigation links now contain a link to the index page.Simon Tatham2004-03-30
| | | | [originally from svn r4002]
* Simplify treatment of the copyright notice, now I've also simplifiedSimon Tatham2004-03-30
| | | | | | | | | the preamble: \copyright paragraphs are now treated identically to normal paragraphs (so they appear precisely where they're put instead of in a fixed location), _except_ that the Windows Help backend also copies their text into the help file's copyright slot. [originally from svn r4001]
* Fix bug in HTML index generation: any index tags appearing in aSimon Tatham2004-03-27
| | | | | | | | | | | | section title (which is not remotely unreasonable) got index references added to them not only when the section title was processed as part of its section, but also when it was processed as part of contents navigation displays - in which situation it tended to cause a link to, for example, the last section in the _previous_ file. Now we keep constant track of whether or not we're supposed to be indexing things as we process text. [originally from svn r3991]
* Obsoleted the `\preamble' command. Preamble text is now taken to beSimon Tatham2004-03-25
| | | | | | | | | | any ordinary displayable paragraph(s) appearing before the first chapter heading, meaning in particular that you can put lists, code paragraphs etc in preambles. Of course, `\preamble' is still supported for backwards compatibility, but it's now a zero-effect paragraph marker. [originally from svn r3981]
* Add a \quote{...} directive, working like <blockquote> in HTML.Simon Tatham2004-03-25
| | | | [originally from svn r3978]
* Cleanups to complete the man page backend. Also, an additional newSimon Tatham2004-03-24
| | | | | | | | | | | | | markup feature: a \c line in a code paragraph can now be followed by an optional \e line indicating emphasised bits of its preceding \c. This allows discretionary bolding and (italic/underline) emphasis within code paragraphs, but without introducing an escape character or breaking any existing input files. Users are warned that not all backends are required to actually render these hints, and so they should avoid depending on them 100% to convey semantic information unless they know they're writing for a restricted range of backends. [originally from svn r3965]
* Man-page back end for Halibut. Also, a couple of additional markupSimon Tatham2004-03-23
| | | | | | | | | features commonly used in man pages: (a) the ability to nest paragraph breaks, code paragraphs and other lists inside list items, and (b) description lists as normally used in man pages to describe command-line options. [originally from svn r3954]
* Of course, when I start freeing things in response to valgrind'sSimon Tatham2002-09-03
| | | | | | | | complaints, it would probably help if I arranged that those things had been _allocated_ in all cases, otherwise we merely exchange a memory leak for a core dump. Duh. [originally from svn r1916]
* Just had a play with this newfangled `valgrind' memory debuggerSimon Tatham2002-08-23
| | | | | | | thingy, which seems moderately cool and has reported a few very small memory leaks. Now apparently fixed. [originally from svn r1863]
* Add configurability for section heading formats, in much the sameSimon Tatham2002-08-12
| | | | | | | | way as bk_text already does it (you can choose to have or not have the "Section" at the start, and you can configure the suffix between number and title). [originally from svn r1839]
* Slightly improve the handling of headings in HTML single-file mode.Simon Tatham2002-08-11
| | | | [originally from svn r1832]
* Upgrade to Halibut xhtml backend, to allow leaf_level to be zero (inSimon Tatham2002-08-11
| | | | | | | | which case the whole of the HTML output will be in a single file, currently called Manual.html in the absence of configurability). This includes the index, if present. [originally from svn r1831]
* Rename Buttress to Halibut. I _think_ I've caught everything in this pass.Simon Tatham2002-08-05
| | | | [originally from svn r1800]
* Rename Index.html to IndexPage.html (storing Buttress output onSimon Tatham2002-03-06
| | | | | | | Windows is tricky otherwise, since Index.html clashes with index.html. Bah). [originally from svn r1575]
* xhtml-navigation-attributes config option (try {align='center'} for instance.James Aylett2002-01-29
| | | | | | | Contents entries are now, eg, "Chapter 1: Introduction" rather than just "Introduction". [originally from svn r1552]
* This update should bring the Windows Help back end up toSimon Tatham2001-12-04
| | | | | | | near-complete functionality. All that's missing now is indexing and horizontal rules. [originally from svn r1449]
* Fix memory management error (don't free a linked list by freeing xSimon Tatham2001-12-04
| | | | | | and _then_ setting x = x->next!). [originally from svn r1445]
* Replace Buttress's old tree23 routines with my shiny new countedSimon Tatham2001-12-04
| | | | | | tree234 routines; they will be useful in the WinHelp stuff at least. [originally from svn r1444]
* Improve handling of versionids - now every HTML file contains allSimon Tatham2001-11-25
| | | | | | | | | | | versionids. I thought it might be nice to include only the versionid(s) from the .but file(s) that gave rise to a particular chapter file, but actually this is very badly defined (that information is thrown away very early on in the front end) and in any case thanks to cross-references every file _does_ depend on its fellows. Better to put them all in throughout. [originally from svn r1417]
* Tree structures documented (ish), and algorithm laid out (even if theJames Aylett2001-10-26
| | | | | | implementation is inside out for part of it). [originally from svn r1331]
* Eliminate completely gratuitous tail recursion in three functionsSimon Tatham2001-10-25
| | | | [originally from svn r1328]
* Fix mis-aimed `next' pointers in various sections; appears to haveSimon Tatham2001-10-25
| | | | | | sorted out the HTML truncated-contents bug. [originally from svn r1327]
* Numeric entities written about properly (Christian Ludlam).James Aylett2001-07-16
| | | | [originally from svn r1159]
* Numeric entity references weren't working: the string pointer wasSimon Tatham2001-01-27
| | | | | | being incremented _past_ the NUL, so the rest of the string was lost. [originally from svn r902]
* * Now malloc()ing even built-in filenames, so we can free them allJames Aylett2001-01-17
| | | | | | without worry (oops) [originally from svn r866]
* * Removed original generation code (unused for some time)James Aylett2001-01-06
| | | | | | * Frees up data structures [originally from svn r835]
* Numeric entity references are in decimal, not hex (sgt).James Aylett2001-01-06
| | | | [originally from svn r834]
* * Couple more TODO items, from Simon's feedback.James Aylett2001-01-05
| | | | [originally from svn r833]
* Initial checkin of xhtml backend.James Aylett2000-12-21
[originally from svn r828]