hayde 0.1.8 → 0.1.9

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.8
1
+ 0.1.9
data/hayde.gemspec CHANGED
@@ -1,68 +1,82 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{hayde}
8
- s.version = "0.1.8"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Roman Zaharenkov"]
12
- s.date = %q{2010-05-18}
13
- s.description = %q{Helper for generating guides articles from textile source. Extracted from railties-3.0.0.beta3 project. }
14
- s.email = %q{ZaharenkovRoman@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "Gemfile",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "hayde.gemspec",
28
- "lib/hayde.rb",
29
- "lib/hayde/file_utils.rb",
30
- "lib/hayde/generator.rb",
31
- "lib/hayde/helpers.rb",
32
- "lib/hayde/indexer.rb",
33
- "lib/hayde/levenshtein.rb",
34
- "lib/hayde/textile_extensions.rb",
35
- "lib/tasks/haydetasks.rb",
36
- "test/helper.rb",
37
- "test/test_hayde.rb"
38
- ]
39
- s.homepage = %q{http://github.com/Romantic/hayde}
40
- s.rdoc_options = ["--charset=UTF-8"]
41
- s.require_paths = ["lib"]
42
- s.rubygems_version = %q{1.3.7}
43
- s.summary = %q{Textile guides generator like rails-guides.}
44
- s.test_files = [
45
- "test/helper.rb",
46
- "test/test_hayde.rb"
47
- ]
48
-
49
- if s.respond_to? :specification_version then
50
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
51
- s.specification_version = 3
52
-
53
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<RedCloth>, [">= 4.1.1"])
55
- s.add_runtime_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
56
- s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
57
- else
58
- s.add_dependency(%q<RedCloth>, [">= 4.1.1"])
59
- s.add_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
60
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
61
- end
62
- else
63
- s.add_dependency(%q<RedCloth>, [">= 4.1.1"])
64
- s.add_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
65
- s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
66
- end
67
- end
68
-
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{hayde}
8
+ s.version = "0.1.9"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Roman Zaharenkov"]
12
+ s.date = %q{2011-05-11}
13
+ s.description = %q{Helper for generating guides articles from textile source. Extracted from railties-3.0.0.beta3 project. }
14
+ s.email = %q{ZaharenkovRoman@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "hayde.gemspec",
27
+ "lib/hayde.rb",
28
+ "lib/hayde/file_utils.rb",
29
+ "lib/hayde/generator.rb",
30
+ "lib/hayde/helpers.rb",
31
+ "lib/hayde/indexer.rb",
32
+ "lib/hayde/levenshtein.rb",
33
+ "lib/hayde/textile_extensions.rb",
34
+ "lib/tasks/haydetasks.rb",
35
+ "test/helper.rb",
36
+ "test/test_hayde.rb"
37
+ ]
38
+ s.homepage = %q{http://github.com/Romantic/hayde}
39
+ s.require_paths = ["lib"]
40
+ s.rubygems_version = %q{1.6.2}
41
+ s.summary = %q{Textile guides generator like rails-guides.}
42
+
43
+ if s.respond_to? :specification_version then
44
+ s.specification_version = 3
45
+
46
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
+ s.add_runtime_dependency(%q<RedCloth>, [">= 4.1.1"])
48
+ s.add_runtime_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
49
+ s.add_development_dependency(%q<rake>, [">= 0"])
50
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
51
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
52
+ s.add_development_dependency(%q<yard>, [">= 0"])
53
+ s.add_development_dependency(%q<rcov>, [">= 0"])
54
+ s.add_runtime_dependency(%q<RedCloth>, [">= 4.1.1"])
55
+ s.add_runtime_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
56
+ s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
57
+ else
58
+ s.add_dependency(%q<RedCloth>, [">= 4.1.1"])
59
+ s.add_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
60
+ s.add_dependency(%q<rake>, [">= 0"])
61
+ s.add_dependency(%q<jeweler>, [">= 0"])
62
+ s.add_dependency(%q<shoulda>, [">= 0"])
63
+ s.add_dependency(%q<yard>, [">= 0"])
64
+ s.add_dependency(%q<rcov>, [">= 0"])
65
+ s.add_dependency(%q<RedCloth>, [">= 4.1.1"])
66
+ s.add_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
67
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
68
+ end
69
+ else
70
+ s.add_dependency(%q<RedCloth>, [">= 4.1.1"])
71
+ s.add_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
72
+ s.add_dependency(%q<rake>, [">= 0"])
73
+ s.add_dependency(%q<jeweler>, [">= 0"])
74
+ s.add_dependency(%q<shoulda>, [">= 0"])
75
+ s.add_dependency(%q<yard>, [">= 0"])
76
+ s.add_dependency(%q<rcov>, [">= 0"])
77
+ s.add_dependency(%q<RedCloth>, [">= 4.1.1"])
78
+ s.add_dependency(%q<actionpack>, ["= 3.0.0.beta3"])
79
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
80
+ end
81
+ end
82
+
@@ -10,7 +10,7 @@
10
10
  # Options:
11
11
  #
12
12
  # :warnings
13
- # If you are writing a guide, please work always with :warnings = true.
13
+ # If you are writing a guide, please work always with :warnings = true.
14
14
  # Users can generate the guides, and thus this flag is off by default.
15
15
  #
16
16
  # Internal links (anchors) are checked. If a reference is broken levenshtein
@@ -48,15 +48,16 @@ require 'hayde/file_utils'
48
48
  module Hayde
49
49
  class Generator
50
50
  include Hayde::Utils::Files
51
-
51
+
52
52
  attr_accessor :output_dir, :assets_dir, :warnings, :edge, :force, :layout
53
53
  filelist_attribute :sources
54
54
 
55
55
  GUIDES_RE = /\.(?:textile|html\.erb)$/
56
56
 
57
- def initialize(output = nil)
58
- set_defaults(output)
57
+ def initialize
58
+ set_defaults
59
59
  yield self if block_given?
60
+ FileUtils.mkdir_p(@output_dir)
60
61
  end
61
62
 
62
63
  def generate
@@ -66,20 +67,19 @@ module Hayde
66
67
  copy_assets
67
68
  puts "Generating guides has been finished."
68
69
  end
69
-
70
+
70
71
  def clean
71
72
  FileUtils.rm_r Dir.glob(File.join(output_dir, '*'))
72
73
  end
73
74
 
74
75
  private
75
-
76
- def set_defaults(output)
76
+
77
+ def set_defaults
77
78
  root_dir = Rails.root if defined? Rails
78
79
  root_dir ||= Dir.pwd
79
80
  @layout = 'layout'
81
+ @output_dir = File.join(root_dir, 'docs', 'guides')
80
82
  @assets_dir = File.join(root_dir, 'guides', 'assets')
81
- @output_dir = output || File.join(root_dir, 'docs', 'guides')
82
- FileUtils.mkdir_p(@output_dir)
83
83
  end
84
84
 
85
85
  def generate_guides
@@ -92,14 +92,14 @@ module Hayde
92
92
  def copy_assets
93
93
  copy(assets_dir, output_dir, /\.$|\.svn/)
94
94
  end
95
-
95
+
96
96
  def copy(source, destination, exclude)
97
97
  Dir.foreach(source) do |file|
98
98
  next if exclude && exclude.match(file)
99
99
 
100
100
  source_file = File.join(source, file)
101
101
  destination_file = File.join(destination, file)
102
-
102
+
103
103
  if File.directory?(source_file)
104
104
  FileUtils.mkdir(destination_file) if !File.directory?(destination_file)
105
105
  copy(source_file, destination_file, exclude)
@@ -113,7 +113,7 @@ module Hayde
113
113
  output = File.basename(source).sub(GUIDES_RE, '.html')
114
114
  File.join(output_dir, output)
115
115
  end
116
-
116
+
117
117
  def generate?(source, output)
118
118
  force || !File.exists?(output) || File.mtime(output) < File.mtime(source)
119
119
  end
@@ -208,9 +208,9 @@ module Hayde
208
208
  code_blocks << %{<div class="code_container"><code class="#{css_class}">#{es}</code></div>}
209
209
  "\ndirty_workaround_for_notextile_#{code_blocks.size - 1}\n"
210
210
  end
211
-
211
+
212
212
  body = yield body
213
-
213
+
214
214
  body.gsub(%r{<p>dirty_workaround_for_notextile_(\d+)</p>}) do |_|
215
215
  code_blocks[$1.to_i]
216
216
  end
@@ -220,7 +220,7 @@ module Hayde
220
220
  anchors = extract_anchors(html)
221
221
  check_fragment_identifiers(html, anchors)
222
222
  end
223
-
223
+
224
224
  def extract_anchors(html)
225
225
  # Textile generates headers with IDs computed from titles.
226
226
  anchors = Set.new
@@ -236,7 +236,7 @@ module Hayde
236
236
  anchors += Set.new(html.scan(/<p\s+class="footnote"\s+id="([^"]+)/).flatten)
