soupcms-cli 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 96ab0c89df4305acdefb49bc2016f9341f593d84
4
- data.tar.gz: aae155db0adbefd86c38d8e17ab2c051b95add7e
3
+ metadata.gz: 88ef906109933b28d1cfbf6180ccd1ed45868dc5
4
+ data.tar.gz: b3a6e1c4612aee3588b5f83fc3891261d9f6e62d
5
5
  SHA512:
6
- metadata.gz: b5a032a84906fab09ef3334916ac914fc3178defd6621f5c2b3007c9ea95913f1078e26b9d52afe24c110bb12567557c7906855cb4e26946db12f3b3e708cd86
7
- data.tar.gz: d45210a25e4088abe438ab14e1b1e736178120198204edc4390a7b400539693d13f2b3958f0b89368cb9deb591fee35c12bce73c92ee08340a07e55b34c74480
6
+ metadata.gz: 9f5435351543fe6ba8d0eac5702d62985547ff8ba11c3cf7b2dde0cf890d152687e6a4de7a2d3febaa2252b9fe1936d3d70b99c5ffb45778344b7c9e433ac20a
7
+ data.tar.gz: e140980604369a5de75760584bcf8869f265a35966a85f59b5d3e1c4cbbae00ab61dc7bd61e19b72524eccb57d3f40b6fef6fff3259dce3b476f79b55155edbb
@@ -1,5 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.0.0
4
- - 2.1.0
5
4
  - 2.1.1
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :test do
6
- gem 'rspec', '~> 3.0.0.beta2'
6
+ gem 'rspec', '~> 3.0.0.rc1'
7
7
  gem 'rake'
8
8
  gem 'rack-test'
9
9
  end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- soupcms-cli (0.5.3)
4
+ soupcms-cli (0.5.4)
5
5
  bson_ext (~> 1.10)
6
6
  mongo (~> 1.10)
7
7
  thor (~> 0.19)
@@ -9,28 +9,28 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- bson (1.10.0)
13
- bson_ext (1.10.0)
14
- bson (~> 1.10.0)
12
+ bson (1.10.1)
13
+ bson_ext (1.10.1)
14
+ bson (~> 1.10.1)
15
15
  diff-lcs (1.2.5)
16
- mongo (1.10.0)
17
- bson (~> 1.10.0)
16
+ mongo (1.10.1)
17
+ bson (~> 1.10.1)
18
18
  rack (1.5.2)
19
19
  rack-test (0.6.2)
20
20
  rack (>= 1.0)
21
- rake (10.2.2)
22
- rspec (3.0.0.beta2)
23
- rspec-core (= 3.0.0.beta2)
24
- rspec-expectations (= 3.0.0.beta2)
25
- rspec-mocks (= 3.0.0.beta2)
26
- rspec-core (3.0.0.beta2)
27
- rspec-support (= 3.0.0.beta2)
28
- rspec-expectations (3.0.0.beta2)
21
+ rake (10.3.2)
22
+ rspec (3.0.0.rc1)
23
+ rspec-core (= 3.0.0.rc1)
24
+ rspec-expectations (= 3.0.0.rc1)
25
+ rspec-mocks (= 3.0.0.rc1)
26
+ rspec-core (3.0.0.rc1)
27
+ rspec-support (= 3.0.0.rc1)
28
+ rspec-expectations (3.0.0.rc1)
29
29
  diff-lcs (>= 1.2.0, < 2.0)
30
- rspec-support (= 3.0.0.beta2)
31
- rspec-mocks (3.0.0.beta2)
32
- rspec-support (= 3.0.0.beta2)
33
- rspec-support (3.0.0.beta2)
30
+ rspec-support (= 3.0.0.rc1)
31
+ rspec-mocks (3.0.0.rc1)
32
+ rspec-support (= 3.0.0.rc1)
33
+ rspec-support (3.0.0.rc1)
34
34
  thor (0.19.1)
35
35
 
36
36
  PLATFORMS
@@ -39,5 +39,5 @@ PLATFORMS
39
39
  DEPENDENCIES
