ソースを参照

Updated README and upgraded source to latest compiler version

Taddeus Kroes 10 年 前
コミット
d8a7e9a333
2 ファイル変更21 行追加13 行削除
  1. 18 10
      README.md
  2. 3 3
      util.ml

+ 18 - 10
README.md

@@ -45,7 +45,8 @@ Generation of shorthand properties
     font-family: sans-serif;            |
 
 Any existing shorthands are first unfolded into their non-shorthand
-counterparts, after which the last value is used for shorthand generation:
+counterparts to be folded back later. This means that if `--duplicates` is
+enabled, the last value is used for shorthand generation, merging separate :
 
     font: normal 12px/15px sans-serif;  |  font: bold 12px/15px sans-serif;
     font-weight: bold;                  |
@@ -72,7 +73,7 @@ Command-line interface
 ======================
 Output of `mincss -h`:
 
-    Usage: ./mincss [<options>] [<file> ...]
+    Usage: mincss [<options>] [<file> ...]
 
     Generic options:
      -h, --help        Show this help message
@@ -80,16 +81,16 @@ Output of `mincss -h`:
      -o <file>         Output file (defaults to stdout)
      <file> ...        Input files (default is to read from stdin)
 
-    Optimization flags (if none are specified, all are enabled):
+    Optimization flags (default is -w -c -s -d):
      -w, --whitespace  Eliminate unnecessary whitespaces (has the greatest effect, omit for pretty-printing)
-     -c, --simple      Shorten colors and font weights
+     -c, --simple      Shorten colors, font weights and nth-child
      -s, --shorthands  Generate shorthand properties
      -d, --duplicates  Prune duplicate properties (WARNING: may affect cross-browser hacks)
      -p, --pretty      Shorthand for -c -s -d
-     -e, --echo        Just parse and pretty-print, no optimizations
 
     Formatting options:
-     --sort            Sort declarations in each selector group
+     -r, --sort        Sort declarations in each ruleset (always on when --shorthands is enabled)
+     -e, --echo        Just parse and pretty-print, no optimizations
 
 
 Building mincss
@@ -100,15 +101,22 @@ Dependencies are [OCaml](https://ocaml.org/docs/install.html) 4.0 and
 
 Bootstrapping on a Debian system can be done as follows:
 
-    $ sudo apt-get install ocaml opam git
-    $ opam init
-    $ opam switch 4.01.0
-    $ opam install menhir
+    $ sudo apt-get install ocaml menhir git
     $ git clone git@github.com:taddeus/mincss.git
     $ cd mincss
     $ make
     $ ./mincss --help
 
+I prefer to use [Opam](https://opam.ocaml.org/) myself because it offers more
+flexibility:
+
+    $ sudo apt-get install opam
+    $ opam init
+    $ eval `opam config env`
+    $ opam switch 4.02.0
+    $ opam update
+    $ opam install menhir
+
 
 TODO / bugs
 ===========

+ 3 - 3
util.ml

@@ -20,7 +20,7 @@ let rec filter_none = function
 
 let input_all ic =
   let n = in_channel_length ic in
-  let buf = String.create n in
+  let buf = Bytes.create n in
   really_input ic buf 0 n;
   close_in ic;
   buf
@@ -32,11 +32,11 @@ let input_buffered ic chunksize =
     | nread when nread = bufsize - pos ->
       let bufsize = bufsize + chunksize in
       let pos = pos + nread in
-      read_all (buf ^ String.create chunksize) bufsize pos
+      read_all (buf ^ Bytes.create chunksize) bufsize pos
     | nread ->
       read_all buf bufsize (pos + nread)
   in
-  read_all (String.create chunksize) chunksize 0
+  read_all (Bytes.create chunksize) chunksize 0
 
 (** Error printing *)