soupcms-cli 0.5.3 → 0.5.4

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 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