]> matita.cs.unibo.it Git - helm.git/commitdiff
- xhtbl : support for named anchors (id's) and other improvements
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 13 Jul 2014 21:35:30 +0000 (21:35 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 13 Jul 2014 21:35:30 +0000 (21:35 +0000)
- ld_web: additions for the "documentation" page

17 files changed:
helm/www/lambdadelta/BTM.html
helm/www/lambdadelta/apps_2.html
helm/www/lambdadelta/basic_2.html
helm/www/lambdadelta/bin/xhtbl/matrix.ml
helm/www/lambdadelta/bin/xhtbl/pass2.ml
helm/www/lambdadelta/bin/xhtbl/pass3.ml
helm/www/lambdadelta/bin/xhtbl/table.ml
helm/www/lambdadelta/bin/xhtbl/textParser.mly
helm/www/lambdadelta/bin/xhtbl/textUnparser.ml
helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml
helm/www/lambdadelta/css/ld_web.css
helm/www/lambdadelta/ground_2.html
helm/www/lambdadelta/index.html
helm/www/lambdadelta/news.html
helm/www/lambdadelta/version_1.html
helm/www/lambdadelta/version_2.html
helm/www/lambdadelta/xslt/ld_web_root.xsl

index d21660ea7a361b65144b6f07ac9c1626c6408809..338b38399c03f951329c64d7b6311ea758c15004 100644 (file)
     <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>
index 40e52f117f51a64ef2f17df8891ea8a3b7c8e65a..eb58a004cb5e9fb50cc91b8f623fd22aedea91fd 100644 (file)
     <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>
index b858c6cc31e74b632574d0acef6c6eda7e228ac4..d3356642f050bc44075b82138b897d81ed02fe6d 100644 (file)
     <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>
index 62f6b194e73d35e54b64e19ce6769cd16b23f920..1c65c50043fe17fa2b070acb70063f45712c1e74 100644 (file)
@@ -7,7 +7,8 @@ type cell = {
    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 *)
 }
 
@@ -17,8 +18,10 @@ type matrix = {
    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 = {
@@ -29,11 +32,12 @@ 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 
    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 =
index 2e003ccb30654cccb23fd43f4463ff1354b7fd29..549d7654ec22957cc037889db886c60c2fbc1e68 100644 (file)
@@ -54,7 +54,7 @@ let set_attrs st t =
    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
index 337437709e7c777c6f47a1e064e0ce4412744060..d2455a30ac4257e1fb7a55c22767b3ed61b9dacd 100644 (file)
@@ -22,6 +22,7 @@ let process_cell st y x c =
       (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
index fe15c94dbe5a2c3b31c49b1d138d460be7323548..d3ee13bfa14e11d87a9eaf593ba17963290ce025 100644 (file)
@@ -4,6 +4,8 @@ type uri = string
 
 type ext = string
 
+type anchor = string
+
 type absolute = bool
 
 type size = {
@@ -30,6 +32,7 @@ type key = Text of text list
          | Glue of int option
 
 type table = {
+           tn: anchor; (* named anchor *)
    mutable tc: css;    (* css classes *)
    mutable tu: uri;    (* uri *)
    mutable tx: ext;    (* uri extension *)
@@ -54,14 +57,14 @@ let border b = {
    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 ();
 }
index 5873959881170bb78d3b98b0caee7e5794944542..9072c2b23ddf96932583b797c8125945bf4f9c9a 100644 (file)
@@ -72,9 +72,9 @@ ext:
 ;
 
 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:
index 339a9aeecfc58c33da0ccf09268dfa4dab413582..cf7724cdd64c819f93a3efedef6ebed832c19280 100644 (file)
@@ -44,6 +44,10 @@ let css tc =
 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
@@ -62,8 +66,8 @@ let entry = function
 
 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
 
index e46682c3f13bd8930379a2738d25d652e8dde476..0ff801e93c4c96e074f88bae7726058f7a1f9050 100644 (file)
@@ -14,6 +14,13 @@ let myself = F.basename (Sys.argv.(0))
 
 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';   
@@ -26,9 +33,12 @@ let text baseuri ext = function
    | 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)
 
@@ -36,8 +46,8 @@ let ind i = S.make (2 * i) ' '
 
 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));
index 5897aedc6a2994758141ca8a44f2073fd8aee2da..7ee236c53eb1666974ff71d8128f8cd6c520991e 100644 (file)
@@ -85,6 +85,20 @@ img.w3c {
    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 {
index 684c81c6cf8a2c7eac70f1862a23684f113cf47a..680b83770a936086c002b269e0dc2b035f914b48 100644 (file)
     <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>
index 2520a4102e5cbd7d223b23750592b22166f705ed..808aff0c95daab55150b288e919328b3325e3520 100644 (file)
     <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>
index 8391452ae6039c137fb6d7245b8458cf209fe2aa..8c30c357e991579f3a31e86fc57c232f93b295c8 100644 (file)
     <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>
index b76aab94295456e9e58cfeaf58870c24c2d50e1d..a96ad71269acb020348c1aa4d040d2016734d0d1 100644 (file)
     <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>
index 8c71c51d870342f268c517b2fb84273514893b3a..0435540bfa2d0e94e6ff8e48ecf25f4fffcfe9a6 100644 (file)
     <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>
index 43e6123010f69a2200dda6e93cd3335ed6ef9fce..2eef8f14933c64a9b3356b755f66755224133932 100644 (file)
    <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>