simplec 0.1.0 → 0.1.1

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. metadata +2 -40
  3. data/MIT-LICENSE +0 -20
  4. data/README.md +0 -258
  5. data/Rakefile +0 -36
  6. data/app/assets/config/simplec_manifest.js +0 -2
  7. data/app/assets/fonts/simplec/summernote.eot +0 -0
  8. data/app/assets/fonts/simplec/summernote.ttf +0 -0
  9. data/app/assets/fonts/simplec/summernote.woff +0 -0
  10. data/app/assets/javascripts/simplec/application.js +0 -13
  11. data/app/assets/javascripts/simplec/summernote-config.js +0 -82
  12. data/app/assets/javascripts/simplec/summernote.js +0 -7046
  13. data/app/assets/stylesheets/simplec/application.css +0 -15
  14. data/app/assets/stylesheets/simplec/summernote.scss +0 -691
  15. data/app/constraints/simplec/subdomains.rb +0 -23
  16. data/app/controllers/simplec/application_controller.rb +0 -9
  17. data/app/controllers/simplec/pages_controller.rb +0 -19
  18. data/app/helpers/simplec/application_helper.rb +0 -4
  19. data/app/jobs/simplec/application_job.rb +0 -4
  20. data/app/mailers/simplec/application_mailer.rb +0 -6
  21. data/app/models/simplec/application_record.rb +0 -5
  22. data/app/models/simplec/embedded_image.rb +0 -15
  23. data/app/models/simplec/page.rb +0 -203
  24. data/app/models/simplec/subdomain.rb +0 -30
  25. data/app/views/simplec/fields/_editor.html.erb +0 -5
  26. data/app/views/simplec/fields/_image.html.erb +0 -14
  27. data/app/views/simplec/fields/_string.html.erb +0 -4
  28. data/app/views/simplec/fields/_text.html.erb +0 -4
  29. data/app/views/simplec/pages/show.html.erb +0 -2
  30. data/config/routes.rb +0 -8
  31. data/db/migrate/20170809204353_create_simplec_pages.rb +0 -30
  32. data/db/migrate/20170809204511_create_simplec_subdomains.rb +0 -12
  33. data/db/migrate/20170809210304_create_simplec_embedded_images.rb +0 -15
  34. data/lib/simplec.rb +0 -5
  35. data/lib/simplec/action_controller/extensions.rb +0 -56
  36. data/lib/simplec/action_view/helper.rb +0 -118
  37. data/lib/simplec/embedded_image_actions.rb +0 -37
  38. data/lib/simplec/engine.rb +0 -18
  39. data/lib/simplec/version.rb +0 -3
  40. data/lib/tasks/simplec_tasks.rake +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 17061a19fe0b1f8b0002285c4d6737455382dae6
4
- data.tar.gz: f84860442662415c0201723404c69b7c79861099
3
+ metadata.gz: 7f687b8e569576f0ede5b259472437ff8108761a
4
+ data.tar.gz: 1d9a9fa05e066db3fbcb1e43dd4d40b4f27cf13e
5
5
  SHA512:
6
- metadata.gz: 7191f84fd2ca3d75e411cb858decf3a96541934029ad7eaf14c3efc7ba40f50bf5b2232e7f646b5ed8142c24fea10a6ab85312e3a6d089f2b3548855974f7ba0
7
- data.tar.gz: 912232e96f48b05e8267e6a11b90200906313c49f5ec18830cc5b4a45c2ccc227a8aa137760e11c09debf73d465f6dd03565f9c48f41b3236542e7fc470e03e7
6
+ metadata.gz: 86fee8f0499aa2d98e8bc69e1d964b592538b15cfa36413dd65a0a2509c16edc396f0d0ce0e887949c708c4c64b6eff3c8c6a5472a3a5b86c5630796f829146c
7
+ data.tar.gz: b99fd88d68b73d27feab77a5c600317586fef2ce91a0158820b04113ee36df715f1d756220693d18edfea897d48980441e94a0aba39efff7717d1163b7cb8516
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Smith
@@ -100,45 +100,7 @@ email:
100
100
  executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
