From dfce2bb7c7678879b77c1c9918899925f3de48dc Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 20 Sep 2014 15:30:44 +0100 Subject: [PATCH] brew-man: Rubify, make an internal command. Closes Homebrew/homebrew#32472. --- Library/Contributions/cmd/brew-man | 51 ------------------------------ Library/Homebrew/cmd/man.rb | 37 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 51 deletions(-) delete mode 100755 Library/Contributions/cmd/brew-man create mode 100755 Library/Homebrew/cmd/man.rb diff --git a/Library/Contributions/cmd/brew-man b/Library/Contributions/cmd/brew-man deleted file mode 100755 index f0218a6157..0000000000 --- a/Library/Contributions/cmd/brew-man +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -set -e -shopt -s nullglob - -SOURCE_PATH="$HOMEBREW_REPOSITORY/Library/Homebrew/manpages" -TARGET_PATH="$HOMEBREW_REPOSITORY/share/man/man1" -LINKED_PATH="$HOMEBREW_PREFIX/share/man/man1" - - -die (){ - echo $1 - exit 1 -} - -test "$1" = '--link' || \ -test "$1" = '-l' && { - [[ $TARGET_PATH == $LINKED_PATH ]] && exit 0 - - for page in "$TARGET_PATH"/*.1 - do - ln -s $page $LINKED_PATH - done - exit 0 -} - -/usr/bin/which ronn &>/dev/null || die "You need to \"gem install ronn\" and put it in your path." - -test "$1" = '--server' || \ -test "$1" = '-s' && { - echo "Man page test server: http://localhost:1207/" - echo "Control-C to exit." - ronn --server $SOURCE_PATH/* - exit 0 -} - -echo "Writing manpages to $TARGET_PATH" - -for i in "$SOURCE_PATH"/*.md -do - # Get the filename only, without the .md extension - j=`basename $i` - target_file="$TARGET_PATH/${j%\.md}" - - ronn --roff --pipe --organization='Homebrew' --manual='brew' $i > $target_file -done - -if test "$1" = '--verbose' || test "$1" = '-v' -then - man $target_file -fi diff --git a/Library/Homebrew/cmd/man.rb b/Library/Homebrew/cmd/man.rb new file mode 100755 index 0000000000..f28d76de14 --- /dev/null +++ b/Library/Homebrew/cmd/man.rb @@ -0,0 +1,37 @@ +require 'formula' + +module Homebrew + SOURCE_PATH=HOMEBREW_REPOSITORY/"Library/Homebrew/manpages" + TARGET_PATH=HOMEBREW_REPOSITORY/"share/man/man1" + LINKED_PATH=HOMEBREW_PREFIX/"share/man/man1" + + def man + if ARGV.include?("--link") || ARGV.include?("-l") + Dir["#{TARGET_PATH}/*.1"].each do |page| + FileUtils.ln_s page, LINKED_PATH + return + end + end + + which("ronn") || odie("You need to \"gem install ronn\" and put it in your path.") + + if ARGV.include?("--server") || ARGV.include?("-s") + puts "Man page test server: http://localhost:1207/" + puts "Control-C to exit." + system "ronn", "--server", Dir["#{SOURCE_PATH}/*"] + return + end + + puts "Writing manpages to #{TARGET_PATH}" + + target_file = nil + Dir["#{SOURCE_PATH}/*.md"].each do |source_file| + target_file = TARGET_PATH/File.basename(source_file, ".md") + safe_system "ronn --roff --pipe --organization='Homebrew' --manual='brew' #{source_file} > #{target_file}" + end + + if ARGV.include?("--verbose") || ARGV.include?("-v") + system "man", target_file + end + end +end