model_formatting 0.2.3.15 → 0.2.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.