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
data/lib/rake/watch.rake DELETED
@@ -1,11 +0,0 @@
1
- desc "Watch the site and regenerate when it changes"
2
- task :watch do
3
- raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." if Octopress.configuration[:source].nil? || !File.directory?(Octopress.configuration[:source])
4
- puts "Starting to watch source with Jekyll and Compass."
5
- guardPid = Process.spawn("guard --guardfile #{Octopress.root}/lib/octopress/guardfile")
6
- trap("INT") {
7
- Process.kill(9, guardPid) rescue Errno::ESRCH
8
- exit 0
9
- }
10
- Process.wait guardPid
11
- end
@@ -1,142 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- Bundler.require
4
- require 'rake/clean'
5
- require 'safe_yaml'
6
-
7
- #############################################################################
8
- #
9
- # Configure Rake's clean/clobber tasks.
10
- #
11
- #############################################################################
12
-
13
- # 'rake clean' is for intermediate/temporary files not meant for direct
14
- # consumption by the user. Output from Compass, cache directories, etc are
15
- # good examples here.
16
- # CLEAN.include(...)
17
-
18
- # 'rake clobber' is for generated files meant for direct consumption by the
19
- # user. Release packages, generated docs/coverage reports, etc are good
20
- # examples here.
21
- CLOBBER.include('pkg/*')
22
-
23
-
24
- #############################################################################
25
- #
26
- # Helper functions
27
- #
28
- #############################################################################
29
-
30
- def manifest
31
- @manifest ||= YAML.safe_load_file(File.expand_path("../MANIFEST.yml", __FILE__))
32
- end
33
-
34
- def name
35
- @name ||= manifest["slug"]
36
- end
37
-
38
- def ruby_name
39
- name.gsub(/-/, '_')
40
- end
41
-
42
- require "./lib/#{ruby_name}"
43
-
44
- def version
45
- manifest["version"]
46
- end
47
-
48
- def date
49
- Date.today.to_s
50
- end
51
-
52
- def gemspec_file
53
- "#{name}.gemspec"
54
- end
55
-
56
- def gem_file
57
- "#{name}-#{version}.gem"
58
- end
59
-
60
- def replace_header(head, header_name)
61
- head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
62
- end
63
-
64
- #############################################################################
65
- #
66
- # Standard tasks
67
- #
68
- #############################################################################
69
-
70
- task :default => :test
71
-
72
- desc "Open an irb session preloaded with this library"
73
- task :console do
74
- require 'irb'
75
- ARGV.clear
76
- IRB.start
77
- end
78
-
79
- #############################################################################
80
- #
81
- # Packaging tasks
82
- #
83
- #############################################################################
84
-
85
- desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
86
- task :release => :build do
87
- unless `git branch` =~ /^\* master$/
88
- puts "You must be on the master branch to release!"
89
- exit!
90
- end
91
- sh "git commit --allow-empty -a -m 'Release #{version}'"
92
- sh "git tag v#{version}"
93
- sh "git push origin master"
94
- sh "git push origin v#{version}"
95
- sh "gem push pkg/#{name}-#{version}.gem"
96
- end
97
-
98
- desc "Build #{gem_file} into the pkg directory"
99
- task :build => :gemspec do
100
- sh "mkdir -p pkg"
101
- sh "gem build #{gemspec_file}"
102
- sh "mv #{gem_file} pkg"
103
- end
104
-
105
- desc "Generate #{gemspec_file}"
106
- task :gemspec => :validate do
107
- # read spec file and split out manifest section
108
- spec = File.read(gemspec_file)
109
- head, manifest, tail = spec.split(" # = MANIFEST =\n")
110
-
111
- replace_header(head, :date)
112
-
113
- # determine file list from git ls-files
114
- # TODO: Certain files don't belong in the gem...
115
- files = `git ls-files`.
116
- split("\n").
117
- sort.
118
- reject { |file| file =~ /^\./ }.
119
- reject { |file| file =~ /^(rdoc|pkg)/ }.
120
- reject { |file| file =~ /^Gemfile(\.lock)?$/ }.
121
- map { |file| " #{file}" }.
122
- join("\n")
123
-
124
- # piece file back together and write
125
- manifest = " octo.files = %w[\n#{files}\n ]\n"
126
- spec = [head, manifest, tail].join(" # = MANIFEST =\n")
127
- File.open(gemspec_file, 'w') { |io| io.write(spec) }
128
- puts "Updated #{gemspec_file}"
129
- end
130
-
131
- desc "Validate #{gemspec_file}"
132
- task :validate do
133
- libfiles = Dir['lib/*'] - ["lib/#{ruby_name}.rb", "lib/#{ruby_name}"]
134
- unless libfiles.empty?
135
- puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir."
136
- exit!
137
- end
138
- if Dir['MANIFEST.yml'].empty?
139
- puts "A `MANIFEST.yml` file must exist in your root with at least your plugin slug and version."
140
- exit!
141
- end
142
- end
@@ -1,43 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- require "safe_yaml"
4
-
5
- def manifest
6
- @manifest ||= YAML.safe_load_file(File.expand_path("../MANIFEST.yml", __FILE__))
7
- end
8
-
9
- Gem::Specification.new do |plugin|
10
- plugin.specification_version = 2 if plugin.respond_to? :specification_version=
11
- plugin.required_rubygems_version = Gem::Requirement.new(">= 0") if plugin.respond_to? :required_rubygems_version=
12
- plugin.rubygems_version = '1.3.5'
13
-
14
- plugin.name = manifest["name"]
15
- plugin.version = manifest["version"]
16
- plugin.date = '2013-05-23'
17
- plugin.authors = manifest["authors"]
18
- plugin.email = manifest["emails"]
19
- plugin.description = manifest["description"]
20
- plugin.summary = manifest["summary"]
21
- plugin.homepage = manifest["homepage"]
22
-
23
- plugin.rdoc_options = ["--charset=UTF-8"]
24
- plugin.extra_rdoc_files = manifest["extra_rdoc_files"]
25
-
26
- # = MANIFEST =
27
- plugin.files = %w[
28
- ]
29
- # = MANIFEST =
30
-
31
- plugin.require_paths = %w[lib]
32
- plugin.executables = plugin.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
33
- plugin.test_files = plugin.files.grep(%r{^(test|spec|features)/})
34
-
35
- {
36
- "octopress" => "~> 3.0.0"
37
- }.each do |gem_name, version|
38
- plugin.add_runtime_dependency(gem_name, version)
39
- end
40
-
41
- plugin.add_development_dependency('rake', '~> 10.0.3')
42
- plugin.add_development_dependency('rspec', '~> 2.13.0')
43
- end
@@ -1,2 +0,0 @@
1
- ---
2
- env: config_specified_environment
@@ -1,11 +0,0 @@
1
- ---
2
- # ------------------------------- #
3
- # Classic Theme Configuration #
4
- # ------------------------------- #
5
-
6
- url: http://yoursite.com
7
- title: My Octopress Blog
8
- subtitle: A blogging framework for hackers.
9
- author: Your Name
10
- simple_search: http://google.com/search
11
- description:
@@ -1,11 +0,0 @@
1
- ---
2
- # ------------------------------- #
3
- # Classic Theme Configuration #
4
- # ------------------------------- #
5
-
6
- url: http://yoursite.com
7
- title: My Octopress Blog
8
- subtitle: A blogging framework for hackers.
9
- author: Your Name
10
- simple_search: http://google.com/search
11
- description:
@@ -1,11 +0,0 @@
1
- ---
2
- # ------------------------------- #
3
- # Classic Theme Configuration #
4
- # ------------------------------- #
5
-
6
- url: http://myownsite.com
7
- title: My Octopress custom Blog
8
- subtitle: "How did this get here? I'm not good with computers"
9
- author: John Doe
10
- simple_search: http://google.com/search
11
- description:
@@ -1,67 +0,0 @@
1
- describe Octopress do
2
- describe ".configurator" do
3
- it "should accept a path pointing to a config directory" do
4
- Octopress.configurator(fixture_path('env'))
5
-
6
- Octopress.env.should eq('config_specified_environment')
7
- end
8
- end
9
-
10
- describe ".configuration" do
11
- before do
12
- Octopress.configurator(fixture_path('env'))
13
- end
14
- let(:configuration) { Octopress.configuration }
15
-
16
- it "should provide access to the specified configuration" do
17
- configuration[:env].should eq('config_specified_environment')
18
- end
19
- end
20
- end
21
-
22
- describe Octopress::Configuration do
23
- describe '#read_configuration' do
24
- describe "when no override" do
25
- before do
26
- @octo_config = Octopress::Configuration.new(fixture_path('no_override'))
27
- end
28
- let(:configuration) { @octo_config.read_configuration }
29
- let(:expected_config) {
30
- { :url => "http://yoursite.com",
31
- :title => "My Octopress Blog",
32
- :subtitle => "A blogging framework for hackers.",
33
- :author => "Your Name",
34
- :simple_search => "http://google.com/search",
35
- :description => nil }
36
-
37
- }
38
-
39
- %w[url title subtitle author simple_search description].each do |key|
40
- it "returns the correct value for #{key}" do
41
- configuration[key.to_sym].should eq(expected_config[key.to_sym])
42
- end
43
- end
44
- end
45
-
46
- describe "when override" do
47
- before do
48
- @octo_config = Octopress::Configuration.new(fixture_path('override'))
49
- end
50
- let(:configuration) { @octo_config.read_configuration }
51
- let(:expected_config) {
52
- { :url => "http://myownsite.com",
53
- :title => "My Octopress custom Blog",
54
- :subtitle => "How did this get here? I'm not good with computers",
55
- :author => "John Doe",
56
- :simple_search => "http://google.com/search",
57
- :description => nil }
58
- }
59
-
60
- %w[url title subtitle author simple_search description].each do |key|
61
- it "returns the correct value for #{key}" do
62
- configuration[key.to_sym].should eq(expected_config[key.to_sym])
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,66 +0,0 @@
1
- describe Octopress::DependencyInstaller do
2
- # describe "#namespace" do
3
- # context "when just a repo name is specified" do
4
- # let(:plugin) { "adn-timeline" }
5
- # subject { Octopress::DependencyInstaller.new.namespace(plugin) }
6
- # it { should eq("adn-timeline") }
7
- # end
8
- # context "when a username and repo name are specified" do
9
- # let(:plugin) { "imathis/adntimeline" }
10
- # subject { Octopress::DependencyInstaller.new.namespace(plugin) }
11
- # it { should eq("imathis-adntimeline") }
12
- # end
13
- # context "when a username and repo name are specified (with dash)" do
14
- # let(:plugin) { "imathis-/adn-timeline" }
15
- # subject { Octopress::DependencyInstaller.new.namespace(plugin) }
16
- # it { should eq("imathis-adn-timeline") }
17
- # end
18
- # context "when a full git:// URL is specified" do
19
- # let(:plugin) { "git://github.com/parkr/cool-plugin.git" }
20
- # subject { Octopress::DependencyInstaller.new.namespace(plugin) }
21
- # it { should eq("parkr-cool-plugin") }
22
- # end
23
- # context "when a full https:// URL is specified" do
24
- # let(:plugin) { "https://bitbucket.com/parkr/cool-plugin.git" }
25
- # subject { Octopress::DependencyInstaller.new.namespace(plugin) }
26
- # it { should eq("parkr-cool-plugin") }
27
- # end
28
- # context "when a full git SSH path is specified" do
29
- # let(:plugin) { "git@octopress.org:parkr/cool-plugin.git" }
30
- # subject { Octopress::DependencyInstaller.new.namespace(plugin) }
31
- # it { should eq("parkr-cool-plugin") }
32
- # end
33
- # end
34
- describe "#git_url" do
35
- context "when just a repo name is specified" do
36
- let(:plugin) { "adn-timeline" }
37
- subject { Octopress::DependencyInstaller.new.git_url(plugin) }
38
- it { should eq("git://github.com/octopress/#{plugin}.git") }
39
- end
40
- context "when a username and repo name are specified" do
41
- let(:plugin) { "imathis/adntimeline" }
42
- subject { Octopress::DependencyInstaller.new.git_url(plugin) }
43
- it { should eq("git://github.com/#{plugin}.git") }
44
- end
45
- context "when a username and repo name are specified (with dash)" do
46
- let(:plugin) { "imathis-/adn-timeline" }
47
- subject { Octopress::DependencyInstaller.new.git_url(plugin) }
48
- it { should eq("git://github.com/#{plugin}.git") }
49
- end
50
- context "when a full git:// URL is specified" do
51
- let(:plugin) { "git://github.com/parkr/cool-plugin.git" }
52
- subject { Octopress::DependencyInstaller.new.git_url(plugin) }
53
- it { should eq(plugin) }
54
- end
55
- context "when a full https:// URL is specified" do
56
- let(:plugin) { "https://bitbucket.com/parkr/cool-plugin.git" }
57
- subject { Octopress::DependencyInstaller.new.git_url(plugin) }
58
- it { should eq(plugin) }
59
- end
60
- context "when a full git SSH path is specified" do
61
- let(:plugin) { "git@octopress.org:parkr/cool-plugin.git" }
62
- subject { Octopress::DependencyInstaller.new.git_url(plugin) }
63
- it { should eq(plugin) }
64
- end
65
- end
66
- end
@@ -1,10 +0,0 @@
1
- describe Octopress::Ink do
2
- subject { Octopress::Ink.build }
3
-
4
- %w[debug warn info error].each do |method|
5
- it "responds to #{method} method" do
6
- expect(subject).to respond_to(method)
7
- end
8
- end
9
-
10
- end
@@ -1,97 +0,0 @@
1
- describe Octopress do
2
- describe '#env' do
3
- context "when ENV['OCTOPRESS_ENV'] is specified" do
4
- before do
5
- ENV['OCTOPRESS_ENV'] = 'some_environment'
6
- end
7
-
8
- subject do
9
- Octopress.env
10
- end
11
-
12
- it "returns the environment as something that quacks like a string" do
13
- should eq('some_environment')
14
- end
15
-
16
- # For the InquirableString functionality...
17
- describe "#some_environment?" do
18
- subject do
19
- Octopress.env.some_environment?
20
- end
21
-
22
- it "returns true when the environment is set to 'some_environment'" do
23
- should be_true
24
- end
25
- end
26
-
27
- describe "#some_other_environment?" do
28
- subject do
29
- Octopress.env.some_other_environment?
30
- end
31
-
32
- it "returns false when the environment is set to 'some_environment'" do
33
- should be_false
34
- end
35
- end
36
- end
37
-
38
- describe "when ENV['OCTOPRESS_ENV'] is NOT specified and a value is specified in config files" do
39
- before do
40
- @old_value = ENV['OCTOPRESS_ENV']
41
- ENV['OCTOPRESS_ENV'] = nil
42
- Octopress.configurator(File.join(File.dirname(__FILE__), '..', 'fixtures', 'env'))
43
- end
44
-
45
- after do
46
- ENV['OCTOPRESS_ENV'] = @old_value
47
- Octopress.clear_config!
48
- end
49
-
50
- subject do
51
- Octopress.env
52
- end
53
-
54
- it "returns the environment as something that quacks like a string" do
55
- should eq('config_specified_environment')
56
- end
57
-
58
- # For the InquirableString functionality...
59
- describe "#config_specified_environment?" do
60
- subject do
61
- Octopress.env.config_specified_environment?
62
- end
63
-
64
- it "returns true when the environment is set to 'config_specified_environment'" do
65
- should be_true
66
- end
67
- end
68
-
69
- describe "#some_other_environment?" do
70
- subject do
71
- Octopress.env.some_other_environment?
72
- end
73
-
74
- it "returns false when the environment is set to 'config_specified_environment'" do
75
- should be_false
76
- end
77
- end
78
- end
79
-
80
- describe "when the configuration value changes mid-execution" do
81
- before do
82
- @old_value = ENV['OCTOPRESS_ENV']
83
- ENV['OCTOPRESS_ENV'] = 'value_a'
84
- end
85
-
86
- after do
87
- ENV['OCTOPRESS_ENV'] = @old_value
88
- end
89
-
90
- it "returns the initial environment value, then after it's changed, returns the new one" do
91
- Octopress.env.should eq('value_a')
92
- ENV['OCTOPRESS_ENV'] = 'value_b'
93
- Octopress.env.should eq('value_b')
94
- end
95
- end
96
- end
97
- end