alula 0.4.10 → 0.4.11a
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/alula/cli.rb +10 -1
- data/lib/alula/config.rb +3 -0
- data/lib/alula/core_ext/tags/video.rb +2 -0
- data/lib/alula/processor.rb +1 -1
- data/lib/alula/site.rb +6 -0
- data/lib/alula/version.rb +9 -2
- metadata +80 -280
- data/.gitignore +0 -19
- data/Gemfile +0 -11
- data/Guardfile +0 -9
- data/README.md +0 -29
- data/Rakefile +0 -17
- data/VERSION +0 -1
- data/alula.gemspec +0 -48
- data/locales/en.yml +0 -11
- data/locales/fi.yml +0 -11
- data/locales/l10n/ar.yml +0 -199
- data/locales/l10n/az.yml +0 -199
- data/locales/l10n/bg.yml +0 -199
- data/locales/l10n/bn-IN.yml +0 -182
- data/locales/l10n/bs.yml +0 -242
- data/locales/l10n/ca.yml +0 -199
- data/locales/l10n/cs.yml +0 -198
- data/locales/l10n/csb.yml +0 -210
- data/locales/l10n/cy.yml +0 -199
- data/locales/l10n/da.yml +0 -199
- data/locales/l10n/de-AT.yml +0 -203
- data/locales/l10n/de-CH.yml +0 -203
- data/locales/l10n/de.yml +0 -203
- data/locales/l10n/dsb.yml +0 -215
- data/locales/l10n/el.yml +0 -199
- data/locales/l10n/en-AU.yml +0 -205
- data/locales/l10n/en-CA.yml +0 -214
- data/locales/l10n/en-GB.yml +0 -205
- data/locales/l10n/en-IN.yml +0 -205
- data/locales/l10n/en-US.yml +0 -205
- data/locales/l10n/en.yml +0 -205
- data/locales/l10n/eo.yml +0 -201
- data/locales/l10n/es-AR.yml +0 -205
- data/locales/l10n/es-CL.yml +0 -199
- data/locales/l10n/es-CO.yml +0 -205
- data/locales/l10n/es-MX.yml +0 -205
- data/locales/l10n/es-PE.yml +0 -181
- data/locales/l10n/es-VE.yml +0 -205
- data/locales/l10n/es.yml +0 -199
- data/locales/l10n/et.yml +0 -199
- data/locales/l10n/eu.yml +0 -199
- data/locales/l10n/fa.yml +0 -199
- data/locales/l10n/fi.yml +0 -199
- data/locales/l10n/fr-CA.yml +0 -207
- data/locales/l10n/fr-CH.yml +0 -207
- data/locales/l10n/fr.yml +0 -222
- data/locales/l10n/fur.yml +0 -199
- data/locales/l10n/gl-ES.yml +0 -178
- data/locales/l10n/gsw-CH.yml +0 -199
- data/locales/l10n/he.yml +0 -201
- data/locales/l10n/hi-IN.yml +0 -199
- data/locales/l10n/hi.yml +0 -199
- data/locales/l10n/hr.yml +0 -237
- data/locales/l10n/hsb.yml +0 -214
- data/locales/l10n/hu.yml +0 -199
- data/locales/l10n/id.yml +0 -200
- data/locales/l10n/is.yml +0 -213
- data/locales/l10n/it.yml +0 -205
- data/locales/l10n/ja.yml +0 -197
- data/locales/l10n/kn.yml +0 -199
- data/locales/l10n/ko.yml +0 -197
- data/locales/l10n/lo.yml +0 -186
- data/locales/l10n/lt.yml +0 -182
- data/locales/l10n/lv.yml +0 -215
- data/locales/l10n/mk.yml +0 -170
- data/locales/l10n/mn.yml +0 -205
- data/locales/l10n/nb.yml +0 -207
- data/locales/l10n/nl.yml +0 -199
- data/locales/l10n/nn.yml +0 -160
- data/locales/l10n/pl.yml +0 -221
- data/locales/l10n/pt-BR.yml +0 -207
- data/locales/l10n/pt-PT.yml +0 -207
- data/locales/l10n/quotes.yml +0 -24
- data/locales/l10n/rm.yml +0 -182
- data/locales/l10n/ro.yml +0 -199
- data/locales/l10n/ru.yml +0 -257
- data/locales/l10n/sk.yml +0 -213
- data/locales/l10n/sl.yml +0 -210
- data/locales/l10n/sr-Latn.yml +0 -170
- data/locales/l10n/sr.yml +0 -170
- data/locales/l10n/sv-SE.yml +0 -199
- data/locales/l10n/sw.yml +0 -197
- data/locales/l10n/th.yml +0 -173
- data/locales/l10n/tl.yml +0 -229
- data/locales/l10n/tr.yml +0 -199
- data/locales/l10n/uk.yml +0 -257
- data/locales/l10n/vi.yml +0 -201
- data/locales/l10n/wo.yml +0 -205
- data/locales/l10n/zh-CN.yml +0 -199
- data/locales/l10n/zh-TW.yml +0 -199
- data/template/Gemfile.erb +0 -15
- data/template/README +0 -16
- data/template/config.yml.erb +0 -42
- data/test/fixtures/config_001_simple.yml +0 -2
- data/test/fixtures/config_002_l10n.yml +0 -5
- data/test/fixtures/pages/invalid-page.markdown +0 -1
- data/test/fixtures/pages/multilingual-page.markdown +0 -20
- data/test/fixtures/pages/section/subpage.markdown +0 -5
- data/test/fixtures/pages/simple-page.markdown +0 -7
- data/test/fixtures/posts/2012-07-02-invalid-post.markdown +0 -1
- data/test/fixtures/posts/2012-07-02-simple.markdown +0 -7
- data/test/fixtures/posts/2012-07-03-full-metadata.markdown +0 -8
- data/test/fixtures/posts/2012-07-03-multilingual-full-metadata.markdown +0 -20
- data/test/fixtures/theme/test/layouts/default.html.erb +0 -1
- data/test/fixtures/theme/test/views/page.html.erb +0 -1
- data/test/fixtures/theme/test/views/post.html.erb +0 -1
- data/test/minitest_helper.rb +0 -14
- data/test/test_config.rb +0 -33
- data/test/test_content.rb +0 -30
- data/test/test_metadata.rb +0 -83
- data/test/test_page.rb +0 -81
- data/test/test_post.rb +0 -123
- data/test/test_storage.rb +0 -23
- data/test/test_storage_file.rb +0 -32
- data/test/test_theme.rb +0 -45
- data/vendor/assets/images/favicon.png +0 -0
- data/vendor/assets/images/grey.gif +0 -0
- data/vendor/assets/javascripts/jquery.alula.js.coffee +0 -16
- data/vendor/assets/javascripts/jquery.js +0 -4
- data/vendor/assets/javascripts/jquery.lazyload.js +0 -210
- data/vendor/assets/javascripts/lazyload.js.coffee +0 -15
- data/vendor/layouts/feed.xml.builder +0 -19
- data/vendor/layouts/sitemap.xml.builder +0 -10
- data/vendor/static/favicon.ico +0 -0
- data/vendor/views/feed_post.html.haml +0 -1
- /data/{LICENSE → MIT-LICENSE} +0 -0
data/test/test_metadata.rb
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
require "minitest_helper"
|
2
|
-
require 'alula/contents/metadata'
|
3
|
-
|
4
|
-
describe Alula::Content::Metadata do
|
5
|
-
it "loads empty metadata" do
|
6
|
-
meta = Alula::Content::Metadata.new
|
7
|
-
meta.title.must_be_nil
|
8
|
-
end
|
9
|
-
|
10
|
-
it "accepts simple metadata" do
|
11
|
-
meta = Alula::Content::Metadata.new
|
12
|
-
meta.title = "Simple Title"
|
13
|
-
meta.title.must_equal "Simple Title"
|
14
|
-
end
|
15
|
-
|
16
|
-
it "load simple payload" do
|
17
|
-
payload = <<-EOF
|
18
|
-
title: Simple Title
|
19
|
-
layout: default
|
20
|
-
slug: another-slug
|
21
|
-
EOF
|
22
|
-
|
23
|
-
meta = Alula::Content::Metadata.new
|
24
|
-
meta.load(payload)
|
25
|
-
|
26
|
-
meta.title.must_equal "Simple Title"
|
27
|
-
meta.layout.must_equal "default"
|
28
|
-
meta.slug.must_equal "another-slug"
|
29
|
-
|
30
|
-
meta.languages.must_be_nil
|
31
|
-
end
|
32
|
-
|
33
|
-
it "localised payload" do
|
34
|
-
payload = <<-EOF
|
35
|
-
title:
|
36
|
-
en: Simple Title
|
37
|
-
fi: Yksinkertainen otsikko
|
38
|
-
layout:
|
39
|
-
en: default
|
40
|
-
slug:
|
41
|
-
en: another-slug
|
42
|
-
fi: yksinkertainen-otsikko
|
43
|
-
EOF
|
44
|
-
|
45
|
-
meta = Alula::Content::Metadata.new
|
46
|
-
meta.load(payload)
|
47
|
-
|
48
|
-
# Default language, i.e. first localisation
|
49
|
-
meta.title.must_equal "Simple Title"
|
50
|
-
meta.layout.must_equal "default"
|
51
|
-
meta.slug.must_equal "another-slug"
|
52
|
-
|
53
|
-
# Specific language
|
54
|
-
meta.title("fi").must_equal "Yksinkertainen otsikko"
|
55
|
-
meta.layout("fi").must_equal "default"
|
56
|
-
meta.slug("fi").must_equal "yksinkertainen-otsikko"
|
57
|
-
|
58
|
-
# Fetch proper languages list
|
59
|
-
meta.languages.must_equal ["en", "fi"]
|
60
|
-
end
|
61
|
-
|
62
|
-
it "custom date setter" do
|
63
|
-
require 'time'
|
64
|
-
|
65
|
-
meta = Alula::Content::Metadata.new
|
66
|
-
|
67
|
-
meta.date = "2012-07-02"
|
68
|
-
meta.date.must_be_kind_of Time
|
69
|
-
meta.date.year.must_equal 2012
|
70
|
-
meta.date.month.must_equal 7
|
71
|
-
meta.date.day.must_equal 2
|
72
|
-
|
73
|
-
d = Time.parse("2012-07-02")
|
74
|
-
meta.date = d
|
75
|
-
meta.date.must_be_kind_of Time
|
76
|
-
meta.date.year.must_equal d.year
|
77
|
-
meta.date.month.must_equal d.month
|
78
|
-
meta.date.day.must_equal d.day
|
79
|
-
|
80
|
-
meta.date = "2012-13-45"
|
81
|
-
meta.date.must_be_nil
|
82
|
-
end
|
83
|
-
end
|
data/test/test_page.rb
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
require "minitest_helper"
|
2
|
-
require 'alula/contents/page'
|
3
|
-
|
4
|
-
describe Alula::Content::Page do
|
5
|
-
before do
|
6
|
-
@site = MiniTest::Mock.new
|
7
|
-
@site.expect :context, {}
|
8
|
-
@site.expect :config, OpenStruct.new({
|
9
|
-
permalinks: "/:year/:month/:title/",
|
10
|
-
pagelinks: "/:locale/:slug/",
|
11
|
-
locale: "en", hides_base_locale: true,
|
12
|
-
})
|
13
|
-
end
|
14
|
-
|
15
|
-
def mock_item(name)
|
16
|
-
item = MiniTest::Mock.new
|
17
|
-
item.expect :nil?, false
|
18
|
-
item.expect :exists?, File.exists?("test/fixtures/pages/#{name}")
|
19
|
-
item.expect :name, name
|
20
|
-
if File.exists?("test/fixtures/pages/#{name}")
|
21
|
-
item.expect :has_payload?, File.read("test/fixtures/pages/#{name}", 3) == "---"
|
22
|
-
item.expect :read, File.read("test/fixtures/pages/#{name}")
|
23
|
-
end
|
24
|
-
|
25
|
-
item
|
26
|
-
end
|
27
|
-
|
28
|
-
let :simple_page do
|
29
|
-
mock_item("simple-page.markdown")
|
30
|
-
end
|
31
|
-
|
32
|
-
let :invalid_page do
|
33
|
-
mock_item("invalid-page.markdown")
|
34
|
-
end
|
35
|
-
|
36
|
-
let :multilingual_page do
|
37
|
-
mock_item("multilingual-page.markdown")
|
38
|
-
end
|
39
|
-
|
40
|
-
let :subpage do
|
41
|
-
mock_item("section/subpage.markdown")
|
42
|
-
end
|
43
|
-
|
44
|
-
let :missing_page do
|
45
|
-
mock_item("missing.page")
|
46
|
-
end
|
47
|
-
|
48
|
-
it "fails with non-existing file" do
|
49
|
-
page = Alula::Content::Page.load(item: missing_page, site: @site)
|
50
|
-
end
|
51
|
-
|
52
|
-
it "loads simple page" do
|
53
|
-
page = Alula::Content::Page.load(item: simple_page, site: @site)
|
54
|
-
end
|
55
|
-
|
56
|
-
it "skips invalid page" do
|
57
|
-
page = Alula::Content::Page.load(item: invalid_page, site: @site)
|
58
|
-
end
|
59
|
-
|
60
|
-
it "parses simple post" do
|
61
|
-
page = Alula::Content::Page.load(item: simple_page, site: @site)
|
62
|
-
page.metadata.title.must_equal "Simple Page"
|
63
|
-
page.metadata.languages.must_be_nil
|
64
|
-
|
65
|
-
# Parse and render
|
66
|
-
page.send(:parse_liquid).must_equal "# Header\n\nThis is a simple page.\n"
|
67
|
-
|
68
|
-
page.send(:parse_markdown).must_equal "<h1>Header</h1>\n\n<p>This is a simple page.</p>\n"
|
69
|
-
end
|
70
|
-
|
71
|
-
it "parses multilingual page" do
|
72
|
-
page = Alula::Content::Page.load(item: multilingual_page, site: @site)
|
73
|
-
page.url.must_equal "/about/"
|
74
|
-
page.url("fi").must_equal "/fi/mina/"
|
75
|
-
end
|
76
|
-
|
77
|
-
it "parses subpages" do
|
78
|
-
page = Alula::Content::Page.load(item: subpage, site: @site)
|
79
|
-
page.url.must_equal "/section/subpage/"
|
80
|
-
end
|
81
|
-
end
|
data/test/test_post.rb
DELETED
@@ -1,123 +0,0 @@
|
|
1
|
-
require "minitest_helper"
|
2
|
-
require 'alula/contents/post'
|
3
|
-
require 'alula/config'
|
4
|
-
require 'alula/storage'
|
5
|
-
|
6
|
-
describe Alula::Content::Post do
|
7
|
-
before do
|
8
|
-
@site = MiniTest::Mock.new
|
9
|
-
@site.expect :context, {}
|
10
|
-
@site.expect :config, OpenStruct.new({
|
11
|
-
permalinks: "/:year/:month/:title/",
|
12
|
-
pagelinks: "/:locale/:slug/",
|
13
|
-
locale: "en", hides_base_locale: true,
|
14
|
-
})
|
15
|
-
end
|
16
|
-
|
17
|
-
def mock_item(name)
|
18
|
-
item = MiniTest::Mock.new
|
19
|
-
item.expect :nil?, false
|
20
|
-
item.expect :exists?, File.exists?("test/fixtures/posts/#{name}")
|
21
|
-
item.expect :name, name
|
22
|
-
if File.exists?("test/fixtures/posts/#{name}")
|
23
|
-
item.expect :has_payload?, File.read("test/fixtures/posts/#{name}", 3) == "---"
|
24
|
-
item.expect :read, File.read("test/fixtures/posts/#{name}")
|
25
|
-
end
|
26
|
-
|
27
|
-
item
|
28
|
-
end
|
29
|
-
|
30
|
-
let :missing_post do
|
31
|
-
mock_item("invalid.file")
|
32
|
-
end
|
33
|
-
|
34
|
-
let :simple_post do
|
35
|
-
mock_item("2012-07-02-simple.markdown")
|
36
|
-
end
|
37
|
-
|
38
|
-
let :metadata_post do
|
39
|
-
mock_item("2012-07-03-full-metadata.markdown")
|
40
|
-
end
|
41
|
-
|
42
|
-
let :invalid_post do
|
43
|
-
mock_item("2012-07-02-invalid-post.markdown")
|
44
|
-
end
|
45
|
-
|
46
|
-
let :complex_post do
|
47
|
-
mock_item("2012-07-03-multilingual-full-metadata.markdown")
|
48
|
-
end
|
49
|
-
|
50
|
-
it "fails with non-existing file" do
|
51
|
-
post = Alula::Content::Post.load(item: missing_post, site: @site)
|
52
|
-
post.must_be_nil
|
53
|
-
end
|
54
|
-
|
55
|
-
it "skips invalid post" do
|
56
|
-
post = Alula::Content::Post.load(item: invalid_post, site: @site)
|
57
|
-
end
|
58
|
-
|
59
|
-
it "parses simple post" do
|
60
|
-
post = Alula::Content::Post.load(item: simple_post, site: @site)
|
61
|
-
post.metadata.title.must_equal "Simple Post"
|
62
|
-
post.metadata.languages.must_be_nil
|
63
|
-
|
64
|
-
# Parse and render
|
65
|
-
post.send(:parse_liquid).must_equal "# Header\n\nThis is a simple post.\n"
|
66
|
-
post.send(:parse_markdown).must_equal "<h1>Header</h1>\n\n<p>This is a simple post.</p>\n"
|
67
|
-
|
68
|
-
# Path and URI must be correct
|
69
|
-
post.path.must_equal "/2012/07/simple-post/index.html"
|
70
|
-
post.url.must_equal "/2012/07/simple-post/"
|
71
|
-
end
|
72
|
-
|
73
|
-
it "parses full metadata post" do
|
74
|
-
post = Alula::Content::Post.load(item: metadata_post, site: @site)
|
75
|
-
post.url.must_equal "/blog/path/to/long/nonce/to/get/nonce/"
|
76
|
-
post.path.must_equal "/blog/path/to/long/nonce/to/get/nonce/index.html"
|
77
|
-
end
|
78
|
-
|
79
|
-
it "parses complex post" do
|
80
|
-
@site.config.permalinks = "/:locale/:year/:month/:title/"
|
81
|
-
@site.config.locale = "en"
|
82
|
-
@site.config.hides_base_locale = true
|
83
|
-
|
84
|
-
post = Alula::Content::Post.load(item: complex_post, site: @site)
|
85
|
-
post.metadata.title.must_equal "Multilingual Post"
|
86
|
-
post.metadata.languages.must_equal ["en", "fi"]
|
87
|
-
post.metadata.title("fi").must_equal "Monikielinen kirjoitelma"
|
88
|
-
|
89
|
-
post.url.must_equal "/2012/07/multilingual-post/"
|
90
|
-
post.url("fi").must_equal "/fi/2012/07/monikielinen-kirjoitelma/"
|
91
|
-
|
92
|
-
@site.config.hides_base_locale = false
|
93
|
-
post = Alula::Content::Post.load(item: complex_post, site: @site)
|
94
|
-
post.url.must_equal "/en/2012/07/multilingual-post/"
|
95
|
-
|
96
|
-
@site.config.permalinks = "/:locale/:year/:slug"
|
97
|
-
post = Alula::Content::Post.load(item: complex_post, site: @site)
|
98
|
-
post.url("fi").must_equal "/fi/2012/monikielinen-blogi-kirjoitelma.html"
|
99
|
-
post.path("fi").must_equal "/fi/2012/monikielinen-blogi-kirjoitelma.html"
|
100
|
-
end
|
101
|
-
|
102
|
-
it "renders content on simple post" do
|
103
|
-
# Create mockup layout
|
104
|
-
view = MiniTest::Mock.new
|
105
|
-
view.expect :render, "<h1>Header</h1>", [{}]
|
106
|
-
|
107
|
-
layout = MiniTest::Mock.new
|
108
|
-
|
109
|
-
theme = MiniTest::Mock.new
|
110
|
-
theme.expect :view, view, ["post"]
|
111
|
-
|
112
|
-
site = MiniTest::Mock.new
|
113
|
-
site.expect :context, {}
|
114
|
-
site.expect :config, OpenStruct.new({locale: "en"})
|
115
|
-
site.expect :theme, theme
|
116
|
-
post = Alula::Content::Post.load(item: simple_post, site: site)
|
117
|
-
|
118
|
-
# Render page using current layout, for all languages
|
119
|
-
post.render
|
120
|
-
post.content.must_equal "<h1>Header</h1>"
|
121
|
-
|
122
|
-
end
|
123
|
-
end
|
data/test/test_storage.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require "minitest_helper"
|
2
|
-
require 'alula/storage'
|
3
|
-
require 'ostruct'
|
4
|
-
|
5
|
-
describe "Storage" do
|
6
|
-
before do
|
7
|
-
@site = MiniTest::Mock.new
|
8
|
-
@site.expect :config, OpenStruct.new({})
|
9
|
-
end
|
10
|
-
|
11
|
-
it "loads proper provider" do
|
12
|
-
puts ":: #{@site.config.storage.inspect}"
|
13
|
-
@site.config.storage = {"none" => {}}
|
14
|
-
storage = Alula::Storage.load(site: @site)
|
15
|
-
storage.must_be_nil
|
16
|
-
|
17
|
-
@site.config.storage = {"file" => { "content_path" => 'test/fixtures', "pages_path" => 'test/fixtures/pages',
|
18
|
-
"posts_path" => 'test/fixtures/posts', "attachments_path" => 'test/fixtures/attachments', "public_path" => 'public' }}
|
19
|
-
storage = Alula::Storage.load(site: @site)
|
20
|
-
storage.wont_be_nil
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|
data/test/test_storage_file.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require "minitest_helper"
|
2
|
-
require 'alula/storages/file'
|
3
|
-
require 'ostruct'
|
4
|
-
|
5
|
-
describe "File Storage" do
|
6
|
-
before do
|
7
|
-
@site = MiniTest::Mock.new
|
8
|
-
@config = {
|
9
|
-
"content_path" => 'test/fixtures',
|
10
|
-
"pages_path" => 'test/fixtures/pages',
|
11
|
-
"posts_path" => 'test/fixtures/posts',
|
12
|
-
"attachments_path" => 'test/fixtures/attachments',
|
13
|
-
"public_path" => 'public',
|
14
|
-
}
|
15
|
-
end
|
16
|
-
|
17
|
-
it "accept simple configuration" do
|
18
|
-
storage = Alula::Storage::File.new(@config, site: @site)
|
19
|
-
end
|
20
|
-
|
21
|
-
it "lists all posts" do
|
22
|
-
storage = Alula::Storage::File.new(@config, site: @site)
|
23
|
-
storage.posts.count.must_equal 4
|
24
|
-
storage.post("2012-07-02-simple.markdown").wont_be_nil
|
25
|
-
end
|
26
|
-
|
27
|
-
it "list all pages" do
|
28
|
-
storage = Alula::Storage::File.new(@config, site: @site)
|
29
|
-
storage.pages.count.must_equal 4
|
30
|
-
storage.page("simple-page.markdown").wont_be_nil
|
31
|
-
end
|
32
|
-
end
|
data/test/test_theme.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require "minitest_helper"
|
2
|
-
require 'alula/theme'
|
3
|
-
require 'ostruct'
|
4
|
-
|
5
|
-
describe "Themes" do
|
6
|
-
before do
|
7
|
-
context = Object.new
|
8
|
-
context.class.class_eval do
|
9
|
-
def initialize; @vars = {}; end
|
10
|
-
def [](key); @vars[key]; end
|
11
|
-
def []=(key, val); @vars[key] = val; end
|
12
|
-
def method_missing(meth, *args, &blk); return @vars[meth] if @vars; super; end
|
13
|
-
end
|
14
|
-
|
15
|
-
@site = MiniTest::Mock.new
|
16
|
-
@site.expect :config, OpenStruct.new({theme: 'test'})
|
17
|
-
@site.expect :context, context
|
18
|
-
|
19
|
-
# Register our theme
|
20
|
-
Alula::Theme.register(:test, "test/fixtures/theme")
|
21
|
-
end
|
22
|
-
|
23
|
-
it "doesn't load nonexisting theme" do
|
24
|
-
@site.config.theme = "unknown"
|
25
|
-
theme = Alula::Theme.load(site: @site)
|
26
|
-
theme.must_be_nil
|
27
|
-
end
|
28
|
-
|
29
|
-
it "has working theme" do
|
30
|
-
@site.config.theme = "test"
|
31
|
-
theme = Alula::Theme.load(site: @site)
|
32
|
-
theme.wont_be_nil
|
33
|
-
|
34
|
-
# Find layout
|
35
|
-
layout = theme.layout("default")
|
36
|
-
layout.wont_be_nil
|
37
|
-
|
38
|
-
# Find view
|
39
|
-
view = theme.view("post")
|
40
|
-
view.wont_be_nil
|
41
|
-
|
42
|
-
# Test rendering
|
43
|
-
view.render(content: "Theme Test").must_equal "<html><body><p>Theme Test</p></body></html>"
|
44
|
-
end
|
45
|
-
end
|
Binary file
|
Binary file
|
@@ -1,16 +0,0 @@
|
|
1
|
-
#=require jquery
|
2
|
-
#
|
3
|
-
# Copyright Owl Forstry
|
4
|
-
# Alula JavaScript additions
|
5
|
-
|
6
|
-
# Make sure we have devicePixelRatio always available
|
7
|
-
jQuery.getDevicePixelRatio = ->
|
8
|
-
if window.devicePixelRatio is undefined
|
9
|
-
return 1
|
10
|
-
else
|
11
|
-
return window.devicePixelRatio
|
12
|
-
|
13
|
-
# Hide mobile Safari address bar
|
14
|
-
jQuery ->
|
15
|
-
delay = (ms, func) -> setTimeout func, ms
|
16
|
-
delay 0, -> window.scrollTo(0, 1)
|