PlainSite 1.2.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 +7 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +43 -0
- data/LICENSE +20 -0
- data/PlainSite.gemspec +40 -0
- data/README.md +276 -0
- data/Rakefile +34 -0
- data/_config.yml +6 -0
- data/bin/plainsite +76 -0
- data/lib/PlainSite.rb +5 -0
- data/lib/PlainSite/Commands.rb +76 -0
- data/lib/PlainSite/Data/Category.rb +235 -0
- data/lib/PlainSite/Data/FrontMatterFile.rb +64 -0
- data/lib/PlainSite/Data/Post.rb +237 -0
- data/lib/PlainSite/Data/PostList.rb +164 -0
- data/lib/PlainSite/Data/PostListPage.rb +80 -0
- data/lib/PlainSite/RenderTask.rb +235 -0
- data/lib/PlainSite/Site.rb +330 -0
- data/lib/PlainSite/SocketPatch.rb +15 -0
- data/lib/PlainSite/Tpl/ExtMethods.rb +55 -0
- data/lib/PlainSite/Tpl/LayErb.rb +73 -0
- data/lib/PlainSite/Utils.rb +79 -0
- data/lib/PlainSite/_scaffold/_src/assets/README.md +5 -0
- data/lib/PlainSite/_scaffold/_src/assets/css/style.css +506 -0
- data/lib/PlainSite/_scaffold/_src/assets/favicon.ico +0 -0
- data/lib/PlainSite/_scaffold/_src/config.yml +10 -0
- data/lib/PlainSite/_scaffold/_src/data/essays/game-of-life.md +15 -0
- data/lib/PlainSite/_scaffold/_src/data/essays/phoenix-rebirth.html +15 -0
- data/lib/PlainSite/_scaffold/_src/data/programming/hello-world.md +48 -0
- data/lib/PlainSite/_scaffold/_src/extensions/TplExt.rb +23 -0
- data/lib/PlainSite/_scaffold/_src/routes.rb +49 -0
- data/lib/PlainSite/_scaffold/_src/templates/404.html +16 -0
- data/lib/PlainSite/_scaffold/_src/templates/about.html +11 -0
- data/lib/PlainSite/_scaffold/_src/templates/base.html +32 -0
- data/lib/PlainSite/_scaffold/_src/templates/header.html +8 -0
- data/lib/PlainSite/_scaffold/_src/templates/index.html +25 -0
- data/lib/PlainSite/_scaffold/_src/templates/list.html +41 -0
- data/lib/PlainSite/_scaffold/_src/templates/post.html +81 -0
- data/lib/PlainSite/_scaffold/_src/templates/rss.erb +29 -0
- data/test/CategoryTest.rb +63 -0
- data/test/FrontMatterFileTest.rb +40 -0
- data/test/LayErbTest.rb +20 -0
- data/test/ObjectProxyTest.rb +30 -0
- data/test/PostListTest.rb +55 -0
- data/test/PostTest.rb +48 -0
- data/test/SiteTest.rb +105 -0
- data/test/fixtures/2012-06-12-test.md +7 -0
- data/test/fixtures/category-demo/2012-06-12-post1.md +7 -0
- data/test/fixtures/category-demo/2013-05-01-post2.md +7 -0
- data/test/fixtures/category-demo/_meta.yml +1 -0
- data/test/fixtures/category-demo/index.md +6 -0
- data/test/fixtures/category-demo/sub-category1/sub-post1.md +1 -0
- data/test/fixtures/category-demo/sub-category2/sub-post2.md +1 -0
- data/test/fixtures/include.erb +1 -0
- data/test/fixtures/invalid-front-matter.html +7 -0
- data/test/fixtures/layout.erb +1 -0
- data/test/fixtures/no-front-matter.html +2 -0
- data/test/fixtures/tpl.erb +7 -0
- data/test/fixtures/valid-front-matter.html +14 -0
- data/test/runtest +6 -0
- metadata +202 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'PlainSite/Data/FrontMatterFile'
|
5
|
+
include PlainSite::Data
|
6
|
+
class FrontMatterFileTest < Test::Unit::TestCase
|
7
|
+
FIXTURES_DIR=File.realpath (File.join File.dirname(__FILE__),'fixtures')
|
8
|
+
def test_valid
|
9
|
+
|
10
|
+
valid_file=File.join FIXTURES_DIR,'valid-front-matter.html'
|
11
|
+
tags=['Python','Ruby','Java','Haskell']
|
12
|
+
f=FrontMatterFile.new valid_file
|
13
|
+
|
14
|
+
assert f.headers['name']=='valid','Valid header :name'
|
15
|
+
assert f.headers['title']=='Hello, World!','Valid header :title'
|
16
|
+
assert f.headers['tags']==tags,'Valid header :tags'
|
17
|
+
assert f.headers['xxx'].nil?,'Absent header nil'
|
18
|
+
|
19
|
+
assert f.content=='CONTENT','Valid content'
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_invalid
|
23
|
+
invalid_file=File.join FIXTURES_DIR,'invalid-front-matter.html'
|
24
|
+
|
25
|
+
assert_raise InvalidFrontMatterFileException do
|
26
|
+
f=FrontMatterFile.new invalid_file
|
27
|
+
f.headers
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_no_front
|
32
|
+
no_front_file=File.join FIXTURES_DIR,'no-front-matter.html'
|
33
|
+
|
34
|
+
assert_raise InvalidFrontMatterFileException do
|
35
|
+
f=FrontMatterFile.new no_front_file
|
36
|
+
f.headers
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
data/test/LayErbTest.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'PlainSite/Tpl/LayErb'
|
5
|
+
include PlainSite::Tpl
|
6
|
+
|
7
|
+
class LayErbTest < Test::Unit::TestCase
|
8
|
+
FIXTURES_DIR=File.realpath (File.join File.dirname(__FILE__),'fixtures')
|
9
|
+
def test_render
|
10
|
+
tpl=File.join(FIXTURES_DIR,'tpl.erb')
|
11
|
+
erb=LayErb.new tpl
|
12
|
+
context={
|
13
|
+
code: "some_text"
|
14
|
+
}
|
15
|
+
result=erb.render context
|
16
|
+
except="<body>Included:some_text<html></body>"
|
17
|
+
assert result.strip==except,'Tpl render with include and layout'
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'PlainSite/Utils'
|
5
|
+
include PlainSite::Utils
|
6
|
+
class ObjectProxyTest < Test::Unit::TestCase
|
7
|
+
def test_proxy
|
8
|
+
|
9
|
+
d=Demo.new
|
10
|
+
h={ name:"XMan", age:18 , "home"=>"Earth" }
|
11
|
+
a=ObjectProxy.new d,h
|
12
|
+
|
13
|
+
assert a.hello==d.hello,"Call method hello"
|
14
|
+
assert a.name==h[:name],"Get key :name"
|
15
|
+
assert a.age==h[:age],"Get key :age"
|
16
|
+
assert a.home==h["home"],"Get key home"
|
17
|
+
assert a.hi==d.hi,"Call method hi"
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
class Demo
|
24
|
+
def hello
|
25
|
+
"hello"
|
26
|
+
end
|
27
|
+
def hi
|
28
|
+
"hi"
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'grit'
|
5
|
+
require 'fileutils'
|
6
|
+
require 'PlainSite/Site'
|
7
|
+
include PlainSite
|
8
|
+
|
9
|
+
class PostListTest < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@site_root=Dir.mktmpdir 'test-site-'
|
12
|
+
end
|
13
|
+
def teardown
|
14
|
+
FileUtils.rm_rf @site_root
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_list
|
18
|
+
site=Site.new @site_root
|
19
|
+
site.init_scaffold true
|
20
|
+
|
21
|
+
posts_path=[]
|
22
|
+
|
23
|
+
site.data.subs.each do |cat|
|
24
|
+
File.delete *(Dir.glob cat.path+'/*')
|
25
|
+
12.times do |i|
|
26
|
+
name="2012-#{i+1}-22-hello-#{cat.name}-#{i+1}.md"
|
27
|
+
path=File.join cat.path,name
|
28
|
+
posts_path.push path
|
29
|
+
File.open(path,'wb') do |f|
|
30
|
+
f.write "---\ntitle: Hello,#{cat.name},#{i+1}\n---\n XXX"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
pages=site.data / :essays / '*' / 5
|
36
|
+
|
37
|
+
assert pages[0].next_page.nil?,"Should first page's next_page be nil"
|
38
|
+
assert pages[0].posts.length==5,"Page size should be 5"
|
39
|
+
pages[0].posts.each_with_index do |p,i|
|
40
|
+
d=Date.new 2012,12-i,22
|
41
|
+
assert p.date == d,"Date should be #{d}"
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
all_posts=site.data['**']
|
46
|
+
one_page=(all_posts/100).first
|
47
|
+
|
48
|
+
posts_path.each do |p|
|
49
|
+
assert (all_posts.include? p),"Should PostList include post:#{p}"
|
50
|
+
assert (one_page.include? p),"Should PostListPage include post:#{p}"
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|
data/test/PostTest.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'fileutils'
|
5
|
+
|
6
|
+
require 'PlainSite/Data/Post'
|
7
|
+
require 'PlainSite/Data/Category'
|
8
|
+
require 'PlainSite/Site'
|
9
|
+
|
10
|
+
include PlainSite::Data
|
11
|
+
include PlainSite
|
12
|
+
|
13
|
+
class PostTest < Test::Unit::TestCase
|
14
|
+
FIXTURES_DIR=File.realpath (File.join File.dirname(__FILE__),'fixtures')
|
15
|
+
def setup
|
16
|
+
@site_root=File.join FIXTURES_DIR,'test-site'
|
17
|
+
FileUtils.mkdir_p @site_root
|
18
|
+
@site=Site.new @site_root
|
19
|
+
@site.init_scaffold true
|
20
|
+
end
|
21
|
+
def teardown
|
22
|
+
FileUtils.rm_rf @site_root
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_content
|
26
|
+
content="<p>Hello!Tags:Demo,Example<code class=\"highlight\"><span class=\"nb\">puts</span></code></p>"
|
27
|
+
path='2012-06-12-test.md'
|
28
|
+
FileUtils.copy_file File.join(FIXTURES_DIR,path),File.join(@site.data_path,path)
|
29
|
+
|
30
|
+
f=@site.data['test']
|
31
|
+
assert f.date.year==2012,'Post year 2012'
|
32
|
+
assert f.date.month==6,'Post month 6'
|
33
|
+
assert f.date.day==12,'Post day 12'
|
34
|
+
assert f.slug=='test','Post slug test'
|
35
|
+
assert f.tags==['Demo','Example'],'Post tags read'
|
36
|
+
|
37
|
+
assert f.relpath==path,'Post relpath'
|
38
|
+
assert f.data_id=='test',"Post data_id"
|
39
|
+
|
40
|
+
assert f.content_type=='md','Post should be markdown'
|
41
|
+
|
42
|
+
|
43
|
+
assert f.content.strip==content,'Post content render not correct'
|
44
|
+
|
45
|
+
assert Category===f.category,'Post.category'
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
data/test/SiteTest.rb
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'fileutils'
|
5
|
+
require 'set'
|
6
|
+
require 'PlainSite/Site'
|
7
|
+
require 'git'
|
8
|
+
require 'open3'
|
9
|
+
include PlainSite
|
10
|
+
|
11
|
+
class SiteTest < Test::Unit::TestCase
|
12
|
+
FIXTURES_DIR=File.realpath (File.join File.dirname(__FILE__),'fixtures')
|
13
|
+
|
14
|
+
def setup
|
15
|
+
@site_root=Dir.mktmpdir 'test-site-'
|
16
|
+
@pwd = Dir.pwd
|
17
|
+
end
|
18
|
+
def teardown
|
19
|
+
FileUtils.rm_rf @site_root
|
20
|
+
Dir.chdir @pwd
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_diff_build
|
24
|
+
site=Site.new @site_root
|
25
|
+
site.init_scaffold true
|
26
|
+
|
27
|
+
to_del_post=site.newpost 'essays/git-delete-test1','Git Test 1'
|
28
|
+
to_mod_post=site.newpost 'essays/git-mod-test2','Git Test 2'
|
29
|
+
includes=[]
|
30
|
+
includes.push (site.newpost 'essays/include-test1','Include Test')
|
31
|
+
includes.push (site.newpost 'essays/include-test2','Include Test')
|
32
|
+
includes.push (site.newpost 'essays/include-test3','Include Test')
|
33
|
+
|
34
|
+
|
35
|
+
Dir.chdir @site_root
|
36
|
+
|
37
|
+
Dir.chdir @site_root # `cd #{@site_root}` wont work on fucking MSWindows different partitions
|
38
|
+
`git init`
|
39
|
+
`git add .`
|
40
|
+
`git commit -m Init`
|
41
|
+
|
42
|
+
|
43
|
+
FileUtils.rm to_del_post
|
44
|
+
File.open(to_mod_post,'wb') {|f| f.write "---\ntitle: Modified\n---\n Modified!"}
|
45
|
+
new_post=site.newpost 'essays/git-untracked','Git Test Untracked'
|
46
|
+
|
47
|
+
added_template=File.join site.templates_path,'test.html'
|
48
|
+
File.open(added_template,'wb') {|f| f.write 'TEST Template'}
|
49
|
+
|
50
|
+
`git add #{added_template}`
|
51
|
+
|
52
|
+
|
53
|
+
files=site.diff_files includes
|
54
|
+
|
55
|
+
|
56
|
+
assert [to_mod_post,new_post].to_set <= files[:updated_posts].to_set ,"Should include new and modified posts"
|
57
|
+
assert files[:has_deleted_posts], "Should had deleted posts"
|
58
|
+
|
59
|
+
assert (files[:updated_templates].include? added_template), "Should include added template"
|
60
|
+
|
61
|
+
assert includes.to_set <= files[:updated_posts].to_set ,"Should force include includes-posts"
|
62
|
+
|
63
|
+
site.build(all:true)
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_build
|
68
|
+
site=Site.new @site_root
|
69
|
+
site.init_scaffold true
|
70
|
+
|
71
|
+
|
72
|
+
site.data.subs.each do |cat|
|
73
|
+
20.times do |i|
|
74
|
+
name="2014-#{rand 1..12}-#{rand 1..28 }-hello-post#{i}.md"
|
75
|
+
path=File.join cat.path,name
|
76
|
+
File.open(path,'wb') do |f|
|
77
|
+
s= <<-CONTENT
|
78
|
+
---
|
79
|
+
title: Hello,post#{i}
|
80
|
+
---
|
81
|
+
|
82
|
+
**Content here!**
|
83
|
+
|
84
|
+
Category: <a href="<%=URI.join site.url,"#{cat.data_id}"%>">#{cat.display_name}</a>
|
85
|
+
|
86
|
+
|
87
|
+
<highlight python>
|
88
|
+
def hello(name):
|
89
|
+
print "Hello,%s" % name
|
90
|
+
|
91
|
+
if __name__=='__main__':
|
92
|
+
hello("World!")
|
93
|
+
</highlight>
|
94
|
+
CONTENT
|
95
|
+
f.write s
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
site.build(dest:@site_root,local:true)
|
102
|
+
#puts "\n#{@site_root}\n"
|
103
|
+
#site.serve
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
display_name: 'DemoDemo'
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
Included:<%=code%>
|
@@ -0,0 +1 @@
|
|
1
|
+
<body><%=yield :body%></body>
|
data/test/runtest
ADDED
metadata
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: PlainSite
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jex
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-08-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pygments.rb
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: kramdown
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.17'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.17'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: safe_yaml
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: git
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.5'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.5'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '12.3'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '12.3'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: commander
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.4'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '4.4'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: listen
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.1'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.1'
|
111
|
+
description: PlainSite is a simple but powerful static site generator inspired by
|
112
|
+
Jekyll and Octopress.
|
113
|
+
email: i@jex.im
|
114
|
+
executables:
|
115
|
+
- plainsite
|
116
|
+
extensions: []
|
117
|
+
extra_rdoc_files: []
|
118
|
+
files:
|
119
|
+
- Gemfile
|
120
|
+
- Gemfile.lock
|
121
|
+
- LICENSE
|
122
|
+
- PlainSite.gemspec
|
123
|
+
- README.md
|
124
|
+
- Rakefile
|
125
|
+
- _config.yml
|
126
|
+
- bin/plainsite
|
127
|
+
- lib/PlainSite.rb
|
128
|
+
- lib/PlainSite/Commands.rb
|
129
|
+
- lib/PlainSite/Data/Category.rb
|
130
|
+
- lib/PlainSite/Data/FrontMatterFile.rb
|
131
|
+
- lib/PlainSite/Data/Post.rb
|
132
|
+
- lib/PlainSite/Data/PostList.rb
|
133
|
+
- lib/PlainSite/Data/PostListPage.rb
|
134
|
+
- lib/PlainSite/RenderTask.rb
|
135
|
+
- lib/PlainSite/Site.rb
|
136
|
+
- lib/PlainSite/SocketPatch.rb
|
137
|
+
- lib/PlainSite/Tpl/ExtMethods.rb
|
138
|
+
- lib/PlainSite/Tpl/LayErb.rb
|
139
|
+
- lib/PlainSite/Utils.rb
|
140
|
+
- lib/PlainSite/_scaffold/_src/assets/README.md
|
141
|
+
- lib/PlainSite/_scaffold/_src/assets/css/style.css
|
142
|
+
- lib/PlainSite/_scaffold/_src/assets/favicon.ico
|
143
|
+
- lib/PlainSite/_scaffold/_src/config.yml
|
144
|
+
- lib/PlainSite/_scaffold/_src/data/essays/game-of-life.md
|
145
|
+
- lib/PlainSite/_scaffold/_src/data/essays/phoenix-rebirth.html
|
146
|
+
- lib/PlainSite/_scaffold/_src/data/programming/hello-world.md
|
147
|
+
- lib/PlainSite/_scaffold/_src/extensions/TplExt.rb
|
148
|
+
- lib/PlainSite/_scaffold/_src/routes.rb
|
149
|
+
- lib/PlainSite/_scaffold/_src/templates/404.html
|
150
|
+
- lib/PlainSite/_scaffold/_src/templates/about.html
|
151
|
+
- lib/PlainSite/_scaffold/_src/templates/base.html
|
152
|
+
- lib/PlainSite/_scaffold/_src/templates/header.html
|
153
|
+
- lib/PlainSite/_scaffold/_src/templates/index.html
|
154
|
+
- lib/PlainSite/_scaffold/_src/templates/list.html
|
155
|
+
- lib/PlainSite/_scaffold/_src/templates/post.html
|
156
|
+
- lib/PlainSite/_scaffold/_src/templates/rss.erb
|
157
|
+
- test/CategoryTest.rb
|
158
|
+
- test/FrontMatterFileTest.rb
|
159
|
+
- test/LayErbTest.rb
|
160
|
+
- test/ObjectProxyTest.rb
|
161
|
+
- test/PostListTest.rb
|
162
|
+
- test/PostTest.rb
|
163
|
+
- test/SiteTest.rb
|
164
|
+
- test/fixtures/2012-06-12-test.md
|
165
|
+
- test/fixtures/category-demo/2012-06-12-post1.md
|
166
|
+
- test/fixtures/category-demo/2013-05-01-post2.md
|
167
|
+
- test/fixtures/category-demo/_meta.yml
|
168
|
+
- test/fixtures/category-demo/index.md
|
169
|
+
- test/fixtures/category-demo/sub-category1/sub-post1.md
|
170
|
+
- test/fixtures/category-demo/sub-category2/sub-post2.md
|
171
|
+
- test/fixtures/include.erb
|
172
|
+
- test/fixtures/invalid-front-matter.html
|
173
|
+
- test/fixtures/layout.erb
|
174
|
+
- test/fixtures/no-front-matter.html
|
175
|
+
- test/fixtures/tpl.erb
|
176
|
+
- test/fixtures/valid-front-matter.html
|
177
|
+
- test/runtest
|
178
|
+
homepage: https://github.com/CJex/PlainSite
|
179
|
+
licenses:
|
180
|
+
- MIT
|
181
|
+
metadata: {}
|
182
|
+
post_install_message:
|
183
|
+
rdoc_options: []
|
184
|
+
require_paths:
|
185
|
+
- lib
|
186
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - ">="
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 1.9.3
|
191
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - ">="
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: '0'
|
196
|
+
requirements: []
|
197
|
+
rubyforge_project:
|
198
|
+
rubygems_version: 2.6.14.1
|
199
|
+
signing_key:
|
200
|
+
specification_version: 4
|
201
|
+
summary: A Truely Hackable Static Site Generator.
|
202
|
+
test_files: []
|