octopress 3.0.0.alpha2 → 3.0.0.alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +6 -14
  2. data/.gitignore +15 -18
  3. data/Gemfile +3 -1
  4. data/LICENSE +20 -0
  5. data/README.md +66 -0
  6. data/Rakefile +1 -76
  7. data/bin/octopress +14 -58
  8. data/lib/octopress.rb +40 -79
  9. data/lib/octopress/command.rb +10 -4
  10. data/lib/octopress/commands/new.rb +50 -12
  11. data/lib/octopress/commands/publish.rb +18 -0
  12. data/lib/octopress/core_ext.rb +1 -0
  13. data/lib/octopress/draft.rb +43 -0
  14. data/lib/octopress/page.rb +109 -0
  15. data/lib/octopress/post.rb +30 -0
  16. data/lib/octopress/version.rb +1 -1
  17. data/octopress.gemspec +7 -32
  18. metadata +31 -437
  19. data/.editorconfig +0 -22
  20. data/.gitattributes +0 -1
  21. data/.powrc +0 -4
  22. data/.rspec +0 -5
  23. data/.rubocop.yml +0 -119
  24. data/.slugignore +0 -3
  25. data/.travis.yml +0 -6
  26. data/CHANGELOG.markdown +0 -46
  27. data/CONTRIBUTING.markdown +0 -17
  28. data/README.markdown +0 -37
  29. data/lib/console +0 -17
  30. data/lib/guard/jekyll.rb +0 -33
  31. data/lib/octopress/commands.rb +0 -14
  32. data/lib/octopress/commands/build.rb +0 -17
  33. data/lib/octopress/commands/build_javascripts.rb +0 -11
  34. data/lib/octopress/commands/build_jekyll.rb +0 -42
  35. data/lib/octopress/commands/build_stylesheets.rb +0 -13
  36. data/lib/octopress/commands/install.rb +0 -44
  37. data/lib/octopress/commands/scaffold.rb +0 -102
  38. data/lib/octopress/commands/serve.rb +0 -25
  39. data/lib/octopress/configuration.rb +0 -237
  40. data/lib/octopress/dependency_installer.rb +0 -287
  41. data/lib/octopress/errors.rb +0 -3
  42. data/lib/octopress/filters/content.rb +0 -66
  43. data/lib/octopress/filters/date.rb +0 -46
  44. data/lib/octopress/filters/post.rb +0 -175
  45. data/lib/octopress/filters/url.rb +0 -34
  46. data/lib/octopress/formatters.rb +0 -9
  47. data/lib/octopress/formatters/base_formatter.rb +0 -17
  48. data/lib/octopress/formatters/simple_formatter.rb +0 -9
  49. data/lib/octopress/formatters/verbose_formatter.rb +0 -9
  50. data/lib/octopress/generators/category_generator.rb +0 -196
  51. data/lib/octopress/generators/sitemap_generator.rb +0 -308
  52. data/lib/octopress/guardfile +0 -43
  53. data/lib/octopress/helpers/titlecase.rb +0 -37
  54. data/lib/octopress/ink.rb +0 -12
  55. data/lib/octopress/inquirable_string.rb +0 -12
  56. data/lib/octopress/installer.rb +0 -96
  57. data/lib/octopress/js_assets_manager.rb +0 -97
  58. data/lib/octopress/liquid_helpers/conditional.rb +0 -36
  59. data/lib/octopress/liquid_helpers/config.rb +0 -58
  60. data/lib/octopress/liquid_helpers/include.rb +0 -33
  61. data/lib/octopress/liquid_helpers/url.rb +0 -29
  62. data/lib/octopress/liquid_helpers/vars.rb +0 -30
  63. data/lib/octopress/plugin.rb +0 -33
  64. data/lib/octopress/rake.rb +0 -16
  65. data/lib/octopress/scaffold/.gitignore +0 -18
  66. data/lib/octopress/scaffold/site/Gemfile +0 -3
  67. data/lib/octopress/scaffold/site/config.ru +0 -25
  68. data/lib/octopress/scaffold/site/config/compass.rb +0 -27
  69. data/lib/octopress/scaffold/site/config/rack.rb +0 -25
  70. data/lib/octopress/scaffold/site/config/site.yml +0 -0
  71. data/lib/octopress/scaffold/site/javascripts/lib/ios-rotate-scaling-fix.js +0 -19
  72. data/lib/octopress/scaffold/site/javascripts/lib/jquery-1.9.1.js +0 -9598
  73. data/lib/octopress/scaffold/site/javascripts/lib/jquery.cookie.js +0 -93
  74. data/lib/octopress/scaffold/site/stylesheets/_config.scss +0 -1
  75. data/lib/octopress/scaffold/site/stylesheets/_style.scss +0 -1
  76. data/lib/octopress/scaffold/site/stylesheets/site.scss +0 -16
  77. data/lib/octopress/tags/assign.rb +0 -34
  78. data/lib/octopress/tags/capture.rb +0 -31
  79. data/lib/octopress/tags/config-tag.rb +0 -23
  80. data/lib/octopress/tags/include.rb +0 -63
  81. data/lib/octopress/tags/js-assets.rb +0 -23
  82. data/lib/octopress/tags/puts.rb +0 -39
  83. data/lib/octopress/tags/render-partial.rb +0 -89
  84. data/lib/octopress/tags/return.rb +0 -21
  85. data/lib/rake/clean.rake +0 -8
  86. data/lib/rake/clobber.rake +0 -5
  87. data/lib/rake/console.rake +0 -5
  88. data/lib/rake/deploy.rake +0 -4
  89. data/lib/rake/gen_deploy.rake +0 -2
  90. data/lib/rake/generate.rake +0 -4
  91. data/lib/rake/generate_only.rake +0 -14
  92. data/lib/rake/hygiene.rake +0 -29
  93. data/lib/rake/install.rake +0 -8
  94. data/lib/rake/integrate.rake +0 -4
  95. data/lib/rake/isolate.rake +0 -13
  96. data/lib/rake/list_drafts.rake +0 -7
  97. data/lib/rake/new.rake +0 -7
  98. data/lib/rake/new_page.rake +0 -49
  99. data/lib/rake/new_post.rake +0 -32
  100. data/lib/rake/nuke.rake +0 -4
  101. data/lib/rake/preview.rake +0 -4
  102. data/lib/rake/push.rake +0 -37
  103. data/lib/rake/rsync.rake +0 -20
  104. data/lib/rake/set_root_dir.rake +0 -35
  105. data/lib/rake/setup_github_pages.rake +0 -115
  106. data/lib/rake/watch.rake +0 -11
  107. data/lib/scaffold/Rakefile +0 -142
  108. data/lib/scaffold/plugin-name.gemspec +0 -43
  109. data/lib/spec/fixtures/env/defaults/classic.yml +0 -2
  110. data/lib/spec/fixtures/no_override/defaults/classic.yml +0 -11
  111. data/lib/spec/fixtures/override/defaults/classic.yml +0 -11
  112. data/lib/spec/fixtures/override/site.yml +0 -11
  113. data/lib/spec/octopress/configuration_spec.rb +0 -67
  114. data/lib/spec/octopress/dependency_installer_spec.rb +0 -66
  115. data/lib/spec/octopress/ink_spec.rb +0 -10
  116. data/lib/spec/octopress/octopress_spec.rb +0 -97
  117. data/lib/spec/spec_helper.rb +0 -22
  118. data/lib/spec/support/env.rb +0 -36
  119. data/lib/spec/support/simplecov.rb +0 -52
@@ -1,93 +0,0 @@
1
- /*!
2
- * jQuery Cookie Plugin v1.3.1
3
- * https://github.com/carhartl/jquery-cookie
4
- *
5
- * Copyright 2013 Klaus Hartl
6
- * Released under the MIT license
7
- */
8
- (function (factory) {
9
- if (typeof define === 'function' && define.amd && define.amd.jQuery) {
10
- // AMD. Register as anonymous module.
11
- define(['jquery'], factory);
12
- } else {
13
- // Browser globals.
14
- factory(jQuery);
15
- }
16
- }(function ($) {
17
-
18
- var pluses = /\+/g;
19
-
20
- function raw(s) {
21
- return s;
22
- }
23
-
24
- function decoded(s) {
25
- return decodeURIComponent(s.replace(pluses, ' '));
26
- }
27
-
28
- function converted(s) {
29
- if (s.indexOf('"') === 0) {
30
- // This is a quoted cookie as according to RFC2068, unescape
31
- s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
32
- }
33
- try {
34
- return config.json ? JSON.parse(s) : s;
35
- } catch(er) {}
36
- }
37
-
38
- var config = $.cookie = function (key, value, options) {
39
-
40
- // write
41
- if (value !== undefined) {
42
- options = $.extend({}, config.defaults, options);
43
-
44
- if (typeof options.expires === 'number') {
45
- var days = options.expires, t = options.expires = new Date();
46
- t.setDate(t.getDate() + days);
47
- }
48
-
49
- value = config.json ? JSON.stringify(value) : String(value);
50
-
51
- return (document.cookie = [
52
- encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
53
- options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
54
- options.path ? '; path=' + options.path : '',
55
- options.domain ? '; domain=' + options.domain : '',
56
- options.secure ? '; secure' : ''
57
- ].join(''));
58
- }
59
-
60
- // read
61
- var decode = config.raw ? raw : decoded;
62
- var cookies = document.cookie.split('; ');
63
- var result = key ? undefined : {};
64
- for (var i = 0, l = cookies.length; i < l; i++) {
65
- var parts = cookies[i].split('=');
66
- var name = decode(parts.shift());
67
- var cookie = decode(parts.join('='));
68
-
69
- if (key && key === name) {
70
- result = converted(cookie);
71
- break;
72
- }
73
-
74
- if (!key) {
75
- result[name] = converted(cookie);
76
- }
77
- }
78
-
79
- return result;
80
- };
81
-
82
- config.defaults = {};
83
-
84
- $.removeCookie = function (key, options) {
85
- if ($.cookie(key) !== undefined) {
86
- $.cookie(key, '', $.extend(options, { expires: -1 }));
87
- return true;
88
- }
89
- return false;
90
- };
91
-
92
- }));
93
-
@@ -1 +0,0 @@
1
- /* Add variable configurations for themes and plugins */
@@ -1 +0,0 @@
1
- /* Add your custom styles, or import other stylesheets here */
@@ -1,16 +0,0 @@
1
- /*----------------------------------------------\
2
- | Note: Please do not edit this file |
3
- |-----------------------------------------------|
4
- | Add your own styles to _style.scss |
5
- | Configure plugins and themes in _config.scss |
6
- \----------------------------------------------*/
7
-
8
- /* Import user configs */
9
- @import "_config.*";
10
-
11
- /* Import theme and plugin stylesheets */
12
- @import "theme/_index.*";
13
- @import "plugins/*/_style.*";
14
-
15
- /* Import user stylesheets */
16
- @import "_style.*";
@@ -1,34 +0,0 @@
1
- module Octopress
2
- class Assign < Liquid::Tag
3
- include VarHelpers
4
- include Conditional
5
-
6
- def initialize(tag_name, markup, tokens)
7
- @markup = markup
8
- super
9
- end
10
-
11
- def render(context)
12
- if strip_expression(@markup, context).strip =~ VAR_SYNTAX
13
- @to = $1
14
- @operator = $2
15
- @from = $3
16
- else
17
- raise SyntaxError.new("Syntax Error in 'assign' - Valid syntax: assign [var] = [source]")
18
- end
19
- if evaluate_expression @markup, context
20
- value = get_value(@from, context)
21
-
22
- if @operator == '+=' && !context.scopes.last[@to].nil?
23
- context.scopes.last[@to] += value
24
- else
25
- context.scopes.last[@to] = value
26
- end
27
- end
28
- ''
29
- end
30
- end
31
- end
32
-
33
- Liquid::Template.register_tag('assign', Octopress::Assign)
34
-
@@ -1,31 +0,0 @@
1
- module Octopress
2
- class Capture < Liquid::Block
3
- include Conditional
4
- WORD_REGEX = '[[:word:]]'
5
- SYNTAX = /(#{WORD_REGEX}+)\s*(\+=)?/o
6
- def initialize(tag_name, markup, tokens)
7
- @markup = markup
8
- super
9
- end
10
-
11
- def render(context)
12
- if evaluate_expression @markup, context
13
- if strip_expression(@markup, context).strip =~ SYNTAX
14
- @to = $1
15
- @operator = $2
16
- else
17
- raise SyntaxError.new("Syntax Error in 'capture' - Valid syntax: capture [var]")
18
- end
19
- output = super
20
- if @operator == '+=' && !context.scopes.last[@to].nil?
21
- context.scopes.last[@to] += output
22
- else
23
- context.scopes.last[@to] = output
24
- end
25
- end
26
- ''
27
- end
28
- end
29
- end
30
-
31
- Liquid::Template.register_tag('capture', Octopress::Capture)
@@ -1,23 +0,0 @@
1
- require 'json'
2
-
3
- module Octopress
4
- class ConfigTag < Liquid::Tag
5
- def initialize(tag_name, options, tokens)
6
- super
7
- options = options.split(' ').map {|i| i.strip }
8
- @key = options.slice!(0)
9
- @tag = nil
10
- @classname = nil
11
- options.each do |option|
12
- @tag = $1 if option =~ /tag:(\S+)/
13
- @classname = $1 if option =~ /classname:(\S+)/
14
- end
15
- end
16
-
17
- def render(context)
18
- config_tag(context, @key, @tag, @classname)
19
- end
20
- end
21
- end
22
-
23
- Liquid::Template.register_tag('config_tag', Octopress::ConfigTag)
@@ -1,63 +0,0 @@
1
- module Octopress
2
- class IncludeTag < Liquid::Tag
3
- include IncludeHelper
4
- include Conditional
5
- def initialize(tag_name, markup, tokens)
6
- @markup = markup.strip
7
- super
8
- end
9
-
10
- def render(context)
11
- if evaluate_expression @markup, context
12
- file = get_include(strip_expression(@markup, context), context)
13
- render_include(file, context) if file
14
- else
15
- ''
16
- end
17
- end
18
- end
19
-
20
- class ExistsTag < Liquid::Tag
21
- include IncludeHelper
22
- def initialize(tag_name, markup, tokens)
23
- @file = markup.strip
24
- super
25
- end
26
-
27
- def render(context)
28
- exists(@file, context)
29
- end
30
- end
31
-
32
- class WrapTag < Liquid::Block
33
- include VarHelpers
34
- include IncludeHelper
35
- HAS_CONTENT = /(.*?)({=\s*yield\s*})(.*)/im
36
-
37
- def initialize(tag_name, markup, tokens)
38
- @markup = markup.strip
39
- super
40
- end
41
-
42
- def wrap_include(file, content, context)
43
- if content =~ HAS_CONTENT
44
- $1 + render_include(file, context) + $3
45
- else
46
- raise SyntaxError.new("Syntax Error in 'wrap_include' - Valid syntax: {% wrap_include template/file.html %}\n[<div>]{= yield }[</div>]\n{% endwrap_include %}")
47
- end
48
- end
49
-
50
- def render(context)
51
- if evaluate_expression @markup, context
52
- file = get_include(strip_expression(@markup, context), context)
53
- wrap_include(file, super.strip, context) if file
54
- else
55
- ''
56
- end
57
- end
58
- end
59
- end
60
-
61
- Liquid::Template.register_tag('exists', Octopress::ExistsTag)
62
- Liquid::Template.register_tag('include', Octopress::IncludeTag)
63
- Liquid::Template.register_tag('wrap', Octopress::WrapTag)
@@ -1,23 +0,0 @@
1
- $:.unshift File.expand_path("../../../lib", File.dirname(__FILE__)) # For use/testing when no gem is installed
2
- require 'octopress'
3
-
4
- module Octopress
5
- class JavascriptAssetsTag < Liquid::Tag
6
- def initialize(tag_name, options, tokens)
7
- super
8
- end
9
-
10
- def render(context)
11
- js_assets = Octopress::JSAssetsManager.new
12
- url = js_assets.url
13
- if url
14
- url = context['site.root'].sub(/\/\s*$/, '') + url
15
- "<script src='#{url}' type='text/javascript'></script>"
16
- else
17
- ''
18
- end
19
- end
20
- end
21
- end
22
-
23
- Liquid::Template.register_tag('javascript_tag', Octopress::JavascriptAssetsTag)
@@ -1,39 +0,0 @@
1
- # Title: Puts Tag for Jekyll
2
- # Author: Brandon Mathis http://brandonmathis.com
3
- # Description: Puts is a liquid tag block which outputs its contents to the terminal
4
- #
5
- # Example Usage:
6
- # Lets say you've assigned some variable you need to test.
7
- # {% assign noun = "toaster" %}
8
- #
9
- # Drop it in a puts block along with a way to identify it in the output.
10
- # {% puts %}
11
- # Look out he's got a {{ noun }}.
12
- # {% endputs %}
13
- #
14
- # Outputs:
15
- # >>> {% puts %} <<<
16
- # Look out he's got a toaster.
17
- #
18
-
19
- module Octopress
20
- class Puts < Liquid::Block
21
- def initialize(tag_name, markup, tokens)
22
- super
23
- end
24
-
25
- def render(context)
26
- # Use a block if label + output is wider than 80 characters
27
- if super.length > 69
28
- puts "{% puts %}"
29
- puts super
30
- puts "{% endputs %}"
31
- else
32
- puts "{% puts %} #{super}"
33
- end
34
- end
35
- end
36
- end
37
-
38
- Liquid::Template.register_tag('puts', Octopress::Puts)
39
-
@@ -1,89 +0,0 @@
1
- # Title: Render Partial Tag for Jekyll
2
- # Author: Brandon Mathis
3
- # Description: Import files on your filesystem into any blog post and render them inline.
4
- # Note: Paths are relative to the source directory, if you import a file with yaml front matter, the yaml will be stripped out.
5
- #
6
- # Syntax {% render_partial path/to/file %}
7
- #
8
- # Example 1:
9
- # {% render_partial about/_bio.markdown %}
10
- #
11
- # This will import source/about/_bio.markdown and render it inline.
12
- # In this example I used an underscore at the beginning of the filename to prevent Jekyll
13
- # from generating an about/bio.html (Jekyll doesn't convert files beginning with underscores)
14
- #
15
- # Example 2:
16
- # {% render_partial ../README.markdown %}
17
- #
18
- # You can use relative pathnames, to include files outside of the source directory.
19
- # This might be useful if you want to have a page for a project's README without having
20
- # to duplicated the contents
21
- #
22
- #
23
-
24
- require 'pathname'
25
-
26
- module Jekyll
27
-
28
- # Create a new page class to allow partials to trigger post_filters
29
- class ConvertiblePage
30
- include Convertible
31
-
32
- attr_accessor :name, :content, :site, :ext, :output, :data
33
-
34
- def initialize(site, name, content)
35
- @site = site
36
- @name = name
37
- @ext = File.extname(name)
38
- @content = content
39
- @data = { layout: "no_layout" } # hack
40
- end
41
-
42
- def render(payload, info)
43
- do_layout(payload, { no_layout: nil })
44
- end
45
- end
46
-
47
- class RenderPartialTag < Liquid::Tag
48
- def initialize(tag_name, markup, tokens)
49
- @file = nil
50
- @raw = false
51
- if markup =~ /^(\S+)\s?(\w+)?/
52
- @file = $1.strip
53
- @raw = $2 == 'raw'
54
- end
55
- super
56
- end
57
-
58
- def render(context)
59
- file_dir = (context.registers[:site].source || 'source')
60
- file_path = Pathname.new(file_dir).expand_path
61
- file = file_path + @file
62
- ext = File.extname(@file)
63
-
64
- unless file.file?
65
- return "File #{file} could not be found"
66
- end
67
-
68
- Dir.chdir(file_path) do
69
- content = file.read
70
-
71
- # Strip out yaml header from partials
72
- if content =~ /\A-{3}.+[^\A]-{3}\n(.+)/m
73
- content = $1.lstrip
74
- end
75
-
76
- if @raw
77
- content
78
- else
79
- p = ConvertiblePage.new(context.registers[:site], @file, content)
80
- payload = { 'page' => context.registers[:page], 'site' => context.registers[:site] }
81
- p.render(payload, { registers: context.registers })
82
- p.output
83
- end
84
- end
85
- end
86
- end
87
- end
88
-
89
- Liquid::Template.register_tag('render_partial', Jekyll::RenderPartialTag)
@@ -1,21 +0,0 @@
1
- module Octopress
2
- class Return < Liquid::Tag
3
- include VarHelpers
4
- include Conditional
5
-
6
- def initialize(tag_name, markup, tokens)
7
- @markup = markup.strip
8
- super
9
- end
10
-
11
- def render(context)
12
- if evaluate_expression @markup, context
13
- get_value(strip_expression(@markup, context), context)
14
- else
15
- ''
16
- end
17
- end
18
- end
19
- end
20
-
21
- Liquid::Template.register_tag('return', Octopress::Return)