scms 2.2.0 → 3.0.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 +8 -8
- data/assets/blank-template/_config.yml +12 -11
- data/assets/blank-template/{_templates → _layouts}/skin.erb.html +1 -1
- data/assets/blank-template/{scripts → _source/scripts}/bootstrap.js +0 -0
- data/assets/blank-template/{scripts → _source/scripts}/script.js +0 -0
- data/assets/blank-template/{stylesheets → _source/stylesheets}/bootstrap-responsive.css +0 -0
- data/assets/blank-template/{stylesheets → _source/stylesheets}/bootstrap.css +0 -0
- data/assets/blank-template/{stylesheets → _source/stylesheets}/style.css +0 -0
- data/assets/blank-template/_views/{about-intro.html → about/intro.html} +0 -0
- data/assets/blank-template/_views/{about-main.html → about/main.html} +0 -0
- data/assets/blank-template/_views/{home-intro.html → home/intro.html} +0 -0
- data/assets/blank-template/_views/{home-main.html → home/main.html} +0 -0
- data/assets/blank-template/{scripts → js}/jquery-1.8.2.min.js +0 -0
- data/bin/scms +62 -41
- data/bin/scms-server +9 -10
- data/lib/scms.rb +4 -4
- data/lib/scms/scms-httpserver.rb +21 -8
- data/lib/scms/version.rb +1 -1
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
M2IxN2JkZDQ2YzcxZGZkZmYzZmQxNzAzZTNlMTI2NDkwODJhODdhMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Y2NiYWI5MzQwNWRhMGY1MWY3ZTg1ZmY3MWU4NjA1ODg5MTM2OWViZA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NmM1ODZlMWYxZWQ1YzE5NGY3ZWUyZDM0ZTZhMmRkOGJlNTUzYzZlODI0ZWY1
|
10
|
+
YTJiMThiYjEwOTllYTViYTRmYzhjMDNiNGYyMWViNTcyMjA4NGU3ZjMyODk3
|
11
|
+
YzM4NTg0ZjliOWU0ZTEzOGQ3MDNmMDZlYjExYWQyMDY0NTM0NDE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZmI4MjJlNjliMjQ4NWNmNGRiZjljYjE2ZDA3NzkwNWJhZmUwM2U5MTlmODg4
|
14
|
+
MzE3OTIzMWQzZjAxNjM0NWIyMmMwYjQ4YWU3ODJmMDU3MTU1YmFhMjVkODhi
|
15
|
+
N2Q3ZWExNjFlMWFhZGMwNDZjZmFkMTk2MTBmM2NmMmE4NWNhYmI=
|
@@ -1,4 +1,4 @@
|
|
1
|
-
template:
|
1
|
+
template: _layouts/skin.erb.html # The website skin (erb template)
|
2
2
|
#rooturl: http://www.mywebsite.com/ #Whats the website root when published - All references in html will be replaced with this
|
3
3
|
# Define your pages here
|
4
4
|
pages:
|
@@ -9,14 +9,14 @@ pages:
|
|
9
9
|
description: Meta description
|
10
10
|
keywords: "CMS, S3, Ruby"
|
11
11
|
views:
|
12
|
-
intro: _views/home
|
13
|
-
main: _views/home
|
12
|
+
intro: _views/home/intro.html
|
13
|
+
main: _views/home/main.html
|
14
14
|
- about:
|
15
15
|
generate: about.html
|
16
16
|
navigation: About
|
17
17
|
views:
|
18
|
-
intro: _views/about
|
19
|
-
main: _views/about
|
18
|
+
intro: _views/about/intro.html
|
19
|
+
main: _views/about/main.html
|
20
20
|
- contact: #Pageless for nav only
|
21
21
|
navigation: contact
|
22
22
|
navigation_meta: contactform
|
@@ -25,12 +25,13 @@ pages:
|
|
25
25
|
# Define your bundles here (versioning is recomended if your caching assets)
|
26
26
|
bundles:
|
27
27
|
- script:
|
28
|
-
generate:
|
28
|
+
generate: js/bootstrap.min-v2.1.1.js
|
29
29
|
files:
|
30
|
-
- scripts/bootstrap.js
|
30
|
+
- _source/scripts/bootstrap.js
|
31
|
+
- _source/scripts/script.js
|
31
32
|
- style:
|
32
|
-
generate:
|
33
|
+
generate: css/style-1.0.css
|
33
34
|
files:
|
34
|
-
- stylesheets/bootstrap.css
|
35
|
-
- stylesheets/bootstrap-responsive.css
|
36
|
-
- stylesheets/style.css
|
35
|
+
- _source/stylesheets/bootstrap.css
|
36
|
+
- _source/stylesheets/bootstrap-responsive.css
|
37
|
+
- _source/stylesheets/style.css
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta name="keywords" content="<%= page.keywords %>">
|
9
9
|
<meta name="author" content="Courtenay Probert">
|
10
10
|
|
11
|
-
<script src='
|
11
|
+
<script src='js/jquery-1.8.2.min.js'></script>
|
12
12
|
<!-- Le styles -->
|
13
13
|
<link href='<%= page.bundles["style"] %>' rel="stylesheet">
|
14
14
|
<style type="text/css">
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/bin/scms
CHANGED
@@ -23,32 +23,47 @@ options = {}
|
|
23
23
|
optparse = OptionParser.new do|opts|
|
24
24
|
# Set a banner, displayed at the top of the help screen.
|
25
25
|
opts.banner = "Usage: scms [options]"
|
26
|
-
|
27
|
-
# Define the options, and what they do
|
28
|
-
opts.on('-w', '--website WEBSITE', "Website directory (defaults to ./)") do |w|
|
29
|
-
options[:website] = w
|
30
|
-
end
|
31
26
|
|
32
|
-
|
33
|
-
|
27
|
+
options[:website] = Dir.pwd
|
28
|
+
opts.on('-s', '--source WorkingDir', "Location of website source code (defaults to ./)") do |w|
|
29
|
+
options[:website] = w.to_path
|
34
30
|
end
|
35
|
-
|
36
|
-
opts.on('-
|
37
|
-
options[:
|
31
|
+
|
32
|
+
opts.on('-d', '--destination OutPutDir', "The location of the build files (defaults to ./)") do |o|
|
33
|
+
options[:destination] = o.to_path
|
38
34
|
end
|
39
|
-
|
40
|
-
options[:
|
41
|
-
|
42
|
-
options[:
|
35
|
+
|
36
|
+
options[:create] = nil
|
37
|
+
opts.on( '-c', '--create NewWebSiteName', 'Create a new scms website' ) do |newsite|
|
38
|
+
options[:create] = newsite
|
43
39
|
end
|
44
40
|
|
45
41
|
options[:server] = false
|
46
|
-
opts.on( '-s', '--
|
42
|
+
opts.on( '-s', '--serve', 'Run a scms server on port localhost:8008' ) do
|
47
43
|
options[:server] = true
|
48
44
|
end
|
45
|
+
|
46
|
+
options[:port] = 8002
|
47
|
+
opts.on( '-p', '--port Port', 'Listen on the given port (only workes with --serve)' ) do|p|
|
48
|
+
options[:port] = p
|
49
|
+
end
|
50
|
+
|
51
|
+
options[:watch] = false
|
52
|
+
opts.on( '-w', '--watch', 'Run a scms server on port localhost:8008' ) do
|
53
|
+
options[:watch] = true
|
54
|
+
end
|
55
|
+
|
56
|
+
options[:publish] = false
|
57
|
+
opts.on( '-p', '--publish', 'Deploy site to S3' ) do
|
58
|
+
options[:publish] = true
|
59
|
+
end
|
60
|
+
|
61
|
+
opts.on('-o', '--config ConfigDir', "Configeration directory if different from Website (defaults to ./)") do |c|
|
62
|
+
options[:configdir] = c
|
63
|
+
end
|
49
64
|
|
50
65
|
options[:mode] = "pub"
|
51
|
-
opts.on( '-m', '--mode
|
66
|
+
opts.on( '-m', '--mode Mode', 'CMS or Publish (for use with Air-Monkey: http://ipassexam.github.io/Air-Monkey/)' ) do|m|
|
52
67
|
options[:mode] = m
|
53
68
|
end
|
54
69
|
|
@@ -68,24 +83,33 @@ optparse.parse!
|
|
68
83
|
#Set globals
|
69
84
|
$stdout.sync = true
|
70
85
|
root_folder = File.expand_path("../", File.dirname(__FILE__))
|
71
|
-
website = ((options[:website].nil?) ? Dir.pwd : options[:website]).to_path
|
72
|
-
$website = website
|
73
86
|
Folders = {
|
74
87
|
:root => root_folder,
|
75
|
-
:website => website,
|
76
|
-
:
|
77
|
-
:config => (options[:configdir] or ENV["SCMS_CONFIG_FOLDER"] or website)
|
88
|
+
:website => options[:website],
|
89
|
+
:destination => (options[:destination] or ENV["SCMS_PUBLISH_FOLDER"] or '').to_path,
|
90
|
+
:config => (options[:configdir] or ENV["SCMS_CONFIG_FOLDER"] or options[:website]),
|
78
91
|
:assets => File.join(root_folder, "assets")
|
79
92
|
}
|
93
|
+
$website = Folders[:website]
|
94
|
+
|
95
|
+
ScmsUtils.log "System root folder = #{Folders[:root]}"
|
96
|
+
ScmsUtils.log "Website folder = #{Folders[:website]}"
|
97
|
+
ScmsUtils.log "Destination dir = #{Folders[:destination]}"
|
98
|
+
ScmsUtils.log "Config dir = #{Folders[:config]}"
|
99
|
+
ScmsUtils.log "Mode = #{options[:mode]}"
|
80
100
|
|
81
|
-
|
82
|
-
|
101
|
+
raise "Invalid working directory! #{Folders[:website]}" if !File::directory?(Folders[:website])
|
102
|
+
|
103
|
+
if options[:create] != nil
|
104
|
+
puts "Creating scms website: #{options[:create]}"
|
105
|
+
newWorkingDir = File.join(Folders[:website], options[:create])
|
106
|
+
if File.exists?(File.join(newWorkingDir, "_config.yml"))
|
83
107
|
#if Dir.exists? Folders[:website]
|
84
108
|
"Website already exists!!!"
|
85
109
|
else
|
86
|
-
puts "Making website: #
|
87
|
-
FileUtils.mkdir_p
|
88
|
-
FileUtils.cp_r(Dir["#{File.join(Folders[:assets], "blank-template")}/*"],
|
110
|
+
puts "Making website: #newWorkingDir}"
|
111
|
+
FileUtils.mkdir_p newWorkingDir
|
112
|
+
FileUtils.cp_r(Dir["#{File.join(Folders[:assets], "blank-template")}/*"], newWorkingDir)
|
89
113
|
end
|
90
114
|
exit
|
91
115
|
end
|
@@ -94,31 +118,23 @@ monkeyhook = File.join(Folders[:website], "scripts", "air-monkey-hook.js")
|
|
94
118
|
if options[:mode] == "cms"
|
95
119
|
FileUtils.cp(File.join(Folders[:assets], "air-monkey-hook.js"), monkeyhook)
|
96
120
|
else
|
97
|
-
FileUtils.rm(monkeyhook) if File.exist?(monkeyhook) && options[:
|
121
|
+
FileUtils.rm(monkeyhook) if File.exist?(monkeyhook) && options[:publish]
|
98
122
|
end
|
99
123
|
|
100
|
-
#ScmsUtils.log "System root folder = #{Folders[:root]}"
|
101
|
-
#ScmsUtils.log "Website folder = #{Folders[:website]}"
|
102
|
-
#ScmsUtils.log "Pub dir = #{Folders[:pub]}"
|
103
|
-
#ScmsUtils.log "Config dir = #{Folders[:config]}"
|
104
|
-
#ScmsUtils.log "Mode = #{options[:mode]}"
|
105
|
-
|
106
|
-
raise "No website in folder #{Folders[:website]}" if !File::directory?(Folders[:website])
|
107
|
-
Scms.upgrade(Folders[:website])
|
108
124
|
Scms.build(Folders[:website], Folders[:config], options[:mode])
|
109
|
-
Scms.copywebsite(Folders[:website], Folders[:
|
125
|
+
Scms.copywebsite(Folders[:website], Folders[:destination]) if Folders[:destination] != ''
|
110
126
|
|
111
127
|
threads = []
|
112
128
|
if options[:server]
|
113
129
|
threads << Thread.new {
|
114
|
-
ScmsServer.start(
|
130
|
+
ScmsServer.start(Folders[:website], options[:port])
|
115
131
|
}
|
116
132
|
end
|
117
133
|
|
118
|
-
if options[:
|
134
|
+
if options[:watch]
|
119
135
|
#watcher = Thread.new {
|
120
136
|
require 'filewatcher'
|
121
|
-
FileWatcher.new(["_views", "_templates", "_source"], "Watching for changes in _views,
|
137
|
+
FileWatcher.new(["_views", "_layouts", "_templates", "_source"], "Watching for changes in _views, _layouts or _source").watch do |filename|
|
122
138
|
puts "Updated " + filename
|
123
139
|
Scms.build(Folders[:website], Folders[:config], options[:mode])
|
124
140
|
end
|
@@ -126,8 +142,13 @@ if options[:action] == "watch"
|
|
126
142
|
#watcher.join
|
127
143
|
end
|
128
144
|
|
129
|
-
|
130
|
-
|
145
|
+
if options[:publish]
|
146
|
+
if File.exists?(File.join(Folders[:config], "_s3config.yml"))
|
147
|
+
puts "Deploying to S3"
|
148
|
+
mimetypefile = File.join(Folders[:assets], "mime.types")
|
149
|
+
S3Deploy.sync(Folders[:website], Folders[:config], mimetypefile)
|
150
|
+
end
|
151
|
+
end
|
131
152
|
|
132
153
|
# join web server thread if it hasn't been used with watch action
|
133
154
|
threads.each { |t|
|
data/bin/scms-server
CHANGED
@@ -19,9 +19,9 @@ optparse = OptionParser.new do|opts|
|
|
19
19
|
# Set a banner, displayed at the top of the help screen.
|
20
20
|
opts.banner = "Usage: scms-server [options]"
|
21
21
|
|
22
|
-
options[:
|
23
|
-
opts.on( '-
|
24
|
-
options[:
|
22
|
+
options[:website] = Dir::pwd
|
23
|
+
opts.on( '-s', '--source DIR', 'Document Root of http server [default = current working dir]' ) do|d|
|
24
|
+
options[:website] = d
|
25
25
|
end
|
26
26
|
|
27
27
|
options[:port] = 8008
|
@@ -29,10 +29,10 @@ optparse = OptionParser.new do|opts|
|
|
29
29
|
options[:port] = p
|
30
30
|
end
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
32
|
+
options[:host] = Socket.gethostname
|
33
|
+
opts.on( '-h', '--host HOST', 'http host for http server [default = localhost]' ) do|h|
|
34
|
+
options[:host] = h
|
35
|
+
end
|
36
36
|
|
37
37
|
options[:version] = false
|
38
38
|
opts.on( '-v', '--version', 'Output scms version' ) do
|
@@ -48,8 +48,7 @@ end
|
|
48
48
|
optparse.parse!
|
49
49
|
|
50
50
|
#puts "Working dir: #{Dir::pwd}"
|
51
|
-
#puts "Doc root: #{options[:
|
51
|
+
#puts "Doc root: #{options[:website]}"
|
52
52
|
|
53
|
-
|
54
|
-
ScmsServer.start(port, options[:dir])
|
53
|
+
ScmsServer.start(options[:website], options[:port], options[:host])
|
55
54
|
exit
|
data/lib/scms.rb
CHANGED
@@ -396,8 +396,8 @@ module Scms
|
|
396
396
|
end
|
397
397
|
end
|
398
398
|
|
399
|
-
def Scms.upgrade(website)
|
400
|
-
|
401
|
-
|
402
|
-
end
|
399
|
+
# def Scms.upgrade(website)
|
400
|
+
# File.rename("config.yml", "_config.yml") if File.exists? File.join(website, "config.yml")
|
401
|
+
# File.rename("s3config.yml", "_s3config.yml") if File.exists? File.join(website, "s3config.yml")
|
402
|
+
# end
|
403
403
|
end
|
data/lib/scms/scms-httpserver.rb
CHANGED
@@ -4,13 +4,17 @@ require 'launchy'
|
|
4
4
|
module ScmsServer
|
5
5
|
include WEBrick
|
6
6
|
|
7
|
-
def ScmsServer.start(port,
|
7
|
+
def ScmsServer.start(root_document, port, hostname="localhost")
|
8
8
|
|
9
|
-
puts "Starting server: http://#{
|
9
|
+
puts "Starting server: http://#{hostname}:#{port}"
|
10
10
|
#:BindAddress
|
11
|
-
server = HTTPServer.new(
|
11
|
+
server = HTTPServer.new(
|
12
|
+
:DocumentRoot => root_document,
|
13
|
+
:Port => port,
|
14
|
+
:BindAddress => hostname
|
15
|
+
)
|
16
|
+
|
12
17
|
mime_types_file = File.expand_path('../../assets/mime.types', File.dirname(__FILE__))
|
13
|
-
puts mime_types_file
|
14
18
|
WEBrick::HTTPUtils::load_mime_types(mime_types_file)
|
15
19
|
|
16
20
|
trap("INT"){
|
@@ -19,14 +23,23 @@ module ScmsServer
|
|
19
23
|
exit!
|
20
24
|
}
|
21
25
|
|
22
|
-
uri = "http
|
26
|
+
uri = "http://#{hostname}:#{port}"
|
23
27
|
Launchy.open( uri ) do |exception|
|
24
28
|
puts "Attempted to open #{uri} and failed because #{exception}"
|
25
29
|
end
|
26
30
|
|
27
|
-
|
28
|
-
|
29
|
-
|
31
|
+
begin
|
32
|
+
server.start
|
33
|
+
rescue SystemExit, Interrupt
|
34
|
+
puts "Closing web brick"
|
35
|
+
server.start
|
36
|
+
rescue StandardError => e
|
37
|
+
puts "StandardError"
|
38
|
+
server.shutdown
|
39
|
+
rescue Exception => e
|
40
|
+
puts "scms-server exception"
|
41
|
+
rais e
|
42
|
+
end
|
30
43
|
end
|
31
44
|
|
32
45
|
end
|
data/lib/scms/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Courtenay Probert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cprobert-s3sync
|
@@ -139,21 +139,21 @@ files:
|
|
139
139
|
- Rakefile
|
140
140
|
- assets/air-monkey-hook.js
|
141
141
|
- assets/blank-template/_config.yml
|
142
|
+
- assets/blank-template/_layouts/skin.erb.html
|
142
143
|
- assets/blank-template/_s3config.template.yml
|
143
|
-
- assets/blank-template/
|
144
|
-
- assets/blank-template/
|
145
|
-
- assets/blank-template/
|
146
|
-
- assets/blank-template/
|
147
|
-
- assets/blank-template/
|
144
|
+
- assets/blank-template/_source/scripts/bootstrap.js
|
145
|
+
- assets/blank-template/_source/scripts/script.js
|
146
|
+
- assets/blank-template/_source/stylesheets/bootstrap-responsive.css
|
147
|
+
- assets/blank-template/_source/stylesheets/bootstrap.css
|
148
|
+
- assets/blank-template/_source/stylesheets/style.css
|
149
|
+
- assets/blank-template/_views/about/intro.html
|
150
|
+
- assets/blank-template/_views/about/main.html
|
151
|
+
- assets/blank-template/_views/home/intro.html
|
152
|
+
- assets/blank-template/_views/home/main.html
|
148
153
|
- assets/blank-template/images/glyphicons-halflings-white.png
|
149
154
|
- assets/blank-template/images/glyphicons-halflings.png
|
155
|
+
- assets/blank-template/js/jquery-1.8.2.min.js
|
150
156
|
- assets/blank-template/robots.txt
|
151
|
-
- assets/blank-template/scripts/bootstrap.js
|
152
|
-
- assets/blank-template/scripts/jquery-1.8.2.min.js
|
153
|
-
- assets/blank-template/scripts/script.js
|
154
|
-
- assets/blank-template/stylesheets/bootstrap-responsive.css
|
155
|
-
- assets/blank-template/stylesheets/bootstrap.css
|
156
|
-
- assets/blank-template/stylesheets/style.css
|
157
157
|
- assets/mime.types
|
158
158
|
- assets/yuicompressor/readme
|
159
159
|
- bin/scms
|