OSDN Git Service

introduce utils/convert-docs.php script
authorscribu <mail@scribu.net>
Thu, 1 Aug 2013 13:46:56 +0000 (16:46 +0300)
committerscribu <mail@scribu.net>
Thu, 1 Aug 2013 15:05:10 +0000 (18:05 +0300)
utils/convert-docs.php [new file with mode: 0644]

diff --git a/utils/convert-docs.php b/utils/convert-docs.php
new file mode 100644 (file)
index 0000000..a2dbf1c
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+
+# usage: php utils/convert-docs.php man-src/*.txt
+
+function convert_file( $path ) {
+       $out = file_get_contents( $path );
+
+       // options to definition lists
+       $out = preg_replace_callback( '/\n\* (.+?):?\n\n\t/', function( $matches ) {
+               $arg = str_replace( '`', '', $matches[1] );
+
+               return "\n$arg\n: ";
+       }, $out );
+
+       // convert tabs to spaces
+       $out = preg_replace( '/^\t/m', "  ", $out );
+
+       // prepend docblock notation
+       $out = preg_replace( '/^(.*)/m', "\t* \\1", $out );
+
+       file_put_contents( $path, $out );
+}
+
+foreach ( array_slice( $argv, 1 ) as $arg ) {
+       convert_file( $arg );
+}