aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/man.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cmd/man.rb')
-rwxr-xr-xLibrary/Homebrew/cmd/man.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/man.rb b/Library/Homebrew/cmd/man.rb
new file mode 100755
index 000000000..f28d76de1
--- /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