octopress-ink 1.0.0.rc.36 → 1.0.0.rc.37

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56ebfce335676f99bae03bf396ae7ab9fb696bcc
4
- data.tar.gz: 63ae8ce72d9f95655334e038043a6fefb5c341f6
3
+ metadata.gz: ccdb4e645dc51a1054578a2ada97f281d9c18002
4
+ data.tar.gz: f6fc232afa388a80fa9c2f1cdbf172612cfb23a5
5
5
  SHA512:
6
- metadata.gz: acafed4ded48d6f87fe82771956310d73372c08d7dd5cbca5b904e6aeeabb0a3b7f18f0a56dbe954decb3f2b7d62f005285061a96d538591eceddb67ddd3a632
7
- data.tar.gz: 67295fe9fa34aa4758b867c4c0786d4829fabf2cbd5fe3560470e12ad5283161f7a29451ba55f6b2eb827f3825533995f01c6903c89d91f5bddc9768b0ac9d7e
6
+ metadata.gz: 1e3b71f0016778d02bec195b12d42adc34ef755b02ddfdf60d1fa342f40167afd85f968fa1d01494431753576ec053f42f9a830bf5dfe8b21865d9f9d646d945
7
+ data.tar.gz: 4292efba16ea66b024518ae8648592cd31e8bf7e216f6903ced458ff1923e7d3e60f221cdd1ef260f02ece145f1aadc46bbf429e546ab29fc1ed97cc3fdf73b6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ### 1.0.0 RC37 - 2015-01-31
4
+
5
+ - Added `clone` method to page assets.
6
+ - Pages now list permalink settings in `ink list` view.
7
+ - Refactored page permalink system.
8
+
3
9
  ### 1.0.0 RC36 - 2015-01-31
4
10
 
5
11
  - Fix: Octopress Hooks now fire properly on page assets.
@@ -6,6 +6,7 @@ module Octopress
6
6
  module Assets
7
7
  class PageAsset < Asset
8
8
  attr_reader :filename
9
+ attr_accessor :data, :permalink_name
9
10
 
10
11
  def initialize(plugin, base, file)
11
12
  @root = plugin.assets_path
@@ -15,6 +16,8 @@ module Octopress
15
16
  @dir = File.dirname(file)
16
17
  @file = File.basename(file)
17
18
  @exists = {}
19
+ @permalink_name = File.basename(file, '.*')
20
+ @data = {}
18
21
  file_check
19
22
  end
20
23
 
@@ -28,6 +31,14 @@ module Octopress
28
31
  end
29
32
  end
30
33
 
34
+ def clone(permalink_name, permalink, data={})
35
+ p = PageAsset.new(plugin, base, file)
36
+ p.permalink_name = permalink_name
37
+ p.permalink ||= permalink
38
+ p.data.merge!(data)
39
+ p
40
+ end
41
+
31
42
  def find_page(page)
32
43
  site_dir = Octopress.site.dest
33
44
  dest = page.destination(site_dir)
@@ -39,12 +50,25 @@ module Octopress
39
50
  end
40
51
 
41
52
  def page
42
- @page ||= Page.new(Octopress.site, source_dir, page_dir, file, plugin.config)
53
+ @page ||= begin
54
+ page = Page.new(Octopress.site, source_dir, page_dir, file, self)
55
+ page.data.merge!(@data)
56
+ page
57
+ end
43
58
  end
44
59
 
45
60
  def info
46
61
  message = super
47
- message.ljust(25) + url_info
62
+ message.sub!(/#{filename}/, permalink_name.ljust(filename.size))
63
+ message.ljust(25) + page.permalink
64
+ end
65
+
66
+ def permalink
67
+ @permalink ||= plugin.config['permalinks'][permalink_name]
68
+ end
69
+
70
+ def permalink=(url)
71
+ @permalink = plugin.config['permalinks'][permalink_name] = url
48
72
  end
49
73
 
50
74
  private
@@ -57,10 +81,6 @@ module Octopress
57
81
  File.join(plugin_dir, dir, file)
58
82
  end
59
83
 
60
- def url_info
61
- "/#{page.url.sub(/^\//,'')}"
62
- end
63
-
64
84
  def user_dir
65
85
  File.join Octopress.site.source, Plugins.custom_dir, plugin.slug, base
66
86
  end
@@ -69,4 +89,3 @@ module Octopress
69
89
  end
70
90
  end
71
91
  end
72
-
@@ -10,17 +10,13 @@ module Octopress
10
10
  # - '/' for the _site/index.html page
11
11
  # - '/archive/' for the _site/archive/index.html page
12
12
  #
13
- def initialize(site, base, dir, name, config={})
14
- @config = config
13
+ def initialize(site, base, dir, name, asset)
14
+ @asset = asset
15
15
  super(site, base, dir, name)
16
- post_init if respond_to?(:post_init)
17
16
  end
18
17
 
19
18
  def destination(dest)
20
19
  unless @dest
21
- if @config['path']
22
- dest = File.join(dest, @config['path'])
23
- end
24
20
  @dest = File.join(dest, self.url)
25
21
  end
26
22
  @dest
@@ -35,33 +31,21 @@ module Octopress
35
31
  # Allow pages to read url from plugin configuration
36
32
  #
37
33
  def url
38
- if @url
39
- @url
40
- else
41
- begin
42
-
43
- page_name = File.basename(self.name, '.*')
44
- config = @config['permalinks'][page_name]
45
-
46
- if config.is_a? String
47
- @url = config
48
- self.data['permalink'] = nil
49
- else
50
- @config['permalinks'][File.basename(self.name, '.*')] = self.data['permalink']
51
- end
52
- rescue; end
34
+ @url ||= begin
35
+ @asset.permalink ||= self.data['permalink']
36
+ url = @asset.permalink
53
37
 
54
38
  super
55
39
 
56
- if @url && @url =~ /\/$/
40
+ if url && url =~ /\/$/
57
41
  if self.ext == '.xml'
58
- @url = File.join(@url, "index.xml")
42
+ url = File.join(url, "index.xml")
59
43
  else
60
- @url = File.join(@url, "index.html")
44
+ url = File.join(url, "index.html")
61
45
  end
62
46
  end
63
47
 
64
- @url
48
+ url
65
49
  end
66
50
  end
67
51
  end
@@ -1,5 +1,5 @@
1
1
  module Octopress
2
2
  module Ink
3
- VERSION = "1.0.0.rc.36"
3
+ VERSION = "1.0.0.rc.37"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octopress-ink
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc.36
4
+ version: 1.0.0.rc.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Mathis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-31 00:00:00.000000000 Z
11
+ date: 2015-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll