scribo 1.0.38

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +93 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/config/scribo_manifest.js +2 -0
  6. data/app/assets/javascripts/scribo/scribo.js +1 -0
  7. data/app/assets/stylesheets/scribo/scribo.css +1 -0
  8. data/app/controllers/concerns/maintenance_standards.rb +24 -0
  9. data/app/controllers/scribo/admin/sites/contents_controller.rb +86 -0
  10. data/app/controllers/scribo/admin/sites_controller.rb +61 -0
  11. data/app/controllers/scribo/api/sites_controller.rb +23 -0
  12. data/app/controllers/scribo/application_admin_controller.rb +11 -0
  13. data/app/controllers/scribo/application_controller.rb +6 -0
  14. data/app/controllers/scribo/contents_controller.rb +20 -0
  15. data/app/drops/scribo/action_dispatch/request_drop.rb +15 -0
  16. data/app/drops/scribo/active_model/errors_drop.rb +16 -0
  17. data/app/drops/scribo/application_drop.rb +9 -0
  18. data/app/drops/scribo/array_drop.rb +13 -0
  19. data/app/drops/scribo/content_drop.rb +73 -0
  20. data/app/drops/scribo/data_drop.rb +35 -0
  21. data/app/drops/scribo/form_drop.rb +26 -0
  22. data/app/drops/scribo/include_drop.rb +13 -0
  23. data/app/drops/scribo/paginator_drop.rb +73 -0
  24. data/app/drops/scribo/site_drop.rb +83 -0
  25. data/app/helpers/scribo/application_helper.rb +13 -0
  26. data/app/jobs/scribo/application_job.rb +6 -0
  27. data/app/models/scribo/application_record.rb +11 -0
  28. data/app/models/scribo/content.rb +378 -0
  29. data/app/models/scribo/site.rb +161 -0
  30. data/app/services/scribo/application_service.rb +9 -0
  31. data/app/services/scribo/content_find_service.rb +69 -0
  32. data/app/services/scribo/content_render_service.rb +127 -0
  33. data/app/services/scribo/site_export_service.rb +41 -0
  34. data/app/services/scribo/site_find_service.rb +26 -0
  35. data/app/services/scribo/site_import_service.rb +96 -0
  36. data/app/views/layouts/scribo.html.slim +1 -0
  37. data/app/views/scribo/admin/sites/_create_sites.html.slim +22 -0
  38. data/app/views/scribo/admin/sites/_sites.html.slim +18 -0
  39. data/app/views/scribo/admin/sites/contents/_form.html.slim +17 -0
  40. data/app/views/scribo/admin/sites/contents/create.json.jbuilder +11 -0
  41. data/app/views/scribo/admin/sites/contents/edit.html.slim +2 -0
  42. data/app/views/scribo/admin/sites/contents/edit.json.jbuilder +9 -0
  43. data/app/views/scribo/admin/sites/contents/index.html.slim +1 -0
  44. data/app/views/scribo/admin/sites/contents/move.json.jbuilder +9 -0
  45. data/app/views/scribo/admin/sites/contents/rename.json.jbuilder +9 -0
  46. data/app/views/scribo/admin/sites/contents/upload.json.jbuilder +9 -0
  47. data/app/views/scribo/admin/sites/import.json.jbuilder +4 -0
  48. data/app/views/scribo/admin/sites/index.html.slim +7 -0
  49. data/app/views/scribo/shared/_entry.html.slim +17 -0
  50. data/app/views/scribo/shared/_ide.html.slim +14 -0
  51. data/app/views/scribo/shared/_tree-view.html.slim +32 -0
  52. data/config/locales/en.yml +39 -0
  53. data/config/routes.rb +35 -0
  54. data/db/migrate/20200123095630_initial_scribo.rb +34 -0
  55. data/db/migrate/20220919124119_add_ancestry_to_scribo_contents.rb +13 -0
  56. data/db/migrate/20220919124749_remove_parent_id_from_scribo_contents.rb +8 -0
  57. data/lib/scribo/action_controller_helpers.rb +51 -0
  58. data/lib/scribo/action_controller_renderers.rb +71 -0
  59. data/lib/scribo/action_view_helpers.rb +17 -0
  60. data/lib/scribo/active_record_helpers.rb +11 -0
  61. data/lib/scribo/configuration.rb +97 -0
  62. data/lib/scribo/engine.rb +24 -0
  63. data/lib/scribo/i18n_store.rb +100 -0
  64. data/lib/scribo/liquid/filters/jekyll_filters.rb +94 -0
  65. data/lib/scribo/liquid/filters/markdownify.rb +11 -0
  66. data/lib/scribo/liquid/filters/url_filters.rb +76 -0
  67. data/lib/scribo/liquid/parser.rb +32 -0
  68. data/lib/scribo/liquid/tags/application_assets_tag.rb +14 -0
  69. data/lib/scribo/liquid/tags/application_js_tag.rb +16 -0
  70. data/lib/scribo/liquid/tags/asset_tag.rb +56 -0
  71. data/lib/scribo/liquid/tags/button_tag.rb +24 -0
  72. data/lib/scribo/liquid/tags/check_box_tag.rb +31 -0
  73. data/lib/scribo/liquid/tags/csrf_meta_tags_tag.rb +16 -0
  74. data/lib/scribo/liquid/tags/date_field_tag.rb +23 -0
  75. data/lib/scribo/liquid/tags/editable_url_tag.rb +19 -0
  76. data/lib/scribo/liquid/tags/email_field_tag.rb +23 -0
  77. data/lib/scribo/liquid/tags/feed_meta_tag.rb +22 -0
  78. data/lib/scribo/liquid/tags/field_error_tag.rb +26 -0
  79. data/lib/scribo/liquid/tags/fields_for_tag.rb +82 -0
  80. data/lib/scribo/liquid/tags/form_tag.rb +57 -0
  81. data/lib/scribo/liquid/tags/google_analytics_javascript_tag.rb +30 -0
  82. data/lib/scribo/liquid/tags/google_tag_manager_javascript_tag.rb +28 -0
  83. data/lib/scribo/liquid/tags/hidden_field_tag.rb +23 -0
  84. data/lib/scribo/liquid/tags/highlight_tag.rb +106 -0
  85. data/lib/scribo/liquid/tags/include_tag.rb +28 -0
  86. data/lib/scribo/liquid/tags/label_tag.rb +24 -0
  87. data/lib/scribo/liquid/tags/number_field_tag.rb +23 -0
  88. data/lib/scribo/liquid/tags/options_for_select.rb +36 -0
  89. data/lib/scribo/liquid/tags/password_field_tag.rb +23 -0
  90. data/lib/scribo/liquid/tags/search_field_tag.rb +23 -0
  91. data/lib/scribo/liquid/tags/search_tag.rb +29 -0
  92. data/lib/scribo/liquid/tags/select_tag.rb +22 -0
  93. data/lib/scribo/liquid/tags/seo_tag.rb +35 -0
  94. data/lib/scribo/liquid/tags/set_session.rb +19 -0
  95. data/lib/scribo/liquid/tags/telephone_field_tag.rb +23 -0
  96. data/lib/scribo/liquid/tags/text_field_tag.rb +35 -0
  97. data/lib/scribo/liquid/tags/textarea_tag.rb +28 -0
  98. data/lib/scribo/liquid/tags/time_field_tag.rb +23 -0
  99. data/lib/scribo/liquid/tags/url_field_tag.rb +23 -0
  100. data/lib/scribo/preamble.rb +89 -0
  101. data/lib/scribo/sassc/importer.rb +72 -0
  102. data/lib/scribo/utility.rb +94 -0
  103. data/lib/scribo/version.rb +5 -0
  104. data/lib/scribo.rb +59 -0
  105. data/lib/tasks/scribo_tasks.rake +28 -0
  106. metadata +498 -0
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Scribo
4
+ module Utility
5
+ module_function
6
+
7
+ ADDITIONAL_EXTENSIONS = {
8
+ 'text/css' => %w[scss sass],
9
+ 'text/html' => %w[md markdown mkd slim],
10
+ 'application/javascript' => %w[es6 babel jsx js]
11
+ }.freeze
12
+
13
+ KNOWN_TEXT_FILES = %w[Gemfile].freeze
14
+ KNOWN_TEXT_EXTENSIONS = %w[scss sass less slim es6 babel jsx json link].freeze
15
+
16
+ FILTER_FOR_EXTENSION = {
17
+ 'scss' => 'scss',
18
+ 'sass' => 'sass',
19
+ 'md' => 'markdown',
20
+ 'markdown' => 'markdown',
21
+ 'mkd' => 'markdown',
22
+ 'slim' => 'slim',
23
+ 'es6' => 'babel',
24
+ 'babel' => 'babel',
25
+ 'jsx' => 'babel'
26
+ }.freeze
27
+
28
+ OUTPUT_CONTENT_TYPE_FOR_EXTENSION = {
29
+ 'scss' => 'text/css',
30
+ 'sass' => 'text/css',
31
+ 'md' => 'text/html',
32
+ 'markdown' => 'text/html',
33
+ 'mkd' => 'text/html',
34
+ 'slim' => 'text/html',
35
+ 'es6' => 'application/javascript',
36
+ 'babel' => 'application/javascript',
37
+ 'jsx' => 'application/javascript',
38
+ 'js' => 'application/javascript'
39
+ }.freeze
40
+
41
+ def yaml_safe_parse(text)
42
+ permitted_classes = [Date, Time]
43
+ YAML.safe_load(text, permitted_classes: permitted_classes, aliases: true)
44
+ end
45
+
46
+ def file_name(path)
47
+ File.basename(path, File.extname(path))
48
+ end
49
+
50
+ def switch_extension(path, new_extension = '')
51
+ new_extension = '.' + new_extension if new_extension.present? && !new_extension.start_with?('.')
52
+ ext = File.extname(path)
53
+ path.gsub(/#{ext}$/, new_extension)
54
+ end
55
+
56
+ def kind_for_content_type(content_type)
57
+ MIME::Types[content_type].any? { |t| t.media_type == 'text' } ? 'text' : 'asset'
58
+ end
59
+
60
+ def kind_for_path(path)
61
+ if KNOWN_TEXT_EXTENSIONS.include?(File.extname(path)[1..-1].to_s) ||
62
+ KNOWN_TEXT_FILES.include?(File.basename(path))
63
+ 'text'
64
+ else
65
+ MIME::Types.type_for(path).any? { |t| t.media_type == 'text' } ? 'text' : 'asset'
66
+ end
67
+ end
68
+
69
+ def filter_for_path(path)
70
+ FILTER_FOR_EXTENSION[File.extname(path.to_s)[1..-1].to_s]
71
+ end
72
+
73
+ def variations_for_path(path)
74
+ path = path.to_s
75
+ result = []
76
+ MIME::Types.type_for(path).each do |mime_type|
77
+ result += mime_type.extensions if mime_type.extensions
78
+ result += ADDITIONAL_EXTENSIONS[mime_type.content_type] || []
79
+ end
80
+ result += [File.extname(path).gsub(/^\./, '')]
81
+ dir = File.dirname(path)
82
+ ext = File.extname(path)
83
+ base = File.basename(path, ext)
84
+ variations = result.compact.uniq.map do |e|
85
+ (dir.end_with?('/') ? dir : dir + '/') + base + '.' + e
86
+ end
87
+ variations + [(dir.end_with?('/') ? dir : dir + '/') + base]
88
+ end
89
+
90
+ def output_content_type(content)
91
+ OUTPUT_CONTENT_TYPE_FOR_EXTENSION[File.extname(content.path)[1..-1].to_s] || content.content_type
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Scribo
4
+ VERSION = '1.0.38'
5
+ end
data/lib/scribo.rb ADDED
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ancestry'
4
+ require 'down'
5
+ require 'kaminari'
6
+ require 'liquid'
7
+ require 'liquidum'
8
+ require 'mime/types'
9
+ require 'rouge'
10
+ require 'slim-rails'
11
+ require 'zip'
12
+
13
+ require 'scribo/action_controller_helpers'
14
+ require 'scribo/active_record_helpers'
15
+ require 'scribo/action_view_helpers'
16
+ require 'scribo/action_controller_renderers'
17
+ require 'scribo/configuration'
18
+ require 'scribo/engine'
19
+ require 'scribo/i18n_store'
20
+ require 'scribo/liquid/parser'
21
+ require 'scribo/preamble'
22
+ require 'scribo/sassc/importer'
23
+ require 'scribo/utility'
24
+ require 'scribo/version'
25
+
26
+ module Scribo
27
+ # Configuration
28
+ class Error < StandardError; end
29
+
30
+ class << self
31
+ attr_reader :config
32
+
33
+ def setup
34
+ @config = Configuration.new
35
+ yield config
36
+ end
37
+
38
+ def i18n_store
39
+ @i18n_store ||= Scribo::I18nStore.new
40
+ end
41
+
42
+ def logger
43
+ @config.logger
44
+ end
45
+ end
46
+
47
+ # Include helpers
48
+ ActiveSupport.on_load(:active_record) do
49
+ include ActiveRecordHelpers
50
+ end
51
+
52
+ ActiveSupport.on_load(:action_view) do
53
+ include ActionViewHelpers
54
+ end
55
+
56
+ ActiveSupport.on_load(:action_controller) do
57
+ include ActionControllerHelpers
58
+ end
59
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'scribo/preamble'
4
+
5
+ namespace :scribo do
6
+ desc 'Download jekyllthemes.org theme for testing'
7
+ task :download_jekyllthemes do
8
+ `git clone git@github.com:mattvh/jekyllthemes.git`
9
+ `mkdir -p test/files/themes`
10
+
11
+ Dir.glob('jekyllthemes/_posts/**').each do |post|
12
+ data = File.read(post)
13
+ preamble = Scribo::Preamble.parse(data)
14
+ download_url = preamble.metadata['download']
15
+ title = preamble.metadata['title'].downcase.tr(' *', '__')
16
+
17
+ next unless download_url.ends_with?('.zip')
18
+
19
+ begin
20
+ file = Down.download(download_url, destination: "test/files/themes/#{title}.zip")
21
+ rescue OpenURI::HTTPError
22
+ rescue Down::NotFound
23
+ end
24
+ end
25
+
26
+ `rm -rf jekyllthemes`
27
+ end
28
+ end
metadata ADDED
@@ -0,0 +1,498 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: scribo
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.38
5
+ platform: ruby
6
+ authors:
7
+ - Tom de Grunt
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-11-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ancestry
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: babel-transpiler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: down
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: kaminari
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: key_path
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: liquidum
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mimemagic
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: mime-types
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pg
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">"
144
+ - !ruby/object:Gem::Version
145
+ version: '6.0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">"
151
+ - !ruby/object:Gem::Version
152
+ version: '6.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rouge
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubyzip
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">"
172
+ - !ruby/object:Gem::Version
173
+ version: '1.1'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">"
179
+ - !ruby/object:Gem::Version
180
+ version: '1.1'
181
+ - !ruby/object:Gem::Dependency
182
+ name: slim-rails
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '3.2'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '3.2'
195
+ - !ruby/object:Gem::Dependency
196
+ name: auxilium
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '0.2'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '0.2'
209
+ - !ruby/object:Gem::Dependency
210
+ name: capybara
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: cuprite
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: jbuilder
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: minitest
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '5.11'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '5.11'
265
+ - !ruby/object:Gem::Dependency
266
+ name: minitest-reporters
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '1.1'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '1.1'
279
+ - !ruby/object:Gem::Dependency
280
+ name: pry
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: pry-byebug
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '3'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '3'
307
+ - !ruby/object:Gem::Dependency
308
+ name: pry-rails
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '0.3'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '0.3'
321
+ - !ruby/object:Gem::Dependency
322
+ name: puma
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ - !ruby/object:Gem::Dependency
336
+ name: rubocop
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - "~>"
340
+ - !ruby/object:Gem::Version
341
+ version: '0.60'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - "~>"
347
+ - !ruby/object:Gem::Version
348
+ version: '0.60'
349
+ - !ruby/object:Gem::Dependency
350
+ name: selenium-webdriver
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - ">="
354
+ - !ruby/object:Gem::Version
355
+ version: '0'
356
+ type: :development
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - ">="
361
+ - !ruby/object:Gem::Version
362
+ version: '0'
363
+ description: Scribo is designed to work with your models and renders your content
364
+ inside customer designed layouts.
365
+ email:
366
+ - tom@degrunt.nl
367
+ executables: []
368
+ extensions: []
369
+ extra_rdoc_files: []
370
+ files:
371
+ - MIT-LICENSE
372
+ - README.md
373
+ - Rakefile
374
+ - app/assets/config/scribo_manifest.js
375
+ - app/assets/javascripts/scribo/scribo.js
376
+ - app/assets/stylesheets/scribo/scribo.css
377
+ - app/controllers/concerns/maintenance_standards.rb
378
+ - app/controllers/scribo/admin/sites/contents_controller.rb
379
+ - app/controllers/scribo/admin/sites_controller.rb
380
+ - app/controllers/scribo/api/sites_controller.rb
381
+ - app/controllers/scribo/application_admin_controller.rb
382
+ - app/controllers/scribo/application_controller.rb
383
+ - app/controllers/scribo/contents_controller.rb
384
+ - app/drops/scribo/action_dispatch/request_drop.rb
385
+ - app/drops/scribo/active_model/errors_drop.rb
386
+ - app/drops/scribo/application_drop.rb
387
+ - app/drops/scribo/array_drop.rb
388
+ - app/drops/scribo/content_drop.rb
389
+ - app/drops/scribo/data_drop.rb
390
+ - app/drops/scribo/form_drop.rb
391
+ - app/drops/scribo/include_drop.rb
392
+ - app/drops/scribo/paginator_drop.rb
393
+ - app/drops/scribo/site_drop.rb
394
+ - app/helpers/scribo/application_helper.rb
395
+ - app/jobs/scribo/application_job.rb
396
+ - app/models/scribo/application_record.rb
397
+ - app/models/scribo/content.rb
398
+ - app/models/scribo/site.rb
399
+ - app/services/scribo/application_service.rb
400
+ - app/services/scribo/content_find_service.rb
401
+ - app/services/scribo/content_render_service.rb
402
+ - app/services/scribo/site_export_service.rb
403
+ - app/services/scribo/site_find_service.rb
404
+ - app/services/scribo/site_import_service.rb
405
+ - app/views/layouts/scribo.html.slim
406
+ - app/views/scribo/admin/sites/_create_sites.html.slim
407
+ - app/views/scribo/admin/sites/_sites.html.slim
408
+ - app/views/scribo/admin/sites/contents/_form.html.slim
409
+ - app/views/scribo/admin/sites/contents/create.json.jbuilder
410
+ - app/views/scribo/admin/sites/contents/edit.html.slim
411
+ - app/views/scribo/admin/sites/contents/edit.json.jbuilder
412
+ - app/views/scribo/admin/sites/contents/index.html.slim
413
+ - app/views/scribo/admin/sites/contents/move.json.jbuilder
414
+ - app/views/scribo/admin/sites/contents/rename.json.jbuilder
415
+ - app/views/scribo/admin/sites/contents/upload.json.jbuilder
416
+ - app/views/scribo/admin/sites/import.json.jbuilder
417
+ - app/views/scribo/admin/sites/index.html.slim
418
+ - app/views/scribo/shared/_entry.html.slim
419
+ - app/views/scribo/shared/_ide.html.slim
420
+ - app/views/scribo/shared/_tree-view.html.slim
421
+ - config/locales/en.yml
422
+ - config/routes.rb
423
+ - db/migrate/20200123095630_initial_scribo.rb
424
+ - db/migrate/20220919124119_add_ancestry_to_scribo_contents.rb
425
+ - db/migrate/20220919124749_remove_parent_id_from_scribo_contents.rb
426
+ - lib/scribo.rb
427
+ - lib/scribo/action_controller_helpers.rb
428
+ - lib/scribo/action_controller_renderers.rb
429
+ - lib/scribo/action_view_helpers.rb
430
+ - lib/scribo/active_record_helpers.rb
431
+ - lib/scribo/configuration.rb
432
+ - lib/scribo/engine.rb
433
+ - lib/scribo/i18n_store.rb
434
+ - lib/scribo/liquid/filters/jekyll_filters.rb
435
+ - lib/scribo/liquid/filters/markdownify.rb
436
+ - lib/scribo/liquid/filters/url_filters.rb
437
+ - lib/scribo/liquid/parser.rb
438
+ - lib/scribo/liquid/tags/application_assets_tag.rb
439
+ - lib/scribo/liquid/tags/application_js_tag.rb
440
+ - lib/scribo/liquid/tags/asset_tag.rb
441
+ - lib/scribo/liquid/tags/button_tag.rb
442
+ - lib/scribo/liquid/tags/check_box_tag.rb
443
+ - lib/scribo/liquid/tags/csrf_meta_tags_tag.rb
444
+ - lib/scribo/liquid/tags/date_field_tag.rb
445
+ - lib/scribo/liquid/tags/editable_url_tag.rb
446
+ - lib/scribo/liquid/tags/email_field_tag.rb
447
+ - lib/scribo/liquid/tags/feed_meta_tag.rb
448
+ - lib/scribo/liquid/tags/field_error_tag.rb
449
+ - lib/scribo/liquid/tags/fields_for_tag.rb
450
+ - lib/scribo/liquid/tags/form_tag.rb
451
+ - lib/scribo/liquid/tags/google_analytics_javascript_tag.rb
452
+ - lib/scribo/liquid/tags/google_tag_manager_javascript_tag.rb
453
+ - lib/scribo/liquid/tags/hidden_field_tag.rb
454
+ - lib/scribo/liquid/tags/highlight_tag.rb
455
+ - lib/scribo/liquid/tags/include_tag.rb
456
+ - lib/scribo/liquid/tags/label_tag.rb
457
+ - lib/scribo/liquid/tags/number_field_tag.rb
458
+ - lib/scribo/liquid/tags/options_for_select.rb
459
+ - lib/scribo/liquid/tags/password_field_tag.rb
460
+ - lib/scribo/liquid/tags/search_field_tag.rb
461
+ - lib/scribo/liquid/tags/search_tag.rb
462
+ - lib/scribo/liquid/tags/select_tag.rb
463
+ - lib/scribo/liquid/tags/seo_tag.rb
464
+ - lib/scribo/liquid/tags/set_session.rb
465
+ - lib/scribo/liquid/tags/telephone_field_tag.rb
466
+ - lib/scribo/liquid/tags/text_field_tag.rb
467
+ - lib/scribo/liquid/tags/textarea_tag.rb
468
+ - lib/scribo/liquid/tags/time_field_tag.rb
469
+ - lib/scribo/liquid/tags/url_field_tag.rb
470
+ - lib/scribo/preamble.rb
471
+ - lib/scribo/sassc/importer.rb
472
+ - lib/scribo/utility.rb
473
+ - lib/scribo/version.rb
474
+ - lib/tasks/scribo_tasks.rake
475
+ homepage: https://gitlab.com/tdegrunt/scribo
476
+ licenses:
477
+ - MIT
478
+ metadata: {}
479
+ post_install_message:
480
+ rdoc_options: []
481
+ require_paths:
482
+ - lib
483
+ required_ruby_version: !ruby/object:Gem::Requirement
484
+ requirements:
485
+ - - ">="
486
+ - !ruby/object:Gem::Version
487
+ version: '0'
488
+ required_rubygems_version: !ruby/object:Gem::Requirement
489
+ requirements:
490
+ - - ">="
491
+ - !ruby/object:Gem::Version
492
+ version: '0'
493
+ requirements: []
494
+ rubygems_version: 3.3.7
495
+ signing_key:
496
+ specification_version: 4
497
+ summary: An easy to use, embeddable CMS for Ruby on Rails
498
+ test_files: []