let help_L = " Output lexer tokens"
let help_O = "<dir> Set this output directory"
let help_X = " Clear all options"
+let help_b = "<uri> Set this base uri for relative links"
let help_d0 = " Output table contents after phase zero (parsing)"
let help_d1 = " Output table contents after phase one (sizing)"
let help_d2 = " Output table contents after phase two (filling)"
let includes, tables = ref [], ref []
-let set_output_dir s = O.output_dir := s
-
-let process_directive och bname (name, table, css) =
+let process_directive och bname (name, table, css, uri, ext) =
tables := name :: !tables;
if !O.d0 then TU.debug table;
if not !O.p0 then begin
let matrix = M.make size in
let _ = P2.process table matrix in
if !O.d2 then TU.debug table;
- if not !O.p2 then P3.process css matrix;
+ if not !O.p2 then P3.process css uri ext matrix;
let name = if name = "" then bname else name in
XU.output och name matrix
end
let main () =
A.parse [
"-L", A.Set O.debug_lexer, help_L;
- "-O", A.String set_output_dir, help_O;
+ "-O", A.String ((:=) O.output_dir), help_O;
"-X", A.Unit O.clear, help_X;
+ "-b", A.String ((:=) O.baseuri), help_b;
"-d0", A.Set O.d0, help_d0;
"-d1", A.Set O.d1, help_d1;
"-d2", A.Set O.d2, help_d2;