static_cms 0.1.1 → 1.1.1
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.
- data/data/site_template/rakefile +3 -8
- data/data/site_template/templates/blank.html.haml +4 -2
- data/data/site_template/templates/default.html.haml +1 -4
- data/data/site_template/templates/moved.html.haml +4 -2
- data/data/site_template/templates/nav.html.haml +4 -0
- data/lib/static_cms/version.rb +1 -1
- data/lib/static_cms.rb +23 -8
- metadata +10 -10
data/data/site_template/rakefile
CHANGED
@@ -3,15 +3,10 @@ require 'static_cms'
|
|
3
3
|
::SITE = StaticCms::Site.new
|
4
4
|
task default: :generate
|
5
5
|
desc "Generate all pages."
|
6
|
-
task generate: SITE.
|
6
|
+
task generate: SITE.page_alist.keys
|
7
7
|
|
8
|
-
::SITE.
|
9
|
-
task
|
8
|
+
::SITE.page_alist.each{|name, page|
|
9
|
+
task name do
|
10
10
|
page.generate
|
11
11
|
end
|
12
12
|
}
|
13
|
-
|
14
|
-
desc "Update templates, sources, statics (and more)."
|
15
|
-
task :update do
|
16
|
-
::StaticCms::Command.update
|
17
|
-
end
|
@@ -13,7 +13,4 @@
|
|
13
13
|
= haml(article.data)
|
14
14
|
%footer
|
15
15
|
%nav
|
16
|
-
|
17
|
-
- @site.pages.select{|p| p.visible}.delete_if{|p| p.template == 'blank'}.sort_by{|p| p.name}.each do |p|
|
18
|
-
%li
|
19
|
-
%a{href: File.join(@site.www, p.name)}= p.title
|
16
|
+
= haml(File.read('templates/nav.html.haml'))
|
@@ -2,5 +2,7 @@
|
|
2
2
|
%html{lang: :en}
|
3
3
|
= haml(File.read('templates/head.html.haml'))
|
4
4
|
%body
|
5
|
-
|
6
|
-
|
5
|
+
%p
|
6
|
+
Contents of this page have moved or removed.
|
7
|
+
%nav
|
8
|
+
= haml(File.read('templates/nav.html.haml'))
|
data/lib/static_cms/version.rb
CHANGED
data/lib/static_cms.rb
CHANGED
@@ -46,7 +46,7 @@ git commit -m 'Copied from site template.' > #{File::NULL}
|
|
46
46
|
'charset' => 'utf-8',
|
47
47
|
}
|
48
48
|
|
49
|
-
attr_accessor :
|
49
|
+
attr_accessor :page_alist
|
50
50
|
attr_accessor *(CONFIG_DEFAULT.keys)
|
51
51
|
|
52
52
|
def initialize
|
@@ -54,8 +54,12 @@ git commit -m 'Copied from site template.' > #{File::NULL}
|
|
54
54
|
@www = config.delete('www')
|
55
55
|
@www += '/' unless @www[-1] == '/'
|
56
56
|
config.each{|k, v| instance_variable_set("@#{k}", v)}
|
57
|
-
@
|
58
|
-
|
57
|
+
@page_alist = Hash.new{|h, k| raise KeyError, k}
|
58
|
+
YAML.load_file('pages.yaml')\
|
59
|
+
.sort\
|
60
|
+
.each{|name, params|
|
61
|
+
@page_alist[name] = ::StaticCms::Page.new(self, name, params)
|
62
|
+
}
|
59
63
|
end
|
60
64
|
end
|
61
65
|
|
@@ -73,7 +77,7 @@ git commit -m 'Copied from site template.' > #{File::NULL}
|
|
73
77
|
'base' => nil,
|
74
78
|
}
|
75
79
|
|
76
|
-
attr_accessor :site, :name, :dir
|
80
|
+
attr_accessor :site, :name, :dir, :template_file
|
77
81
|
attr_accessor *(PARAMS_DEFAULT.keys)
|
78
82
|
|
79
83
|
def initialize(site, name, params = {})
|
@@ -81,7 +85,8 @@ git commit -m 'Copied from site template.' > #{File::NULL}
|
|
81
85
|
@name = name
|
82
86
|
@dir = File.join("root", @name)
|
83
87
|
params = PARAMS_DEFAULT.merge(params)
|
84
|
-
@template =
|
88
|
+
@template = params.delete('template')
|
89
|
+
@template_file = File.join('templates', @template) + '.html.haml'
|
85
90
|
@articles = params.delete('articles').map{|name| ::StaticCms::Article.use(self, name)}
|
86
91
|
@statics = params.delete('statics').map{|file| File.join('statics', file)}
|
87
92
|
@sources = params.delete('sources').map{|file| File.join('sources', file)}
|
@@ -97,14 +102,14 @@ git commit -m 'Copied from site template.' > #{File::NULL}
|
|
97
102
|
if @visible
|
98
103
|
@statics.each{|file| cp_if_new(file)}
|
99
104
|
@sources.each{|file| compile(file)}
|
100
|
-
|
105
|
+
template_file = @template_file
|
101
106
|
else
|
102
107
|
@statics.each{|file| FileUtils.rm_rf(static_target(file))}
|
103
108
|
@sources.each{|file| FileUtils.rm_rf(compile_target(file))}
|
104
|
-
|
109
|
+
template_file = 'templates/moved.html.haml'
|
105
110
|
end
|
106
111
|
|
107
|
-
html = ::Haml::Engine.new(File.read(
|
112
|
+
html = ::Haml::Engine.new(File.read(template_file)).render(self)
|
108
113
|
target = File.join(@dir, 'index.html')
|
109
114
|
open(target, 'w'){|io|
|
110
115
|
io.write(html)
|
@@ -119,6 +124,11 @@ git commit -m 'Copied from site template.' > #{File::NULL}
|
|
119
124
|
::Haml::Engine.new(text).render(self)
|
120
125
|
end
|
121
126
|
|
127
|
+
def nth_page_from_self(n)
|
128
|
+
index = (@site.page_alist.to_a.index{|name, page| name == @name} + n)%@site.page_alist.size
|
129
|
+
@site.page_alist.to_a[index][1]
|
130
|
+
end
|
131
|
+
|
122
132
|
def link_to_article(name)
|
123
133
|
article = ::StaticCms::Article.alist[name]
|
124
134
|
page = article.pages.first
|
@@ -232,5 +242,10 @@ git commit -m 'Copied from site template.' > #{File::NULL}
|
|
232
242
|
def init(dir = '.')
|
233
243
|
::StaticCms::Command.init(dir)
|
234
244
|
end
|
245
|
+
|
246
|
+
desc "update", "Update templates, sources, statics (and more)."
|
247
|
+
def update
|
248
|
+
::StaticCms::Command.update
|
249
|
+
end
|
235
250
|
end
|
236
251
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: static_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: haml
|
16
|
-
requirement: &
|
16
|
+
requirement: &69398750 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *69398750
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sass
|
27
|
-
requirement: &
|
27
|
+
requirement: &69397340 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.2'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *69397340
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: ruby_patch
|
38
|
-
requirement: &
|
38
|
+
requirement: &69396770 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '1.1'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *69396770
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: thor
|
49
|
-
requirement: &
|
49
|
+
requirement: &69396130 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0.16'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *69396130
|
58
58
|
description: Simple static contents management system based on Haml and Sass.
|
59
59
|
email:
|
60
60
|
executables:
|