aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_html.c
Commit message (Collapse)AuthorAgeFilesLines
...
* As per schwarze@'s suggestions, roll back the refcount structure inKristaps Dzonsons2010-12-241-25/+25
| | | | | | | | favour of a simpler shim for normalised data in the node allocation and free routines. This removes the need to bump and copy references within validator handlers, removes a pointer redirect, and also kills the refcount structure itself. Data is assumed to "live" either in a MDOC_BLOCK or MDOC_ELEM and is copied accordingly.
* Ensure -Thtml has DIV as child of BLOCKQUOTE.Kristaps Dzonsons2010-12-231-6/+6
|
* Implement reference-counted version of original union mdoc_data. ThisKristaps Dzonsons2010-12-221-32/+32
| | | | | | | simplifies clean-up and allows for more types without extra hassle. Also made in-line literal types in -T[x]html use CODE instead of SPAN to match how literal blocks use PRE.
* Fix list-type being clobbered by margins. Last default styles in place.Kristaps Dzonsons2010-12-201-13/+14
| | | | | Added `Sx' to be default-italic (as in OpenBSD's cvsweb). Added `diag' formatting, which had been lost.
* More use default tags, this time I and U. Also fix a stack overflowKristaps Dzonsons2010-12-201-11/+18
| | | | segfault in the last commit.
* Give header and footer table cells default widths (using WIDTH and ALIGNKristaps Dzonsons2010-12-201-21/+53
| | | | | | | | | atttributes) if no style is specified. Give the default-bold elements a B tag instead of a SPAN tag, as this can be overriden in the stylesheet. Prune some unused attributes from html.h.
* Migrate schwarze@'s `Bk' argument patch to -T[x]html.Kristaps Dzonsons2010-12-191-2/+3
|
* Don't use EM for default widths; use BU instead.Kristaps Dzonsons2010-12-171-3/+3
|
* Prevent double-printing of `D1' or `Dl' DIV.Kristaps Dzonsons2010-12-171-5/+4
|
* Add a "list" top-level tag, too.Kristaps Dzonsons2010-12-171-2/+5
|
* Remove useless DIVs in favour of BRs. Fix `Ex' by having it print a priorKristaps Dzonsons2010-12-171-4/+10
| | | | BR. Fix `Rv' by only having it print a BR if there's a prior.
* Make literal `Bd' use a PRE in -Thtml. Make `Bd' output in general useKristaps Dzonsons2010-12-171-30/+22
| | | | only a single DIV or PRE. Tag all displays with display class.
* Have synopsis_pre() in -Thtml emit P or BR, not DIVs.Kristaps Dzonsons2010-12-171-43/+23
| | | | Banish header and footer TABLE styling to example.style.css.
* Make SYNOPSIS `Nm' use a TABLE in -T[x]html mode. Also fix `Nd' usingKristaps Dzonsons2010-12-171-55/+33
| | | | desc-body instead of desc as its CSS key.
* Significantly clean up Sh, Ss, SH, and SS handling in -Thtml. Now aKristaps Dzonsons2010-12-171-70/+23
| | | | | | 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.
* Get widths to be propertly represented in -T[x]html.Kristaps Dzonsons2010-12-161-7/+18
|
* Remove `Pp' and `Lp' checks in front-ends to make sure we're notKristaps Dzonsons2010-12-151-6/+1
| | | | | printing as the first or last child of an `Ss' or `Sh': this is now ensured within the validator.
* Use a single P tag for paragraph breaks (which can be configured forKristaps Dzonsons2010-12-151-30/+34
| | | | | | | paragraph breaking in CSS). Use -man's handling of `sp' and `br', which accomodates for scaling widths (-mdoc wasn't).
* Make sure that new list types don't emit whitespace before or after (weKristaps Dzonsons2010-12-151-21/+16
| | | | have to do this manually).
* Clarify purpose of "lit".Kristaps Dzonsons2010-12-151-7/+11
| | | | Make `Dl' and `D1' both use BLOCKQUOTE instead of DIVs.
* Remove stupid outer DIV tag in favour of regular BODY and HTML that canKristaps Dzonsons2010-12-151-7/+1
| | | | | | | | be handled in CSS. Clarified "lit" tag (will be the subject of future clarification). Removed CSS2 note in mandoc.1, which is no longer the case.
* Added list-type style tips.Kristaps Dzonsons2010-12-151-12/+13
|
* In-progress move from -T[x]html using DIVs for its lists to using DL,Kristaps Dzonsons2010-12-151-239/+151
| | | | | OL, and UL. Issue raised by Will Backman, solution proposed by schwarze@.
* Merge schwarze@'s changes allowing nested displays. Tweak the patch byKristaps Dzonsons2010-12-051-1/+5
| | | | | | | making sure output doesn't add a superfluous newline with the nested displays. Also add a COMPATIBILITY note. Rename a macro (DATESIZ) to be in line with OpenBSD (DATESIZE).
* Move `Mt', `Ar', and `Li' handling from mdoc_action.c into mdoc_validate.c.Kristaps Dzonsons2010-11-291-2/+2
| | | | | | | | Clarify that `Mt' gets a default `~' (as per groff 1.20) and document it in mdoc.7. Made `Lk' be removed in mdoc_macro.c if it has no arguments. This fixes segfaults in mdoc_{term,html}.c that nobody's managed to raise yet.
* let .Bsx print just "BSD/OS" like in modern groffIngo Schwarze2010-10-231-2/+2
| | | | from Ulrich Spoerlein <uqs at spoerlein dot net>
* `Sm' no longer produces a linebreak when used in `Bd'.Kristaps Dzonsons2010-10-101-2/+13
|
* * need a space before .No even if it starts with a closing delimiterIngo Schwarze2010-10-011-6/+5
| | | | | | | * slightly simplify .Pf *_IGNDELIM code, and share part of it with .No * do not let opening delimiters fall out of the front of .Ns (from kristaps@) This fixes a few spacing issues in csh(1) and ksh(1). OK kristaps@
* Fix small regression where `Op' had an extra space between the "[" and the SPAN.Kristaps Dzonsons2010-10-011-1/+2
|
* Suppress whitespace following Pp, Lp, sp, and the other newline-emittingKristaps Dzonsons2010-09-271-1/+21
| | | | macros within an unfilled or literal `Bd'.
* Consolidated all -T[x]html punctuation macros into one function.Kristaps Dzonsons2010-09-261-214/+143
|
* A `%T' invoked outside of `Rs' should not produce trailing punctuation.Kristaps Dzonsons2010-09-251-2/+4
| | | | | This from a TODO entry. Also stripped the superfluous NOSPACE, which is handled in term_word() or print_text() anyway.
* Add `Rs' vertical-space in -T[x]html "SEE ALSO" section. RemoveKristaps Dzonsons2010-09-251-7/+4
| | | | | | corresponding TODO entry. Also have the "." after an `Rs' block trigger inter-sentence spacing.
* Churny commit to quiet lint. No functional changes.Kristaps Dzonsons2010-09-041-2/+2
|
* Properly handle -mdoc %A in all outputs. This has two-author entiresKristaps Dzonsons2010-09-041-1/+10
| | | | | | | separated by only "and" while two or more are with ", and" for the last author. Also remove relevant TODO and add regression tests.
* Implement a simple, consistent user interface for error handling.Ingo Schwarze2010-08-201-2/+2
| | | | | | | | | | | | | | | | | We now have sufficient practical experience to know what we want, so this is intended to be final: - provide -Wlevel (warning, error or fatal) to select what you care about - provide -Wstop to stop after parsing a file with warnings you care about - provide consistent exit status codes for those warnings you care about - fully document what warnings, errors and fatal errors mean - remove all other cruft from the user interface, less is more: - remove all -f knobs along with the whole -f option - remove the old -Werror because calling warnings "fatal" is silly - always finish parsing each file, unless fatal errors prevent that This commit also includes a couple of related simplifications behind the scenes regarding error handling. Feedback and OK kristaps@; Joerg Sonnenberger (NetBSD) and Sascha Wildner (DragonFly BSD) agree with the general direction.
* same as mdoc_term.c rev. 1.180:Ingo Schwarze2010-08-071-5/+5
| | | | | preserve blank lines at the end of .Bd -literal patch from kristaps@, who asked me to commit this
* Fix how `Bd -unfilled' and `Bd -literal' break lines. This unbreaksKristaps Dzonsons2010-07-271-8/+5
| | | | | displays to work as old groff shows them; however, new groff still does some fancy shit.
* Add support for `Sm' in -T[x]html -mdoc.Kristaps Dzonsons2010-07-231-2/+20
|
* Remove some FIXMEs: `Ms' accepts arbitrary text, so it can't/shouldn'tKristaps Dzonsons2010-07-191-2/+2
| | | | | | be converted into a symbol. The `Pp' issue has also been fixed.
* Fix spurrious newline emitted by `Pp' when specified before or afterKristaps Dzonsons2010-07-191-1/+6
| | | | `Sh'/`Ss'. Reported by Jason McIntyre.
* 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.
* Give -T[x]html `Bk -words' capability.Kristaps Dzonsons2010-07-061-2/+48
|
* Cache column sizes and char pointer into mdoc_bl. Finally get rid ofKristaps Dzonsons2010-07-041-14/+4
| | | | the loops here and there to track down the MDOC_Column arguments.
* Stash `Bf' parameters into struct mdoc_bf.Kristaps Dzonsons2010-07-021-30/+17
|
* Implemented -Thtml bits for handling `Nm' blocks.Kristaps Dzonsons2010-07-021-9/+62
|
* Make struct_bl and struct_bd into pointers. This removes the need to doKristaps Dzonsons2010-07-011-14/+17
| | | | | | | | | | | copying on internals after modification. Even more importantly, if an ENDBODY token is provided, it would have been impossible for post-change copying of the data to take place in the BLOCK. This allows it to happen by dint of pointers. Also did some bikeshedding in mdoc_term.c: checking against enum type and explicitly casting to the "post" function to void. This is for my own readability.
* More reality-checks for the p->end type.Kristaps Dzonsons2010-07-011-3/+3
|
* Support for badly nested blocks, written around the time ofIngo Schwarze2010-06-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | the Rostock mandoc hackathon and tested and polished since, supporting constructs like: .Ao Bo Ac Bc (exp breaking exp) .Aq Bo eol Bc (imp breaking exp) .Ao Bq Ac eol (exp breaking imp) .Ao Bo So Bc Ac Sc (double break, inner before outer) .Ao Bo So Ac Bc Sc (double break, outer before inner) .Ao Bo Ac So Bc Sc (broken breaker) .Ao Bo So Bc Do Ac Sc Dc (broken double breaker) There are still two known issues which are tricky: 1) Breaking two identical explicit blocks (Ao Bo Bo Ac or Aq Bo Bo eol) fails outright, triggering a bogus syntax error. 2) Breaking a block by two identical explicit blocks (Ao Ao Bo Ac Ac Bc or Ao Ao Bq Ac Ac eol) still has a minor rendering error left: "<ao1 <ao2 [bo ac2> ac1> bc]>" should not have the final ">". We can fix these later in the tree, let's not grow this diff too large. "get it in" kristaps@