]> mj.ucw.cz Git - libucw.git/commitdiff
Documentation system: <<f()>> links
authorMichal Vaner <vorner@ucw.cz>
Fri, 5 Sep 2008 17:48:56 +0000 (19:48 +0200)
committerMichal Vaner <vorner@ucw.cz>
Fri, 5 Sep 2008 17:48:56 +0000 (19:48 +0200)
The <:f()> function links were replaced by ones more similar to existing
cross-reference links.

<<f(params)>> -- link to function
<<f(params),text>> -- with user-provided link text
<<file:f(params)>>,<<file:f(params),text>> -- link to a function in
  different file

Furtheremore, the documentation config was split into backend specific
(xhtml at this moment only) and backend independent parts.

build/Makebottom
build/asciidoc-xhtml.conf [new file with mode: 0644]
build/asciidoc.conf [new file with mode: 0644]
build/docconfig [deleted file]

index 471fd356b91455d1f3d21adcdf181f4b4b55f14a..1b62b06aba9c855bce308923ccc5f1511c930969 100644 (file)
@@ -195,7 +195,7 @@ $(DATAFILES): $(o)/%: $(s)/%
 # Rules for documentation
 $(o)/%.html: $(o)/%.txt
        $(M)"AD $< -> $@"
-       $(Q)asciidoc -f $(s)/build/docconfig $<
+       $(Q)asciidoc -e -f $(s)/build/asciidoc.conf -f $(s)/build/asciidoc-xhtml.conf -f /etc/asciidoc/asciidoc.conf -f /etc/asciidoc/xhtml11.conf $<
 
 $(o)/%.txt: $(s)/%.txt
        $(M)"ED $< -> $@"
diff --git a/build/asciidoc-xhtml.conf b/build/asciidoc-xhtml.conf
new file mode 100644 (file)
index 0000000..a569ddd
--- /dev/null
@@ -0,0 +1,26 @@
+[replacements]
+NULL=<tt>NULL</tt>
+
+[macros]
+(?su)[\\]?(?P<name>\w+):!:(?P<rest>\([^();:]*\))=func_no_reuse
+
+[null-inlinemacro]
+<tt>NULL</tt>
+
+[func_param-inlinemacro]
+<i><tt>{name}</tt></i>
+
+[func_ref-inlinemacro]
+<a href='#fun_{name}'>{caption=<tt>{name}:!:{params}</tt>}</a>
+
+[func_ref_file-inlinemacro]
+<a href='{filename}.html#fun_{name}'>{caption=<tt>{name}:!:{params}</tt>}</a>
+
+[func_anchor-inlinemacro]
+<div class="literalblock" id="fun_{name}"><div class="content"><pre><tt>{prefix}:!:{params}</tt></pre></div></div>
+
+[func_auto_ref-inlinemacro]
+<a href='#fun_{name}'><tt>{all}</tt></a>
+
+[func_no_reuse-inlinemacro]
+{name}{rest}
diff --git a/build/asciidoc.conf b/build/asciidoc.conf
new file mode 100644 (file)
index 0000000..c32b048
--- /dev/null
@@ -0,0 +1,6 @@
+[macros]
+(?su)[\\]?&lt;&lt;(?P<filename>\w+):(?P<name>[^&;:()<> ]+)(?P<params>\([^&:;]*\);?)(,(?P<caption>[^&;]+))?&gt;&gt;=func_ref_file
+(?su)[\\]?&lt;&lt;(?P<name>[^&;:()<> ]+)(?P<params>\([^&:;]*\);?)(,(?P<caption>[^&;]+))?&gt;&gt;=func_ref
+(?su)[\\]?@(?P<name>\w+)=func_param
+(?su)[\\]?!!f!(?P<prefix>[^!]*(?P<name>\w+))(?P<params>\([^&;:()]*\);?)[^!]*!!!=func_anchor
+(?su)[\\]?(?P<all>(?P<name>\w+)\([^();:]*\))=func_auto_ref
diff --git a/build/docconfig b/build/docconfig
deleted file mode 100644 (file)
index bf29126..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[replacements]
-@(\w+)=<i><tt>\1</tt></i>
-&lt;([^:;&]+):(\w+)(\([^&;:]*\)):([^&;]+)&gt;=<a href='\1.html#fun_\2'>\4</a>
-&lt;([^:;&]+):(\w+)(\([^&;:]*\))&gt;=<a href='\1.html#fun_\2'><tt>!?\2!?\3!?</tt></a>
-&lt;:(\w+)(\([^&;:]*\)):([^&;]+)&gt;=<a href='#fun_\1'>\3</a>
-&lt;:(\w+)(\([^&;:]*\))&gt;=<a href='#fun_\1'><tt>!?\1!?\2!?</tt></a>
-!!f!((.*\W|)(\w+))(\([^()]*\).*)!!!=<div class="literalblock" id="fun_\3"><div class="content"><pre><tt>!?\1!?\4!?</tt></pre></div></div>
-((\w+)\([^()]*\))=<a href='#fun_\2'><tt>\1</tt></a>
-!\?((.*\W|)(\w+))!\?(\([^()]*\).*)!\?=\1\4
-NULL=<tt>NULL</tt>