237
237
  return anchors
238
238
  end
239
-
239
+
240
240
  def check_fragment_identifiers(html, anchors)
241
241
  html.scan(/<a\s+href="#([^"]+)/).flatten.each do |fragment_identifier|
242
242
  next if fragment_identifier == 'mainCol' # in layout, jumps to some DIV
@@ -250,3 +250,4 @@ module Hayde
250
250
  end
251
251
  end
252
252
  end
253
+
@@ -5,19 +5,23 @@ CLOBBER.include('docs/guides')
5
5
 
6
6
  namespace :hayde do
7
7
  desc "Generates guides documentation."
8
- task :build do
8
+ task :build, [:output_dir, :assets_dir] do
9
9
  guides_generator = Hayde::Generator.new do |g|
10
10
  g.sources.include 'guides/source/**/*'
11
11
  g.sources.exclude 'guides/source/layout.*'
12
+ g.output_dir = args.output_dir if args.output_dir
13
+ g.assets_dir = args.assets_dir if args.assets_dir
12
14
  end
13
15
  guides_generator.generate
14
16
  end
15
17
 
16
18
  desc "Generates guides documentation."
17
- task :rebuild do
19
+ task :rebuild, [:output_dir, :assets_dir] do
18
20
  guides_generator = Hayde::Generator.new do |g|
