diff options
-rw-r--r-- | Makefile | 26 | ||||
-rw-r--r-- | index.7 | 52 | ||||
-rw-r--r-- | xml.c | 3 |
3 files changed, 48 insertions, 33 deletions
@@ -7,23 +7,29 @@ CFLAGS += -W -Wall -Wno-unused-parameter -g -DDEBUG LINTFLAGS += -c -e -f -u -LNS = mdocml.ln html.ln xml.ln libmdocml.ln roff.ln ml.ln mlg.ln compat.ln tokens.ln literals.ln +LNS = mdocml.ln html.ln xml.ln libmdocml.ln roff.ln ml.ln mlg.ln \ + compat.ln tokens.ln literals.ln LLNS = llib-lmdocml.ln LIBS = libmdocml.a -OBJS = mdocml.o html.o xml.o libmdocml.o roff.o ml.o mlg.o compat.o tokens.o literals.o +OBJS = mdocml.o html.o xml.o libmdocml.o roff.o ml.o mlg.o \ + compat.o tokens.o literals.o -SRCS = mdocml.c html.c xml.c libmdocml.c roff.c ml.c mlg.c compat.c tokens.c literals.c +SRCS = mdocml.c html.c xml.c libmdocml.c roff.c ml.c mlg.c \ + compat.c tokens.c literals.c HEADS = libmdocml.h private.h ml.h roff.h MANS = mdocml.1 index.7 -HTML = index.html mdocml.html +HTML = index.html mdocml.html -CLEAN = mdocml mdocml.tgz $(LLNS) $(LNS) $(OBJS) $(LIBS) $(HTML) +XML = index.xml + +CLEAN = mdocml mdocml.tgz $(LLNS) $(LNS) $(OBJS) $(LIBS) $(HTML) \ + $(XML) INSTALL = Makefile $(HEADS) $(SRCS) $(MANS) @@ -44,7 +50,7 @@ lint: llib-lmdocml.ln dist: mdocml.tgz -www: $(HTML) +www: $(HTML) $(XML) regress: mdocml @for f in $(FAIL); do \ @@ -65,12 +71,16 @@ clean: index.html: index.7 mdocml.css ./mdocml -W -fhtml -e -o $@ index.7 +index.xml: index.7 mdocml.css + ./mdocml -W -fhtml -e -o $@ index.7 + mdocml.html: mdocml.1 mdocml.css ./mdocml -W -fhtml -e -o $@ mdocml.1 install-www: www dist - install -m 0644 mdocml.tgz $(PREFIX)/ - install -m 0644 $(HTML) $(PREFIX)/ + install -m 0644 mdocml.tgz $(PREFIX)/mdocml-$(VERSION).tgz + ( cd $(PREFIX)/ && ln -sf mdocml-$(VERSION).tgz mdocml.tgz ) + install -m 0644 $(HTML) $(XML) $(PREFIX)/ mdocml.tgz: $(INSTALL) mkdir -p .dist/mdocml/mdocml-$(VERSION)/ @@ -19,8 +19,19 @@ into XML or HTML documents. Unlike other similar utilities such as and .Xr man2html 1 , .Nm -acts directly on source documents, validating its input and producing a -variety of outputs. +is a full macro parser operating on source documents, specifically mdoc, +validating input and compiling to HTML and XML output types. +.Pp +The +.Nm +utility is tested specifically on +.Ox +manual sources as compiled and invoked both on +.Ox +and Linux. +.Nm +is +.Ud .\" .Ss Validation In order to operate sanely, @@ -30,47 +41,35 @@ following checks: .Pp .Bl -enum -compact .It -special characters (such as +valid special characters (such as .Sq \en and .Sq \et ) , .It -macro scope (such as +sane macro scope (such as .Sq \&.Sh macros clobbering a pending .Sq \&.Bl scope), .It -predefined characters (such as \\*(>= and \\*q), +valid predefined characters (such as \\*(>= and \\*q), .It correctly-ordered document prelude, .It -sane argument values (such as those for +sane macro argument values (such as those for .Sq \&.Dt or .Sq \&.Sm ) , .It and so on. .El -.Pp -The -.Nm -utility has been tested under Linux and -.Ox , -specifically on -.Ox -manual source. -.Nm -is -.Ud .\" .Ss Filtering -When a block of source has been verified, it's passed to the front-end -fitlers, which format and display data. The -.Nm -utility is invoked with a filter by the -.Fl f -flag. The HTML filter has the following features: +When a line of source has been parsed, it's passed to the output +filters, which format and display data. The two available filters are +HTML and XML. +.Pp +The HTML filter has the following features: .Pp .Bl -enum -compact .It @@ -92,7 +91,9 @@ The XML filter creates a correct XML tree with and .Dq inline namespaces corresponding to macro categories. Namespace identifiers -correspond to their definitions. +correspond to their definitions. A sample is available at +http://mdocml.bsd.lv/index.xml +.Ns . .\" .Sh DOWNLOADS Download @@ -102,6 +103,9 @@ at http://mdocml.bsd.lv/mdocml.tgz .\" - UPDATE ME WITH EVERY RELEASE. ---------------------------------- The current version is 1.0.0, dated 08/12/2008. .\" ------------------------------------------------------------------ +.Pp +Previous versions are archived as mdocml-x.y.z.tgz, with the appropriate +versions filled in. .\" .Sh DOCUMENTS The manual for @@ -131,7 +131,8 @@ xml_begin(struct md_mbuf *mbuf, const struct md_args *args, "encoding=\"UTF-8\"?>\n", NULL)) return(0); return(ml_puts(mbuf, "<mdoc xmlns:block=\"block\" " - "xmlns:special=\"special\" " + "xmlns:body=\"body\" " + "xmlns:head=\"head\" " "xmlns:inline=\"inline\">", NULL)); } |