- files:
104
- - MIT-LICENSE
105
- - README.md
106
- - Rakefile
107
- - app/assets/config/simplec_manifest.js
108
- - app/assets/fonts/simplec/summernote.eot
109
- - app/assets/fonts/simplec/summernote.ttf
110
- - app/assets/fonts/simplec/summernote.woff
111
- - app/assets/javascripts/simplec/application.js
112
- - app/assets/javascripts/simplec/summernote-config.js
113
- - app/assets/javascripts/simplec/summernote.js
114
- - app/assets/stylesheets/simplec/application.css
115
- - app/assets/stylesheets/simplec/summernote.scss
116
- - app/constraints/simplec/subdomains.rb
117
- - app/controllers/simplec/application_controller.rb
118
- - app/controllers/simplec/pages_controller.rb
119
- - app/helpers/simplec/application_helper.rb
120
- - app/jobs/simplec/application_job.rb
121
- - app/mailers/simplec/application_mailer.rb
122
- - app/models/simplec/application_record.rb
123
- - app/models/simplec/embedded_image.rb
124
- - app/models/simplec/page.rb
125
- - app/models/simplec/subdomain.rb
126
- - app/views/simplec/fields/_editor.html.erb
127
- - app/views/simplec/fields/_image.html.erb
128
- - app/views/simplec/fields/_string.html.erb
129
- - app/views/simplec/fields/_text.html.erb
130
- - app/views/simplec/pages/show.html.erb
131
- - config/routes.rb
132
- - db/migrate/20170809204353_create_simplec_pages.rb
133
- - db/migrate/20170809204511_create_simplec_subdomains.rb
134
- - db/migrate/20170809210304_create_simplec_embedded_images.rb
135
- - lib/simplec.rb
136
- - lib/simplec/action_controller/extensions.rb
137
- - lib/simplec/action_view/helper.rb
138
- - lib/simplec/embedded_image_actions.rb
139
- - lib/simplec/engine.rb
140
- - lib/simplec/version.rb
141
- - lib/tasks/simplec_tasks.rake
103
+ files: []
142
104
  homepage: https://github.com/nearapogee/simplec
143
105
  licenses:
144
106
  - MIT
