hyde-fonts 0.2.2 → 0.3.1

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
  SHA256:
3
- metadata.gz: b31045070623a642018068adb44e36a21243c4d9f17110a6be1bafbdaedc326d
4
- data.tar.gz: 5ebeb9ec48f423b3d8377ac6d3f0581d8625032cc74c719932a8236b618e0b00
3
+ metadata.gz: 3bb291228573bdea080627224050976ac18797c064ae8e4b3136cc032979d367
4
+ data.tar.gz: eb6a3549cf8d1cc2dfcc460b34119f3d3b50ccada3ebbd1decf9f88a0fbf80fc
5
5
  SHA512:
6
- metadata.gz: 03ce902268a72a2677e3868e56fdd119516120b38caf395b5c590a9736aaa317a1e5ba7e12b06817960250fdea62d7b1385fc99f97fc87510d35c7840ea78720
7
- data.tar.gz: d8577b7771ace316cb986735f95b0a4365ca3edb1118c3e95068ce5cbc6af5f5faa81734033de0307781226a172672eb98ebde09ff3181243f9ce8e2e3e25e05
6
+ metadata.gz: f261bb3935f1187a39005c490c19519cc0fe9be749bdc321b29988f051ae2aa698d6bbfa037ef5977bb93105e774d559610ac11ad769c06930f4c9d5d6f6e605
7
+ data.tar.gz: 0252b08511ba996024bb1b28d39138a6bf59a9a89922db06502fcae46ca2db91b5b1470e8bdf525a1421f97da690083f041c7237170d59e5a14baafbb77c293b
@@ -1,6 +1,6 @@
1
1
  module Hyde
2
2
  class FontFace
3
- attr_reader :provider
3
+ attr_reader :provider, :name
4
4
  attr_accessor :css
5
5
 
6
6
  def initialize(face)
@@ -20,8 +20,7 @@ module Jekyll
20
20
  end
21
21
 
22
22
  def render(context)
23
- config = context.registers[:site].config['hyde_fonts']
24
- return unless config['enable'] == true
23
+ return unless context.registers[:site].config['hyde_fonts']['enable'] == true
25
24
 
26
25
  file = context.registers[:site].static_files.find { |file|
27
26
  file.is_a?(Hyde::GeneratedCssFile)
@@ -81,18 +80,23 @@ end
81
80
  module Hyde
82
81
  class Fonts
83
82
  @@config = {
84
- "data_path" => 'fonts',
83
+ "data_source_name" => 'fonts',
85
84
  "file_output_path" => 'assets/fonts',
86
85
  "css_output_name" => 'fonts.css',
87
86
  "css_minify" => true,
88
87
  "enable" => true,
89
88
  "fetch_fonts" => true,
90
- "keep_files" => false
89
+ "keep_files" => true
91
90
  }
92
91
 
93
92
  def initialize(site)
94
93
  @site = site
95
- @config = site.config.dig('hyde_fonts') || @@config
94
+ @config = site.config.dig('hyde_fonts')
95
+
96
+ if (@config.nil?)
97
+ @config = @@config
98
+ site.config['hyde_fonts'] = @config
99
+ end
96
100
 
97
101
  if config('keep_files') == true
98
102
  @site.config['keep_files'].push(config('file_output_path'))
@@ -104,11 +108,14 @@ module Hyde
104
108
  end
105
109
 
106
110
  def generate
111
+ return unless config('enable') == true
107
112
  # get faces from jekyll data file
108
113
  font_data = Hyde::FontData.new(data)
109
114
 
110
115
  # handle font providers
111
116
  for face in font_data.faces
117
+ Jekyll.logger.info('Fonts:', "Preparing #{face.name}")
118
+
112
119
  case face.provider
113
120
  when 'google'
114
121
  Hyde::FontProviderGoogle.new(@site, @config).fetch(face)
@@ -133,7 +140,7 @@ module Hyde
133
140
  end
134
141
 
135
142
  def data
136
- @site.data.dig(config('data_path'), 'fonts')
143
+ @site.data.dig(config('data_source_name'), 'fonts')
137
144
  end
138
145
 
139
146
  def minify(css)
@@ -55,9 +55,16 @@ module Hyde
55
55
  destination_fname = file.destination('./')
56
56
 
57
57
  if @config['keep_files'] == true
58
+ Jekyll.logger.debug('Fonts:', "file #{filename} already exists.")
58
59
  return if File.exist?(destination_fname)
59
60
  end
60
61
 
62
+ if @config['fetch_fonts'] == false
63
+ Jekyll.logger.warn('Fonts:', "fetch disabled, no local version of #{filename} found.")
64
+ return
65
+ end
66
+
67
+ Jekyll.logger.debug('Fonts:', "downloading #{@face.name} from #{@face.provider}")
61
68
  font_uri_payload = Net::HTTP.get(ruleset.uri)
62
69
  file.file_contents = font_uri_payload
63
70
 
data/lib/hyde_fonts.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Hyde
2
2
  class Fonts
3
- VERSION = "0.2.2"
3
+ VERSION = "0.3.1"
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyde-fonts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Daynes