model_formatting 0.2.3.15 → 0.2.3.16

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,13 +3,14 @@ source "http://gem.entp.com"
3
3
 
4
4
  gem 'rake'
5
5
  gem 'rack', '~> 1.1.3'
6
- gem 'actionpack', '~> 2.3.15'
7
- gem 'activerecord', '~> 2.3.15'
8
- gem 'activesupport', '~> 2.3.15'
6
+ gem 'actionpack', '~> 2.3.18'
7
+ gem 'activerecord', '~> 2.3.18'
8
+ gem 'activesupport', '~> 2.3.18'
9
9
  gem 'redcarpet', '~> 2.2'
10
10
  gem 'tidy_ffi', '~> 0.1'
11
11
 
12
12
  group :development, :test do
13
13
  gem 'context', '0.5.5'
14
14
  gem 'matchy', '~>0.4.0'
15
+ gem 'ruby-debug'
15
16
  end
data/Gemfile.lock CHANGED
@@ -2,18 +2,27 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  remote: http://gem.entp.com/
4
4
  specs:
5
- actionpack (2.3.15)
6
- activesupport (= 2.3.15)
5
+ actionpack (2.3.18)
6
+ activesupport (= 2.3.18)
7
7
  rack (~> 1.1.0)
8
- activerecord (2.3.15)
9
- activesupport (= 2.3.15)
10
- activesupport (2.3.15)
8
+ activerecord (2.3.18)
9
+ activesupport (= 2.3.18)
10
+ activesupport (2.3.18)
11
+ columnize (0.3.6)
11
12
  context (0.5.5)
12
13
  ffi (1.2.1)
14
+ linecache (0.46)
15
+ rbx-require-relative (> 0.0.4)
13
16
  matchy (0.4.0)
14
17
  rack (1.1.5)
15
18
  rake (0.9.2)
19
+ rbx-require-relative (0.0.9)
16
20
  redcarpet (2.2.2)
21
+ ruby-debug (0.10.4)
22
+ columnize (>= 0.1)
23
+ ruby-debug-base (~> 0.10.4.0)
24
+ ruby-debug-base (0.10.4)
25
+ linecache (>= 0.3)
17
26
  tidy_ffi (0.1.5)
18
27
  ffi (~> 1.2.0)
19
28
 
@@ -21,12 +30,13 @@ PLATFORMS
21
30
  ruby
22
31
 
23
32
  DEPENDENCIES
24
- actionpack (~> 2.3.15)
25
- activerecord (~> 2.3.15)
26
- activesupport (~> 2.3.15)
33
+ actionpack (~> 2.3.18)
34
+ activerecord (~> 2.3.18)
35
+ activesupport (~> 2.3.18)
27
36
  context (= 0.5.5)
28
37
  matchy (~> 0.4.0)
29
38
  rack (~> 1.1.3)
30
39
  rake
31
40
  redcarpet (~> 2.2)
41
+ ruby-debug
32
42
  tidy_ffi (~> 0.1)
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rake/testtask'
3
3
 
4
4
  spec = Gem::Specification.new do |s|
5
5
  s.name = "model_formatting"
6
- s.version = "0.2.3.15"
6
+ s.version = "0.2.3.16"
7
7
  s.author = "ENTP"
8
8
  s.email = "company@entp.com"
9
9
  s.homepage = "http://github.com/entp"
@@ -1,5 +1,6 @@
1
1
  require 'cgi'
2
2
  require 'active_support' # NilClass#blank?
3
+ require 'redcarpet_custom'
3
4
  module ModelFormatting
4
5
  class Part < Array
5
6
  attr_reader :format
@@ -190,7 +191,7 @@ module ModelFormatting
190
191
  begin
191
192
  require 'redcarpet'
192
193
  def self.process_markdown(text)
