hamdown 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/hamdown +5 -2
  2. data/lib/hamdown.rb +27 -3
  3. metadata +3 -3
data/bin/hamdown CHANGED
@@ -3,9 +3,12 @@
3
3
  # Convert a file from markdown to html wrapped in a haml layout
4
4
 
5
5
  require 'hamdown'
6
+ require 'trollop'
6
7
 
7
- options = {}
8
- options[:file_path] = ARGV[0] if ARGV[0]
8
+ options = Trollop::options do
9
+ opt :file_path, "File path", :type => :string
10
+ opt :columns, "Output in columns"
11
+ end
9
12
 
10
13
  hdown = Hamdown.new(options)
11
14
  puts hdown.to_html
data/lib/hamdown.rb CHANGED
@@ -5,12 +5,36 @@ require 'haml'
5
5
  class Hamdown
6
6
  def initialize(options={})
7
7
  file = options.delete(:file_path) { raise "you need to specify a file name" }
8
- @innerfile = RDiscount.new(File.open(file).read)
8
+ @innerfile = File.open(file).read
9
9
  @outerfile = File.open('layout.haml')
10
10
  end
11
11
 
12
- def to_html
13
- Haml::Engine.new(@outerfile.read).render { @innerfile.to_html }
12
+ def to_html(options={})
13
+ columns = options.delete(:columns) { false }
14
+ if columns
15
+ first_half = ""
16
+ second_half = ""
17
+ line_count = (@innerfile.lines.count / 2.0).ceil
18
+ blank_line = ""
19
+ @innerfile.each_with_index do |line, index|
20
+ if index < line_count
21
+ first_half << line
22
+ blank_line = line.match(/^\s*$/) if index = line_count - 1
23
+ elsif index == line_count && !blank_line
24
+ first_half << line
25
+ else
26
+ second_half << line
27
+ end
28
+ end
29
+ html = "<table><tr><td>\n"
30
+ html << RDiscount.new(first_half).to_html
31
+ html << "</td>\n<td>\n"
32
+ html << RDiscount.new(second_half).to_html
33
+ html << "</td></tr></table>"
34
+ else
35
+ html = RDiscount.new(@innerfile).to_html
36
+ end
37
+ Haml::Engine.new(@outerfile.read).render { html }
14
38
  end
15
39
 
16
40
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hamdown
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 6
10
- version: 0.0.6
9
+ - 7
10
+ version: 0.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Robert Fletcher