data/MIT-LICENSE DELETED
@@ -1,20 +0,0 @@
1
- Copyright 2017 Matt Smith
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md DELETED
@@ -1,258 +0,0 @@
1
- # Simplec
2
-
3
- ### A CMS for developers, built by developers.
4
-
5
- This gem handles all of the rote parts of a CMS, but gets out of the way for
6
- everything else. In Rails it is easy to build things from scratch, but it is
7
- a waste of resources to build again and again. This library is an attempt to
8
- get all of the good parts of a CMS without the baggage of a CMS that takes
9
- over the entire ecosystem.
10
-
11
- ## Dependencies
12
- - rails >= 5.0.5
13
-
14
- - pg >= 0.21.0; postgres >= 9.5
15
-
16
- We hate dependencies, but postgres is just too good. We use it for search
17
- and JSONB.
18
-
19
- - imagemagick
20
-
21
- For image processing.
22
-
23
- - dragonfly
24
-
25
- We still hate dependencies, but this is a necessity and the best option.
26
-
27
- ## Recommended Dependencies
28
-
29
- - summernote
30
-
31
- Used for editor fields. Source is included.
32
-
33
- - bootstrap-sass >= 3.0.0
34
-
35
- Required if you want to use editor fields (which utilize summernote).
36
-
37
- - jquery-rails
38
-
39
- Hope to be able to remove this, but required for summernote/bootstrap for now.
40
-
41
- **The recommended dependencies are only required for the admin portions of your
42
- application.**
43
-
44
- _Optionally, you can create a separate set of assets for only the admin via
45
- standard Rails methods. Or you could not include them and deal with the
46
- fallout. ;-)_
47
-
48
-
49
- ## Features
50
- - Pages with Templates
51
-
52
- - Subdomain support
53
-
54
- - Use application models or assets in CMS pages
55
-
56
- - Search (coming soon)
57
-
58
- ## Anti-Features
59
- - User management
60
-
61
- - Permissions
62
-
63
- ## Proposed auxilary gems
64
-
65
- - simplec-vlad: The easiest way to deploy and manage an installation.
66
- Database and file syncs between enviroments.
67
-
68
- - simplec-blog: Don't always need or want a blog bundled in. (You might have
69
- your own.)
70
-
71
- - simplec-admin: Opinionated, prebuilt way of managing pages. Take it or leave
72
- it. Or don't mount it and generate scaffold controllers and views for basic
73
- functions.
74
-
75
- - simplec-events
76
-
77
- ## Usage
78
-
79
- 1. Add to gemfile
80
- 2. Mount engine
81
- 3. Create pages and corresponding templates
82
- 4. Build, generator, or use an auxilary gem for page admin.
83
- 5. Let users loose.
84
-
85
- 'www' is considered the default subdomain.
86
-
87
- 'admin' subdomain is reserved for administration functions if you wish.
88
-
89
- If you want to modify all pages you should edit ::Page < Simplec::Page, this
90
- will be generated in an installer later.
91
-
92
- If you want to test a subclass of ::Page, make sure test has ::Page defined.
93
-
94
- Create a public layout. The public layout is the default. This will be
95
- generated in an installer later.
96
-
97
- Put page model definitions in `app/models/page/`.
98
-
99
- Put model templates in `app/views/pages/`. AND prefix with an underscore (_),
100
- i.e. `_home.html.erb`.
101
-
102
- TODO override field types howto
103
-
104
- ### Steps
105
-
106
- 1. Install simplec in your Rails application.
107
-
108
- See installation section.
109
-
110
- 2. Build and admin interface with the rest of your application.
111
-
112
- Simplec doesn't tell you how to do this. Currently, you should look at the
113
- test/dummy application for inspiration.
114
-
115
- 3. Then define a model:
116
-
117
- ```ruby
118
- # app/models/page/home.rb
119
- class Page::Home < ::Page
120
- field :tagline
121
- end
122
- ```
123
-
124
- 4. And the corresponding template:
125
-
126
- ```erb
127
- <!-- app/views/pages/_home.html.erb -->
128
- <h1>My Application</h1>
129
- <h2><%= @page.tagline %></h2>
130
- ```
131
-
132
- Note: You need to call `#html_safe` on fields with `type: :editor`.
133
-
134
- 5. And create a page in your admin.
135
-
136
- 6. Done.
137
-
138
-
139
- ## Installation
140
-
141
- 1. Add this line to your application's Gemfile:
142
-
143
- ```ruby
144
- gem 'pg'
145
- gem 'simplec'
146
- # plus optional gems
147
- ```
148
-
149
- 2. Mount the engine
150
-
151
- ```ruby
152
- Rails.application.routes.draw do
153
- mount Simplec::Engine => "/"
154
- end
155
- ```
156
- 3. Optional - Install bootstap-sass.
157
-
158
- Currenty, we have worked out integration with Bootstrap > 3 and are waiting
159
- for the dust to settle on V4. See directions here:
160
- https://github.com/twbs/bootstrap-sass
161
-
162
- 4. Optional - If you want to use the bundled summernote:
163
-
164
- Load the JS in your application's manifest.
165
-
166
- ```javascript
167
- //= require simplec/summernote
168
- //= require simplec/summernote-config
169
- ```
170
-
171
- Please note that this needs to be loaded after jquery and bootstrap.
172
-
173
- ```css
174
- @import "simplec/summernote.css";
175
- ```
176
-
177
- Please note that this needs to be loaded after bootstrap.
178
-
179
- ## Roadmap
180
-
181
- 1. Finish example admin.
182
-
183
- 1. Installer `rails generater simplec:install`
184
-
185
- 1. Upgrade summernote from 0.8.2 to 0.8.6
186
-
187
- 1. Search
188
-
189
- 1. Caching
190
-
191
- 1. Optional Gems
192
-
193
- 1. Remove as many dependencies as possible.
194
-
195
- ## Contributing
196
- 1. Use it and file create issues. Somethings are core, other things will be
197
- relegated to 3rd party extensions.
198
- 2. Pull requests are welcome. See rule #1.
199
-
200
- ## TODO
201
-
202
- - Document `lib/simplec/controller_extensions.rb`
203
-
204
- - Document why _subdomain in subdomain form in admin.
205
-
206
- - rails generate simplec:install
207
- Install app/models/page.rb, app/models/page/
208
- initializer if needed, with options documented
209
-
210
- - simplec_path/simplec_url caching
211
-
212
- ## Running dummy application
213
-
214
- 1. Create simplec postgres user
215
-
216
- # -s for superuser in development
217
- createuser -s simplec
218
-
219
- 2. Create databases and add pgcrypto
220
-
221
- rake db:create
222
-
223
- # required for gen_random_uuid() function
224
- # used for ids in Simplec models
225
- #
226
- psql simplec_development -c "CREATE EXTENSION pgcrypto;"
227
-
228
- 3. Migrate database
229
-
230
- rake db:migrate
231
-
232
- 4. Install Dragonfly
233
-
234
- rails generate dragonfly
235
-
236
- Configure as required. Documentation is here: http://markevans.github.io/dragonfly/
237
-
238
- 5. Install Bootstrap
239
-
240
- ```ruby
241
- gem 'bootstrap-sass', "~> 3.3.7'
242
- ```
243
-
244
- Read the rest here: https://github.com/twbs/bootstrap-sass
245
-
246
- 6. Install imagemagick
247
-
248
- Varies per operating system.
249
-
250
- ## Contributors
251
-
252
- - Matt Smith, Near Apogee Consulting (www.nearapogee.com)
253
-
254
- - @lithxe, @jessedo81 for ongoing feedback, use cases, development support,
255
- and the initial project to test the concept.
256
-
257
- ## License
258
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile DELETED
@@ -1,36 +0,0 @@
1
- begin
2
- require 'bundler/setup'
3
- rescue LoadError
4
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
- end
6
-
7
- require 'rdoc/task'
8
-
9
- RDoc::Task.new(:rdoc) do |rdoc|
10
- rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'Simplec'
12
- rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.md')
14
- rdoc.rdoc_files.include('lib/**/*.rb')
15
- end
16
-
17
- APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
- load 'rails/tasks/engine.rake'
19
-
20
-
21
- load 'rails/tasks/statistics.rake'
22
-
23
-
24
-
25
- require 'bundler/gem_tasks'
26
-
27
- require 'rake/testtask'
28
-
29
- Rake::TestTask.new(:test) do |t|
30
- t.libs << 'test'
31
- t.pattern = 'test/**/*_test.rb'
32
- t.verbose = false
33
- end
34
-
35
-
36
- task default: :test
@@ -1,2 +0,0 @@
1
- //= link_directory ../javascripts/simplec .js
2
- //= link_directory ../stylesheets/simplec .css
@@ -1,13 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
- //
10
- // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
- // about supported directives.
12
- //
13
- //= require_tree .
@@ -1,82 +0,0 @@
1
- // Summernote
2
- //
3
- //
4
- $.summernote.options.callbacks.onImageUpload = function(files) {
5
- // Dumb but a default or instance callback required to get the
6
- // event handler to fire.
7
- console.log('image upload:', files);
8
- };
9
- $.summernote.options.toolbar = [
10
- ['style', ['style']],
11
- ['font', ['bold', 'italic', 'underline', 'clear']],
12
- // ['font', ['bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'clear']],
13
- // ['fontname', ['fontname']],
14
- // ['fontsize', ['fontsize']],
15
- //['color', ['color']],
16
- ['para', ['ul', 'ol', 'paragraph']],
17
- //['height', ['height']],
18
- //['table', ['table']],
19
- //['insert', ['link', 'picture', 'hr']],
20
- ['insert', ['link', 'picture', 'hr']],
21
- ['view', ['fullscreen', 'codeview']],
22
- ['help', ['help']]
23
- ];
24
-
25
- if (!window.simplec) window.simplec = {};
26
-
27
- window.simplec.initSummernote = function() {
28
- window.simplec.summernoteInitialized = true;
29
-
30
- $('.editor-field').on('summernote.init', function(event) {
31
-
32
- // Material Kit Hack
33
- //$('.note-toolbar .btn-default').
34
- // removeClass('btn-default').addClass('btn-simple');
35
-
36
- //$('.note-popover').css({'display': 'none'}); // BS4 HACK
37
- var $editor = $(event.target),
38
- $input = $($editor.data('input'));
39
- if ($input.val().length > 0) $editor.summernote('code', $input.val());
40
- }).on('summernote.change', function(event, contents, $editable) {
41
- var $editor = $(event.target),
42
- $input = $($editor.data('input'));
43
- $input.val(contents);
44
- }.bind(window)).on('summernote.image.upload', function(event, files) {
45
- console.log('upload event');
46
- for (var i = 0; i < files.length; i++) {
47
- var file = files[i],
48
- reader = new FileReader();
49
- reader.onloadend = function() {
50
- $.ajax({
51
- method: 'POST',
52
- url: '/embedded-images',
53
- dataType: 'json',
54
- contentType: 'application/json',
55
- data: JSON.stringify({
56
- asset_url: reader.result,
57
- asset_name: file.name
58
- })
59
- }).fail(function(data, textStatus, jqXHR){
60
- console.log('IMAGE UPLOAD FAIL', textStatus);
61
- }).done(function(data, textStatus, jqXHR){
62
- $(event.target).summernote(
63
- 'insertImage',
64
- jqXHR.responseJSON.asset_url, jqXHR.responseJSON.asset_name
65
- );
66
- });
67
- };
68
- reader.readAsDataURL(file);
69
- }
70
- });
71
-
72
- $('.editor-field').summernote({
73
- height: 500,
74
- minHeight: 100,
75
- maxHeight: 1200
76
- });
77
-
78
- };
79
-
80
- $(document).on('ready turbolinks:load', function() {
81
- if (!window.simplec.summernoteInitialized) window.simplec.initSummernote();
82
- });