package stog
Static web site compiler, able to handle blog posts as well as regular pages or any XML document in general
Install
Dune Dependency
Authors
Maintainers
Sources
stog-1.1.0.tar.bz2
md5=03c4072037bf05666a249d02954396c3
sha512=299fdb7036c92bd5317726ed20f982123f57897e0d8611dfae383251a6d793e63d372c6628742412d803224a3155ab021f79550fada2e980c7d6179d90f8e43f
doc/src/stog.base/ocaml_types.ml.html
Source file ocaml_types.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
(*********************************************************************************) (* Stog *) (* *) (* Copyright (C) 2012-2024 INRIA All rights reserved. *) (* Author: Maxence Guesdon, INRIA Saclay *) (* *) (* This program is free software; you can redistribute it and/or modify *) (* it under the terms of the GNU General Public License as *) (* published by the Free Software Foundation, version 3 of the License. *) (* *) (* This program is distributed in the hope that it will be useful, *) (* but WITHOUT ANY WARRANTY; without even the implied warranty of *) (* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) (* GNU General Public License for more details. *) (* *) (* You should have received a copy of the GNU General Public *) (* License along with this program; if not, write to the Free Software *) (* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *) (* 02111-1307 USA *) (* *) (* As a special exception, you have permission to link this program *) (* with the OCaml compiler and distribute executables, as long as you *) (* follow the requirements of the GNU GPL in regard to all of the *) (* software in the executable aside from the OCaml compiler. *) (* *) (* Contact: Maxence.Guesdon@inria.fr *) (* *) (*********************************************************************************) (** *) type input = { in_phrase : string ; } type output = { stdout : string ; stderr : string ; topout : string ; } type result = | Exc of string | Ok of output | Handled_error of output let pid = Unix.getpid();; let read_input ic = (*prerr_endline (Printf.sprintf "[%d] ocaml: read_input" pid);*) let (v : input) = input_value ic in (*prerr_endline "ocaml: read_input done";*) v ;; let write_input oc (i : input) = (*prerr_endline (Printf.sprintf "ocaml: write_input len(phrase)=%d" (String.length i.in_phrase));*) output_value oc i; flush oc (*prerr_endline "ocaml: write_input done"*) ;; let read_result ic = (*prerr_endline (Printf.sprintf "[%d] ocaml: read_result" pid);*) let (r : result) = input_value ic in (*prerr_endline "ocaml: read_result done"; let s = match r with Exc s -> Printf.sprintf "Exc(%S)" s | Ok s -> Printf.sprintf "Ok(%S)" s.topout | Handled_error _ -> Printf.sprintf "Handled_error" in prerr_endline (Printf.sprintf "ocaml: read_result => %s" s);*) r ;; let write_result oc (r : result) = (*let s = match r with Exc s -> Printf.sprintf "Exc(%S)" s | Ok s -> Printf.sprintf "Ok(%S)" s.stdout | Handled_error _ -> Printf.sprintf "Handled_error" in prerr_endline (Printf.sprintf "write_result %s" s); *) output_value oc r ; (*prerr_endline "ocaml: write_result done";*) flush oc ;;
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>