aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/man.rb
blob: c1a202156e568253eb2c9bd8885e76b1a67c85e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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

    Homebrew.install_gem_setup_path! "ronn"

    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