jekyll 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of jekyll might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.markdown +1 -1
- data/lib/jekyll.rb +0 -1
- data/lib/jekyll/collection.rb +18 -3
- data/lib/jekyll/command.rb +0 -25
- data/lib/jekyll/commands/build.rb +7 -2
- data/lib/jekyll/commands/help.rb +33 -0
- data/lib/jekyll/configuration.rb +36 -28
- data/lib/jekyll/converters/markdown/kramdown_parser.rb +1 -1
- data/lib/jekyll/convertible.rb +43 -20
- data/lib/jekyll/deprecator.rb +15 -8
- data/lib/jekyll/document.rb +21 -4
- data/lib/jekyll/filters.rb +27 -1
- data/lib/jekyll/frontmatter_defaults.rb +46 -12
- data/lib/jekyll/plugin.rb +10 -1
- data/lib/jekyll/post.rb +6 -13
- data/lib/jekyll/related_posts.rb +2 -2
- data/lib/jekyll/renderer.rb +7 -2
- data/lib/jekyll/site.rb +5 -7
- data/lib/jekyll/static_file.rb +24 -4
- data/lib/jekyll/tags/include.rb +3 -1
- data/lib/jekyll/tags/post_url.rb +2 -2
- data/lib/jekyll/utils.rb +88 -69
- data/lib/jekyll/version.rb +1 -1
- data/lib/site_template/_config.yml +6 -4
- data/lib/site_template/_includes/footer.html +43 -49
- data/lib/site_template/_includes/head.html +3 -4
- data/lib/site_template/_includes/header.html +9 -10
- data/lib/site_template/_layouts/default.html +6 -5
- data/lib/site_template/_layouts/page.html +3 -3
- data/lib/site_template/_layouts/post.html +4 -4
- data/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +6 -5
- data/lib/site_template/_sass/_base.scss +203 -0
- data/lib/site_template/_sass/_layout.scss +236 -0
- data/lib/site_template/_sass/_syntax-highlighting.scss +67 -0
- data/lib/site_template/css/main.scss +49 -0
- data/lib/site_template/feed.xml +1 -1
- data/lib/site_template/index.html +7 -4
- metadata +24 -431
- data/.gitignore +0 -15
- data/.travis.yml +0 -27
- data/CONTRIBUTING.markdown +0 -91
- data/Gemfile +0 -2
- data/History.markdown +0 -1310
- data/Rakefile +0 -268
- data/cucumber.yml +0 -3
- data/docs/jp/CONTRIBUTING.jp.markdown +0 -93
- data/docs/jp/README.jp.markdown +0 -68
- data/features/collections.feature +0 -145
- data/features/create_sites.feature +0 -158
- data/features/data.feature +0 -105
- data/features/drafts.feature +0 -46
- data/features/embed_filters.feature +0 -107
- data/features/frontmatter_defaults.feature +0 -136
- data/features/include_tag.feature +0 -68
- data/features/markdown.feature +0 -67
- data/features/pagination.feature +0 -82
- data/features/permalinks.feature +0 -85
- data/features/post_data.feature +0 -261
- data/features/post_excerpts.feature +0 -50
- data/features/rendering.feature +0 -34
- data/features/site_configuration.feature +0 -283
- data/features/site_data.feature +0 -107
- data/features/step_definitions/jekyll_steps.rb +0 -201
- data/features/support/env.rb +0 -65
- data/jekyll.gemspec +0 -66
- data/lib/site_template/css/main.css +0 -410
- data/script/bootstrap +0 -4
- data/script/branding +0 -11
- data/script/cibuild +0 -7
- data/script/console +0 -38
- data/script/proof +0 -22
- data/script/rebund +0 -140
- data/script/test +0 -17
- data/site/.gitignore +0 -4
- data/site/CNAME +0 -1
- data/site/README +0 -1
- data/site/_config.yml +0 -9
- data/site/_data/docs.yml +0 -46
- data/site/_includes/analytics.html +0 -30
- data/site/_includes/anchor_links.html +0 -32
- data/site/_includes/css/font-awesome.css +0 -44
- data/site/_includes/css/gridism.css +0 -110
- data/site/_includes/css/normalize.css +0 -1
- data/site/_includes/css/pygments.css +0 -72
- data/site/_includes/css/style.css +0 -1045
- data/site/_includes/docs_contents.html +0 -8
- data/site/_includes/docs_contents_mobile.html +0 -10
- data/site/_includes/docs_option.html +0 -11
- data/site/_includes/docs_ul.html +0 -20
- data/site/_includes/footer.html +0 -15
- data/site/_includes/header.html +0 -18
- data/site/_includes/news_contents.html +0 -33
- data/site/_includes/news_contents_mobile.html +0 -11
- data/site/_includes/news_item.html +0 -24
- data/site/_includes/primary-nav-items.html +0 -17
- data/site/_includes/section_nav.html +0 -22
- data/site/_includes/top.html +0 -17
- data/site/_layouts/default.html +0 -13
- data/site/_layouts/docs.html +0 -23
- data/site/_layouts/news.html +0 -19
- data/site/_layouts/news_item.html +0 -27
- data/site/_posts/2013-05-06-jekyll-1-0-0-released.markdown +0 -23
- data/site/_posts/2013-05-08-jekyll-1-0-1-released.markdown +0 -27
- data/site/_posts/2013-05-12-jekyll-1-0-2-released.markdown +0 -28
- data/site/_posts/2013-06-07-jekyll-1-0-3-released.markdown +0 -25
- data/site/_posts/2013-07-14-jekyll-1-1-0-released.markdown +0 -27
- data/site/_posts/2013-07-24-jekyll-1-1-1-released.markdown +0 -31
- data/site/_posts/2013-07-25-jekyll-1-0-4-released.markdown +0 -20
- data/site/_posts/2013-07-25-jekyll-1-1-2-released.markdown +0 -20
- data/site/_posts/2013-09-06-jekyll-1-2-0-released.markdown +0 -23
- data/site/_posts/2013-09-14-jekyll-1-2-1-released.markdown +0 -19
- data/site/_posts/2013-10-28-jekyll-1-3-0-rc1-released.markdown +0 -19
- data/site/_posts/2013-11-04-jekyll-1-3-0-released.markdown +0 -43
- data/site/_posts/2013-11-26-jekyll-1-3-1-released.markdown +0 -21
- data/site/_posts/2013-12-07-jekyll-1-4-0-released.markdown +0 -30
- data/site/_posts/2013-12-09-jekyll-1-4-1-released.markdown +0 -20
- data/site/_posts/2013-12-16-jekyll-1-4-2-released.markdown +0 -18
- data/site/_posts/2014-01-13-jekyll-1-4-3-released.markdown +0 -26
- data/site/_posts/2014-03-24-jekyll-1-5-0-released.markdown +0 -19
- data/site/_posts/2014-03-27-jekyll-1-5-1-released.markdown +0 -26
- data/site/_posts/2014-05-06-jekyll-turns-2-0-0.markdown +0 -31
- data/site/_posts/2014-05-08-jekyll-2-0-3-released.markdown +0 -18
- data/site/_posts/2014-06-04-jekyll-stickers-1-dollar-stickermule.markdown +0 -19
- data/site/_posts/2014-06-28-jekyll-turns-21-i-mean-2-1-0.markdown +0 -31
- data/site/_posts/2014-07-01-jekyll-2-1-1-released.markdown +0 -30
- data/site/_posts/2014-07-29-jekyll-2-2-0-released.markdown +0 -19
- data/site/css/screen.css +0 -31
- data/site/docs/assets.md +0 -66
- data/site/docs/collections.md +0 -259
- data/site/docs/configuration.md +0 -536
- data/site/docs/continuous-integration.md +0 -177
- data/site/docs/contributing.md +0 -133
- data/site/docs/datafiles.md +0 -108
- data/site/docs/deployment-methods.md +0 -127
- data/site/docs/drafts.md +0 -21
- data/site/docs/extras.md +0 -18
- data/site/docs/frontmatter.md +0 -191
- data/site/docs/github-pages.md +0 -91
- data/site/docs/history.md +0 -1514
- data/site/docs/index.md +0 -58
- data/site/docs/installation.md +0 -106
- data/site/docs/migrations.md +0 -11
- data/site/docs/pages.md +0 -86
- data/site/docs/pagination.md +0 -212
- data/site/docs/permalinks.md +0 -188
- data/site/docs/plugins.md +0 -561
- data/site/docs/posts.md +0 -211
- data/site/docs/quickstart.md +0 -26
- data/site/docs/resources.md +0 -43
- data/site/docs/sites.md +0 -29
- data/site/docs/structure.md +0 -190
- data/site/docs/templates.md +0 -376
- data/site/docs/troubleshooting.md +0 -147
- data/site/docs/upgrading.md +0 -146
- data/site/docs/usage.md +0 -74
- data/site/docs/variables.md +0 -382
- data/site/docs/windows.md +0 -44
- data/site/favicon.ico +0 -0
- data/site/feed.xml +0 -48
- data/site/fonts/FontAwesome.otf +0 -0
- data/site/fonts/fontawesome-webfont.eot +0 -0
- data/site/fonts/fontawesome-webfont.svg +0 -504
- data/site/fonts/fontawesome-webfont.ttf +0 -0
- data/site/fonts/fontawesome-webfont.woff +0 -0
- data/site/freenode.txt +0 -1
- data/site/img/article-footer.png +0 -0
- data/site/img/footer-arrow.png +0 -0
- data/site/img/footer-logo.png +0 -0
- data/site/img/jekyll-sticker.jpg +0 -0
- data/site/img/logo-2x.png +0 -0
- data/site/img/logo-rss.png +0 -0
- data/site/img/octojekyll.png +0 -0
- data/site/index.html +0 -90
- data/site/js/html5shiv.min.js +0 -4
- data/site/js/respond.min.js +0 -5
- data/site/news/index.html +0 -10
- data/site/news/releases/index.html +0 -10
- data/test/fixtures/broken_front_matter1.erb +0 -5
- data/test/fixtures/broken_front_matter2.erb +0 -4
- data/test/fixtures/broken_front_matter3.erb +0 -7
- data/test/fixtures/exploit_front_matter.erb +0 -4
- data/test/fixtures/front_matter.erb +0 -4
- data/test/helper.rb +0 -80
- data/test/source/+/%# +.md +0 -6
- data/test/source/+/foo.md +0 -7
- data/test/source/.htaccess +0 -8
- data/test/source/_config.dev.toml +0 -2
- data/test/source/_data/categories/dairy.yaml +0 -6
- data/test/source/_data/languages.yml +0 -2
- data/test/source/_data/members.json +0 -12
- data/test/source/_data/members.yaml +0 -7
- data/test/source/_data/products.yml +0 -4
- data/test/source/_drafts/draft-properties.text +0 -11
- data/test/source/_includes/include.html +0 -1
- data/test/source/_includes/params.html +0 -7
- data/test/source/_includes/sig.markdown +0 -3
- data/test/source/_layouts/default.html +0 -27
- data/test/source/_layouts/post/simple.html +0 -1
- data/test/source/_layouts/simple.html +0 -1
- data/test/source/_methods/_do_not_read_me.md +0 -5
- data/test/source/_methods/configuration.md +0 -8
- data/test/source/_methods/sanitized_path.md +0 -5
- data/test/source/_methods/site/_dont_include_me_either.md +0 -5
- data/test/source/_methods/site/generate.md +0 -6
- data/test/source/_methods/site/initialize.md +0 -4
- data/test/source/_methods/um_hi.md +0 -6
- data/test/source/_plugins/dummy.rb +0 -8
- data/test/source/_posts/2008-02-02-not-published.textile +0 -8
- data/test/source/_posts/2008-02-02-published.textile +0 -8
- data/test/source/_posts/2008-10-18-foo-bar.textile +0 -8
- data/test/source/_posts/2008-11-21-complex.textile +0 -8
- data/test/source/_posts/2008-12-03-permalinked-post.textile +0 -9
- data/test/source/_posts/2008-12-13-include.markdown +0 -8
- data/test/source/_posts/2009-01-27-array-categories.textile +0 -10
- data/test/source/_posts/2009-01-27-categories.textile +0 -7
- data/test/source/_posts/2009-01-27-category.textile +0 -7
- data/test/source/_posts/2009-01-27-empty-categories.textile +0 -7
- data/test/source/_posts/2009-01-27-empty-category.textile +0 -7
- data/test/source/_posts/2009-01-27-no-category.textile +0 -6
- data/test/source/_posts/2009-03-12-hash-#1.markdown +0 -6
- data/test/source/_posts/2009-05-18-empty-tag.textile +0 -6
- data/test/source/_posts/2009-05-18-empty-tags.textile +0 -6
- data/test/source/_posts/2009-05-18-tag.textile +0 -6
- data/test/source/_posts/2009-05-18-tags.textile +0 -9
- data/test/source/_posts/2009-06-22-empty-yaml.textile +0 -3
- data/test/source/_posts/2009-06-22-no-yaml.textile +0 -1
- data/test/source/_posts/2010-01-08-triple-dash.markdown +0 -5
- data/test/source/_posts/2010-01-09-date-override.textile +0 -7
- data/test/source/_posts/2010-01-09-time-override.textile +0 -7
- data/test/source/_posts/2010-01-09-timezone-override.textile +0 -7
- data/test/source/_posts/2010-01-16-override-data.textile +0 -4
- data/test/source/_posts/2011-04-12-md-extension.md +0 -7
- data/test/source/_posts/2011-04-12-text-extension.text +0 -0
- data/test/source/_posts/2013-01-02-post-excerpt.markdown +0 -14
- data/test/source/_posts/2013-01-12-nil-layout.textile +0 -6
- data/test/source/_posts/2013-01-12-no-layout.textile +0 -5
- data/test/source/_posts/2013-03-19-not-a-post.markdown/.gitkeep +0 -0
- data/test/source/_posts/2013-04-11-custom-excerpt.markdown +0 -10
- data/test/source/_posts/2013-05-10-number-category.textile +0 -7
- data/test/source/_posts/2013-07-22-post-excerpt-with-layout.markdown +0 -23
- data/test/source/_posts/2013-08-01-mkdn-extension.mkdn +0 -0
- data/test/source/_posts/2013-12-17-include-variable-filters.markdown +0 -21
- data/test/source/_posts/2013-12-20-properties.text +0 -11
- data/test/source/_posts/2014-01-06-permalink-traversal.md +0 -5
- data/test/source/_posts/2014-03-03-yaml-with-dots.md +0 -5
- data/test/source/_posts/2014-03-22-escape-+ %20[].markdown +0 -6
- data/test/source/_posts/es/2008-11-21-nested.textile +0 -8
- data/test/source/_sass/_grid.scss +0 -1
- data/test/source/_slides/example-slide-1.html +0 -4
- data/test/source/_slides/example-slide-2.html +0 -7
- data/test/source/_slides/example-slide-3.html +0 -5
- data/test/source/_with.dots/all.dots/2.4.0.md +0 -5
- data/test/source/_with.dots/file.with.dots.md +0 -0
- data/test/source/about.html +0 -6
- data/test/source/category/_posts/2008-9-23-categories.textile +0 -6
- data/test/source/contacts.html +0 -5
- data/test/source/contacts/bar.html +0 -5
- data/test/source/contacts/index.html +0 -5
- data/test/source/css/main.scss +0 -4
- data/test/source/css/screen.css +0 -76
- data/test/source/deal.with.dots.html +0 -7
- data/test/source/environment.html +0 -5
- data/test/source/exploit.md +0 -5
- data/test/source/foo/_posts/bar/2008-12-12-topical-post.textile +0 -8
- data/test/source/index.html +0 -22
- data/test/source/js/coffeescript.coffee +0 -10
- data/test/source/pgp.key +0 -2
- data/test/source/products.yml +0 -4
- data/test/source/properties.html +0 -8
- data/test/source/sitemap.xml +0 -32
- data/test/source/static_files.html +0 -4
- data/test/source/symlink-test/symlinked-file +0 -22
- data/test/source/unpublished.html +0 -7
- data/test/source/win/_posts/2009-05-24-yaml-linebreak.markdown +0 -7
- data/test/source/z_category/_posts/2008-9-23-categories.textile +0 -6
- data/test/suite.rb +0 -11
- data/test/test_cleaner.rb +0 -77
- data/test/test_coffeescript.rb +0 -49
- data/test/test_collections.rb +0 -224
- data/test/test_command.rb +0 -53
- data/test/test_configuration.rb +0 -201
- data/test/test_convertible.rb +0 -49
- data/test/test_document.rb +0 -193
- data/test/test_draft.rb +0 -56
- data/test/test_entry_filter.rb +0 -124
- data/test/test_excerpt.rb +0 -131
- data/test/test_filters.rb +0 -207
- data/test/test_generated_site.rb +0 -97
- data/test/test_kramdown.rb +0 -62
- data/test/test_layout_reader.rb +0 -34
- data/test/test_liquid_extensions.rb +0 -31
- data/test/test_log_adapter.rb +0 -59
- data/test/test_new_command.rb +0 -104
- data/test/test_page.rb +0 -254
- data/test/test_path_sanitization.rb +0 -18
- data/test/test_post.rb +0 -741
- data/test/test_rdiscount.rb +0 -22
- data/test/test_redcarpet.rb +0 -77
- data/test/test_redcloth.rb +0 -86
- data/test/test_related_posts.rb +0 -47
- data/test/test_sass.rb +0 -26
- data/test/test_site.rb +0 -452
- data/test/test_tags.rb +0 -509
- data/test/test_url.rb +0 -28
- data/test/test_utils.rb +0 -67
@@ -1,201 +0,0 @@
|
|
1
|
-
def file_content_from_hash(input_hash)
|
2
|
-
matter_hash = input_hash.reject { |k, v| k == "content" }
|
3
|
-
matter = matter_hash.map { |k, v| "#{k}: #{v}\n" }.join.chomp
|
4
|
-
|
5
|
-
content = if input_hash['input'] && input_hash['filter']
|
6
|
-
"{{ #{input_hash['input']} | #{input_hash['filter']} }}"
|
7
|
-
else
|
8
|
-
input_hash['content']
|
9
|
-
end
|
10
|
-
|
11
|
-
<<EOF
|
12
|
-
---
|
13
|
-
#{matter}
|
14
|
-
---
|
15
|
-
#{content}
|
16
|
-
EOF
|
17
|
-
end
|
18
|
-
|
19
|
-
Before do
|
20
|
-
FileUtils.mkdir_p(TEST_DIR) unless File.exist?(TEST_DIR)
|
21
|
-
Dir.chdir(TEST_DIR)
|
22
|
-
end
|
23
|
-
|
24
|
-
After do
|
25
|
-
FileUtils.rm_rf(TEST_DIR) if File.exists?(TEST_DIR)
|
26
|
-
FileUtils.rm(JEKYLL_COMMAND_OUTPUT_FILE) if File.exists?(JEKYLL_COMMAND_OUTPUT_FILE)
|
27
|
-
end
|
28
|
-
|
29
|
-
World(Test::Unit::Assertions)
|
30
|
-
|
31
|
-
Given /^I have a blank site in "(.*)"$/ do |path|
|
32
|
-
FileUtils.mkdir_p(path) unless File.exist?(path)
|
33
|
-
end
|
34
|
-
|
35
|
-
Given /^I do not have a "(.*)" directory$/ do |path|
|
36
|
-
File.directory?("#{TEST_DIR}/#{path}")
|
37
|
-
end
|
38
|
-
|
39
|
-
# Like "I have a foo file" but gives a yaml front matter so jekyll actually processes it
|
40
|
-
Given /^I have an? "(.*)" page(?: with (.*) "(.*)")? that contains "(.*)"$/ do |file, key, value, text|
|
41
|
-
File.open(file, 'w') do |f|
|
42
|
-
f.write <<EOF
|
43
|
-
---
|
44
|
-
#{key || 'layout'}: #{value || 'nil'}
|
45
|
-
---
|
46
|
-
#{text}
|
47
|
-
EOF
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
Given /^I have an? "(.*)" file that contains "(.*)"$/ do |file, text|
|
52
|
-
File.open(file, 'w') do |f|
|
53
|
-
f.write(text)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
Given /^I have an? (.*) (layout|theme) that contains "(.*)"$/ do |name, type, text|
|
58
|
-
folder = if type == 'layout'
|
59
|
-
'_layouts'
|
60
|
-
else
|
61
|
-
'_theme'
|
62
|
-
end
|
63
|
-
destination_file = File.join(folder, name + '.html')
|
64
|
-
destination_path = File.dirname(destination_file)
|
65
|
-
unless File.exist?(destination_path)
|
66
|
-
FileUtils.mkdir_p(destination_path)
|
67
|
-
end
|
68
|
-
File.open(destination_file, 'w') do |f|
|
69
|
-
f.write(text)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
Given /^I have an? "(.*)" file with content:$/ do |file, text|
|
74
|
-
File.open(file, 'w') do |f|
|
75
|
-
f.write(text)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
Given /^I have an? (.*) directory$/ do |dir|
|
80
|
-
FileUtils.mkdir_p(dir)
|
81
|
-
end
|
82
|
-
|
83
|
-
Given /^I have the following (draft|page|post)s?(?: (in|under) "([^"]+)")?:$/ do |status, direction, folder, table|
|
84
|
-
table.hashes.each do |input_hash|
|
85
|
-
title = slug(input_hash['title'])
|
86
|
-
ext = input_hash['type'] || 'textile'
|
87
|
-
before, after = location(folder, direction)
|
88
|
-
|
89
|
-
case status
|
90
|
-
when "draft"
|
91
|
-
dest_folder = '_drafts'
|
92
|
-
filename = "#{title}.#{ext}"
|
93
|
-
when "page"
|
94
|
-
dest_folder = ''
|
95
|
-
filename = "#{title}.#{ext}"
|
96
|
-
when "post"
|
97
|
-
parsed_date = Time.xmlschema(input_hash['date']) rescue Time.parse(input_hash['date'])
|
98
|
-
dest_folder = '_posts'
|
99
|
-
filename = "#{parsed_date.strftime('%Y-%m-%d')}-#{title}.#{ext}"
|
100
|
-
end
|
101
|
-
|
102
|
-
path = File.join(before, dest_folder, after, filename)
|
103
|
-
File.open(path, 'w') do |f|
|
104
|
-
f.write file_content_from_hash(input_hash)
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
Given /^I have a configuration file with "(.*)" set to "(.*)"$/ do |key, value|
|
110
|
-
File.open('_config.yml', 'w') do |f|
|
111
|
-
f.write("#{key}: #{value}\n")
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
Given /^I have a configuration file with:$/ do |table|
|
116
|
-
File.open('_config.yml', 'w') do |f|
|
117
|
-
table.hashes.each do |row|
|
118
|
-
f.write("#{row["key"]}: #{row["value"]}\n")
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
Given /^I have a configuration file with "([^\"]*)" set to:$/ do |key, table|
|
124
|
-
File.open('_config.yml', 'w') do |f|
|
125
|
-
f.write("#{key}:\n")
|
126
|
-
table.hashes.each do |row|
|
127
|
-
f.write("- #{row["value"]}\n")
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
Given /^I have fixture collections$/ do
|
133
|
-
FileUtils.cp_r File.join(JEKYLL_SOURCE_DIR, "test", "source", "_methods"), source_dir
|
134
|
-
end
|
135
|
-
|
136
|
-
##################
|
137
|
-
#
|
138
|
-
# Changing stuff
|
139
|
-
#
|
140
|
-
##################
|
141
|
-
|
142
|
-
When /^I run jekyll(.*)$/ do |args|
|
143
|
-
status = run_jekyll(args)
|
144
|
-
if args.include?("--verbose") || ENV['DEBUG']
|
145
|
-
puts jekyll_run_output
|
146
|
-
end
|
147
|
-
end
|
148
|
-
|
149
|
-
When /^I change "(.*)" to contain "(.*)"$/ do |file, text|
|
150
|
-
File.open(file, 'a') do |f|
|
151
|
-
f.write(text)
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
When /^I delete the file "(.*)"$/ do |file|
|
156
|
-
File.delete(file)
|
157
|
-
end
|
158
|
-
|
159
|
-
Then /^the (.*) directory should +exist$/ do |dir|
|
160
|
-
assert File.directory?(dir), "The directory \"#{dir}\" does not exist"
|
161
|
-
end
|
162
|
-
|
163
|
-
Then /^the (.*) directory should not exist$/ do |dir|
|
164
|
-
assert !File.directory?(dir), "The directory \"#{dir}\" exists"
|
165
|
-
end
|
166
|
-
|
167
|
-
Then /^I should see "(.*)" in "(.*)"$/ do |text, file|
|
168
|
-
assert_match Regexp.new(text, Regexp::MULTILINE), file_contents(file)
|
169
|
-
end
|
170
|
-
|
171
|
-
Then /^I should see exactly "(.*)" in "(.*)"$/ do |text, file|
|
172
|
-
assert_equal text, file_contents(file).strip
|
173
|
-
end
|
174
|
-
|
175
|
-
Then /^I should not see "(.*)" in "(.*)"$/ do |text, file|
|
176
|
-
assert_no_match Regexp.new(text, Regexp::MULTILINE), file_contents(file)
|
177
|
-
end
|
178
|
-
|
179
|
-
Then /^I should see escaped "(.*)" in "(.*)"$/ do |text, file|
|
180
|
-
assert_match Regexp.new(Regexp.escape(text)), file_contents(file)
|
181
|
-
end
|
182
|
-
|
183
|
-
Then /^the "(.*)" file should +exist$/ do |file|
|
184
|
-
assert File.file?(file), "The file \"#{file}\" does not exist"
|
185
|
-
end
|
186
|
-
|
187
|
-
Then /^the "(.*)" file should not exist$/ do |file|
|
188
|
-
assert !File.exist?(file), "The file \"#{file}\" exists"
|
189
|
-
end
|
190
|
-
|
191
|
-
Then /^I should see today's time in "(.*)"$/ do |file|
|
192
|
-
assert_match Regexp.new(seconds_agnostic_time(Time.now)), file_contents(file)
|
193
|
-
end
|
194
|
-
|
195
|
-
Then /^I should see today's date in "(.*)"$/ do |file|
|
196
|
-
assert_match Regexp.new(Date.today.to_s), file_contents(file)
|
197
|
-
end
|
198
|
-
|
199
|
-
Then /^I should see "(.*)" in the build output$/ do |text|
|
200
|
-
assert_match Regexp.new(text), jekyll_run_output
|
201
|
-
end
|
data/features/support/env.rb
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
require 'fileutils'
|
2
|
-
require 'rr'
|
3
|
-
require 'test/unit'
|
4
|
-
require 'time'
|
5
|
-
|
6
|
-
JEKYLL_SOURCE_DIR = File.dirname(File.dirname(File.dirname(__FILE__)))
|
7
|
-
TEST_DIR = File.expand_path(File.join('..', '..', 'tmp', 'jekyll'), File.dirname(__FILE__))
|
8
|
-
JEKYLL_PATH = File.join(File.dirname(__FILE__), '..', '..', 'bin', 'jekyll')
|
9
|
-
JEKYLL_COMMAND_OUTPUT_FILE = File.join(File.dirname(TEST_DIR), 'jekyll_output.txt')
|
10
|
-
|
11
|
-
def source_dir(*files)
|
12
|
-
File.join(TEST_DIR, *files)
|
13
|
-
end
|
14
|
-
|
15
|
-
def jekyll_output_file
|
16
|
-
JEKYLL_COMMAND_OUTPUT_FILE
|
17
|
-
end
|
18
|
-
|
19
|
-
def jekyll_run_output
|
20
|
-
File.read(jekyll_output_file)
|
21
|
-
end
|
22
|
-
|
23
|
-
def run_jekyll(args)
|
24
|
-
system "#{JEKYLL_PATH} #{args} --trace > #{jekyll_output_file} 2>&1"
|
25
|
-
end
|
26
|
-
|
27
|
-
def slug(title)
|
28
|
-
if title
|
29
|
-
title.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-')
|
30
|
-
else
|
31
|
-
Time.now.strftime("%s%9N") # nanoseconds since the Epoch
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def location(folder, direction)
|
36
|
-
if folder
|
37
|
-
before = folder if direction == "in"
|
38
|
-
after = folder if direction == "under"
|
39
|
-
end
|
40
|
-
[before || '.', after || '.']
|
41
|
-
end
|
42
|
-
|
43
|
-
def file_contents(path)
|
44
|
-
File.open(path) do |file|
|
45
|
-
file.readlines.join # avoid differences with \n and \r\n line endings
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def seconds_agnostic_datetime(datetime = Time.now)
|
50
|
-
date, time, zone = datetime.to_s.split(" ")
|
51
|
-
time = seconds_agnostic_time(time)
|
52
|
-
[
|
53
|
-
Regexp.escape(date),
|
54
|
-
"#{time}:\\d{2}",
|
55
|
-
Regexp.escape(zone)
|
56
|
-
].join("\\ ")
|
57
|
-
end
|
58
|
-
|
59
|
-
def seconds_agnostic_time(time)
|
60
|
-
if time.is_a? Time
|
61
|
-
time = time.strftime("%H:%M:%S")
|
62
|
-
end
|
63
|
-
hour, minutes, _ = time.split(":")
|
64
|
-
"#{hour}:#{minutes}"
|
65
|
-
end
|
data/jekyll.gemspec
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'jekyll/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.specification_version = 2 if s.respond_to? :specification_version=
|
8
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
|
-
s.rubygems_version = '2.2.2'
|
10
|
-
s.required_ruby_version = '>= 1.9.3'
|
11
|
-
|
12
|
-
s.name = 'jekyll'
|
13
|
-
s.version = Jekyll::VERSION
|
14
|
-
s.license = 'MIT'
|
15
|
-
|
16
|
-
s.summary = "A simple, blog aware, static site generator."
|
17
|
-
s.description = "Jekyll is a simple, blog aware, static site generator."
|
18
|
-
|
19
|
-
s.authors = ["Tom Preston-Werner"]
|
20
|
-
s.email = 'tom@mojombo.com'
|
21
|
-
s.homepage = 'https://github.com/jekyll/jekyll'
|
22
|
-
|
23
|
-
s.files = `git ls-files`.split($/)
|
24
|
-
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
25
|
-
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
26
|
-
s.require_paths = ["lib"]
|
27
|
-
|
28
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
29
|
-
s.extra_rdoc_files = %w[README.markdown LICENSE]
|
30
|
-
|
31
|
-
s.add_runtime_dependency('liquid', "~> 2.6.1")
|
32
|
-
s.add_runtime_dependency('kramdown', "~> 1.3")
|
33
|
-
s.add_runtime_dependency('mercenary', "~> 0.3.3")
|
34
|
-
s.add_runtime_dependency('safe_yaml', "~> 1.0")
|
35
|
-
s.add_runtime_dependency('colorator', "~> 0.1")
|
36
|
-
|
37
|
-
# Before 3.0 drops, phase the following gems out as dev dependencies
|
38
|
-
# and gracefully handle their absence.
|
39
|
-
s.add_runtime_dependency('classifier', "~> 1.3")
|
40
|
-
s.add_runtime_dependency('pygments.rb', "~> 0.6.0")
|
41
|
-
s.add_runtime_dependency('redcarpet', "~> 3.1")
|
42
|
-
s.add_runtime_dependency('toml', '~> 0.1.0')
|
43
|
-
s.add_runtime_dependency('jekyll-paginate', '~> 1.0')
|
44
|
-
s.add_runtime_dependency('jekyll-gist', '~> 1.0')
|
45
|
-
s.add_runtime_dependency('jekyll-coffeescript', '~> 1.0')
|
46
|
-
s.add_runtime_dependency('jekyll-sass-converter', '~> 1.0')
|
47
|
-
s.add_runtime_dependency('jekyll-watch', '~> 1.0')
|
48
|
-
|
49
|
-
s.add_development_dependency('rake', "~> 10.1")
|
50
|
-
s.add_development_dependency('rdoc', "~> 3.11")
|
51
|
-
s.add_development_dependency('redgreen', "~> 1.2")
|
52
|
-
s.add_development_dependency('shoulda', "~> 3.5")
|
53
|
-
s.add_development_dependency('rr', "~> 1.1")
|
54
|
-
s.add_development_dependency('cucumber', "1.3.11")
|
55
|
-
s.add_development_dependency('RedCloth', "~> 4.2")
|
56
|
-
s.add_development_dependency('maruku', "~> 0.7.0")
|
57
|
-
s.add_development_dependency('rdiscount', "~> 1.6")
|
58
|
-
s.add_development_dependency('launchy', "~> 2.3")
|
59
|
-
s.add_development_dependency('simplecov', "~> 0.7")
|
60
|
-
s.add_development_dependency('simplecov-gem-adapter', "~> 1.0.1")
|
61
|
-
s.add_development_dependency('mime-types', "~> 1.5")
|
62
|
-
s.add_development_dependency('activesupport', '~> 3.2.13')
|
63
|
-
s.add_development_dependency('jekyll_test_plugin')
|
64
|
-
s.add_development_dependency('jekyll_test_plugin_malicious')
|
65
|
-
s.add_development_dependency('rouge', '~> 1.3')
|
66
|
-
end
|
@@ -1,410 +0,0 @@
|
|
1
|
-
/* Base */
|
2
|
-
/* ----------------------------------------------------------*/
|
3
|
-
|
4
|
-
* {
|
5
|
-
margin: 0;
|
6
|
-
padding: 0;
|
7
|
-
}
|
8
|
-
|
9
|
-
html, body { height: 100%; }
|
10
|
-
|
11
|
-
body {
|
12
|
-
font-family: Helvetica, Arial, sans-serif;
|
13
|
-
font-size: 16px;
|
14
|
-
line-height: 1.5;
|
15
|
-
font-weight: 300;
|
16
|
-
background-color: #fdfdfd;
|
17
|
-
}
|
18
|
-
|
19
|
-
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: 400; }
|
20
|
-
|
21
|
-
a { color: #2a7ae2; text-decoration: none; }
|
22
|
-
a:hover { color: #000; text-decoration: underline; }
|
23
|
-
a:visited { color: #205caa; }
|
24
|
-
|
25
|
-
/* Utility */
|
26
|
-
|
27
|
-
.wrap:before,
|
28
|
-
.wrap:after { content:""; display:table; }
|
29
|
-
.wrap:after { clear: both; }
|
30
|
-
.wrap {
|
31
|
-
max-width: 800px;
|
32
|
-
padding: 0 30px;
|
33
|
-
margin: 0 auto;
|
34
|
-
zoom: 1;
|
35
|
-
}
|
36
|
-
|
37
|
-
|
38
|
-
/* Layout Styles */
|
39
|
-
/* ----------------------------------------------------------*/
|
40
|
-
|
41
|
-
/* Site header */
|
42
|
-
|
43
|
-
.site-header {
|
44
|
-
border-top: 5px solid #333;
|
45
|
-
border-bottom: 1px solid #e8e8e8;
|
46
|
-
min-height: 56px;
|
47
|
-
background-color: white;
|
48
|
-
}
|
49
|
-
|
50
|
-
.site-title,
|
51
|
-
.site-title:hover,
|
52
|
-
.site-title:visited {
|
53
|
-
display: block;
|
54
|
-
color: #333;
|
55
|
-
font-size: 26px;
|
56
|
-
letter-spacing: -1px;
|
57
|
-
float: left;
|
58
|
-
line-height: 56px;
|
59
|
-
position: relative;
|
60
|
-
z-index: 1;
|
61
|
-
}
|
62
|
-
|
63
|
-
.site-nav {
|
64
|
-
float: right;
|
65
|
-
line-height: 56px;
|
66
|
-
}
|
67
|
-
|
68
|
-
.site-nav .menu-icon { display: none; }
|
69
|
-
|
70
|
-
.site-nav .page-link {
|
71
|
-
margin-left: 20px;
|
72
|
-
color: #727272;
|
73
|
-
letter-spacing: -.5px;
|
74
|
-
}
|
75
|
-
|
76
|
-
/* Site footer */
|
77
|
-
|
78
|
-
.site-footer {
|
79
|
-
border-top: 1px solid #e8e8e8;
|
80
|
-
padding: 30px 0;
|
81
|
-
}
|
82
|
-
|
83
|
-
.footer-heading {
|
84
|
-
font-size: 18px;
|
85
|
-
font-weight: 300;
|
86
|
-
letter-spacing: -.5px;
|
87
|
-
margin-bottom: 15px;
|
88
|
-
}
|
89
|
-
|
90
|
-
.site-footer .column { float: left; margin-bottom: 15px; }
|
91
|
-
|
92
|
-
.footer-col-1 {
|
93
|
-
width: 270px; /*fallback*/
|
94
|
-
width: -webkit-calc(35% - 10px);
|
95
|
-
width: -moz-calc(35% - 10px);
|
96
|
-
width: -o-calc(35% - 10px);
|
97
|
-
width: calc(35% - 10px);
|
98
|
-
margin-right: 10px
|
99
|
-
}
|
100
|
-
.footer-col-2 {
|
101
|
-
width: 175px; /*fallback*/
|
102
|
-
width: -webkit-calc(23.125% - 10px);
|
103
|
-
width: -moz-calc(23.125% - 10px);
|
104
|
-
width: -o-calc(23.125% - 10px);
|
105
|
-
width: calc(23.125% - 10px);
|
106
|
-
margin-right: 10px
|
107
|
-
}
|
108
|
-
.footer-col-3 {
|
109
|
-
width: 335px; /*fallback*/
|
110
|
-
width: -webkit-calc(41.875%);
|
111
|
-
width: -moz-calc(41.875%);
|
112
|
-
width: -o-calc(41.875%);
|
113
|
-
width: calc(41.875%);
|
114
|
-
}
|
115
|
-
|
116
|
-
.site-footer ul { list-style: none; }
|
117
|
-
|
118
|
-
.site-footer li,
|
119
|
-
.site-footer p {
|
120
|
-
font-size: 15px;
|
121
|
-
letter-spacing: -.3px;
|
122
|
-
color: #828282;
|
123
|
-
}
|
124
|
-
|
125
|
-
.github-icon-svg,
|
126
|
-
.twitter-icon-svg {
|
127
|
-
display: inline-block;
|
128
|
-
width: 16px;
|
129
|
-
height: 16px;
|
130
|
-
position: relative;
|
131
|
-
top: 3px;
|
132
|
-
}
|
133
|
-
|
134
|
-
|
135
|
-
/* Page Content styles */
|
136
|
-
/* ----------------------------------------------------------*/
|
137
|
-
|
138
|
-
.page-content {
|
139
|
-
padding: 30px 0;
|
140
|
-
background-color: #fff;
|
141
|
-
}
|
142
|
-
|
143
|
-
|
144
|
-
/* Home styles */
|
145
|
-
/* ----------------------------------------------------------*/
|
146
|
-
|
147
|
-
.home h1 { margin-bottom: 25px; }
|
148
|
-
|
149
|
-
.posts { list-style-type: none; }
|
150
|
-
|
151
|
-
.posts li { margin-bottom: 30px; }
|
152
|
-
|
153
|
-
.posts .post-link {
|
154
|
-
font-size: 24px;
|
155
|
-
letter-spacing: -1px;
|
156
|
-
line-height: 1;
|
157
|
-
}
|
158
|
-
|
159
|
-
.posts .post-date {
|
160
|
-
display: block;
|
161
|
-
font-size: 15px;
|
162
|
-
color: #818181;
|
163
|
-
}
|
164
|
-
|
165
|
-
|
166
|
-
/* Post styles */
|
167
|
-
/* ----------------------------------------------------------*/
|
168
|
-
|
169
|
-
.post-header { margin: 10px 0 30px; }
|
170
|
-
|
171
|
-
.post-header h1 {
|
172
|
-
font-size: 42px;
|
173
|
-
letter-spacing: -1.75px;
|
174
|
-
line-height: 1;
|
175
|
-
font-weight: 300;
|
176
|
-
}
|
177
|
-
|
178
|
-
.post-header .meta {
|
179
|
-
font-size: 15px;
|
180
|
-
color: #818181;
|
181
|
-
margin-top: 5px;
|
182
|
-
}
|
183
|
-
|
184
|
-
.post-content { margin: 0 0 30px; }
|
185
|
-
|
186
|
-
.post-content > * { margin: 20px 0; }
|
187
|
-
|
188
|
-
|
189
|
-
.post-content h1,
|
190
|
-
.post-content h2,
|
191
|
-
.post-content h3,
|
192
|
-
.post-content h4,
|
193
|
-
.post-content h5,
|
194
|
-
.post-content h6 {
|
195
|
-
line-height: 1;
|
196
|
-
font-weight: 300;
|
197
|
-
margin: 40px 0 20px;
|
198
|
-
}
|
199
|
-
|
200
|
-
.post-content h2 {
|
201
|
-
font-size: 32px;
|
202
|
-
letter-spacing: -1.25px;
|
203
|
-
}
|
204
|
-
|
205
|
-
.post-content h3 {
|
206
|
-
font-size: 26px;
|
207
|
-
letter-spacing: -1px;
|
208
|
-
}
|
209
|
-
|
210
|
-
.post-content h4 {
|
211
|
-
font-size: 20px;
|
212
|
-
letter-spacing: -1px;
|
213
|
-
}
|
214
|
-
|
215
|
-
.post-content blockquote {
|
216
|
-
border-left: 4px solid #e8e8e8;
|
217
|
-
padding-left: 20px;
|
218
|
-
font-size: 18px;
|
219
|
-
opacity: .6;
|
220
|
-
letter-spacing: -1px;
|
221
|
-
font-style: italic;
|
222
|
-
margin: 30px 0;
|
223
|
-
}
|
224
|
-
|
225
|
-
.post-content ul,
|
226
|
-
.post-content ol { padding-left: 20px; }
|
227
|
-
|
228
|
-
.post pre,
|
229
|
-
.post code {
|
230
|
-
border: 1px solid #d5d5e9;
|
231
|
-
background-color: #eef;
|
232
|
-
padding: 8px 12px;
|
233
|
-
-webkit-border-radius: 3px;
|
234
|
-
-moz-border-radius: 3px;
|
235
|
-
border-radius: 3px;
|
236
|
-
font-size: 15px;
|
237
|
-
overflow:scroll;
|
238
|
-
}
|
239
|
-
|
240
|
-
.post code { padding: 1px 5px; }
|
241
|
-
|
242
|
-
.post ul,
|
243
|
-
.post ol { margin-left: 1.35em; }
|
244
|
-
|
245
|
-
.post pre code {
|
246
|
-
border: 0;
|
247
|
-
padding-right: 0;
|
248
|
-
padding-left: 0;
|
249
|
-
}
|
250
|
-
|
251
|
-
/* terminal */
|
252
|
-
.post pre.terminal {
|
253
|
-
border: 1px solid #000;
|
254
|
-
background-color: #333;
|
255
|
-
color: #FFF;
|
256
|
-
-webkit-border-radius: 3px;
|
257
|
-
-moz-border-radius: 3px;
|
258
|
-
border-radius: 3px;
|
259
|
-
}
|
260
|
-
|
261
|
-
.post pre.terminal code { background-color: #333; }
|
262
|
-
|
263
|
-
/* Syntax highlighting styles */
|
264
|
-
/* ----------------------------------------------------------*/
|
265
|
-
|
266
|
-
.highlight { background: #ffffff; }
|
267
|
-
.highlight .c { color: #999988; font-style: italic } /* Comment */
|
268
|
-
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
269
|
-
.highlight .k { font-weight: bold } /* Keyword */
|
270
|
-
.highlight .o { font-weight: bold } /* Operator */
|
271
|
-
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
|
272
|
-
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
|
273
|
-
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
|
274
|
-
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
|
275
|
-
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
|
276
|
-
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
|
277
|
-
.highlight .ge { font-style: italic } /* Generic.Emph */
|
278
|
-
.highlight .gr { color: #aa0000 } /* Generic.Error */
|
279
|
-
.highlight .gh { color: #999999 } /* Generic.Heading */
|
280
|
-
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
|
281
|
-
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
|
282
|
-
.highlight .go { color: #888888 } /* Generic.Output */
|
283
|
-
.highlight .gp { color: #555555 } /* Generic.Prompt */
|
284
|
-
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
285
|
-
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
|
286
|
-
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
|
287
|
-
.highlight .kc { font-weight: bold } /* Keyword.Constant */
|
288
|
-
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
|
289
|
-
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
|
290
|
-
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
|
291
|
-
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
|
292
|
-
.highlight .m { color: #009999 } /* Literal.Number */
|
293
|
-
.highlight .s { color: #d14 } /* Literal.String */
|
294
|
-
.highlight .na { color: #008080 } /* Name.Attribute */
|
295
|
-
.highlight .nb { color: #0086B3 } /* Name.Builtin */
|
296
|
-
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
|
297
|
-
.highlight .no { color: #008080 } /* Name.Constant */
|
298
|
-
.highlight .ni { color: #800080 } /* Name.Entity */
|
299
|
-
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
|
300
|
-
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
|
301
|
-
.highlight .nn { color: #555555 } /* Name.Namespace */
|
302
|
-
.highlight .nt { color: #000080 } /* Name.Tag */
|
303
|
-
.highlight .nv { color: #008080 } /* Name.Variable */
|
304
|
-
.highlight .ow { font-weight: bold } /* Operator.Word */
|
305
|
-
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
306
|
-
.highlight .mf { color: #009999 } /* Literal.Number.Float */
|
307
|
-
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
|
308
|
-
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
|
309
|
-
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
|
310
|
-
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
|
311
|
-
.highlight .sc { color: #d14 } /* Literal.String.Char */
|
312
|
-
.highlight .sd { color: #d14 } /* Literal.String.Doc */
|
313
|
-
.highlight .s2 { color: #d14 } /* Literal.String.Double */
|
314
|
-
.highlight .se { color: #d14 } /* Literal.String.Escape */
|
315
|
-
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
|
316
|
-
.highlight .si { color: #d14 } /* Literal.String.Interpol */
|
317
|
-
.highlight .sx { color: #d14 } /* Literal.String.Other */
|
318
|
-
.highlight .sr { color: #009926 } /* Literal.String.Regex */
|
319
|
-
.highlight .s1 { color: #d14 } /* Literal.String.Single */
|
320
|
-
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
|
321
|
-
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
|
322
|
-
.highlight .vc { color: #008080 } /* Name.Variable.Class */
|
323
|
-
.highlight .vg { color: #008080 } /* Name.Variable.Global */
|
324
|
-
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
|
325
|
-
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
|
326
|
-
|
327
|
-
|
328
|
-
/* media queries */
|
329
|
-
/* ----------------------------------------------------------*/
|
330
|
-
|
331
|
-
|
332
|
-
@media screen and (max-width: 750px) {
|
333
|
-
|
334
|
-
.footer-col-1 { width: 50%; }
|
335
|
-
|
336
|
-
.footer-col-2 {
|
337
|
-
width: 45%; /*fallback*/
|
338
|
-
width: -webkit-calc(50% - 10px);
|
339
|
-
width: -moz-calc(50% - 10px);
|
340
|
-
width: -o-calc(50% - 10px);
|
341
|
-
width: calc(50% - 10px);
|
342
|
-
margin-right: 0;
|
343
|
-
}
|
344
|
-
|
345
|
-
.site-footer .column.footer-col-3 {
|
346
|
-
width: auto;
|
347
|
-
float: none;
|
348
|
-
clear: both;
|
349
|
-
}
|
350
|
-
|
351
|
-
}
|
352
|
-
|
353
|
-
@media screen and (max-width: 600px) {
|
354
|
-
|
355
|
-
.wrap { padding: 0 12px; }
|
356
|
-
|
357
|
-
.site-nav {
|
358
|
-
position: fixed;
|
359
|
-
z-index: 10;
|
360
|
-
top: 14px; right: 8px;
|
361
|
-
background-color: white;
|
362
|
-
-webkit-border-radius: 5px;
|
363
|
-
-moz-border-radius: 5px;
|
364
|
-
border-radius: 5px;
|
365
|
-
border: 1px solid #e8e8e8;
|
366
|
-
}
|
367
|
-
|
368
|
-
.site-nav .menu-icon {
|
369
|
-
display: block;
|
370
|
-
font-size: 24px;
|
371
|
-
color: #505050;
|
372
|
-
float: right;
|
373
|
-
width: 36px;
|
374
|
-
text-align: center;
|
375
|
-
line-height: 36px;
|
376
|
-
}
|
377
|
-
|
378
|
-
.site-nav .menu-icon svg { width: 18px; height: 16px; }
|
379
|
-
|
380
|
-
.site-nav .trigger {
|
381
|
-
clear: both;
|
382
|
-
margin-bottom: 5px;
|
383
|
-
display: none;
|
384
|
-
}
|
385
|
-
|
386
|
-
.site-nav:hover .trigger { display: block; }
|
387
|
-
|
388
|
-
.site-nav .page-link {
|
389
|
-
display: block;
|
390
|
-
text-align: right;
|
391
|
-
line-height: 1.25;
|
392
|
-
padding: 5px 10px;
|
393
|
-
margin: 0;
|
394
|
-
}
|
395
|
-
|
396
|
-
.post-header h1 { font-size: 36px; }
|
397
|
-
.post-content h2 { font-size: 28px; }
|
398
|
-
.post-content h3 { font-size: 22px; }
|
399
|
-
.post-content h4 { font-size: 18px; }
|
400
|
-
.post-content blockquote { padding-left: 10px; }
|
401
|
-
.post-content ul,
|
402
|
-
.post-content ol { padding-left: 10px; }
|
403
|
-
|
404
|
-
.site-footer .column {
|
405
|
-
float: none;
|
406
|
-
clear: both;
|
407
|
-
width: auto;
|
408
|
-
margin: 0 0 15px; }
|
409
|
-
|
410
|
-
}
|