simplec 0.1.0 → 0.1.1

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