local_documentation 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/app/assets/images/documentation/link.svg +28 -0
  4. data/app/assets/images/documentation/logo-black.svg +23 -0
  5. data/app/assets/images/documentation/logo-white.svg +23 -0
  6. data/app/assets/images/documentation/page.svg +16 -0
  7. data/app/assets/images/documentation/pin.svg +15 -0
  8. data/app/assets/images/documentation/recommendation.svg +11 -0
  9. data/app/assets/images/documentation/search.svg +10 -0
  10. data/app/assets/images/documentation/unhappy.svg +15 -0
  11. data/app/assets/images/documentation/warning.svg +16 -0
  12. data/app/assets/javascripts/documentation/application.coffee +78 -0
  13. data/app/assets/javascripts/documentation/jquery-ui.js +4146 -0
  14. data/app/assets/javascripts/documentation/jquery.autosize.js +263 -0
  15. data/app/assets/stylesheets/documentation/application.scss +322 -0
  16. data/app/assets/stylesheets/documentation/markdown.scss +168 -0
  17. data/app/assets/stylesheets/documentation/page_form.scss +39 -0
  18. data/app/assets/stylesheets/documentation/reset.scss +101 -0
  19. data/app/controllers/documentation/application_controller.rb +27 -0
  20. data/app/controllers/documentation/pages_controller.rb +93 -0
  21. data/app/helpers/documentation/application_helper.rb +13 -0
  22. data/app/models/documentation/page.rb +214 -0
  23. data/app/models/documentation/screenshot.rb +15 -0
  24. data/app/views/documentation/pages/_admin_buttons.html.haml +18 -0
  25. data/app/views/documentation/pages/form.html.haml +16 -0
  26. data/app/views/documentation/pages/index.html.haml +13 -0
  27. data/app/views/documentation/pages/positioning.html.haml +22 -0
  28. data/app/views/documentation/pages/screenshot.html.haml +15 -0
  29. data/app/views/documentation/pages/search.html.haml +12 -0
  30. data/app/views/documentation/pages/show.html.haml +14 -0
  31. data/app/views/documentation/shared/access_denied.html.haml +10 -0
  32. data/app/views/documentation/shared/not_found.html.haml +10 -0
  33. data/app/views/layouts/documentation/_footer.html.haml +0 -0
  34. data/app/views/layouts/documentation/_head.html.haml +0 -0
  35. data/app/views/layouts/documentation/_header.html.haml +3 -0
  36. data/app/views/layouts/documentation/_search.html.haml +5 -0
  37. data/app/views/layouts/documentation/application.html.haml +22 -0
  38. data/config/locales/en.yml +62 -0
  39. data/config/routes.rb +11 -0
  40. data/db/migrate/20140711185212_create_documentation_pages.rb +10 -0
  41. data/db/migrate/20140724111844_create_nifty_attachments_table.rb +16 -0
  42. data/db/migrate/20140724114255_create_documentation_screenshots.rb +7 -0
  43. data/db/seeds.rb +15 -0
  44. data/doc/developers-guide/authorization.md +37 -0
  45. data/doc/developers-guide/building-views/accessing-pages.md +38 -0
  46. data/doc/developers-guide/building-views/helpers.md +105 -0
  47. data/doc/developers-guide/building-views/overview.md +3 -0
  48. data/doc/developers-guide/customization.md +9 -0
  49. data/doc/developers-guide/overview.md +20 -0
  50. data/doc/developers-guide/search-backends.md +17 -0
  51. data/doc/markdown/overview.md +37 -0
  52. data/lib/documentation.rb +20 -0
  53. data/lib/documentation/authorizer.rb +60 -0
  54. data/lib/documentation/config.rb +31 -0
  55. data/lib/documentation/engine.rb +29 -0
  56. data/lib/documentation/errors.rb +7 -0
  57. data/lib/documentation/generators/setup_generator.rb +17 -0
  58. data/lib/documentation/markdown_renderer.rb +62 -0
  59. data/lib/documentation/search_result.rb +84 -0
  60. data/lib/documentation/searchers/abstract.rb +47 -0
  61. data/lib/documentation/searchers/simple.rb +40 -0
  62. data/lib/documentation/version.rb +3 -0
  63. data/lib/documentation/view_helpers.rb +159 -0
  64. data/lib/tasks/documentation.rake +44 -0
  65. metadata +307 -0
