From b09a05d9e38e0734f66377716b00268b50da7de8 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Tue, 2 Feb 2021 14:01:39 +0100 Subject: Initial commit --- bin/css_merge.ml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 bin/css_merge.ml (limited to 'bin/css_merge.ml') diff --git a/bin/css_merge.ml b/bin/css_merge.ml new file mode 100755 index 0000000..7e0ee6b --- /dev/null +++ b/bin/css_merge.ml @@ -0,0 +1,34 @@ +open StdLabels + +module Args = struct + type t = + { out: string [@short "-o"] + } [@@deriving argparse{ + positional = + [ "css", "The css file" + ] + }] + + let default = + { out = "" + } +end + +let () = + + let arg, rest = Args.argparse Args.default "css_merge" Sys.argv in + let css = Array.fold_left rest + ~init:Css_lib.Merge.empty + ~f:(fun map arg -> + let content = Stdio.In_channel.read_all arg in + let css = Css.Parser.parse_stylesheet content in + Css_lib.Merge.add_css map css + ) in + + Stdio.Out_channel.with_file arg.Args.out ~f:(fun channel -> + let format = Format.formatter_of_out_channel channel in + Css_lib.Print.css + Css_lib.Print.minify_printer + format + (Css_lib.Merge.extract_css css) + ) -- cgit v1.2.3