]> matita.cs.unibo.it Git - helm.git/commitdiff
update in binaries for λδ
authorFerruccio Guidi <fguidi@maelstrom.helm.cs.unibo.it>
Fri, 31 Jan 2020 20:12:57 +0000 (21:12 +0100)
committerFerruccio Guidi <fguidi@maelstrom.helm.cs.unibo.it>
Fri, 31 Jan 2020 20:12:57 +0000 (21:12 +0100)
roles: initial infrastructure for the web interface

matita/matita/contribs/lambdadelta/bin/roles/roles.ml
matita/matita/contribs/lambdadelta/bin/roles/rolesGlobal.ml
matita/matita/contribs/lambdadelta/bin/roles/rolesGlobal.mli
matita/matita/contribs/lambdadelta/bin/roles/webEngine.ml [new file with mode: 0644]
matita/matita/contribs/lambdadelta/bin/roles/webEngine.mli [new file with mode: 0644]

index bbabd22647e29e75b10420ed9d66fdaf10dd6003..c3dce2b8d32d9087bc310a4f3bbd7c841d38a274 100644 (file)
@@ -13,9 +13,12 @@ module EE = RolesEngine
 module EG = RolesGlobal
 module ET = RolesTypes
 module EU = RolesUtils
+module WE = WebEngine
 
+let help_B = "<url>  Set this base url (default: http://helm.cs.unibo.it/lambdadelta/)"
 let help_C = "<dir>  Set this working directory (default: current directory)"
 let help_L = " Debug osn lexer"
+let help_W = " Run as an LWS application"
 let help_X = " Reset all options to defaults"
 let help_a = " Add selected names to a role"
 let help_m = " Add roles relating matching names"
@@ -25,7 +28,7 @@ let help_r = " Load current status"
 let help_s = "<version>  Start a stage with this version"
 let help_t = "<pointer>  Toggle the selection of this pointed entry"
 let help_w = " Save current status"
-let help   = "Usage: roles [ -LXamprw | -C <dir> | -os <version> | -t <pointer> | <file> ]*"
+let help   = "Usage: roles [ -LWXamprw | -B <url> | -C <dir> | -os <version> | -t <pointer> | <file> ]*"
 
 let add_tops s =
   EE.add_tops (EU.version_of_string s)
@@ -43,8 +46,10 @@ let process s =
 
 let _main = try
   Arg.parse [
+    "-B", Arg.String ((:=) EG.base_url), help_B;
     "-C", Arg.String ((:=) EG.wd), help_C;
     "-L", Arg.Set EG.debug_lexer, help_L;
+    "-W", Arg.Unit WE.init, help_W;
     "-X", Arg.Unit EG.clear, help_X;
     "-a", Arg.Unit EE.add_role, help_a;
     "-m", Arg.Unit EE.add_matching, help_m;
index 8a2679b6deb21da8901a047127c1592215f1d4fd..6a4c37369d60efcda193ca9705cae32beaa2647a 100644 (file)
@@ -9,14 +9,19 @@
      \ /   This software is distributed as is, NO WARRANTY.
       V_______________________________________________________________ *)
 
+let default_base_url = "http://helm.cs.unibo.it/lambdadelta/"
+
 let default_wd = ""
 
 let default_debug_lexer = false
 
+let base_url = ref default_base_url
+
 let wd = ref default_wd
 
 let debug_lexer = ref default_debug_lexer
 
 let clear () =
+  base_url := default_base_url;
   wd := default_wd;
   debug_lexer := default_debug_lexer
index 980160a6e98414c75346106e50e3a912dcb07d60..87b052089cc608031b8af63ef4dc637d6bfe9d55 100644 (file)
@@ -9,6 +9,8 @@
      \ /   This software is distributed as is, NO WARRANTY.
       V_______________________________________________________________ *)
 
+val base_url: string ref
+
 val wd: string ref
 
 val debug_lexer: bool ref
diff --git a/matita/matita/contribs/lambdadelta/bin/roles/webEngine.ml b/matita/matita/contribs/lambdadelta/bin/roles/webEngine.ml
new file mode 100644 (file)
index 0000000..7fc9429
--- /dev/null
@@ -0,0 +1,58 @@
+(*
+    ||M||  This file is part of HELM, an Hypertextual, Electronic
+    ||A||  Library of Mathematics, developed at the Computer Science
+    ||T||  Department, University of Bologna, Italy.
+    ||I||
+    ||T||  HELM is free software; you can redistribute it and/or
+    ||A||  modify it under the terms of the GNU General Public License
+    \   /  version 2 or (at your option) any later version.
+     \ /   This software is distributed as is, NO WARRANTY.
+      V_______________________________________________________________ *)
+
+module KP = Printf
+
+module EG = RolesGlobal
+module EE = RolesEngine
+
+let open_out_html author description title css icon =
+(*
+  YW.open_out "application/xhtml+xml" 0;
+*)
+  KP.printf "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+  KP.printf "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n";
+  KP.printf "<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en-us\">\n";
+  KP.printf "<head>\n";
+  KP.printf "  <meta http-equiv=\"Pragma\" content=\"no-cache\"/>\n";
+  KP.printf "  <meta http-equiv=\"Expires\" content=\"-1\"/>\n";
+  KP.printf "  <meta http-equiv=\"CACHE-CONTROL\" content=\"NO-CACHE\"/>\n";
+  KP.printf "  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n";
+  KP.printf "  <meta http-equiv=\"Content-Language\" content=\"en-us\"/>\n";
+  KP.printf "  <meta http-equiv=\"Content-Style-Type\" content=\"text/css\"/>\n";  
+  KP.printf "  <meta name=\"author\" content=\"%s\"/>\n" author;
+  KP.printf "  <meta name=\"description\" content=\"%s\"/>\n" description;
+  KP.printf "  <title>%s</title>" title;
+  KP.printf "  <link rel=\"stylesheet\" type=\"text/css\" href=\"%s\"/>\n" css;
+  KP.printf "  <link rel=\"shortcut icon\" href=\"%s\"/>\n" icon;
+  KP.printf "</head>\n";
+  KP.printf "<body lang=\"en-US\">\n"
+
+let close_out_html () =
+  KP.printf "</body>\n";
+  KP.printf "</html>\n"
+(*
+  YW.close_out ()
+*)
+let open_out () =
+  let author = "λδ development binary: roles manager" in
+  let description = "λδ development binary: roles manager" in
+  let title = "Roles Manager" in
+  let css = Filename.concat !EG.base_url "css/roles.css" in
+  let icon = Filename.concat !EG.base_url "images/crux_32.ico" in
+  open_out_html author description title css icon
+
+let close_out () =
+  close_out_html ()
+
+let init () =
+  open_out ();
+  close_out ()
diff --git a/matita/matita/contribs/lambdadelta/bin/roles/webEngine.mli b/matita/matita/contribs/lambdadelta/bin/roles/webEngine.mli
new file mode 100644 (file)
index 0000000..8540afa
--- /dev/null
@@ -0,0 +1,12 @@
+(*
+    ||M||  This file is part of HELM, an Hypertextual, Electronic
+    ||A||  Library of Mathematics, developed at the Computer Science
+    ||T||  Department, University of Bologna, Italy.
+    ||I||
+    ||T||  HELM is free software; you can redistribute it and/or
+    ||A||  modify it under the terms of the GNU General Public License
+    \   /  version 2 or (at your option) any later version.
+     \ /   This software is distributed as is, NO WARRANTY.
+      V_______________________________________________________________ *)
+
+val init: unit -> unit