octopress 3.0.0.rc.10 → 3.0.0.rc.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0325806e004cef3b206f8cb47b889917b433c317
4
- data.tar.gz: 48e047752fde08f395320585e883cff474c66d74
3
+ metadata.gz: f890b49b0468bf8cea9498b00ab637505eb9bf62
4
+ data.tar.gz: 8e9b290d772534b231f13eef5cedf218aa4f46e3
5
5
  SHA512:
6
- metadata.gz: e10d7cdd4c2ac285b224be35b81294c9e78e8a37d696a3de83b5a62eb222bfd930ff2fb19f24c69f0dff9b1448fb073b8d54411e1aaae2f19626de0dc2f785c2
7
- data.tar.gz: 07c8b7c503637fad940ca72c9ccd476f591c40e7887cbfb3b4251de463929bb1e2c6084bf92d21e01dce360292f0d7b214552c27b4e5ef14077126ac789b911b
6
+ metadata.gz: 0bad3975b63a5d5c4d35451f62b1fd6609824df851ce780d3534c12ad88fb85e67832a0c7a6ccfa8856e5b83dd04d02fa83bad193308ef52c4beaeb5ae77fd6f
7
+ data.tar.gz: 49f2e67e03d06fba6f38c11eba0f98436cb0f0c7f711907974493658fbd1042beb7924eeef79db1f4e8a51b0708aeda99a58d6dbe4f5805454b30fa217ff9826
data/CHANGELOG.md CHANGED
@@ -2,9 +2,16 @@
2
2
 
3
3
  ## Current released version
4
4
 
5
+ ### 3.0.0 RC11 - 2014-19-07
6
+
7
+ - Replaced Hash extensions with Jekyll utility methods
8
+ - Replaced String extension "titlecase" with Octopress utility method
9
+
10
+ ## Past versions
11
+
5
12
  ### 3.0.0 RC10 - 2014-05-07
6
13
 