193
- markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML,
194
+ markdown = Redcarpet::Markdown.new(Redcarpet::Render::Custom,
194
195
  :no_intra_emphasis => true,
195
196
  :tables => true,
196
197
  :fenced_code_blocks => true,
@@ -0,0 +1,27 @@
1
+ require 'redcarpet'
2
+ module Redcarpet::Render
3
+ class Custom < HTML
4
+ # include Redcarpet::Render::HTML
5
+ def header(title, level)
6
+ @headers ||= []
7
+ # you can use this permalink style: 1-foo-bar with the level in it
8
+ # permalink = "#{level}-#{title.gsub(/\W+/, "-")}"
9
+
10
+ # .. or just use title. you might like a better regex here, too
11
+ permalink = title.gsub(/\W+/, "-")
12
+
13
+ # for extra credit: implement this as its own method
14
+ if @headers.include?(permalink)
15
+ permalink += "_1"
16
+ # my brain hurts
17
+ loop do
18
+ break if !@headers.include?(permalink)
19
+ # generate titles like foo-bar_1, foo-bar_2
20
+ permalink.gsub!(/\_(\d+)$/, "_#{$1.to_i + 1}")
21
+ end
22
+ end
23
+ @headers << permalink
24
+ %(\n<a name="#{permalink}" class="anchor" href="##{permalink}"><span class="anchor-icon"></span></a><h#{level} id=\"#{permalink}\">#{title}</h#{level}>\n)
25
+ end
26
+ end
27
+ end
@@ -7,6 +7,11 @@ class ModelFormattingTest < Test::Unit::TestCase
7
7
  parts.first.class.should == ModelFormatting::FormattedPart
8
8
  parts.first.should == 'foo'
9
9
  end
10
+
11
+ it "generates TOC titles" do
12
+ ModelFormatting.process(:html, "# title one\n\n# title two\n\n## title one").should == \
13
+ "<div><a name=\"title-one\" class=\"anchor\" href=\"#title-one\" id=\n\"title-one\"></a>\n<h1 id=\"title-one\">title one</h1>\n<a name=\"title-two\" class=\"anchor\" href=\"#title-two\" id=\n\"title-two\"></a>\n<h1 id=\"title-two\">title two</h1>\n<a name=\"title-one_1\" class=\"anchor\" href=\"#title-one_1\" id=\n\"title-one_1\"></a>\n<h2 id=\"title-one_1\">title one</h2></div>"
14
+ end
10
15
 
11
16
  it "parses empty code block into array of single CodeBlock" do
12
17
  parts = ModelFormatting.parse_text_parts(nil, nil, "@@@ foo\n@@@")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: model_formatting
3
3
  version: !ruby/object:Gem::Version
4
- hash: 77
4
+ hash: 115
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
9
  - 3
10
- - 15
11
- version: 0.2.3.15
10
+ - 16
11
+ version: 0.2.3.16
12
12
  platform: ruby
13
13
  authors:
14
14
  - ENTP
@@ -16,10 +16,10 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2013-01-29 00:00:00 Z
19
+ date: 2013-04-24 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- requirement: &id001 !ruby/object:Gem::Requirement
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
23
23
  none: false
24
24
  requirements:
25
25
  - - ~>
@@ -30,12 +30,12 @@ dependencies:
30
30
  - 1
31
31
  - 3
32
32
  version: 1.1.3
33
- version_requirements: *id001
34
- type: :runtime
35
- name: rack
33
+ requirement: *id001
36
34
  prerelease: false
35
+ name: rack
36
+ type: :runtime
37
37
  - !ruby/object:Gem::Dependency
38
- requirement: &id002 !ruby/object:Gem::Requirement
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -45,12 +45,12 @@ dependencies:
45
45
  - 2
46
46
  - 2
47
47
  version: "2.2"
48
- version_requirements: *id002
49
- type: :runtime
50
- name: redcarpet
48
+ requirement: *id002
51
49
  prerelease: false
50
+ name: redcarpet
51
+ type: :runtime
52
52
  - !ruby/object:Gem::Dependency
53
- requirement: &id003 !ruby/object:Gem::Requirement
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
54
  none: false
55
55
  requirements:
56
56
  - - ~>
@@ -61,12 +61,12 @@ dependencies:
61
61
  - 3
62
62
  - 15
63
63
  version: 2.3.15
64
- version_requirements: *id003
65
- type: :runtime
66
- name: actionpack
64
+ requirement: *id003
67
65
  prerelease: false
66
+ name: actionpack
67
+ type: :runtime
68
68
  - !ruby/object:Gem::Dependency
69
- requirement: &id004 !ruby/object:Gem::Requirement
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
70
  none: false
71
71
  requirements:
72
72
  - - ~>
@@ -77,12 +77,12 @@ dependencies:
77
77
  - 3
78
78
  - 15
79
79
  version: 2.3.15
80
- version_requirements: *id004
81
- type: :runtime
82
- name: activerecord
80
+ requirement: *id004
83
81
  prerelease: false
82
+ name: activerecord
83
+ type: :runtime
84
84
  - !ruby/object:Gem::Dependency
85
- requirement: &id005 !ruby/object:Gem::Requirement
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
88
  - - ~>
@@ -93,12 +93,12 @@ dependencies:
93
93
  - 3
94
94
  - 15
95
95
  version: 2.3.15
96
- version_requirements: *id005
97
- type: :runtime
98
- name: activesupport
96
+ requirement: *id005
99
97
  prerelease: false
98
+ name: activesupport
99
+ type: :runtime
100
100
  - !ruby/object:Gem::Dependency
101
- requirement: &id006 !ruby/object:Gem::Requirement
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
102
102
  none: false
103
103
  requirements:
104
104
  - - ~>
@@ -109,12 +109,12 @@ dependencies:
109
109
  - 1
110
110
  - 2
111
111
  version: 0.1.2
112
- version_requirements: *id006
113
- type: :runtime
114
- name: tidy_ffi
112
+ requirement: *id006
115
113
  prerelease: false
114
+ name: tidy_ffi
115
+ type: :runtime
116
116
  - !ruby/object:Gem::Dependency
117
- requirement: &id007 !ruby/object:Gem::Requirement
117
+ version_requirements: &id007 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ~>
@@ -125,12 +125,12 @@ dependencies:
125
125
  - 5
126
126
  - 5
127
127
  version: 0.5.5
128
- version_requirements: *id007
129
- type: :development
130
- name: jeremymcanally-context
128
+ requirement: *id007
131
129
  prerelease: false
130
+ name: jeremymcanally-context
131
+ type: :development
132
132
  - !ruby/object:Gem::Dependency
133
- requirement: &id008 !ruby/object:Gem::Requirement
133
+ version_requirements: &id008 !ruby/object:Gem::Requirement
134
134
  none: false
135
135
  requirements:
136
136
  - - ~>
@@ -141,10 +141,10 @@ dependencies:
141
141
  - 1
142
142
  - 0
143
143
  version: 0.1.0
144
- version_requirements: *id008
145
- type: :development
146
- name: jeremymcanally-matchy
144
+ requirement: *id008
147
145
  prerelease: false
146
+ name: jeremymcanally-matchy
147
+ type: :development
148
148
  description:
149
149
  email: company@entp.com
150
150
  executables: []
@@ -163,6 +163,7 @@ files:
163
163
  - lib/model_formatting/init.rb
164
164
  - lib/model_formatting/instance_methods.rb
165
165
  - lib/model_formatting.rb
166
+ - lib/redcarpet_custom.rb
166
167
  - rails/init.rb
167
168
  - test/fixtures/mkd-extraction.txt
168
169
  - test/formatting_test.rb
@@ -197,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
198
  requirements: []
198
199
 
199
200
  rubyforge_project:
200
- rubygems_version: 1.8.15
201
+ rubygems_version: 1.8.24
201
202
  signing_key:
202
203
  specification_version: 3
203
204
  summary: Automatically format model attributes using redcarpet (markdown) and Tender/Lighthouse extensions.