19
21
  g.sources.include 'guides/source/**/*'
20
22
  g.sources.exclude 'guides/source/layout.*'
23
+ g.output_dir = args.output_dir if args.output_dir
24
+ g.assets_dir = args.assets_dir if args.assets_dir
21
25
  g.force = true
22
26
  end
23
27
  guides_generator.generate
@@ -28,4 +32,5 @@ namespace :hayde do
28
32
  guides_generator = Hayde::Generator.new
29
33
  guides_generator.clean
30
34
  end
31
- end
35
+ end
36
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hayde
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
5
- prerelease: false
4
+ hash: 9
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 8
10
- version: 0.1.8
9
+ - 9
10
+ version: 0.1.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Roman Zaharenkov
@@ -15,14 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-05-18 00:00:00 +03:00
18
+ date: 2011-05-11 00:00:00 +03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  type: :runtime
23
- prerelease: false
24
- name: RedCloth
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
26
24
  none: false
27
25
  requirements:
28
26
  - - ">="
@@ -33,29 +31,58 @@ dependencies:
33
31
  - 1
34
32
  - 1
35
33
  version: 4.1.1
36
- requirement: *id001
34
+ name: RedCloth
35
+ version_requirements: *id001
36
+ prerelease: false
37
37
  - !ruby/object:Gem::Dependency
38
38
  type: :runtime
39
- prerelease: false
40
- name: actionpack
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
42
40
  none: false
43
41
  requirements:
44
42
  - - "="
45
43
  - !ruby/object:Gem::Version
46
- hash: 299253627
44
+ hash: 62196421
47
45
  segments:
48
46
  - 3
49
47
  - 0
50
48
  - 0
51
- - beta3
49
+ - beta
50
+ - 3
52
51
  version: 3.0.0.beta3
53
- requirement: *id002
52
+ name: actionpack
53
+ version_requirements: *id002
54
+ prerelease: false
54
55
  - !ruby/object:Gem::Dependency