@@ -0,0 +1,40 @@
1
+ module Documentation
2
+ module Searchers
3
+ class Simple < Documentation::Searchers::Abstract
4
+
5
+ def search(query, options = {})
6
+ # Default options
7
+ options[:page] ||= 1
8
+ options[:per_page] ||= 15
9
+
10
+ # Query string
11
+ query_string = "content LIKE ? OR title LIKE ?", "%#{query}%", "%#{query}"
12
+
13
+ # Get the total number of pages
14
+ total_results = pages = Documentation::Page.where(query_string).count
15
+
16
+ # Get the actual pages
17
+ pages = Documentation::Page.where(query_string)
18
+ pages = pages.offset((options[:page].to_i - 1) * options[:per_page].to_i)
19
+ pages = pages.limit(options[:per_page].to_i)
20
+
21
+ # Create a result object
22
+ result = Documentation::SearchResult.new
23
+ result.page = options[:page].to_i
24
+ result.per_page = options[:per_page].to_i
25
+ result.total_results = total_results
26
+ result.query = query
27
+ result.time = 0
28
+ result.results = pages
29
+
30
+ # Return the result
31
+ result
32
+ end
33
+
34
+ def index(page)
35
+ true
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,3 @@
1
+ module Documentation
2
+ VERSION = '1.0.0'
3
+ end
@@ -0,0 +1,159 @@
1
+ module Documentation
2
+ module ViewHelpers
3
+
4
+ #
5
+ # Path to edit a page in the manager UI
6
+ #
7
+ def documentation_edit_page_path(page)
8
+ "#{::Documentation::Engine.mounted_path}/edit/#{page.full_permalink}"
9
+ end
10
+
11
+ #
12
+ # Path to view a page in the manager UI
13
+ #
14
+ def documentation_page_path(page)
15
+ "#{::Documentation::Engine.mounted_path}/#{page.try(:full_permalink)}"
16
+ end
17
+
18
+ #
19
+ # Return a breadcrumb for the given page
20
+ #
21
+ def documentation_breadcrumb_for(page, options = {})
22
+ options[:root_link] = options[:root_link].nil? ? t('documentation.helpers.documentation_breadcrumb_for.default_root_link') : options[:root_link]
23
+ options[:class] ||= 'breadcrumb'
24
+
25
+ String.new.tap do |s|
26
+ s << "<nav class='#{options[:class]}'><ul>"
27
+
28
+ if options[:root_link]
29
+ s << "<li><a href='#{documentation_doc_root.blank? ? '/' : documentation_doc_root}'>#{options[:root_link]}</a></li>"
30
+ end
31
+
32
+ if page.is_a?(::Documentation::Page)
33
+ page.breadcrumb.each do |child|
34
+ s << "<li><a href='#{documentation_doc_root}/#{child.full_permalink}'>#{child.title}</a></li>"
35
+ end
36
+ end
37
+
38
+ s << "</ul></nav>"
39
+ end.html_safe
40
+ end
41
+
42
+ #
43
+ # Return a default navigation tree for the given page
44
+ #
45
+ def documentation_navigation_tree_for(page)
46
+ String.new.tap do |s|
47
+ s << "<ul>"
48
+ if page.is_a?(::Documentation::Page)
49
+ page.navigation.select { |p,c| documentation_authorizer.can_view_page?(p) }.each do |p, children|
50
+ s << "<li>"
51
+ s << "<a #{page == p ? "class='active'" : ''} href='#{documentation_doc_root}/#{p.full_permalink}'>#{p.title}</a>"
52
+ unless children.empty?
53
+ s << "<ul>"
54
+ children.select { |c| documentation_authorizer.can_view_page?(c) }.each do |p|
55
+ s << "<li><a #{page == p ? "class='active'" : ''} href='#{documentation_doc_root}/#{p.full_permalink}'>#{p.title}</a></li>"
56
+ end
57
+ s << "</ul>"
58
+ end
59
+ s << "</li>"
60
+ end
61
+ else
62
+ ::Documentation::Page.roots.each do |page|
63
+ s << "<li><a href='#{documentation_doc_root}/#{page.full_permalink}'>#{page.title}</a></li>"
64
+ end
65
+ end
66
+ s << "</ul>"
67
+ end.html_safe
68
+ end
69
+
70
+ #
71
+ # Return appropriate content for a given page
72
+ #
73
+ def documentation_content_for(page)
74
+ # Get the content
75
+ content = page.compiled_content.to_s
76
+
77
+ # Insert navigation
78
+ content.gsub!("<p class=''>{{nav}}</p>") do
79
+ children = page.children
80
+ children = children.select { |c| documentation_authorizer.can_view_page?(c) }
81
+ items = children.map { |c| "<li><a href='#{documentation_doc_root}/#{c.full_permalink}'>#{c.title}</a></li>" }.join
82
+ "<ul class='pages'>#{items}</ul>"
83
+ end
84
+
85
+ # Set the document root as appropriate
86
+ content.gsub!("{{docRoot}}", documentation_doc_root)
87
+
88
+ # Return HTML safe content
89
+ content.html_safe
90
+ end
91
+
92
+ #
93
+ # Return the documentation document root
94
+ #
95
+ def documentation_doc_root
96
+ @documentation_doc_root ||= begin
97
+ if controller.is_a?(Documentation::ApplicationController)
98
+ ::Documentation::Engine.mounted_path.to_s.sub(/\/$/, '')
99
+ else
100
+ ::Documentation.config.preview_path_prefix.to_s.sub(/\/$/, '')
101
+ end
102
+ end
103
+ end
104
+
105
+ #
106
+ # Return the documentation authorizer
107
+ #
108
+ def documentation_authorizer
109
+ @documentation_authorizer ||= Documentation.config.authorizer.new(controller)
110
+ end
111
+
112
+ #
113
+ # Return summary information for search results
114
+ #
115
+ def documentation_search_summary(result)
116
+ t('documentation.helpers.documentation_search_summary.text', :total_results => result.total_results, :start_result => result.start_result_number, :end_result => result.end_result_number, :query => result.query)
117
+ end
118
+
119
+ #
120
+ # Return the search results
121
+ #
122
+ def documentation_search_results(result, options = {})
123
+ options[:class] ||= 'searchResults'
124
+ String.new.tap do |s|
125
+ s << "<ul class='#{options[:class]}'>"
126
+ result.results.each do |page|
127
+ s << "<li>"
128
+ s << "<h4><a href='#{documentation_doc_root}/#{page.full_permalink}'>#{page.title}</a></h4>"
129
+ unless page.parents.empty?
130
+ s << "<p class='in'>#{t('documentation.helpers.documentation_search_results.in')} "
131
+ s << page.parents.map { |c| link_to(h(c.title), "#{documentation_doc_root}/#{c.full_permalink}")}.join(" &#8658; ").html_safe
132
+ s << "</p>"
133
+ end
134
+ s << "<p class='excerpt'>#{result.excerpt_for(page)}</p>"
135
+ s << "</li>"
136
+ end
137
+ s << "</ul>"
138
+ end.html_safe
139
+ end
140
+
141
+ #
142
+ # Return search pagination links
143
+ #
144
+ def documentation_search_pagination(result, options = {})
145
+ String.new.tap do |s|
146
+ unless result.first_page?
147
+ querystring = {:query => result.query, :page => result.page - 1}.to_query
148
+ s << link_to(t('documentation.helpers.documentation_search_pagination.previous'), "#{documentation_doc_root}/search?#{querystring}", :class => [options[:link_class], options[:previous_link_class]].compact.join(' '))
149
+ end
150
+
151
+ unless result.last_page?
152
+ querystring = {:query => result.query, :page => result.page + 1}.to_query
153
+ s << link_to(t('documentation.helpers.documentation_search_pagination.next'), "#{documentation_doc_root}/search?#{querystring}", :class => [options[:link_class], options[:next_link_class]].compact.join(' '))
154
+ end
155
+ end.html_safe
156
+ end
157
+
158
+ end
159
+ end
@@ -0,0 +1,44 @@
1
+ namespace :documentation do
2
+
3
+ desc "Load a set of initial guides"
4
+ task :install_guides => :environment do
5
+ require File.expand_path('../../../db/seeds', __FILE__)
6
+ end
7
+
8
+
9
+ namespace :db do
10
+ desc 'Migrates the documentation database'
11
+ task :migrate => :environment do
12
+ p "documentation db migrate"
13
+ with_engine_connection do
14
+ ActiveRecord::Migrator.migrate("#{File.dirname(__FILE__)}/../../db/migrate", ENV['VERSION'].try(:to_i))
15
+ end
16
+ Rake::Task['documentation:db:schema:dump'].invoke
17
+ end
18
+
19
+ task :'schema:dump' => :environment do
20
+ require 'active_record/schema_dumper'
21
+
22
+ with_engine_connection do
23
+ File.open(Rails.root.join('db', 'documentation_schema.rb'), 'w') do |file|
24
+ ActiveRecord::SchemaDumper.dump ActiveRecord::Base.connection, file
25
+ end
26
+ end
27
+ end
28
+
29
+ task :'schema:load' => :environment do
30
+ with_engine_connection do
31
+ load Rails.root.join('db', 'documentation_schema.rb')
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ # Hack to temporarily connect AR::Base to documentation.
38
+ def with_engine_connection
39
+ original = ActiveRecord::Base.remove_connection
40
+ ActiveRecord::Base.establish_connection "documentation".to_sym
41
+ yield
42
+ ensure
43
+ ActiveRecord::Base.establish_connection original
44
+ end
metadata ADDED
@@ -0,0 +1,307 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: local_documentation
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Zakaria Braksa
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: haml
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '4.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '4.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: dynamic_form
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.1'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 1.1.4
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.1'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 1.1.4
67
+ - !ruby/object:Gem::Dependency
68
+ name: jquery-rails
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '3'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '3'
81
+ - !ruby/object:Gem::Dependency
82
+ name: coffee-rails
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '4'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '4'
95
+ - !ruby/object:Gem::Dependency
96
+ name: sass-rails
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '4.0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '4.0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: uglifier
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '2.2'
116
+ - - "<"
117
+ - !ruby/object:Gem::Version
118
+ version: '3.0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '2.2'
126
+ - - "<"
127
+ - !ruby/object:Gem::Version
128
+ version: '3.0'
129
+ - !ruby/object:Gem::Dependency
130
+ name: redcarpet
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: 3.1.0
136
+ - - "<"
137
+ - !ruby/object:Gem::Version
138
+ version: '4.0'
139
+ type: :runtime
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 3.1.0
146
+ - - "<"
147
+ - !ruby/object:Gem::Version
148
+ version: '4.0'
149
+ - !ruby/object:Gem::Dependency
150
+ name: pygments.rb
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: '0.5'
156
+ - - "<"
157
+ - !ruby/object:Gem::Version
158
+ version: '1.0'
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0.5'
166
+ - - "<"
167
+ - !ruby/object:Gem::Version
168
+ version: '1.0'
169
+ - !ruby/object:Gem::Dependency
170
+ name: nifty-attachments
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: 1.0.3
176
+ type: :runtime
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 1.0.3
183
+ - !ruby/object:Gem::Dependency
184
+ name: nifty-dialog
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '1'
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: '1'
197
+ - !ruby/object:Gem::Dependency
198
+ name: sqlite3
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - "~>"
202
+ - !ruby/object:Gem::Version
203
+ version: '1.3'
204
+ type: :development
205
+ prerelease: false
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - "~>"
209
+ - !ruby/object:Gem::Version
210
+ version: '1.3'
211
+ description: Easily add markdown-based project documentation to your Rails application
212
+ email:
213
+ - zakaria.braksa@gmail.com
214
+ executables: []
215
+ extensions: []
216
+ extra_rdoc_files: []
217
+ files:
218
+ - MIT-LICENSE
219
+ - app/assets/images/documentation/link.svg
220
+ - app/assets/images/documentation/logo-black.svg
221
+ - app/assets/images/documentation/logo-white.svg
222
+ - app/assets/images/documentation/page.svg
223
+ - app/assets/images/documentation/pin.svg
224
+ - app/assets/images/documentation/recommendation.svg
225
+ - app/assets/images/documentation/search.svg
226
+ - app/assets/images/documentation/unhappy.svg
227
+ - app/assets/images/documentation/warning.svg
228
+ - app/assets/javascripts/documentation/application.coffee
229
+ - app/assets/javascripts/documentation/jquery-ui.js
230
+ - app/assets/javascripts/documentation/jquery.autosize.js
231
+ - app/assets/stylesheets/documentation/application.scss
232
+ - app/assets/stylesheets/documentation/markdown.scss
233
+ - app/assets/stylesheets/documentation/page_form.scss
234
+ - app/assets/stylesheets/documentation/reset.scss
235
+ - app/controllers/documentation/application_controller.rb
236
+ - app/controllers/documentation/pages_controller.rb
237
+ - app/helpers/documentation/application_helper.rb
238
+ - app/models/documentation/page.rb
239
+ - app/models/documentation/screenshot.rb
240
+ - app/views/documentation/pages/_admin_buttons.html.haml
241
+ - app/views/documentation/pages/form.html.haml
242
+ - app/views/documentation/pages/index.html.haml
243
+ - app/views/documentation/pages/positioning.html.haml
244
+ - app/views/documentation/pages/screenshot.html.haml
245
+ - app/views/documentation/pages/search.html.haml
246
+ - app/views/documentation/pages/show.html.haml
247
+ - app/views/documentation/shared/access_denied.html.haml
248
+ - app/views/documentation/shared/not_found.html.haml
249
+ - app/views/layouts/documentation/_footer.html.haml
250
+ - app/views/layouts/documentation/_head.html.haml
251
+ - app/views/layouts/documentation/_header.html.haml
252
+ - app/views/layouts/documentation/_search.html.haml
253
+ - app/views/layouts/documentation/application.html.haml
254
+ - config/locales/en.yml
255
+ - config/routes.rb
256
+ - db/migrate/20140711185212_create_documentation_pages.rb
257
+ - db/migrate/20140724111844_create_nifty_attachments_table.rb
258
+ - db/migrate/20140724114255_create_documentation_screenshots.rb
259
+ - db/seeds.rb
260
+ - doc/developers-guide/authorization.md
261
+ - doc/developers-guide/building-views/accessing-pages.md
262
+ - doc/developers-guide/building-views/helpers.md
263
+ - doc/developers-guide/building-views/overview.md
264
+ - doc/developers-guide/customization.md
265
+ - doc/developers-guide/overview.md
266
+ - doc/developers-guide/search-backends.md
267
+ - doc/markdown/overview.md
268
+ - lib/documentation.rb
269
+ - lib/documentation/authorizer.rb
270
+ - lib/documentation/config.rb
271
+ - lib/documentation/engine.rb
272
+ - lib/documentation/errors.rb
273
+ - lib/documentation/generators/setup_generator.rb
274
+ - lib/documentation/markdown_renderer.rb
275
+ - lib/documentation/search_result.rb
276
+ - lib/documentation/searchers/abstract.rb
277
+ - lib/documentation/searchers/simple.rb
278
+ - lib/documentation/version.rb
279
+ - lib/documentation/view_helpers.rb
280
+ - lib/tasks/documentation.rake
281
+ homepage: http://braksa.com
282
+ licenses:
283
+ - MIT
284
+ metadata: {}
285
+ post_install_message:
286
+ rdoc_options: []
287
+ require_paths:
288
+ - lib
289
+ required_ruby_version: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ">="
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ required_rubygems_version: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ requirements: []
300
+ rubyforge_project:
301
+ rubygems_version: 2.2.2
302
+ signing_key:
303
+ specification_version: 4
304
+ summary: Rails Engine for easily adding markdown-based project documentation to your
305
+ Rails application
306
+ test_files: []
307
+ has_rdoc: