jekyllpress 0.0.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cfb2cb90d22fa0b368ec4e7def04966f91fa9cce
4
+ data.tar.gz: 44b872c9516a654f601a496c42957498c2f85f4f
5
+ SHA512:
6
+ metadata.gz: c213b8d99c204c76c21c1332a9a472d88d873d76153dee373e21fc1ea489db75e9709803dcd5a00cfcf807f57e090bde1ad8fd9f719f232132078ce1d8fd71f3
7
+ data.tar.gz: 098b81d69ea6f71156d4b75acec098b1c20448ecf6f7efbbc4f0ef212d05bd62214b302bb5ea0109b0ca642da1fed1edeb36a1fd22cab4e9b5db81e89b265a28
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /spec/test_site/pages/
10
+ /spec/test_site/_posts/
11
+ /spec/test_site/_site/
12
+ /tmp/
13
+ *.bundle
14
+ *.so
15
+ *.o
16
+ *.a
17
+ mkmf.log
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in jekyllpress.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,6 @@
1
+ guard :rspec, cmd: 'bundle exec rspec', :all_on_start => true, :after_all_pass => true do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
+ watch('spec/spec_helper.rb') { "spec" }
5
+ end
6
+
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Tamara Temple
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # Jekyllpress
2
+
3
+ A [Thor](http://whatisthor.com) script that provides several actions to help support and use a [Jekyll](http://jekyllrb.com) site.
4
+
5
+ ## Installation
6
+
7
+ $ gem install jekyllpress
8
+
9
+ ## Usage
10
+
11
+ $ jekyllpress help
12
+
13
+ ## Contributing
14
+
15
+ *"Fork it, Branch it, Commit it, Push it"*
16
+
17
+ 1. Fork it ( https://github.com/tamouse/jekyllpress/fork )
18
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
19
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
20
+ 4. Push to the branch (`git push origin my-new-feature`)
21
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
7
+
data/bin/jekyllpress ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'jekyllpress'
4
+ Jekyllpress::App.start(ARGV)
@@ -0,0 +1,31 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'jekyllpress/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "jekyllpress"
8
+ spec.version = Jekyllpress::VERSION
9
+ spec.authors = ["Tamara Temple"]
10
+ spec.email = ["tamouse@gmail.com"]
11
+ spec.summary = %q{Thor utility to do neat jekyll stuff.}
12
+ spec.homepage = "https://github.com/tamouse/jekyllpress"
13
+ spec.license = "MIT"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0")
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_dependency "jekyll", ">= 2.1"
21
+ spec.add_dependency "stringex", ">= 2"
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.6"
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "pry", "~> 0.9"
27
+ spec.add_development_dependency "pry-debugger"
28
+ spec.add_development_dependency "awesome_print"
29
+ spec.add_development_dependency "guard"
30
+ spec.add_development_dependency "guard-rspec"
31
+ end
@@ -0,0 +1,157 @@
1
+ require 'thor'
2
+ require 'jekyll'
3
+ require 'fileutils'
4
+ require 'stringex_lite'
5
+ require "jekyllpress/version"
6
+
7
+ module Jekyllpress
8
+
9
+ class App < Thor
10
+ include Thor::Actions
11
+ package_name 'Jekyllpress::App'
12
+ map ["-V","--version"] => :version
13
+
14
+ desc "version", "Display Jekyllpress::App version string"
15
+ def version
16
+ say "Jekyllpress Version: #{Jekyllpress::VERSION}"
17
+ Jekyllpress::VERSION
18
+ end
19
+
20
+ desc "setup", "Set up templates"
21
+ def setup()
22
+ with_config do |config|
23
+ empty_directory(File.join(source, template_dir))
24
+ create_file(File.join(source, template_dir, new_post_template),
25
+ %q{---
26
+ layout: post
27
+ title: <%= @title %>
28
+ date: <%= Time.now.strftime("%Y-%m-%d %H:%M") %>
29
+ categories: <%= @categories %>
30
+ tags: <%= @tags %>
31
+ ---
32
+ }.gsub(/^\s*/,''))
33
+ create_file(File.join(source, template_dir, new_page_template),
34
+ %q{---
35
+ layout: page
36
+ title: <%= @title %>
37
+ date: <%= Time.now.strftime("%Y-%m-%d %H:%M") %>
38
+ ---
39
+ }.gsub(/^\s*/,''))
40
+ [__method__, source, template_dir, new_post_template, new_page_template]
41
+ end
42
+ end
43
+
44
+ desc "new_post TITLE", "Create a new posts with title TITLE"
45
+ method_option :categories, :desc => "list of categories to assign this post", :type => :array, :aliases => %w[-c]
46
+ method_option :tags, :desc => "list of tags to assign this post", :type => :array, :aliases => %w[-t]
47
+ def new_post(title="")
48
+ check_templates
49
+ @title = title.to_s
50
+ @title = ask("Title for your post: ") if @title.empty?
51
+
52
+ @categories = options.fetch("categories", [])
53
+ @tags = options.fetch("tags", [])
54
+
55
+ with_config do |config|
56
+ check_templates
57
+ filename = destination(source, posts_dir, post_filename(title))
58
+
59
+ template(File.join(template_dir,new_post_template), filename)
60
+
61
+ [__method__, @title, filename, @categories, @tags]
62
+ end
63
+ end
64
+
65
+ desc "new_page TITLE", "Create a new page with title TITLE"
66
+ method_option :location, :desc => "Location for page to appear in directory", :type => :string, :aliases => %w[-l --loc]
67
+ def new_page(title="")
68
+ check_templates
69
+ @title = title.to_s
70
+ @title = ask("Page title: ") if @title.empty?
71
+
72
+ location = options.fetch("location", nil)
73
+
74
+ with_config do |config|
75
+ filename = destination(source, location, page_dirname(title), index_name)
76
+
77
+ template(File.join(template_dir, new_page_template), filename)
78
+
79
+ [__method__, @title, filename, location]
80
+ end
81
+ end
82
+
83
+ private
84
+
85
+ def with_config
86
+ raise "no block given at #{caller[1]}" unless block_given?
87
+ self.class.source_root(jekyll_config["source"])
88
+ yield jekyll_config
89
+ end
90
+
91
+ def check_templates
92
+ File.stat(File.join(source, template_dir))
93
+ File.stat(File.join(source, template_dir, new_page_template))
94
+ File.stat(File.join(source, template_dir, new_post_template))
95
+ rescue ::Errno::ENOENT => error
96
+ warn "It appears you have not set up a template directory yet.",
97
+ "Run `#{$0} setup` to set up the templates directory"
98
+ raise error
99
+ end
100
+
101
+ def jekyll_config
102
+ @jekyll_config ||= begin
103
+ conf = Jekyll.configuration({})
104
+ unless conf.has_key?("templates")
105
+ conf.merge!({
106
+ "templates" => {
107
+ "template_dir" => "_templates",
108
+ "new_post_template" => "new_post.markdown",
109
+ "new_page_template" => "new_page.markdown"
110
+ }
111
+ })
112
+ end
113
+ end
114
+
115
+ end
116
+ def new_ext
117
+ jekyll_config["markdown_ext"].split(',').first
118
+ end
119
+
120
+ def source
121
+ jekyll_config['source']
122
+ end
123
+
124
+ def post_filename(title)
125
+ "#{Time.now.strftime("%Y-%m-%d")}-#{title.to_url}.#{new_ext}"
126
+ end
127
+
128
+ def page_dirname(title)
129
+ "#{title.to_url}"
130
+ end
131
+
132
+ def index_name(default="index")
133
+ "#{default}.#{new_ext}"
134
+ end
135
+
136
+ def posts_dir
137
+ '_posts'
138
+ end
139
+
140
+ def destination(*paths)
141
+ File.join(paths.compact.map(&:to_s))
142
+ end
143
+
144
+ def template_dir
145
+ jekyll_config["templates"]["template_dir"]
146
+ end
147
+
148
+ def new_post_template
149
+ jekyll_config["templates"]["new_post_template"]
150
+ end
151
+
152
+ def new_page_template
153
+ jekyll_config["templates"]["new_page_template"]
154
+ end
155
+ end
156
+
157
+ end
@@ -0,0 +1,3 @@
1
+ module Jekyllpress
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe Jekyllpress do
4
+ it 'has a version number' do
5
+ expect(Jekyllpress::VERSION).not_to be nil
6
+ end
7
+ end
@@ -0,0 +1,94 @@
1
+ require 'spec_helper'
2
+
3
+ jekyll_match = %r[(gems/jekyll-.+/lib/jekyll)]
4
+ # load 'jekyllpress.rb'; STDERR.puts $".grep(jekyll_match); exit;
5
+
6
+ Dir.chdir('spec/test_site') do |test_dir|
7
+ $".delete_if{|x| x.match(jekyll_match)} ; load 'jekyllpress.rb' # Have to load this *after* we're in the working directory
8
+ # load 'jekyllpress.rb'
9
+ describe Jekyllpress::App do
10
+ describe ":version returns the version string" do
11
+ it {expect(Jekyllpress::App.start(%w[version])).to include(Jekyllpress::VERSION)}
12
+ it {expect(Jekyllpress::App.start(%w[-V])).to include(Jekyllpress::VERSION)}
13
+ it {expect(Jekyllpress::App.start(%w[--version])).to include(Jekyllpress::VERSION)}
14
+ end
15
+
16
+ describe ":new_post returns the title, categories and tags" do
17
+ FileUtils.rm_rf "_posts/"
18
+ action, title, filename, categories, tags = Jekyllpress::App.start(%w[new_post A\ New\ Post -c=one two three -t=a b c])
19
+
20
+ it {expect(action).to eq :new_post}
21
+ it {expect(title).to eq "A New Post"}
22
+ it {expect(categories).to eq %w[one two three]}
23
+ it {expect(tags).to eq %w[a b c]}
24
+ it {expect(filename).to be_a String}
25
+ it {expect(filename).not_to be_empty}
26
+ it {expect(filename).to include("#{test_dir}/_posts/#{Time.now.strftime("%Y-%m-%d")}-a-new-post.markdown")}
27
+ end
28
+
29
+ describe ":new_page returns title, filename, location" do
30
+ FileUtils.rm_rf "pages/a-new-page"
31
+ action, title, filename, location = Jekyllpress::App.start(%w[new_page A\ New\ Page -l=pages])
32
+
33
+ it {expect(action).to eq :new_page}
34
+ it {expect(title).to eq "A New Page"}
35
+ it {expect(location).to eq "pages"}
36
+ it {expect(filename).to be_a String}
37
+ it {expect(filename).not_to be_empty}
38
+ it {expect(filename).to include("#{test_dir}/pages/a-new-page/index.markdown")}
39
+ end
40
+ end
41
+ end
42
+
43
+ Dir.chdir('tmp') do |test_dir|
44
+
45
+ FileUtils.rm_rf 'blank'
46
+ raise "failed to erase blank" if File.directory?('blank')
47
+ x = `bundle exec jekyll new blank`
48
+ raise "jekyll new failed: #{x}" unless $?.success?
49
+ Dir.chdir('blank') do |blank|
50
+ $".delete_if{|x| x.match(jekyll_match)} ; load 'jekyllpress.rb' # Have to load this *after* we're in the working directory
51
+ describe "pristine jekyll installation" do
52
+
53
+ it "should bloody well be inside the blank directory!!!" do
54
+ expect(Jekyll::Configuration::DEFAULTS["source"]).to include("blank")
55
+ end
56
+ it "should abort when no templates are found" do
57
+ templates_dir = File.join(test_dir, blank, '_templates')
58
+ FileUtils.rm_rf templates_dir
59
+ expect{Jekyllpress::App.start(%w[new_page blah])}.to raise_error(::Errno::ENOENT)
60
+ expect(File.directory?(templates_dir)).not_to eq(true)
61
+ end
62
+
63
+ describe ":setup creates the template directory and contents" do
64
+ before(:all) do
65
+ @templates_dir = File.join(test_dir, blank, '_templates')
66
+ FileUtils.rm_rf @templates_dir
67
+ @result = Jekyllpress::App.start(%w[setup])
68
+ end
69
+
70
+ it {expect(@result[0]).to eq(:setup)}
71
+ it {expect(@result[1]).to include('blank')}
72
+ it {expect(@result[2]).to eq("_templates")}
73
+ it {expect(@result[4]).to eq("new_page.markdown")}
74
+ it {expect(@result[3]).to eq("new_post.markdown")}
75
+ it "templates directory exists" do
76
+ expect(File.directory?(@templates_dir)).to eq(true)
77
+ end
78
+ it "new_page_template exists" do
79
+ Dir.chdir(@templates_dir) do |templates_dir|
80
+ expect(File.exist?("new_page.markdown")).to eq(true)
81
+ end
82
+ end
83
+ it "new_post_template exists" do
84
+ Dir.chdir(@templates_dir) do |templates_dir|
85
+ expect(File.exist?("new_post.markdown")).to eq(true)
86
+ end
87
+ end
88
+ end
89
+ end
90
+
91
+
92
+ end
93
+
94
+ end
@@ -0,0 +1,4 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'pry'
3
+ require 'fileutils'
4
+ $0 = 'jekyllpress'
@@ -0,0 +1 @@
1
+ _site
@@ -0,0 +1,12 @@
1
+ # Site settings
2
+ title: Your awesome title
3
+ email: your-email@domain.com
4
+ description: "Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description."
5
+ baseurl: ""
6
+ url: "http://yourdomain.com"
7
+ twitter_username: jekyllrb
8
+ github_username: jekyll
9
+
10
+ # Build settings
11
+ markdown: kramdown
12
+ permalink: pretty
@@ -0,0 +1,61 @@
1
+ <footer class="site-footer">
2
+
3
+ <div class="wrap">
4
+
5
+ <h2 class="footer-heading">{{ site.title }}</h2>
6
+
7
+ <div class="footer-col-1 column">
8
+ <ul>
9
+ <li>{{ site.title }}</li>
10
+ <li><a href="mailto:{{ site.email }}">{{ site.email }}</a></li>
11
+ </ul>
12
+ </div>
13
+
14
+ <div class="footer-col-2 column">
15
+ <ul>
16
+ {% if site.github_username %}<li>
17
+ <a href="https://github.com/{{ site.github_username }}">
18
+ <span class="icon github">
19
+ <svg version="1.1" class="github-icon-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
20
+ viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
21
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#C2C2C2" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761
22
+ c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32
23
+ c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472
24
+ c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037
25
+ C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65
26
+ c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261
27
+ c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082
28
+ c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129
29
+ c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/>
30
+ </svg>
31
+ </span>
32
+ <span class="username">{{ site.github_username }}</span>
33
+ </a>
34
+ </li>{% endif %}
35
+ {% if site.twitter_username %}<li>
36
+ <a href="https://twitter.com/{{ site.twitter_username }}">
37
+ <span class="icon twitter">
38
+ <svg version="1.1" class="twitter-icon-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
39
+ viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
40
+ <path fill="#C2C2C2" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809
41
+ c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27
42
+ c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767
43
+ c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206
44
+ C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271
45
+ c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469
46
+ c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/>
47
+ </svg>
48
+ </span>
49
+ <span class="username">{{ site.twitter_username }}</span>
50
+ </a>
51
+ </li>{% endif %}
52
+ </ul>
53
+ </div>
54
+
55
+ <div class="footer-col-3 column">
56
+ <p class="text">{{ site.description }}</p>
57
+ </div>
58
+
59
+ </div>
60
+
61
+ </footer>
@@ -0,0 +1,12 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
5
+ <meta name="viewport" content="width=device-width">
6
+ <meta name="description" content="{{ site.description }}">
7
+ <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
8
+
9
+ <!-- Custom CSS -->
10
+ <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
11
+
12
+ </head>
@@ -0,0 +1,28 @@
1
+ <header class="site-header">
2
+
3
+ <div class="wrap">
4
+
5
+ <a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a>
6
+
7
+ <nav class="site-nav">
8
+ <a href="#" class="menu-icon">
9
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
10
+ viewBox="0 0 18 15" enable-background="new 0 0 18 15" xml:space="preserve">
11
+ <path fill="#505050" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0
12
+ h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
13
+ <path fill="#505050" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484
14
+ h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
15
+ <path fill="#505050" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0
16
+ c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
17
+ </svg>
18
+ </a>
19
+ <div class="trigger">
20
+ {% for page in site.pages %}
21
+ {% if page.title %}<a class="page-link" href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a>{% endif %}
22
+ {% endfor %}
23
+ </div>
24
+ </nav>
25
+
26
+ </div>
27
+
28
+ </header>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ {% include head.html %}
5
+
6
+ <body>
7
+
8
+ {% include header.html %}
9
+
10
+ <div class="page-content">
11
+ <div class="wrap">
12
+ {{ content }}
13
+ </div>
14
+ </div>
15
+
16
+ {% include footer.html %}
17
+
18
+ </body>
19
+ </html>
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="post">
5
+
6
+ <header class="post-header">
7
+ <h1>{{ page.title }}</h1>
8
+ </header>
9
+
10
+ <article class="post-content">
11
+ {{ content }}
12
+ </article>
13
+
14
+ </div>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="post">
5
+
6
+ <header class="post-header">
7
+ <h1>{{ page.title }}</h1>
8
+ <p class="meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
9
+ </header>
10
+
11
+ <article class="post-content">
12
+ {{ content }}
13
+ </article>
14
+
15
+ </div>
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: page
3
+ title: <%= @title %>
4
+ date: <%= Time.now.strftime("%Y-%m-%d %H:%M") %>
5
+ ---
@@ -0,0 +1,7 @@
1
+ ---
2
+ layout: post
3
+ title: <%= @title %>
4
+ date: <%= Time.now.strftime("%Y-%m-%d %H:%M") %>
5
+ categories: <%= @categories %>
6
+ tags: <%= @tags %>
7
+ ---
@@ -0,0 +1,11 @@
1
+ ---
2
+ layout: page
3
+ title: About
4
+ permalink: /about/
5
+ ---
6
+
7
+ This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/)
8
+
9
+ You can find the source code for the Jekyll new theme at: [github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new)
10
+
11
+ You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll)
@@ -0,0 +1,410 @@
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
+ }
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: none
3
+ ---
4
+ <?xml version="1.0" encoding="UTF-8"?>
5
+ <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
6
+ <channel>
7
+ <title>{{ site.title | xml_escape }}</title>
8
+ <description>{{ site.description | xml_escape }}</description>
9
+ <link>{{ site.url }}{{ site.baseurl }}/</link>
10
+ <atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml" />
11
+ <pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
12
+ <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
13
+ <generator>Jekyll v{{ jekyll.version }}</generator>
14
+ {% for post in site.posts limit:10 %}
15
+ <item>
16
+ <title>{{ post.title | xml_escape }}</title>
17
+ <description>{{ post.content | xml_escape }}</description>
18
+ <pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
19
+ <link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
20
+ <guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
21
+ {% for tag in post.tags %}
22
+ <category>{{ tag | xml_escape }}</category>
23
+ {% endfor %}
24
+ {% for cat in post.categories %}
25
+ <category>{{ cat | xml_escape }}</category>
26
+ {% endfor %}
27
+ </item>
28
+ {% endfor %}
29
+ </channel>
30
+ </rss>
@@ -0,0 +1,20 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div class="home">
6
+
7
+ <h1>Posts</h1>
8
+
9
+ <ul class="posts">
10
+ {% for post in site.posts %}
11
+ <li>
12
+ <span class="post-date">{{ post.date | date: "%b %-d, %Y" }}</span>
13
+ <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
14
+ </li>
15
+ {% endfor %}
16
+ </ul>
17
+
18
+ <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
19
+
20
+ </div>
metadata ADDED
@@ -0,0 +1,231 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyllpress
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Tamara Temple
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: stringex
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.6'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '0.9'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '0.9'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry-debugger
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: awesome_print
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: guard-rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description:
154
+ email:
155
+ - tamouse@gmail.com
156
+ executables:
157
+ - jekyllpress
158
+ extensions: []
159
+ extra_rdoc_files: []
160
+ files:
161
+ - .gitignore
162
+ - .rspec
163
+ - .travis.yml
164
+ - Gemfile
165
+ - Guardfile
166
+ - LICENSE.txt
167
+ - README.md
168
+ - Rakefile
169
+ - bin/jekyllpress
170
+ - jekyllpress.gemspec
171
+ - lib/jekyllpress.rb
172
+ - lib/jekyllpress/version.rb
173
+ - spec/jekyllpress_spec.rb
174
+ - spec/lib/jekyllpress_spec.rb
175
+ - spec/spec_helper.rb
176
+ - spec/test_site/.gitignore
177
+ - spec/test_site/_config.yml
178
+ - spec/test_site/_includes/footer.html
179
+ - spec/test_site/_includes/head.html
180
+ - spec/test_site/_includes/header.html
181
+ - spec/test_site/_layouts/default.html
182
+ - spec/test_site/_layouts/page.html
183
+ - spec/test_site/_layouts/post.html
184
+ - spec/test_site/_templates/new_page.markdown
185
+ - spec/test_site/_templates/new_post.markdown
186
+ - spec/test_site/about.md
187
+ - spec/test_site/css/main.css
188
+ - spec/test_site/feed.xml
189
+ - spec/test_site/index.html
190
+ homepage: https://github.com/tamouse/jekyllpress
191
+ licenses:
192
+ - MIT
193
+ metadata: {}
194
+ post_install_message:
195
+ rdoc_options: []
196
+ require_paths:
197
+ - lib
198
+ required_ruby_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - '>='
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ required_rubygems_version: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ requirements: []
209
+ rubyforge_project:
210
+ rubygems_version: 2.2.2
211
+ signing_key:
212
+ specification_version: 4
213
+ summary: Thor utility to do neat jekyll stuff.
214
+ test_files:
215
+ - spec/jekyllpress_spec.rb
216
+ - spec/lib/jekyllpress_spec.rb
217
+ - spec/spec_helper.rb
218
+ - spec/test_site/.gitignore
219
+ - spec/test_site/_config.yml
220
+ - spec/test_site/_includes/footer.html
221
+ - spec/test_site/_includes/head.html
222
+ - spec/test_site/_includes/header.html
223
+ - spec/test_site/_layouts/default.html
224
+ - spec/test_site/_layouts/page.html
225
+ - spec/test_site/_layouts/post.html
226
+ - spec/test_site/_templates/new_page.markdown
227
+ - spec/test_site/_templates/new_post.markdown
228
+ - spec/test_site/about.md
229
+ - spec/test_site/css/main.css
230
+ - spec/test_site/feed.xml
231
+ - spec/test_site/index.html