<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 15:47:14 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 15:47:14 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 15:47:14 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
ck: T.text list; (* contents *)
cc: T.css; (* css classes *)
cu: T.uri; (* uri *)
- cx: T.ext; (* extension *)
+ cx: T.ext; (* extension *)
+ cn: T.anchor; (* named anchor *)
cb: T.border; (* border *)
}
m: cell array array; (* matrix *)
}
+let strand a b = if a = "" then b else a
+
let empty = {
- ck = []; cc = []; cu = ""; cx = ""; cb = T.border false;
+ ck = []; cc = []; cu = ""; cx = ""; cn = ""; cb = T.border false;
}
let make ts = {
let set_key m y x kl =
m.m.(y).(x) <- {m.m.(y).(x) with ck = kl}
-let set_attrs m y x c u e =
+let set_attrs m y x c u e n =
m.m.(y).(x) <- {m.m.(y).(x) with
cc = c @ m.m.(y).(x).cc;
cu = u ^ m.m.(y).(x).cu;
cx = m.m.(y).(x).cx ^ e;
+ cn = strand m.m.(y).(x).cn n;
}
let set_west m y x b =
let rec aux y x =
if y >= t.T.ts.T.rf then () else
if x >= t.T.ts.T.cf then aux (succ y) 0 else begin
- M.set_attrs st.tm (t.T.ts.T.y + y) (t.T.ts.T.x + x) t.T.tc t.T.tu t.T.tx;
+ M.set_attrs st.tm (t.T.ts.T.y + y) (t.T.ts.T.x + x) t.T.tc t.T.tu t.T.tx t.T.tn;
aux y (succ x)
end
in
(A.get_attr L.concat [] st.c y x)
(A.get_attr (S.concat "") "" st.u y x)
(A.get_attr (S.concat "") "" st.x y x)
+ ""
let process_row st y row =
V.iteri (process_cell st y) row
type ext = string
+type anchor = string
+
type absolute = bool
type size = {
| Glue of int option
type table = {
+ tn: anchor; (* named anchor *)
mutable tc: css; (* css classes *)
mutable tu: uri; (* uri *)
mutable tx: ext; (* uri extension *)
n = b; s = b; e = b; w = b;
}
-let mk_key k tc tu tx = {
+let mk_key k tc tu tx tn = {
ts = no_size; tb = border false; te = Key k;
- tc = tc; tu = tu; tx = tx;
+ tc = tc; tu = tu; tx = tx; tn = tn;
ti = id ();
}
-let mk_line b tl tc tu tx = {
+let mk_line b tl tc tu tx tn = {
ts = no_size; tb = border b; te = Line (b, tl);
- tc = tc; tu = tu; tx = tx;
+ tc = tc; tu = tu; tx = tx; tn = tn;
ti = id ();
}
;
table:
- | css uri ext key { T.mk_key $4 $1 $2 $3 }
- | css uri ext OC tables CC { T.mk_line false $5 $1 $2 $3 }
- | css uri ext OB tables CB { T.mk_line true $5 $1 $2 $3 }
+ | css uri ext name key { T.mk_key $5 $1 $2 $3 $4 }
+ | css uri ext OC tables CC { T.mk_line false $5 $1 $2 $3 "" }
+ | css uri ext OB tables CB { T.mk_line true $5 $1 $2 $3 "" }
;
tables:
let uri tu tx =
P.sprintf "@\"%s\" \"%s\"" tu tx
+let name tn =
+ P.sprintf "$\"%s\"" tn
+
+
let text = function
| T.Plain s -> P.sprintf "\"%s\"" s
| T.Link (true, uri, s) -> P.sprintf "@(\"%s\" \"%s\")" uri s
let open_table st t =
let str =
- P.sprintf "%s[{#%u: %s; %s; %s; %s}\n"
- (indent st) t.T.ti (size t.T.ts) (border t.T.tb) (css t.T.tc) (uri t.T.tu t.T.tx)
+ P.sprintf "%s[{#%u: %s; %s; %s; %s; %s}\n"
+ (indent st) t.T.ti (size t.T.ts) (border t.T.tb) (css t.T.tc) (uri t.T.tu t.T.tx) (name t.T.tn)
in
st.out str; add st
let msg = P.sprintf "This file was generated by %s, do not edit" myself
+let compose uri ext =
+ try
+ let i = S.index uri '#' in
+ let uri, fragment = S.sub uri 0 i, S.sub uri i (S.length uri - i) in
+ uri ^ ext ^ fragment
+ with Not_found -> uri ^ ext
+
let border cell =
let str = S.make 4 'n' in
if cell.M.cb.T.n then str.[0] <- 's';
| T.Plain s -> s
| T.Link (true, uri, s) -> P.sprintf "<a href=\"%s\">%s</a>" uri s
| T.Link (false, uri, s) ->
- let uri = !O.baseuri ^ baseuri ^ uri ^ ext in
+ let uri = !O.baseuri ^ baseuri ^ compose uri ext in
P.sprintf "<a href=\"%s\">%s</a>" uri s
+let name cell =
+ if cell.M.cn = "" then "" else P.sprintf " id=\"%s\"" cell.M.cn
+
let key cell =
if cell.M.ck = [] then "<br/>" else S.concat "" (L.map (text cell.M.cu cell.M.cx) cell.M.ck)
let out_cell och cell =
let cc = border cell in
- P.fprintf och "%s<td class=\"%s\">%s</td>\n"
- (ind (i+4)) (S.concat " " cc) (key cell)
+ P.fprintf och "%s<td class=\"%s\"%s>%s</td>\n"
+ (ind (i+4)) (S.concat " " cc) (name cell) (key cell)
let out_row och row =
P.fprintf och "%s<tr>\n" (ind (i+3));
height: 32px; /* this should be 31px */
}
+/* alignment ****************************************************************/
+
+td.top {
+ vertical-align: top;
+}
+
+td.middle {
+ vertical-align: middle;
+}
+
+td.bottom {
+ vertical-align: bottom;
+}
+
/* background colors ********************************************************/
.gray {
<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 15:47:14 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 16:13:35 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 15:59:00 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 15:47:14 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
<div xmlns:ld="http://lambdadelta.info/" class="spacer">
<br />
</div>
- <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 15:59:00 +0200</div>
+ <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 13 Jul 2014 23:25:31 +0200</div>
</body>
</html>
<span class="date"><xsl:value-of select="@date"/></span>
</xsl:template>
+<xsl:template match="ld:basic-icon">
+ <img class="icon32"
+ alt="[basic lambdadelta]"
+ title="basic lambdadelta"
+ src="{$baseurl}images/basic_32.png"
+ />
+ <xsl:call-template name="sp"/>
+</xsl:template>
+
<xsl:template match="ld:footer">
<xsl:call-template name="rule"/>
<div class="spacer"><br/></div>