40
40
  rack-test
41
41
  rake
42
- rspec (~> 3.0.0.beta2)
42
+ rspec (~> 3.0.0.rc1)
43
43
  soupcms-cli!
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # sopuCMS::Cli
1
+ # soupCMS command line tool
2
2
 
3
3
  soupCMS is still in alpha and experiment stage. So please use it with caution. If you face any problem raise issue with error details and I will be happy to help.
4
4
 
@@ -7,5 +7,14 @@ soupCMS is still in alpha and experiment stage. So please use it with caution. I
7
7
  [Hosting soupCMS](http://blog.soupcms.com/posts/deploying-on-heroku) for more details on how to host your website built using soupCMS.
8
8
 
9
9
 
10
+ ## Release
11
+
12
+ ### v0.5.3 (24 April, 2014)
13
+
14
+ 1. fixed issue with generating config.ru without hosting support
15
+ 2. by default now new application creates new directory, use '-t' option to skip top level directory
16
+
17
+
18
+
10
19
 
11
20
 
@@ -45,7 +45,7 @@ module SoupCMS
45
45
 
46
46
  def conn
47
47
  return @conn if @conn
48
- mongo_uri = ENV["MONGODB_URI_#{app_name}"] || "mongodb://localhost:27017/#{app_name}"
48
+ mongo_uri = ENV["MONGODB_URI_#{app_name}"] || ENV["MONGOLAB_URI"] || "mongodb://localhost:27017/#{app_name}"
49
49
  @conn = Mongo::MongoClient.from_uri(mongo_uri)
50
50
  end
51
51
 
@@ -1,5 +1,5 @@
1
1
  module Soupcms
2
2
  module Cli
3
- VERSION = '0.5.3'
3
+ VERSION = '0.5.4'
4
4
  end
5
5
  end
@@ -38,15 +38,22 @@ class SoupCMSCLI < Thor
38
38
  top_dir = options.skip_dir? ? '.' : name
39
39
  data_folder = "#{top_dir}/data/#{name}"
40
40
  if configs[:blog]
41
- template 'lib/templates/pages/blog-post.yml',"#{data_folder}/pages/blog-post.yml"
41
+ template 'lib/templates/pages/post.yml',"#{data_folder}/pages/post.yml"
42
42
  template 'lib/templates/pages/posts.yml',"#{data_folder}/pages/posts.yml"
43
43
  end
44
44
  copy_file 'lib/templates/public/favicon.png', "#{top_dir}/public/favicon.png"
45
+ copy_file 'lib/templates/public/favicon.ico', "#{top_dir}/public/favicon.ico"
45
46
  copy_file 'lib/templates/public/common/stylesheets/_custom-variables.scss', "#{top_dir}/public/common/stylesheets/_custom-variables.scss"
46
47
 
47
48
  template 'lib/templates/schemaless/footer.yml',"#{data_folder}/schemaless/footer.yml"
48
49
  template 'lib/templates/schemaless/navigation.yml',"#{data_folder}/schemaless/navigation.yml"
49
- template 'lib/templates/schemaless/social-toolbar.yml',"#{data_folder}/schemaless/social-toolbar.yml"
50
+ template 'lib/templates/schemaless/author.yml',"#{data_folder}/schemaless/author.yml"
51
+
52
+ template 'lib/templates/modules/author.yml',"#{data_folder}/modules/author.yml"
53
+ template 'lib/templates/modules/navigation.yml',"#{data_folder}/modules/navigation.yml"
54
+ template 'lib/templates/modules/projects.yml',"#{data_folder}/modules/projects.yml"
55
+ template 'lib/templates/modules/tag-cloud.yml',"#{data_folder}/modules/tag-cloud.yml"
56
+ template 'lib/templates/modules/share-this.yml',"#{data_folder}/modules/share-this.yml"
50
57
 
51
58
  template 'lib/templates/pages/default.yml',"#{data_folder}/pages/default.yml"
52
59
  template 'lib/templates/pages/home.yml',"#{data_folder}/pages/home.yml"
@@ -64,7 +71,6 @@ class SoupCMSCLI < Thor
64
71
  end
65
72
  end
66
73
 
67
-
68
74
  create_file "#{top_dir}/data/#{name}/_config.yml", YAML.dump(JSON.parse(configs.to_json))
69
75
  end
70
76
 
@@ -72,7 +78,7 @@ class SoupCMSCLI < Thor
72
78
  def post(name, top_dir = '.')
73
79
  configs[:name] = name
74
80
  configs[:title] = ask('Title for the new post? (20 to 30 char) :', :green)
75
- sanitize_title = configs[:title].gsub(' ','-').gsub('\'','').gsub(',','').downcase #TODO: proper sanitization
81
+ sanitize_title = sanatize(configs[:title])
76
82
  configs[:sanitize_title] = sanitize_title
77
83
  tags = ask('Tags as comma separated list:', :green)
78
84
  configs[:tags] = tags.split(',')
@@ -129,6 +135,11 @@ class SoupCMSCLI < Thor
129
135
  File.join(File.dirname(__FILE__), '../..')
130
136
  end
131
137
 
138
+ private
139
+ def sanatize(value)
140
+ value.gsub(/\W/, '-').gsub('--','-').downcase
141
+ end
142
+
132
143
 
133
144
  end
134
145
 
@@ -1,7 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
  ruby '2.1.1'
3
3
 
4
- gem 'soupcms-cli'
4
+ gem 'soupcms-cli', github: 'soupcms/soupcms-cli'
5
5
  gem 'soupcms-common', github: 'soupcms/soupcms-common'
6
6
  gem 'soupcms-core', github: 'soupcms/soupcms-core'
7
7
  gem 'soupcms-api', github: 'soupcms/soupcms-api'
@@ -2,11 +2,12 @@
2
2
  # blog post attributes in front matter format
3
3
  tags: [<%= configs[:tags].join(",") %>]
4
4
  title: <%= configs[:title] %>
5
- publish_datetime: 2014-01-01T00:00:07.0Z
5
+ publish_datetime: 2014-01-01T00:00:07.0Z # change date in future for draft article
6
6
  description: Write post description here...
7
+ #slug: change-it-to-define-slug-for-the-post # default slug is sanitized file name
7
8
  ---
8
9
 
9
- # Markdown documentation
10
+ ## Markdown documentation
10
11
 
11
12
  This is [markdown template](http://kramdown.gettalong.org/index.html) and quick reference of the markdown language is available [here](http://kramdown.gettalong.org/quickref.html).
12
13
 
@@ -0,0 +1,11 @@
1
+ ---
2
+ doc_id: author
3
+
4
+ recipes:
5
+ -
6
+ type: http
7
+ url: "#{context.application.soupcms_api_url}/schemaless/doc_id/author"
8
+ return: author
9
+ template:
10
+ type: slim
11
+ name: bootstrap/author
@@ -0,0 +1,13 @@
1
+ ---
2
+ doc_id: navigation
3
+
4
+ recipes:
5
+ -
6
+ type: soupcms-api
7
+ model: schemaless
8
+ match:
9
+ doc_id: navigation
10
+ return: navigation
11
+ template:
12
+ type: slim
13
+ name: bootstrap/navigation
@@ -0,0 +1,14 @@
1
+ ---
2
+ doc_id: projects
3
+
4
+ recipes:
5
+ -
6
+ type: http
7
+ url: "#{context.application.soupcms_api_url}/schemaless/doc_id/author"
8
+ get: "result['projects']"
9
+ return: articles
10
+ template:
11
+ type: slim
12
+ name: bootstrap/list-view
13
+ config:
14
+ title: My Projects
@@ -0,0 +1,13 @@
1
+ ---
2
+ doc_id: share-this
3
+
4
+ recipes:
5
+ -
6
+ type: soupcms-api
7
+ model: "/#{context.model_name}/slug/#{context.slug}"
8
+ return: article
9
+ template:
10
+ type: slim
11
+ name: bootstrap/share-this
12
+ config:
13
+ title: Share
@@ -0,0 +1,11 @@
1
+ ---
2
+ doc_id: tag-cloud
3
+
4
+ recipes:
5
+ -
6
+ type: soupcms-api
7
+ url: posts/tag-cloud
8
+ return: tag-cloud
9
+ template:
10
+ type: slim
11
+ name: bootstrap/tag-cloud
@@ -15,17 +15,7 @@
15
15
  -
16
16
  name: header
17
17
  modules:
18
- -
19
- recipes:
20
- -
21
- type: soupcms-api
22
- model: schemaless
23
- match:
24
- name: navigation
25
- return: navigation
26
- template:
27
- type: slim
28
- name: bootstrap/navigation
18
+ - navigation
29
19
  -
30
20
  recipes:
31
21
  -
@@ -44,11 +34,11 @@
44
34
  recipes:
45
35
  -
46
36
  type: http
47
- url: "#{context.application.soupcms_api_url}/schemaless/name/social-toolbar"
48
- return: social-toolbar
37
+ url: "#{context.application.soupcms_api_url}/schemaless/doc_id/author"
38
+ return: author
49
39
  template:
50
40
  type: slim
51
- name: bootstrap/social-toolbar
41
+ name: bootstrap/author
52
42
  -
53
43
  recipes:
54
44
  -
@@ -67,7 +57,7 @@
67
57
  type: soupcms-api
68
58
  model: schemaless
69
59
  match:
70
- name: footer
60
+ doc_id: footer
71
61
  return: footer
72
62
  template:
73
63
  type: slim
@@ -5,16 +5,10 @@
5
5
  -
6
6
  name: sidebar
7
7
  modules:
8
- -
9
- recipes:
10
- -
11
- type: http
12
- url: "#{context.application.soupcms_api_url}/schemaless/name/social-toolbar"
13
- return: social-toolbar
14
- template:
15
- type: slim
16
- name: bootstrap/social-toolbar
17
- -
8
+ - author
9
+ - projects
10
+ - share-this
11
+ -
18
12
  recipes:
19
13
  -
20
14
  type: soupcms-api
@@ -37,15 +31,7 @@
37
31
  name: bootstrap/table-of-content
38
32
  config:
39
33
  title: Contents
40
- -
41
- recipes:
42
- -
43
- type: soupcms-api
44
- url: posts/tag-cloud
45
- return: tag-cloud
46
- template:
47
- type: slim
48
- name: bootstrap/tag-cloud
34
+ - tag-cloud
49
35
  -
50
36
  recipes:
51
37
  -
@@ -54,7 +40,7 @@
54
40
  fields:
55
41
  - title
56
42
  - slug
57
- limit: 5
43
+ limit: 0
58
44
  return: articles
59
45
  template:
60
46
  type: slim
@@ -0,0 +1,14 @@
1
+ ---
2
+ doc_id: author
3
+
4
+ name: <%= configs[:name] %>
5
+ bio:
6
+ - Author short bio like twitter line 1
7
+ - bio line 2
8
+ - as many lines as you want
9
+ - fully optional
10
+ thumbnail: http://www.gravatar.com/avatar/f40c60ffb60255ae89e75ccbb8eb303c.png
11
+ email: <%= configs[:name] %>@email.com
12
+ twitter_handle: <%= configs[:name] %>
13
+ github_username: <%= configs[:name] %>
14
+
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: footer
2
+ doc_id: footer
3
3
 
4
4
  copyright: "&copy; 2014"
5
5
  links:
@@ -1,8 +1,8 @@
1
1
  ---
2
- name: navigation
2
+ doc_id: navigation
3
3
 
4
4
  logo:
5
- font_icon: fa fa-magic
5
+ font_icon: fa fa-home
6
6
  text: "<%= configs[:display_name] %>"
7
7
  link:
8
8
  url: home
@@ -6,7 +6,7 @@ require 'soupcms/api'
6
6
 
7
7
  SoupCMS::Common::Strategy::Application::SingleApp.configure do |app|
8
8
  app.app_name = "<%= configs[:name] %>"
9
- app.display_name = "<%= configs[:description] %>"
9
+ app.display_name = "<%= configs[:display_name] %>"
10
10
  <%- if configs[:site_name] %>
11
11
  if ENV['RACK_ENV'] == 'production'
12
12
  app.soupcms_api_url = '<%= configs[:site_name] %>/api'
@@ -32,8 +32,8 @@ end
32
32
  PUBLIC_DIR = File.join(File.dirname(__FILE__), 'public')
33
33
  map '/assets' do
34
34
  sprockets = SoupCMSCore.config.sprockets
35
- sprockets.append_path SoupCMS::Core::Template::Manager::DEFAULT_TEMPLATE_DIR
36
35
  sprockets.append_path PUBLIC_DIR
36
+ sprockets.append_path SoupCMS::Core::Template::Manager::DEFAULT_TEMPLATE_DIR
37
37
  Sprockets::Helpers.configure do |config|
38
38
  config.environment = sprockets
39
39
  config.prefix = '/assets'
@@ -48,8 +48,11 @@ map '/' do
48
48
  config.application_strategy = SoupCMS::Common::Strategy::Application::SingleApp
49
49
  end
50
50
  soup_cms_rack_app = SoupCMSRackApp.new
51
+ soup_cms_rack_app.set_redirect('http://localhost:9292','http://localhost:9292/home')
52
+ soup_cms_rack_app.set_redirect('http://localhost:9292/','http://localhost:9292/home')
51
53
  <%- if configs[:site_name] %>
52
54
  soup_cms_rack_app.set_redirect('<%= configs[:site_name] %>','<%= configs[:site_name] %>/home')
55
+ soup_cms_rack_app.set_redirect('<%= configs[:site_name] %>/','<%= configs[:site_name] %>/home')
53
56
  <%- end %>
54
57
  run soup_cms_rack_app
55
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soupcms-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sunit Parekh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-24 00:00:00.000000000 Z
11
+ date: 2014-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -88,18 +88,24 @@ files:
88
88
  - lib/templates/Gemfile
89
89
  - lib/templates/Procfile
90
90
  - lib/templates/blog/my-first-post.md
91
+ - lib/templates/modules/author.yml
92
+ - lib/templates/modules/navigation.yml
93
+ - lib/templates/modules/projects.yml
94
+ - lib/templates/modules/share-this.yml
95
+ - lib/templates/modules/tag-cloud.yml
91
96
  - lib/templates/pages/about.md
92
- - lib/templates/pages/blog-post.yml
93
97
  - lib/templates/pages/default.yml
94
98
  - lib/templates/pages/home.yml
99
+ - lib/templates/pages/post.yml
95
100
  - lib/templates/pages/posts.yml
96
101
  - lib/templates/public/blog/posts/images/my-first-post.png
97
102
  - lib/templates/public/blog/posts/images/my-first-post/1-post-image.png
98
103
  - lib/templates/public/common/stylesheets/_custom-variables.scss
104
+ - lib/templates/public/favicon.ico
99
105
  - lib/templates/public/favicon.png
106
+ - lib/templates/schemaless/author.yml
100
107
  - lib/templates/schemaless/footer.yml
101
108
  - lib/templates/schemaless/navigation.yml
102
- - lib/templates/schemaless/social-toolbar.yml
103
109
  - lib/templates/single-app-config.ru
104
110
  - soupcms-cli.gemspec
105
111
  - spec/sopucms-site/dummy_spec.rb
@@ -1,7 +0,0 @@
1
- ---
2
- name: social-toolbar
3
-
4
- twitter: http://www.twitter.com/<%= configs[:name] %> # update or remove if not needed
5
- facebook: http://www.facebook.com/<%= configs[:name] %> # update or remove if not needed
6
- github: https://www.github.com/<%= configs[:name] %> # update or remove if not needed
7
- plus: https://plus.google.com/+<%= configs[:name] %> # update or remove if not needed