cambium 0.2.2 → 0.3.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/cambium.gemspec +25 -23
- data/lib/cambium/version.rb +1 -1
- data/lib/generators/cambium/helpers/_autoloader.rb +12 -0
- data/lib/generators/cambium/helpers/dependencies_helper.rb +58 -0
- data/lib/generators/cambium/helpers/generators_helper.rb +227 -0
- data/lib/generators/cambium/install/admin_generator.rb +68 -74
- data/lib/generators/cambium/install/app_generator.rb +86 -95
- data/lib/generators/cambium/install/config_generator.rb +98 -108
- data/lib/generators/cambium/install/utilities_generator.rb +2 -50
- data/lib/generators/cambium/model/image_generator.rb +67 -0
- data/lib/generators/cambium/model/page_generator.rb +131 -0
- data/lib/generators/cambium/model/post_generator.rb +71 -0
- data/lib/generators/cambium/model/tag_generator.rb +40 -0
- data/lib/generators/cambium/model/user_generator.rb +78 -0
- data/lib/generators/cambium/templates/Gemfile +43 -0
- data/lib/generators/cambium/templates/_partials/pages/admin_icon.rb +6 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/admin.js.coffee +3 -1
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/models/image.js.coffee +14 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/models/tag.js.coffee +14 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/parser_rules/custom.js +552 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/routers/router.js.coffee +21 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/tag.jst.ejs +7 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/templates/image.jst.ejs +3 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/templates/post_tag.jst.ejs +1 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/views/image_upload.js.coffee +28 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/views/tags.js.coffee +158 -0
- data/lib/generators/cambium/templates/app/assets/javascripts/admin/views/wysiwyg.js.coffee +77 -0
- data/lib/generators/cambium/templates/app/controllers/admin/images_controller.rb +45 -0
- data/lib/generators/cambium/templates/app/controllers/admin/pages_controller.rb +42 -0
- data/lib/generators/cambium/templates/app/controllers/admin/posts_controller.rb +39 -0
- data/lib/generators/cambium/templates/app/controllers/admin/taggings_controller.rb +69 -0
- data/lib/generators/cambium/templates/app/controllers/admin/tags_controller.rb +11 -0
- data/lib/generators/cambium/templates/app/controllers/admin_controller.rb +11 -2
- data/lib/generators/cambium/templates/app/controllers/application_controller.rb +2 -2
- data/lib/generators/cambium/templates/app/controllers/images_controller.rb +45 -0
- data/lib/generators/cambium/templates/app/controllers/pages_controller.rb +12 -0
- data/lib/generators/cambium/templates/app/controllers/posts_controller.rb +11 -0
- data/lib/generators/cambium/templates/app/helpers/admin/pages_controller.rb +47 -0
- data/lib/generators/cambium/templates/app/helpers/admin_helper.rb +1 -1
- data/lib/generators/cambium/templates/app/models/concerns/image_cropper.rb +24 -0
- data/lib/generators/cambium/templates/app/models/concerns/publishable.rb +32 -4
- data/lib/generators/cambium/templates/app/models/concerns/slug.rb +4 -0
- data/lib/generators/cambium/templates/app/models/concerns/tags.rb +6 -1
- data/lib/generators/cambium/templates/app/models/image.rb +43 -0
- data/lib/generators/cambium/templates/app/models/page.rb +81 -0
- data/lib/generators/cambium/templates/app/models/post.rb +45 -0
- data/lib/generators/cambium/templates/app/models/tag.rb +33 -0
- data/lib/generators/cambium/templates/app/models/tagging.rb +20 -0
- data/lib/generators/cambium/templates/app/uploaders/image_uploader.rb +91 -0
- data/lib/generators/cambium/templates/app/views/admin/images/_image.html.erb +1 -0
- data/lib/generators/cambium/templates/app/views/admin/images/create.js.erb +7 -0
- data/lib/generators/cambium/templates/app/views/admin/images/index.json.jbuilder +4 -0
- data/lib/generators/cambium/templates/app/views/admin/pages/_form.html.erb +26 -0
- data/lib/generators/cambium/templates/app/views/admin/posts/_form.html.erb +40 -0
- data/lib/generators/cambium/templates/app/views/admin/shared/_insert_image.html.erb +12 -0
- data/lib/generators/cambium/templates/app/views/admin/shared/forms/_editor.html.erb +3 -3
- data/lib/generators/cambium/templates/app/views/admin/shared/forms/_form_page.html.erb +5 -1
- data/lib/generators/cambium/templates/app/views/home/index.html.erb +7 -0
- data/lib/generators/cambium/templates/app/views/page_templates/default.html.erb +2 -0
- data/lib/generators/cambium/templates/app/views/posts/_post.html.erb +4 -0
- data/lib/generators/cambium/templates/app/views/posts/index.html.erb +1 -0
- data/lib/generators/cambium/templates/app/views/posts/show.html.erb +10 -0
- data/lib/generators/cambium/templates/config/app_routes.rb +77 -0
- data/lib/generators/cambium/templates/config/routes.rb.erb +11 -2
- data/lib/generators/cambium/templates/db/migrate/create_pages.rb.erb +24 -0
- data/lib/generators/cambium/templates/db/migrate/create_posts.rb +19 -0
- data/lib/generators/cambium/templates/gitignore +1 -0
- metadata +52 -256
- data/lib/generators/cambium/install/users_generator.rb +0 -104
- data/lib/generators/cambium/templates/app/assets/stylesheets/admin/partials/_icons.scss +0 -5194
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rails/generators'
|
|
3
|
+
require File.expand_path('../../helpers/_autoloader.rb', __FILE__)
|
|
4
|
+
|
|
5
|
+
module Cambium
|
|
6
|
+
module Model
|
|
7
|
+
class PageGenerator < Rails::Generators::Base
|
|
8
|
+
desc "Add pages to your project"
|
|
9
|
+
|
|
10
|
+
source_root File.expand_path('../../templates', __FILE__)
|
|
11
|
+
|
|
12
|
+
# Since we're using images, we need to make sure the image generator has
|
|
13
|
+
# already been run. And, like all other models, we want to make sure we
|
|
14
|
+
# already have an admin available to us.
|
|
15
|
+
#
|
|
16
|
+
def set_dependencies
|
|
17
|
+
check_dependencies(['cambium:install:admin','cambium:model:image'])
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# We need a couple concerns, so we add them here unless they are already
|
|
21
|
+
# part of the project.
|
|
22
|
+
#
|
|
23
|
+
def add_concerns
|
|
24
|
+
add_model_concerns(['publishable', 'slug'])
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Add our model file.
|
|
28
|
+
#
|
|
29
|
+
def add_model_files
|
|
30
|
+
template("app/models/page.rb", "app/models/page.rb")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Since we have to customize the up/down methods in the migration, we
|
|
34
|
+
# don't generate the model, we just copy an interpreted template.
|
|
35
|
+
#
|
|
36
|
+
def add_migration_files
|
|
37
|
+
template(
|
|
38
|
+
"db/migrate/create_pages.rb.erb",
|
|
39
|
+
"db/migrate/#{timestamp}_create_pages.rb"
|
|
40
|
+
)
|
|
41
|
+
migrate_and_annotate
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# We are setting a global template directory for reference throughout the
|
|
45
|
+
# project.
|
|
46
|
+
#
|
|
47
|
+
def add_application_config
|
|
48
|
+
application 'config.template_directory = "#{Rails.root}/app/views/page_templates"'
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# We add our page templates directory and our default template.
|
|
52
|
+
#
|
|
53
|
+
def add_page_templates
|
|
54
|
+
directory('app/views/page_templates','app/views/page_templates')
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# We have two controllers here -- one for the app and one for the admin.
|
|
58
|
+
# We'll add them both instead of generating them since they are
|
|
59
|
+
# customized.
|
|
60
|
+
#
|
|
61
|
+
def add_controller_files
|
|
62
|
+
template("app/controllers/pages_controller.rb",
|
|
63
|
+
"app/controllers/pages_controller.rb")
|
|
64
|
+
template("app/controllers/admin/pages_controller.rb",
|
|
65
|
+
"app/controllers/admin/pages_controller.rb")
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# We add the customized views that override the default admin views, while
|
|
69
|
+
# the app views are driven by the page template
|
|
70
|
+
#
|
|
71
|
+
def add_admin_views
|
|
72
|
+
directory("app/views/admin/pages", "app/views/admin/pages")
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# We need to add routes to routes file for the app and the admin. We
|
|
76
|
+
# expect to see an admin, so we don't have a check, but we do need the
|
|
77
|
+
# public route. Since the contents of the routes file are variable, we
|
|
78
|
+
# have a check and notify the user if we can't find what we need.
|
|
79
|
+
#
|
|
80
|
+
def add_routes
|
|
81
|
+
# App
|
|
82
|
+
insert_into_file(
|
|
83
|
+
"config/routes.rb",
|
|
84
|
+
"get '/:slug', :to => 'pages#show', :as => 'page'\n\n ",
|
|
85
|
+
:before => /root\ (.*)\n/
|
|
86
|
+
)
|
|
87
|
+
if File.read(Rails.root.join('config','routes.rb')).include?('/:slug')
|
|
88
|
+
uncomment_lines(
|
|
89
|
+
Rails.root.join('config','routes.rb'),
|
|
90
|
+
/get\ \'\/\:slug/
|
|
91
|
+
)
|
|
92
|
+
else
|
|
93
|
+
add_routes_manually
|
|
94
|
+
end
|
|
95
|
+
# Admin
|
|
96
|
+
insert_into_file(
|
|
97
|
+
"config/routes.rb",
|
|
98
|
+
" resources :pages, :except => [:show]\n",
|
|
99
|
+
:after => /namespace\ \:admin(.*)\n/
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# In the admin helper, we can add a link and an icon to the sidebar. The
|
|
104
|
+
# easiest way to do this is to add it to the top. The user can move if
|
|
105
|
+
# they'd like.
|
|
106
|
+
#
|
|
107
|
+
def add_admin_icon
|
|
108
|
+
insert_into_file(
|
|
109
|
+
"app/helpers/admin_helper.rb",
|
|
110
|
+
file_contents('_partials/pages/admin_icon.rb'),
|
|
111
|
+
:after => /items\ \=\ \[\n/
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
private
|
|
116
|
+
|
|
117
|
+
# If we couldn't find a root route in the config file, then we tell the
|
|
118
|
+
# user to add the routes manually.
|
|
119
|
+
#
|
|
120
|
+
def add_routes_manually
|
|
121
|
+
say set_color(
|
|
122
|
+
"\nAdd the following to the end of your config/routes.rb file:\n",
|
|
123
|
+
:yellow,
|
|
124
|
+
:bold
|
|
125
|
+
)
|
|
126
|
+
say " get '/:slug', :to => 'pages#show', :as => 'page'\n"
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rails/generators'
|
|
3
|
+
require "#{Gem::Specification.find_by_name("cambium").gem_dir}/lib/generators/cambium/helpers/generators_helper.rb"
|
|
4
|
+
include Cambium::GeneratorsHelper
|
|
5
|
+
|
|
6
|
+
module Cambium
|
|
7
|
+
module Model
|
|
8
|
+
class PostGenerator < Rails::Generators::Base
|
|
9
|
+
desc "Add blog posts to your project"
|
|
10
|
+
|
|
11
|
+
# ------------------------------------------ Class Methods
|
|
12
|
+
|
|
13
|
+
source_root File.expand_path('../../templates', __FILE__)
|
|
14
|
+
|
|
15
|
+
# ------------------------------------------ Model Concern
|
|
16
|
+
|
|
17
|
+
def add_model_concerns
|
|
18
|
+
copy_file "app/models/concerns/publishable.rb", "app/models/concerns/publishable.rb"
|
|
19
|
+
copy_file "app/models/concerns/slug.rb", "app/models/concerns/slug.rb"
|
|
20
|
+
copy_file "app/models/concerns/tags.rb", "app/models/concerns/tags.rb"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# ------------------------------------------ Add Model Templates
|
|
24
|
+
|
|
25
|
+
def add_model_files
|
|
26
|
+
model_path = "app/models/post.rb"
|
|
27
|
+
template(model_path, model_path)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# ------------------------------------------ Add Migration Templates
|
|
31
|
+
|
|
32
|
+
def add_migration_files
|
|
33
|
+
template(
|
|
34
|
+
'db/migrate/create_posts.rb',
|
|
35
|
+
"db/migrate/#{timestamp}_create_posts.rb"
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# ------------------------------------------ Add Controller Templates
|
|
40
|
+
|
|
41
|
+
def add_controller_files
|
|
42
|
+
controller_path = "app/controllers/posts_controller.rb"
|
|
43
|
+
template(controller_path, controller_path)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# ------------------------------------------ Add View Templates
|
|
47
|
+
|
|
48
|
+
def add_view_files
|
|
49
|
+
view_path = "app/views/posts"
|
|
50
|
+
directory(view_path, view_path)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# ------------------------------------------ Migrate & Annotate
|
|
54
|
+
|
|
55
|
+
def migrate_and_annotate
|
|
56
|
+
rake "db:migrate"
|
|
57
|
+
run_cmd "#{be} annotate"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# ------------------------------------------ User output
|
|
61
|
+
# This is kind of a cop out in leu of appending to the *end* of routes.rb
|
|
62
|
+
def notes_to_user
|
|
63
|
+
puts "\n== Don't forget to add routes for blog posts ================="
|
|
64
|
+
puts "get '/news', :to => 'posts#index', :as => 'posts'"
|
|
65
|
+
puts "get '/news/:slug', :to => 'posts#show', :as => 'post'"
|
|
66
|
+
puts "\n"
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rails/generators'
|
|
3
|
+
require File.expand_path('../../helpers/_autoloader.rb', __FILE__)
|
|
4
|
+
|
|
5
|
+
module Cambium
|
|
6
|
+
module Model
|
|
7
|
+
class TagGenerator < Rails::Generators::Base
|
|
8
|
+
desc "Add tags to your project"
|
|
9
|
+
|
|
10
|
+
source_root File.expand_path('../../templates', __FILE__)
|
|
11
|
+
|
|
12
|
+
# Make sure the tags concern is in the project. If not, add it!
|
|
13
|
+
#
|
|
14
|
+
def add_concerns
|
|
15
|
+
add_model_concerns(['tags'])
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Since the models are simple enough, we can generate from the command
|
|
19
|
+
# line.
|
|
20
|
+
#
|
|
21
|
+
def generate_models
|
|
22
|
+
generate "model Tag name ci_name slug"
|
|
23
|
+
generate "model Tagging tag_id:integer taggable_id:integer taggable_type"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Add our customized model files.
|
|
27
|
+
#
|
|
28
|
+
def add_model_files
|
|
29
|
+
['tag','tagging'].each do |file|
|
|
30
|
+
template("app/models/#{file}.rb", "app/models/#{file}.rb")
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def finish_up
|
|
35
|
+
migrate_and_annotate
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rails/generators'
|
|
3
|
+
require File.expand_path('../../helpers/_autoloader.rb', __FILE__)
|
|
4
|
+
|
|
5
|
+
module Cambium
|
|
6
|
+
module Model
|
|
7
|
+
class UserGenerator < Rails::Generators::Base
|
|
8
|
+
desc "Setup users model for new rails project"
|
|
9
|
+
|
|
10
|
+
source_root File.expand_path('../../templates', __FILE__)
|
|
11
|
+
|
|
12
|
+
# We'll begin by installing the gems we need to work the user model
|
|
13
|
+
#
|
|
14
|
+
def add_user_gems
|
|
15
|
+
@user_gems = ['devise','annotate']
|
|
16
|
+
install_gems @user_gems
|
|
17
|
+
bundle
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Install Devise
|
|
21
|
+
#
|
|
22
|
+
def install_devise
|
|
23
|
+
unless File.exist?("#{Rails.root}/config/initializers/devise.rb")
|
|
24
|
+
generate "devise:install"
|
|
25
|
+
end
|
|
26
|
+
unless File.exist?("#{Rails.root}/app/models/user.rb")
|
|
27
|
+
generate "devise User"
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Inject the is_admin column into the migration file if user plans on
|
|
32
|
+
# using the admin module.
|
|
33
|
+
#
|
|
34
|
+
def add_admin_column_to_users
|
|
35
|
+
@admin = false
|
|
36
|
+
if yes? "Would you like to add admin authentication to User model?"
|
|
37
|
+
@admin = true
|
|
38
|
+
file = Dir.glob("#{Rails.root}/db/migrate/*devise_create_users.rb").first
|
|
39
|
+
insert_into_file(
|
|
40
|
+
file,
|
|
41
|
+
"## Admin\n t.boolean :is_admin, :default => false \n\n ",
|
|
42
|
+
:before => "t.timestamps"
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Add our customized User model file
|
|
48
|
+
#
|
|
49
|
+
def add_user_model_file
|
|
50
|
+
copy_file "app/models/user.rb", "app/models/user.rb", :force => true
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Create model from migration
|
|
54
|
+
#
|
|
55
|
+
def migrate_and_annotate
|
|
56
|
+
rake "db:migrate"
|
|
57
|
+
run_cmd "#{be} annotate"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Add the default login/logout redirects
|
|
61
|
+
#
|
|
62
|
+
def add_application_controller_redirects
|
|
63
|
+
insert_into_file(
|
|
64
|
+
"app/controllers/application_controller.rb",
|
|
65
|
+
template_snippet("app/controllers/application_controller.rb"),
|
|
66
|
+
:after => ":exception"
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Let the user know the gems we installed
|
|
71
|
+
#
|
|
72
|
+
def finish_up
|
|
73
|
+
gem_installation_notification(@user_gems)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# ------------------------------------------ Base
|
|
4
|
+
|
|
5
|
+
gem 'unicorn-rails'
|
|
6
|
+
|
|
7
|
+
# ------------------------------------------ Assets
|
|
8
|
+
|
|
9
|
+
gem 'sass-rails'
|
|
10
|
+
gem 'uglifier'
|
|
11
|
+
gem 'coffee-rails'
|
|
12
|
+
gem 'jquery-rails'
|
|
13
|
+
gem 'bones-rails'
|
|
14
|
+
gem 'bourbon'
|
|
15
|
+
gem 'backbone-on-rails'
|
|
16
|
+
gem "jquery-fileupload-rails"
|
|
17
|
+
|
|
18
|
+
# ------------------------------------------ View Helpers
|
|
19
|
+
|
|
20
|
+
gem 'jbuilder'
|
|
21
|
+
gem 'simple_form'
|
|
22
|
+
gem 'wysihtml5-rails'
|
|
23
|
+
gem 'pickadate-rails'
|
|
24
|
+
|
|
25
|
+
# ------------------------------------------ Utilities
|
|
26
|
+
|
|
27
|
+
gem 'ancestry'
|
|
28
|
+
gem 'kaminari'
|
|
29
|
+
gem 'cambium'
|
|
30
|
+
gem 'devise'
|
|
31
|
+
gem 'carrierwave'
|
|
32
|
+
gem 'hirb'
|
|
33
|
+
|
|
34
|
+
# ------------------------------------------ Development/Test
|
|
35
|
+
|
|
36
|
+
group :development do
|
|
37
|
+
gem 'annotate'
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
gem 'factory_girl_rails'
|
|
41
|
+
gem 'faker'
|
|
42
|
+
|
|
43
|
+
# ------------------------------------------ User Gems
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
#= require jquery
|
|
2
2
|
#= require jquery_ujs
|
|
3
|
+
#= require jquery-fileupload/basic
|
|
4
|
+
#= require jquery-fileupload/vendor/tmpl
|
|
3
5
|
#= require pickadate/picker
|
|
4
6
|
#= require pickadate/picker.date
|
|
5
7
|
#= require pickadate/picker.time
|
|
6
8
|
#= require admin/wysihtml5
|
|
7
|
-
#= require parser_rules/
|
|
9
|
+
#= require admin/parser_rules/custom
|
|
8
10
|
#= require underscore
|
|
9
11
|
#= require backbone
|
|
10
12
|
#= require_self
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class Admin.Models.Image extends Backbone.Model
|
|
2
|
+
|
|
3
|
+
urlRoot: "/admin/json/images"
|
|
4
|
+
|
|
5
|
+
class Admin.Collections.Images extends Backbone.Collection
|
|
6
|
+
|
|
7
|
+
model: Admin.Models.Image
|
|
8
|
+
|
|
9
|
+
initialize: (url) =>
|
|
10
|
+
@url = url
|
|
11
|
+
|
|
12
|
+
# comparator: (image) ->
|
|
13
|
+
# if image.get("sort")
|
|
14
|
+
# return image.get("sort")
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class Admin.Models.Tag extends Backbone.Model
|
|
2
|
+
|
|
3
|
+
urlRoot: "/admin/json/taggings"
|
|
4
|
+
|
|
5
|
+
class Admin.Collections.Tags extends Backbone.Collection
|
|
6
|
+
|
|
7
|
+
model: Admin.Models.Tag
|
|
8
|
+
|
|
9
|
+
initialize: (url) =>
|
|
10
|
+
@url = url
|
|
11
|
+
|
|
12
|
+
comparator: (tag) ->
|
|
13
|
+
if tag.get("title")
|
|
14
|
+
return tag.get("title").toLowerCase()
|