7
- - Now using SafeYAML.load instead of YAML.safe_load
14
+ - Now using SafeYAML.load instead of YAML.safe_load [#38](https://github.com/octopress/octopress/issues/38)
8
15
 
9
16
  ### 3.0.0 RC9 - 2014-05-07
10
17
 
@@ -19,8 +26,6 @@
19
26
  - Fixed Time.parse with `--date` option on new posts and pages.
20
27
  - Bumped Jekyll to 1.5.
21
28
 
22
- ## Past versions
23
-
24
29
  ### 3.0.0 RC6 - 2014-03-22
25
30
 
26
31
  - Added support for octopress-ink documentation system.
data/README.md CHANGED
@@ -10,7 +10,7 @@ Octopress is an obsessively designed toolkit for writing and deploying Jekyll bl
10
10
 
11
11
  Add this line to your application's Gemfile:
12
12
 
13
- gem 'octopress', '~> 3.0.0.rc.10'
13
+ gem 'octopress', '~> 3.0.0.rc.11'
14
14
 
15
15
  And then execute:
16
16
 
@@ -40,7 +40,7 @@ Run `octopress [command] --help` to learn more about any command and see its opt
40
40
 
41
41
  ### Deployment
42
42
 
43
- You can deploy your Octopress or Jeklly blog via git, rsync or Amazon S3. The deployment system ships with the [octopress-deploy][] gem which extends the Octopress CLI with the `deploy` command.
43
+ You can deploy your Octopress or Jekyll blog via git, rsync or Amazon S3. The deployment system ships with the [octopress-deploy][] gem which extends the Octopress CLI with the `deploy` command.
44
44
 
45
45
  [octopress-deploy]: https://github.com/octopress/deploy
46
46
 
@@ -5,9 +5,16 @@ permalink: /changelog/
5
5
 
6
6
  ## Current released version
7
7
 
8
+ ### 3.0.0 RC11 - 2014-19-07
9
+
10
+ - Replaced Hash extensions with Jekyll utility methods
11
+ - Replaced String extension "titlecase" with Octopress utility method
12
+
13
+ ## Past versions
14
+
8
15
  ### 3.0.0 RC10 - 2014-05-07
9
16
 
10
- - Now using SafeYAML.load instead of YAML.safe_load
17
+ - Now using SafeYAML.load instead of YAML.safe_load [#38](https://github.com/octopress/octopress/issues/38)
11
18
 
12
19
  ### 3.0.0 RC9 - 2014-05-07
13
20
 
@@ -22,8 +29,6 @@ permalink: /changelog/
22
29
  - Fixed Time.parse with `--date` option on new posts and pages.
23
30
  - Bumped Jekyll to 1.5.
24
31
 
25
- ## Past versions
26
-
27
32
  ### 3.0.0 RC6 - 2014-03-22
28
33
 
29
34
  - Added support for octopress-ink documentation system.
@@ -12,7 +12,7 @@ Octopress is an obsessively designed toolkit for writing and deploying Jekyll bl
12
12
 
13
13
  Add this line to your application's Gemfile:
14
14
 
15
- gem 'octopress', '~> 3.0.0.rc.10'
15
+ gem 'octopress', '~> 3.0.0.rc.11'
16
16
 
17
17
  And then execute:
18
18
 
@@ -42,7 +42,7 @@ Run `octopress [command] --help` to learn more about any command and see its opt
42
42
 
43
43
  ### Deployment
44
44
 
45
- You can deploy your Octopress or Jeklly blog via git, rsync or Amazon S3. The deployment system ships with the [octopress-deploy][] gem which extends the Octopress CLI with the `deploy` command.
45
+ You can deploy your Octopress or Jekyll blog via git, rsync or Amazon S3. The deployment system ships with the [octopress-deploy][] gem which extends the Octopress CLI with the `deploy` command.
46
46
 
47
47
  [octopress-deploy]: https://github.com/octopress/deploy
48
48
 
data/lib/octopress.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  require 'mercenary'
2
2
 
3
3
  module Octopress
4
- require 'octopress/ext/hash'
5
- require 'octopress/ext/titlecase'
4
+ require 'octopress/utils'
6
5
  require 'octopress/configuration'
7
6
  require 'octopress/command'
8
7
  require 'octopress/version'
@@ -16,13 +16,13 @@ module Octopress
16
16
  user_config = {}
17
17
 
18
18
  if File.exist? file
19
- user_config = SafeYAML.load(File.open(file).read) || {}
19
+ user_config = SafeYAML.load_file(file) || {}
20
20
  end
21
21
 
22
- user_config = user_config.deep_merge(options['override'] || {})
23
- user_config = (options['defaults'] || {}).deep_merge(user_config)
22
+ user_config = Jekyll::Utils.deep_merge_hashes(user_config, options['override'] || {})
23
+ user_config = Jekyll::Utils.deep_merge_hashes(options['defaults'] || {}, user_config)
24
24
 
25
- @config = DEFAULTS.deep_merge(user_config)
25
+ @config = Jekyll::Utils.deep_merge_hashes(DEFAULTS, user_config)
26
26
  end
27
27
 
28
28
  def self.jekyll_config(options={})
@@ -32,7 +32,7 @@ module Octopress
32
32
 
33
33
  (options['config'] || ['_config.yml']).each do |file|
34
34
  if File.exist? file
35
- configs = configs.deep_merge SafeYAML.load(File.open(file))
35
+ configs = Jekyll::Utils.deep_merge_hashes(configs, SafeYAML.load_file(file) || {})
36
36
  end
37
37
  end
38
38
 
@@ -106,7 +106,7 @@ module Octopress
106
106
  # Render Liquid vars in YAML front-matter.
107
107
  def parse_template(input)
108
108
 
109
- @options['title'].titlecase! if @config['titlecase']
109
+ Octopress::Utils.titlecase!(@options['title']) if @config['titlecase']
110
110
  # If possible only parse the YAML front matter.
111
111
  # If YAML front-matter dashes aren't present parse the whole
112
112
  # template and add dashes.
@@ -0,0 +1,42 @@
1
+ module Octopress
2
+ module Utils
3
+
4
+ # Smart capitalization for titles
5
+ #
6
+ def self.titlecase(input)
7
+ small_words = %w(a an and as at but by en for if in of on or the to v v. via vs vs.)
8
+
9
+ x = input.split(" ").map do |word|
10
+ # note: word could contain non-word characters!
11
+ # downcase all small_words, capitalize the rest
12
+ small_words.include?(word.gsub(/\W/, "").downcase) ? word.downcase! : smart_capitalize!(word)
13
+ word
14
+ end
15
+ # capitalize first and last words
16
+ smart_capitalize!(x.first)
17
+ smart_capitalize!(x.last)
18
+ # small words are capitalized after colon, period, exclamation mark, question mark
19
+ x.join(" ").gsub(/(:|\.|!|\?)\s?(\W*#{small_words.join("|")}\W*)\s/) { "#{$1} #{smart_capitalize($2)} " }
20
+ end
21
+
22
+ def self.titlecase!(input)
23
+ input.replace(titlecase(input))
24
+ end
25
+
26
+ def self.smart_capitalize(input)
27
+ target = input.dup
28
+ # ignore any leading crazy characters and capitalize the first real character
29
+ if target =~ /^['"\(\[']*([a-z])/
30
+ i = input.index($1)
31
+ x = target[i,target.length]
32
+ # word with capitals and periods mid-word are left alone
33
+ target[i,1] = target[i,1].upcase unless x =~ /[A-Z]/ or x =~ /\.\w+/
34
+ end
35
+ target
36
+ end
37
+
38
+ def self.smart_capitalize!(input)
39
+ input.replace(smart_capitalize(input))
40
+ end
41
+ end
42
+ end
@@ -1,3 +1,3 @@
1
1
  module Octopress
2
- VERSION = "3.0.0.rc.10"
2
+ VERSION = "3.0.0.rc.11"
3
3
  end
data/octopress.gemspec CHANGED
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_runtime_dependency "mercenary", "~> 0.3.2"
22
- spec.add_runtime_dependency "jekyll", "~> 2.0", ">= 2.0.0"
22
+ spec.add_runtime_dependency "jekyll", "~> 2.0"
23
23
 
24
- #spec.add_development_dependency "octopress-ink"
24
+ spec.add_development_dependency "octopress-ink"
25
25
  spec.add_development_dependency "bundler", "~> 1.3"
26
26
  spec.add_development_dependency "pry-debugger"
27
27
  spec.add_development_dependency "rake"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octopress
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc.10
4
+ version: 3.0.0.rc.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Mathis
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-08 00:00:00.000000000 Z
12
+ date: 2014-05-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mercenary
@@ -32,9 +32,6 @@ dependencies:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: '2.0'
35
- - - ">="
36
- - !ruby/object:Gem::Version
37
- version: 2.0.0
38
35
  type: :runtime
39
36
  prerelease: false
40
37
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,9 +39,20 @@ dependencies:
42
39
  - - "~>"
43
40
  - !ruby/object:Gem::Version
44
41
  version: '2.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: octopress-ink
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
45
46
  - - ">="
46
47
  - !ruby/object:Gem::Version
47
- version: 2.0.0
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
48
56
  - !ruby/object:Gem::Dependency
49
57
  name: bundler
50
58
  requirement: !ruby/object:Gem::Requirement
@@ -119,11 +127,10 @@ files:
119
127
  - lib/octopress/configuration.rb
120
128
  - lib/octopress/docs.rb
121
129
  - lib/octopress/draft.rb
122
- - lib/octopress/ext/hash.rb
123
- - lib/octopress/ext/titlecase.rb
124
130
  - lib/octopress/page.rb
125
131
  - lib/octopress/post.rb
126
132
  - lib/octopress/scaffold.rb
133
+ - lib/octopress/utils.rb
127
134
  - lib/octopress/version.rb
128
135
  - octopress.gemspec
129
136
  - scaffold/_octopress.yml
@@ -1,45 +0,0 @@
1
- class Hash
2
- # Merges self with another hash, recursively.
3
- #
4
- # This code was lovingly stolen from some random gem:
5
- # http://gemjack.com/gems/tartan-0.1.1/classes/Hash.html
6
- #
7
- # Thanks to whoever made it.
8
- def deep_merge(hash)
9
- target = dup
10
- hash.keys.each do |key|
11
- if hash[key].is_a? Hash and self[key].is_a? Hash
12
- target[key] = target[key].deep_merge(hash[key])
13
- next
14
- end
15
- target[key] = hash[key]
16
- end
17
-
18
- target
19
- end
20
-
21
- def to_symbol_keys
22
- inject({}) do |memo, (k, v)|
23
- if v.is_a? Hash
24
- memo[k.to_sym] = v.to_symbol_keys
25
- else
26
- memo[k.to_sym] = v
27
- end
28
-
29
- memo
30
- end
31
- end
32
-
33
- def to_string_keys
34
- inject({}) do |memo, (k, v)|
35
- if v.is_a? Hash
36
- memo[k.to_s] = v.to_string_keys
37
- else
38
- memo[k.to_s] = v
39
- end
40
-
41
- memo
42
- end
43
- end
44
- end
45
-
@@ -1,37 +0,0 @@
1
- class String
2
- def titlecase
3
- small_words = %w(a an and as at but by en for if in of on or the to v v. via vs vs.)
4
-
5
- x = split(" ").map do |word|
6
- # note: word could contain non-word characters!
7
- # downcase all small_words, capitalize the rest
8
- small_words.include?(word.gsub(/\W/, "").downcase) ? word.downcase! : word.smart_capitalize!
9
- word
10
- end
11
- # capitalize first and last words
12
- x.first.to_s.smart_capitalize!
13
- x.last.to_s.smart_capitalize!
14
- # small words are capitalized after colon, period, exclamation mark, question mark
15
- x.join(" ").gsub(/(:|\.|!|\?)\s?(\W*#{small_words.join("|")}\W*)\s/) { "#{$1} #{$2.smart_capitalize} " }
16
- end
17
-
18
- def titlecase!
19
- replace(titlecase)
20
- end
21
-
22
- def smart_capitalize
23
- target = dup
24
- # ignore any leading crazy characters and capitalize the first real character
25
- if target =~ /^['"\(\[']*([a-z])/
26
- i = index($1)
27
- x = target[i,target.length]
28
- # word with capitals and periods mid-word are left alone
29
- target[i,1] = target[i,1].upcase unless x =~ /[A-Z]/ or x =~ /\.\w+/
30
- end
31
- target
32
- end
33
-
34
- def smart_capitalize!
35
- replace(smart_capitalize)
36
- end
37
- end