dimples 11.0.0 → 11.0.2

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
  SHA256:
3
- metadata.gz: 4c840b0dffbd13241c53322349b2d4d8cc27702fd24e23e634f8aa3c68ccb7ef
4
- data.tar.gz: a84f8dd4b99af20ad44a60bc42e4155731ed34aadd245987552f105cbc744ad2
3
+ metadata.gz: e72ac558386b1bec960daa57fae865dd8b20cdb01fe5302f4e7f971377836419
4
+ data.tar.gz: bff05467b9c3a65109686cef1860df044df877984c69f03803ec68886510285f
5
5
  SHA512:
6
- metadata.gz: 81dfeb441b90d5861bb75353317e71f9e528a6d6008f221f65af1b5ab98529d0046afc0fdf4bcb2cbb7507d94546784dea360366e427a0394664cbecf19c8f7b
7
- data.tar.gz: f66eaa19302fe7c177160fb935fdab210d6e6c02afbeee936ae80880b1a225de94c3432433cee4773b3d4667d111903aaf552d6e7c0955b8f5662e22b1e28209
6
+ metadata.gz: b72eeca086c5507dd1e4ad0c38f25268b2f878c6be792fa7fdce0532cf03adf427b62456c1373902e12968a319495a7c0d8930a85f01634133f8c6b73fe3574f
7
+ data.tar.gz: 24d15dc6a09d7bdad7ffedd1ab24e4c76bdcdb76fde49c54f8c811df57f52c8554e12d13f41672af8b1e75d6ad006b10d8be5bed9bb0d9acc56fd58ea29c8191
data/lib/dimples/entry.rb CHANGED
@@ -9,8 +9,7 @@ module Dimples
9
9
  FRONT_MATTER_PATTERN = /^(-{3}\n.*?\n?)^(-{3}*$\n?)/m
10
10
  DEFAULT_FILENAME = 'index.html'
11
11
 
12
- attr_accessor :path, :contents, :rendered_contents
13
- attr_reader :metadata
12
+ attr_reader :path, :contents, :metadata
14
13
 
15
14
  def initialize(source:)
16
15
  contents = case source
data/lib/dimples/pager.rb CHANGED
@@ -5,22 +5,21 @@ module Dimples
5
5
  class Pager
6
6
  include Enumerable
7
7
 
8
- DEFAULT_PER_PAGE = 5
8
+ DEFAULT_OPTIONS = { per_page: 5, page_prefix: 'page_' }.freeze
9
9
 
10
10
  attr_reader :current_page, :previous_page, :next_page, :page_count
11
11
 
12
- def self.paginate(url:, posts:, per_page: DEFAULT_PER_PAGE, context: {}, &block)
13
- new(url: url, posts: posts).paginate(context: context, &block)
12
+ def self.paginate(url:, posts:, options: {}, context: {}, &block)
13
+ new(url: url, posts: posts, options: options).paginate(context: context, &block)
14
14
  end
15
15
 
16
- def initialize(url:, posts:, per_page: DEFAULT_PER_PAGE)
16
+ def initialize(url:, posts:, options: {})
17
17
  @url = url
18
18
  @url << '/' unless @url[-1] == '/'
19
19
 
20
20
  @posts = posts
21
-
22
- @per_page = per_page
23
- @page_count = (posts.length.to_f / @per_page.to_i).ceil
21
+ @options = DEFAULT_OPTIONS.merge(options)
22
+ @page_count = (posts.length.to_f / @options[:per_page].to_i).ceil
24
23
 
25
24
  step_to(1)
26
25
  end
@@ -42,7 +41,7 @@ module Dimples
42
41
  end
43
42
 
44
43
  def posts_at(page)
45
- @posts.slice((page - 1) * @per_page, @per_page)
44
+ @posts.slice((page - 1) * @options[:per_page], @options[:per_page])
46
45
  end
47
46
 
48
47
  def previous_page?
@@ -58,7 +57,7 @@ module Dimples
58
57
  end
59
58
 
60
59
  def current_page_url
61
- @current_page == 1 ? @url : "#{@url}page_#{@current_page}"
60
+ @current_page == 1 ? @url : "#{@url}#{@options[:page_prefix]}#{@current_page}"
62
61
  end
63
62
 
64
63
  def first_page_url
@@ -66,17 +65,17 @@ module Dimples
66
65
  end
67
66
 
68
67
  def last_page_url
69
- @page_count == 1 ? @url : "#{@url}page_#{@page_count}"
68
+ @page_count == 1 ? @url : "#{@url}#{@options[:page_prefix]}#{@page_count}"
70
69
  end
71
70
 
72
71
  def previous_page_url
73
72
  return unless @previous_page
74
73
 
75
- @previous_page == 1 ? @url : "#{@url}page_#{@previous_page}"
74
+ @previous_page == 1 ? @url : "#{@url}#{@options[:page_prefix]}#{@previous_page}"
76
75
  end
77
76
 
78
77
  def next_page_url
79
- "#{@url}page_#{@next_page}" if @next_page
78
+ "#{@url}#{@options[:page_prefix]}#{@next_page}" if @next_page
80
79
  end
81
80
 
82
81
  def urls
data/lib/dimples/post.rb CHANGED
@@ -18,7 +18,7 @@ module Dimples
18
18
  end
19
19
 
20
20
  def render(context: nil)
21
- Dimples::Post.markdown.render(contents)
21
+ @rendered_contents ||= Dimples::Post.markdown.render(contents)
22
22
  end
23
23
 
24
24
  private
data/lib/dimples/site.rb CHANGED
@@ -70,7 +70,7 @@ module Dimples
70
70
 
71
71
  url = @config.build_paths[:posts].gsub(@config.build_paths[:root], '').concat('/')
72
72
 
73
- Pager.paginate(url: url, posts: posts) do |url, page_context|
73
+ Pager.paginate(url: url, posts: posts, options: @config.pagination) do |url, page_context|
74
74
  generate_entry(
75
75
  entry: templates[:posts],
76
76
  output_path: File.join(@config.build_paths[:root], url),
@@ -110,7 +110,8 @@ module Dimples
110
110
  Pager.paginate(
111
111
  url: "/categories/#{category}/",
112
112
  posts: posts,
113
- context: context
113
+ context: context,
114
+ options: @config.pagination
114
115
  ) do |url, page_context|
115
116
  generate_entry(
116
117
  entry: templates[:posts],
@@ -10,14 +10,11 @@ module Dimples
10
10
  end
11
11
 
12
12
  def render(context:)
13
- context.merge!(metadata)
14
-
15
- context.each do |key, value|
13
+ context.merge(metadata).each do |key, value|
16
14
  instance_variable_set("@#{key}", value)
17
15
  end
18
16
 
19
- erb = ERB.new(contents)
20
- erb.result(binding)
17
+ ERB.new(contents).result(binding)
21
18
  end
22
19
  end
23
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dimples
4
- VERSION = '11.0.0'
4
+ VERSION = '11.0.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dimples
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.0.0
4
+ version: 11.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Bogan