documentation 0.0.1 → 1.0.0
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.
- checksums.yaml +4 -4
- data/app/assets/images/documentation/link.svg +28 -0
- data/app/assets/images/documentation/logo-black.svg +23 -0
- data/app/assets/images/documentation/logo-white.svg +23 -0
- data/app/assets/images/documentation/page.svg +16 -0
- data/app/assets/images/documentation/pin.svg +15 -0
- data/app/assets/images/documentation/recommendation.svg +11 -0
- data/app/assets/images/documentation/search.svg +10 -0
- data/app/assets/images/documentation/unhappy.svg +15 -0
- data/app/assets/images/documentation/warning.svg +16 -0
- data/app/assets/javascripts/documentation/application.coffee +14 -0
- data/app/assets/javascripts/documentation/jquery-ui.js +4146 -0
- data/app/assets/javascripts/documentation/jquery.autosize.js +263 -0
- data/app/assets/stylesheets/documentation/application.scss +320 -0
- data/app/assets/stylesheets/documentation/markdown.scss +168 -0
- data/app/assets/stylesheets/documentation/page_form.scss +38 -0
- data/app/assets/stylesheets/documentation/reset.scss +101 -0
- data/app/controllers/documentation/application_controller.rb +21 -0
- data/app/controllers/documentation/pages_controller.rb +74 -0
- data/app/helpers/documentation/application_helper.rb +13 -0
- data/app/models/documentation/page.rb +213 -0
- data/app/views/documentation/pages/_admin_buttons.html.haml +18 -0
- data/app/views/documentation/pages/form.html.haml +12 -0
- data/app/views/documentation/pages/index.html.haml +13 -0
- data/app/views/documentation/pages/positioning.html.haml +22 -0
- data/app/views/documentation/pages/search.html.haml +26 -0
- data/app/views/documentation/pages/show.html.haml +14 -0
- data/app/views/documentation/shared/access_denied.html.haml +10 -0
- data/app/views/documentation/shared/not_found.html.haml +10 -0
- data/app/views/layouts/documentation/_header.html.haml +3 -0
- data/app/views/layouts/documentation/_search.html.haml +5 -0
- data/app/views/layouts/documentation/application.html.haml +18 -0
- data/config/locales/en.yml +56 -0
- data/config/routes.rb +10 -0
- data/db/migrate/20140711185212_create_documentation_pages.rb +10 -0
- data/db/seeds.rb +15 -0
- data/lib/documentation.rb +16 -0
- data/lib/documentation/authorizer.rb +52 -0
- data/lib/documentation/config.rb +31 -0
- data/lib/documentation/engine.rb +29 -0
- data/lib/documentation/errors.rb +7 -0
- data/lib/documentation/generators/setup_generator.rb +13 -0
- data/lib/documentation/markdown_renderer.rb +62 -0
- data/lib/documentation/search_result.rb +84 -0
- data/lib/documentation/searchers/abstract.rb +47 -0
- data/lib/documentation/searchers/simple.rb +40 -0
- data/lib/documentation/version.rb +1 -1
- data/lib/documentation/view_helpers.rb +113 -0
- data/lib/tasks/documentation.rake +6 -0
- metadata +219 -3
@@ -0,0 +1,84 @@
|
|
1
|
+
module Documentation
|
2
|
+
class SearchResult
|
3
|
+
|
4
|
+
attr_accessor :query
|
5
|
+
attr_accessor :time
|
6
|
+
attr_accessor :raw_results
|
7
|
+
attr_accessor :results
|
8
|
+
attr_accessor :page
|
9
|
+
attr_accessor :per_page
|
10
|
+
attr_accessor :total_results
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
@time = nil
|
14
|
+
@raw_results = {}
|
15
|
+
@page = 1
|
16
|
+
@total_pages = 1
|
17
|
+
@per_page = nil
|
18
|
+
end
|
19
|
+
|
20
|
+
#
|
21
|
+
# Return the pages
|
22
|
+
#
|
23
|
+
def results
|
24
|
+
@results ||= begin
|
25
|
+
results = Documentation::Page.where(:id => raw_results.keys).includes(:parent).to_a
|
26
|
+
results.sort_by { |p| raw_results.keys.index(p.id) }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Return the highlight string for a given page
|
32
|
+
#
|
33
|
+
def excerpt_for(page)
|
34
|
+
if @raw_results[page.id] && hl = @raw_results[page.id][:highlights]
|
35
|
+
ERB::Util.html_escape((hl.join("..."))).gsub('{{{', "<mark>").gsub("}}}", "</mark>").html_safe
|
36
|
+
else
|
37
|
+
page.content[0,255].gsub(/[\n\r]/, '') + "..."
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# Is the result set empty?
|
43
|
+
#
|
44
|
+
def empty?
|
45
|
+
self.results.empty?
|
46
|
+
end
|
47
|
+
|
48
|
+
#
|
49
|
+
# The total number of pages in the result set
|
50
|
+
#
|
51
|
+
def total_pages
|
52
|
+
(total_results / per_page.to_f).ceil
|
53
|
+
end
|
54
|
+
|
55
|
+
#
|
56
|
+
# The number of the first result on the current page
|
57
|
+
#
|
58
|
+
def start_result_number
|
59
|
+
((page - 1) * per_page) + 1
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# The number of the last result on the current page
|
64
|
+
#
|
65
|
+
def end_result_number
|
66
|
+
start_result_number + (results.size) - 1
|
67
|
+
end
|
68
|
+
|
69
|
+
#
|
70
|
+
# Is this the first page of the result set?
|
71
|
+
#
|
72
|
+
def first_page?
|
73
|
+
page == 1
|
74
|
+
end
|
75
|
+
|
76
|
+
#
|
77
|
+
# Is this the last page of the result set?
|
78
|
+
#
|
79
|
+
def last_page?
|
80
|
+
page == total_pages
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Documentation
|
2
|
+
module Searchers
|
3
|
+
class Abstract
|
4
|
+
|
5
|
+
attr_reader :options
|
6
|
+
|
7
|
+
def initialize(options = {})
|
8
|
+
@options = options
|
9
|
+
setup
|
10
|
+
end
|
11
|
+
|
12
|
+
#
|
13
|
+
# Run whatever initial set up is needed
|
14
|
+
#
|
15
|
+
def setup
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# Search for a page from the index
|
20
|
+
#
|
21
|
+
def search(query, options = {})
|
22
|
+
[]
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# Delete a page from the index
|
27
|
+
#
|
28
|
+
def delete(page)
|
29
|
+
false
|
30
|
+
end
|
31
|
+
|
32
|
+
#
|
33
|
+
# Reset an index to have no data within it
|
34
|
+
#
|
35
|
+
def reset
|
36
|
+
true
|
37
|
+
end
|
38
|
+
|
39
|
+
#
|
40
|
+
# Add or update an page in the index
|
41
|
+
#
|
42
|
+
def index(page)
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -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,113 @@
|
|
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}'>#{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
|
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
|
+
end
|
113
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,185 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: documentation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Cooke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
12
|
-
dependencies:
|
11
|
+
date: 2014-07-14 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: sqlite3
|
171
|
+
requirement: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - "~>"
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '1.3'
|
176
|
+
type: :development
|
177
|
+
prerelease: false
|
178
|
+
version_requirements: !ruby/object:Gem::Requirement
|
179
|
+
requirements:
|
180
|
+
- - "~>"
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '1.3'
|
13
183
|
description: It does cool stuff!
|
14
184
|
email:
|
15
185
|
- adam@atechmedia.com
|
@@ -17,8 +187,54 @@ executables: []
|
|
17
187
|
extensions: []
|
18
188
|
extra_rdoc_files: []
|
19
189
|
files:
|
190
|
+
- app/assets/images/documentation/link.svg
|
191
|
+
- app/assets/images/documentation/logo-black.svg
|
192
|
+
- app/assets/images/documentation/logo-white.svg
|
193
|
+
- app/assets/images/documentation/page.svg
|
194
|
+
- app/assets/images/documentation/pin.svg
|
195
|
+
- app/assets/images/documentation/recommendation.svg
|
196
|
+
- app/assets/images/documentation/search.svg
|
197
|
+
- app/assets/images/documentation/unhappy.svg
|
198
|
+
- app/assets/images/documentation/warning.svg
|
199
|
+
- app/assets/javascripts/documentation/application.coffee
|
200
|
+
- app/assets/javascripts/documentation/jquery-ui.js
|
201
|
+
- app/assets/javascripts/documentation/jquery.autosize.js
|
202
|
+
- app/assets/stylesheets/documentation/application.scss
|
203
|
+
- app/assets/stylesheets/documentation/markdown.scss
|
204
|
+
- app/assets/stylesheets/documentation/page_form.scss
|
205
|
+
- app/assets/stylesheets/documentation/reset.scss
|
206
|
+
- app/controllers/documentation/application_controller.rb
|
207
|
+
- app/controllers/documentation/pages_controller.rb
|
208
|
+
- app/helpers/documentation/application_helper.rb
|
209
|
+
- app/models/documentation/page.rb
|
210
|
+
- app/views/documentation/pages/_admin_buttons.html.haml
|
211
|
+
- app/views/documentation/pages/form.html.haml
|
212
|
+
- app/views/documentation/pages/index.html.haml
|
213
|
+
- app/views/documentation/pages/positioning.html.haml
|
214
|
+
- app/views/documentation/pages/search.html.haml
|
215
|
+
- app/views/documentation/pages/show.html.haml
|
216
|
+
- app/views/documentation/shared/access_denied.html.haml
|
217
|
+
- app/views/documentation/shared/not_found.html.haml
|
218
|
+
- app/views/layouts/documentation/_header.html.haml
|
219
|
+
- app/views/layouts/documentation/_search.html.haml
|
220
|
+
- app/views/layouts/documentation/application.html.haml
|
221
|
+
- config/locales/en.yml
|
222
|
+
- config/routes.rb
|
223
|
+
- db/migrate/20140711185212_create_documentation_pages.rb
|
224
|
+
- db/seeds.rb
|
20
225
|
- lib/documentation.rb
|
226
|
+
- lib/documentation/authorizer.rb
|
227
|
+
- lib/documentation/config.rb
|
228
|
+
- lib/documentation/engine.rb
|
229
|
+
- lib/documentation/errors.rb
|
230
|
+
- lib/documentation/generators/setup_generator.rb
|
231
|
+
- lib/documentation/markdown_renderer.rb
|
232
|
+
- lib/documentation/search_result.rb
|
233
|
+
- lib/documentation/searchers/abstract.rb
|
234
|
+
- lib/documentation/searchers/simple.rb
|
21
235
|
- lib/documentation/version.rb
|
236
|
+
- lib/documentation/view_helpers.rb
|
237
|
+
- lib/tasks/documentation.rake
|
22
238
|
homepage: http://adamcooke.io
|
23
239
|
licenses:
|
24
240
|
- MIT
|