55
56
  type: :development
57
+ requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ hash: 3
63
+ segments:
64
+ - 0
65
+ version: "0"
66
+ name: rake
67
+ version_requirements: *id003
56
68
  prerelease: false
57
- name: thoughtbot-shoulda
58
- version_requirements: &id003 !ruby/object:Gem::Requirement
69
+ - !ruby/object:Gem::Dependency
70
+ type: :development
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ name: jeweler
81
+ version_requirements: *id004
82
+ prerelease: false
83
+ - !ruby/object:Gem::Dependency
84
+ type: :development
85
+ requirement: &id005 !ruby/object:Gem::Requirement
59
86
  none: false
60
87
  requirements:
61
88
  - - ">="
@@ -64,7 +91,85 @@ dependencies:
64
91
  segments:
65
92
  - 0
66
93
  version: "0"
67
- requirement: *id003
94
+ name: shoulda
95
+ version_requirements: *id005
96
+ prerelease: false
97
+ - !ruby/object:Gem::Dependency
98
+ type: :development
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ hash: 3
105
+ segments:
106
+ - 0
107
+ version: "0"
108
+ name: yard
109
+ version_requirements: *id006
110
+ prerelease: false
111
+ - !ruby/object:Gem::Dependency
112
+ type: :development
113
+ requirement: &id007 !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ hash: 3
119
+ segments:
120
+ - 0
121
+ version: "0"
122
+ name: rcov
123
+ version_requirements: *id007
124
+ prerelease: false
125
+ - !ruby/object:Gem::Dependency
126
+ type: :runtime
127
+ requirement: &id008 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ hash: 57
133
+ segments:
134
+ - 4
135
+ - 1
136
+ - 1
137
+ version: 4.1.1
138
+ name: RedCloth
139
+ version_requirements: *id008
140
+ prerelease: false
141
+ - !ruby/object:Gem::Dependency
142
+ type: :runtime
143
+ requirement: &id009 !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - "="
147
+ - !ruby/object:Gem::Version
148
+ hash: 62196421
149
+ segments:
150
+ - 3
151
+ - 0
152
+ - 0
153
+ - beta
154
+ - 3
155
+ version: 3.0.0.beta3
156
+ name: actionpack
157
+ version_requirements: *id009
158
+ prerelease: false
159
+ - !ruby/object:Gem::Dependency
160
+ type: :development
161
+ requirement: &id010 !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ hash: 3
167
+ segments:
168
+ - 0
169
+ version: "0"
170
+ name: thoughtbot-shoulda
171
+ version_requirements: *id010
172
+ prerelease: false
68
173
  description: "Helper for generating guides articles from textile source. Extracted from railties-3.0.0.beta3 project. "
69
174
  email: ZaharenkovRoman@gmail.com
70
175
  executables: []
@@ -76,7 +181,6 @@ extra_rdoc_files:
76
181
  - README.rdoc
77
182
  files:
78
183
  - .document
79
- - .gitignore
80
184
  - Gemfile
81
185
  - LICENSE
82
186
  - README.rdoc
@@ -98,8 +202,8 @@ homepage: http://github.com/Romantic/hayde
98
202
  licenses: []
99
203
 
100
204
  post_install_message:
101
- rdoc_options:
102
- - --charset=UTF-8
205
+ rdoc_options: []
206
+
103
207
  require_paths:
104
208
  - lib
105
209
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -123,10 +227,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
227
  requirements: []
124
228
 
125
229
  rubyforge_project:
126
- rubygems_version: 1.3.7
230
+ rubygems_version: 1.6.2
127
231
  signing_key:
128
232
  specification_version: 3
129
233
  summary: Textile guides generator like rails-guides.
130
- test_files:
131
- - test/helper.rb
132
- - test/test_hayde.rb
234
+ test_files: []
235
+
data/.gitignore DELETED
@@ -1,24 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- doc
19
- rdoc
20
- pkg
21
- .yardoc
22
- .bundle
23
-
24
- ## PROJECT::SPECIFIC