aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/man_html.c
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup naming of local variables to make the code easier on the eye:Ingo Schwarze2012-11-171-28/+28
| | | | | | | | Settle for "struct man *man", "struct mdoc *mdoc", "struct meta *meta" and avoid the confusing "*m" which was sometimes this, sometimes that. No functional change. ok kristaps@ some time ago
* Minimal implementation of .EX and .EE for GNU compatibility.Ingo Schwarze2012-06-021-2/+4
| | | | | Do not use this, it is not portable and only defined in esr's man-ext. For example, sox(1) wants these macros.
* update Copyright years according to the CVS logs; no code changeIngo Schwarze2012-05-271-2/+2
|
* Add support for `OP', one of the extended man macros. This also requiresKristaps Dzonsons2012-01-031-11/+42
| | | | some man(7) changes to accomodate for the an-ext compatibility.
* Jumping out of man_unscope() for the root node is a bad ideaIngo Schwarze2011-12-041-5/+8
| | | | | | | | because that will skip root node validation, potentially entering rendering modules will NULL pointers lurking in the meta data. Instead, always validate the root node and (as suggested by joerg@) assert validity of the meta data before using it in the renderers. ok joerg@
* Don't depend on snprintf to handle NULL strings. Deal with missing date.Joerg Sonnenberger2011-11-181-3/+5
|
* Always print <table> column widths in -T[x]html;Ingo Schwarze2011-10-091-36/+18
| | | | | if desired, they can be overridden in the CSS file. Suggested by kristaps@, and i always like to simplify code.
* Add the -Ofragment option to -T[]x]html. This accomodates for embeddingKristaps Dzonsons2011-10-051-18/+17
| | | | | manual output in existing HTML or XHTML documents, e.g., when invoking mandoc from an SSI or CGI.
* Align `-offset indent' and `D1' by forcing BLOCKQUOTE to have a 5exKristaps Dzonsons2011-08-181-2/+1
| | | | | | | | | margin. This is dubious: the HTML4 spec specifically says that BLOCKQUOTE shouldn't be abused for indentation, which is exactly what we do. However, `D1' needs indentation and it's the only way to force text browsers to do so. Alternatives? Also remove the unused HALFINDENT defines while here.
* Flip on equation printing for -T[x]html.Kristaps Dzonsons2011-07-231-5/+2
|
* Flip eqn into using parsed nodes. I've temporarily disabled printingKristaps Dzonsons2011-07-211-3/+3
| | | | | | | these in the front-ends except for -Ttree, which will display the parsed tree. While here, fix that quoted strings aren't scanned for replacement parts.
* Considerably fix up -man -T[x]html's handling of verbatim spaces (`nf'),Kristaps Dzonsons2011-07-071-18/+20
| | | | which before were being handled erratically.
* Clean up how -man -T[x]html handles TP, IP, and HP (dd lists andKristaps Dzonsons2011-07-071-79/+15
| | | | | indented paragraph macros, respectively). This cleans up code and also cleans up the output quite a lot.
* Fix a TODO noted by schwarze@, originally by Christian Weisgerber:Kristaps Dzonsons2011-07-031-1/+3
| | | | | literal mode (`nf') is ended by SH (and, it turns out, SS as well). Noted the updated behaviour in man.7 as well.
* First fix how `sp 1' doesn't imply `1v' (it now does) and that 1Kristaps Dzonsons2011-06-291-3/+4
| | | | | | followed by non-digits, e.g. `1g', really means `1'. Next, fix some spacing issues where `sp' was invoked in -man after sections or subsections. Make sure this behaviour is mirrored in -Thtml.
* Make -T[x]html in -man also be aware of the vertical-space issues in theKristaps Dzonsons2011-06-181-5/+29
| | | | last few commits.
* Fix two TODOs with one check-in. Both of these relate to vertical spaceKristaps Dzonsons2011-06-181-2/+1
| | | | before paragraphs and/or within `RS' blocks.
* Cleanups in -T[x]html: make html_idcat() use the buffer and be calledKristaps Dzonsons2011-05-171-6/+6
| | | | | | bufcat_id(), then collapse it into a little function without so much crap. Next, make bufinit() only be called when we really need to do so, and not simply before pre/post calls.
* Clean-ups in -T[x]html: inline print_num(), as it was just a singleKristaps Dzonsons2011-05-171-2/+2
| | | | | | | | | | conditional; same for print_xmltype() and print_doctype(), same reason; make bufncat() be static, as it was only being called from html.c; have bufcat() simply call through to strlcat(). Finally, assert() whenever we truncate. Also rename buffmt() -> bufcat_fmt() to differentiate from buffmt_man et al., which do not concatenate.
* Clean up date handling,Ingo Schwarze2011-03-071-9/+3
| | | | | | | | | | | | as a first step to get rid of the frequent petty warnings in this area: - always store dates as strings, not as seconds since the Epoch - for input, try the three most common formats everywhere - for unrecognized format, just pass the date though verbatim - when there is no date at all, still use the current date Originally triggered by a one-line patch from Tim van der Molen, <tbvdm at xs4all dot nl>, which is included here. Feedback and OK on manual parts from jmc@. "please check this in" kristaps@
* EQN blocks are now printed in all modes. This is simply a printing ofKristaps Dzonsons2011-02-091-2/+8
| | | | the concatenated string (in -T[x]html, it gets a SPAN, too).
* Add initial libmdoc and libman top-most machinery for accepting TBLKristaps Dzonsons2011-02-061-1/+3
| | | | | directives. For now this will just ignore them (except for -Ttree, which just notes that an EQN's been accepted).
* Refrain from throwing fatal errors forIngo Schwarze2011-01-171-3/+3
| | | | | | | * .br .sp .nf .fi .na with arguments - just skip the arguments * .TH lacking arguments - use empty strings instead like groff * .TH with excessive arguments - skip those Reminded by joerg@, ok kristaps@.
* Change how -Thtml behaves with tables: use multiple rows, with widthsKristaps Dzonsons2011-01-131-3/+17
| | | | | | | | | set by COL, until an external macro is encountered. At this point in time, close out the table and process the macro. When the first table row is again re-encountered, re-start the table. This requires a bit of tracking added to "struct html", but the change is very small and follows the logic of meta-fonts. This all follows a bug-report by joerg@.
* Bring in -Tascii comments for -Thtml MANH_LITERAL line-breaking stuff.Kristaps Dzonsons2011-01-121-6/+16
|
* Make sure that -Thtml doesn't break within literal lines. This is theKristaps Dzonsons2011-01-121-14/+6
| | | | same logic as the -Tascii case. Also remove the TODO.
* If the first character of free-form text is whitespace, then a newlineKristaps Dzonsons2011-01-121-1/+10
| | | | shall precede outputted text (surprise!).
* Quiesce lint with some type handling. Does not change anything.Kristaps Dzonsons2011-01-071-5/+3
|
* Protect tbl nodes from getting a post call.Kristaps Dzonsons2011-01-041-4/+11
|
* Add skeleton for -T[x]html tbl stuff. Also start to put in some bits aboutKristaps Dzonsons2011-01-041-2/+3
| | | | the up-coming version, although we're not quite there yet.
* Multiple man(7) .IP and .TP fixes started during p2k10:Ingo Schwarze2011-01-041-22/+10
| | | | | | | | | | | | | | | | | | | | | Affecting both -Tascii and -Thtml: * The .IP HEAD uses the second argument as the width, not the last one. * Only print the first .IP HEAD argument, not all but the last. Affecting only -Tascii: * The .IP and .TP HEADs must be printed without literal mode, but literal mode must be restored afterwards. * After the .IP and .TP bodies, we only want term_newln(), not term_flushln(), or we would get two blank lines in literal mode. * The .TP HEAD does not use TWOSPACE, just like .IP doesn't either. * In literal mode, clear NOLPAD after each line, or subsequent lines would get no indentation whatsoever. Affecting only -Thtml: * Only print next-line .TP children, instead of all but the first. OK kristaps@ on the -Tascii part; and: "Can you work this into man_html.c, too?"
* Add -man support for tables. Like -mdoc, this consists of anKristaps Dzonsons2011-01-011-13/+6
| | | | | | | external-facing function man_addspan() (this required shuffling around the descope routine) and hooks elsewhere. Also fixed mdoc.c's post-validation of tables.
* Drastically fix -T[x]html's handling of font-escape mode changes (i.e.,Kristaps Dzonsons2010-12-241-29/+24
| | | | | | | | | | | | | | | using \fI or \fP). Now, using these modes will cause a font to be rendered for each word; furthermore, setting mode within a word will do the correct thing. Second, make -man use real font tags (B, I, SMALL) to set its font instead of using font modes and fix up the pre-macro unsetting of the current mode. This fixes how roff.7 wasn't validating (<P> closing out a font mode) and has been checked against gcc.1 (more will come). I considered failure to validate OUR manual to be a show-stopper for the up-coming release.
* Throw out negative margin garbage in -man -T[x]html in favour of usingKristaps Dzonsons2010-12-221-97/+79
| | | | TABLE and P and so on. Now renders in text-based browsers.
* Banished -man -Thtml header and footer to example.style.css as well.Kristaps Dzonsons2010-12-171-32/+19
|
* Significantly clean up Sh, Ss, SH, and SS handling in -Thtml. Now aKristaps Dzonsons2010-12-171-57/+13
| | | | | | top-level DIV is used with only an H1 or H2 as the section header. This makes manuals much more readable in lynx, less complicated, and relegates left-margin widths to example.style.css.
* Use a single P tag for paragraph breaks (which can be configured forKristaps Dzonsons2010-12-151-9/+2
| | | | | | | paragraph breaking in CSS). Use -man's handling of `sp' and `br', which accomodates for scaling widths (-mdoc wasn't).
* Remove `i' and `r' macro handlers. These macros, originally part of theKristaps Dzonsons2010-12-081-3/+1
| | | | | | | | me package, aren't recognised by "groff -mandoc" so we don't need to do so either. Discussed on tech@ with schwarze@. While at it, remove references to `b' in man.7. As far as I know, this was never supported anyway.
* Typo: man_in_pre -> man_ign_pre for `ft'.Kristaps Dzonsons2010-12-061-2/+2
|
* Add support for `ft' macro found in groff(7). Based on a patch byKristaps Dzonsons2010-12-061-1/+2
| | | | | schwarze@, but without the -T[x]html handling, which structurally does not work. Also add man.7 documentation (not in original patch).
* Small merges from schwarze@'s man_html.c edits.Kristaps Dzonsons2010-12-061-7/+3
|
* Let some man_term.c cleanups bleed into man_html.c.Kristaps Dzonsons2010-12-061-7/+3
|
* Header for `PP', `P', and `LP' should never be printed.Kristaps Dzonsons2010-12-061-2/+5
|
* Remove `Sp', `Vb', and `Ve' (as per schwarze@'s changes in OpenBSD),Kristaps Dzonsons2010-12-051-10/+2
| | | | which are now accomodated for the new libroff modifications.
* Enable literal contexts (Vb/nf) in -T[x]html -man. This requires that aKristaps Dzonsons2010-07-231-19/+65
| | | | | | | | new struct pass down in the call-tree (as also in man_term.c). Also add a line-break for `in', which isn't otherwise supported (yet). Now -Thtml -man cvs.1 for GNU's cvs.1 isn't as ugly.
* Fix broken compilation, hopefully before anybody notices.Kristaps Dzonsons2010-07-221-2/+2
|
* Added `in' macro support for -man -Tascii. This is not yet supported inKristaps Dzonsons2010-07-221-1/+2
| | | | -Thtml (I'm surprised to note that neither is LITERAL mode).
* correct lots of copyright notices;Ingo Schwarze2010-07-131-2/+2
| | | | ok kristaps@
* Re-constitution of `ds' symbol processing. First, push theKristaps Dzonsons2010-07-071-2/+1
| | | | | | | | | roff_getstr() family of functions into roff.c with the "first_string" directly in struct roff. Second, pre-process each line for reserved words in libroff, splicing and re-running a line if it has one (this allows defined symbols to be macros). Remove term.c's invocation of the roff_getstrn() function. Removed function documentation in roff.3 and added roff.7 `ds' documentation.
* Following clue-stick applied by schwarze@, back out const-ness of regsetKristaps Dzonsons2010-06-271-1/+2
| | | | | | | | | passed in to libmdoc and libman. Fix mdoc.3 and man.3 EXAMPLE sections to include regset. Add MDOC_SYNPRETTY flag cueing front-end to nicely format certain values as if SEC_SYNOPSIS were the current section.