hayde 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
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