google_font_extractor 0.0.1 → 0.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.
- data/README.md +5 -4
- data/lib/extract.rb +13 -2
- data/lib/google_font_extractor.rb +3 -3
- data/lib/version.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
The GoogleFontExtractor Gem will crawl the Google Webfonts directory on your command and return an array of Struct instances with details of fonts available in the Google Fonts directory.
|
4
4
|
|
5
|
-
PLEASE Note: this does NOT download the font files themselves.
|
5
|
+
PLEASE Note: this does NOT download the font files themselves, although it does return the download url if you wanted to automate obtaining the .ttf file for each font.
|
6
6
|
|
7
7
|
Let's get started.
|
8
8
|
|
@@ -12,11 +12,12 @@ Let's get started.
|
|
12
12
|
## 2. Bundle Install
|
13
13
|
|
14
14
|
## 3. rails console example
|
15
|
-
ruby-1.9.2> fonts = GoogleFontExtractor.
|
15
|
+
ruby-1.9.2> fonts = GoogleFontExtractor.fonts
|
16
16
|
ruby-1.9.2> fonts.first
|
17
|
-
=> #<struct designer="Steve Matteson", name="Droid Serif", charsets=["latin"], weights_count="4", weights=["regular", "italic", "bold", "bolditalic"], families_count=nil, category="serif">
|
17
|
+
=> #<struct designer="Steve Matteson", name="Droid Serif", charsets=["latin"], weights_count="4", weights=["regular", "italic", "bold", "bolditalic"], families_count=nil, category="serif", download_url="http://www.google.com/webfonts/download?kit=JHlfjS1nNpVY2eojiON_TqCzlCNBPNJyfLyExqzYYTM">
|
18
18
|
ruby-1.9.2>
|
19
19
|
|
20
20
|
|
21
21
|
# Additional notes
|
22
|
-
If you want to do anything real with this, you should save the results of the extract method to a YAML file or database table.
|
22
|
+
If you want to do anything real with this, you should save the results of the extract method to a YAML file or database table.
|
23
|
+
|
data/lib/extract.rb
CHANGED
@@ -13,7 +13,17 @@ module GoogleFontExtractor
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
# Find the Download url in the download tab. Note that there are 2 formats for this
|
17
|
+
# tab, one where it shows a "buy form" with a sublink to "download the font directly",
|
18
|
+
# and another where it provides the download link first as "click here to download {font name}".
|
19
|
+
# The latter includes a full url, whereas the the first includes a relative url. Also fix that.
|
20
|
+
process("#_download a[href*='download']", :download_url => "@href") do |el|
|
21
|
+
if @download_url !~ /google/ then
|
22
|
+
@download_url = "http://www.google.com#{@download_url}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
result :weights, :download_url
|
17
27
|
end
|
18
28
|
|
19
29
|
# Element within list of fonts
|
@@ -22,6 +32,7 @@ module GoogleFontExtractor
|
|
22
32
|
array :charsets
|
23
33
|
|
24
34
|
attr_accessor :category # for storing serif, sans-serif, etc
|
35
|
+
attr_accessor :download_url
|
25
36
|
|
26
37
|
# Font Name
|
27
38
|
process "div.preview span", :name => :text
|
@@ -54,7 +65,7 @@ module GoogleFontExtractor
|
|
54
65
|
end
|
55
66
|
end
|
56
67
|
|
57
|
-
result :designer, :name, :charsets, :weights_count, :weights, :families_count, :category
|
68
|
+
result :designer, :name, :charsets, :weights_count, :weights, :families_count, :category, :download_url
|
58
69
|
end
|
59
70
|
|
60
71
|
|
@@ -41,9 +41,9 @@ module GoogleFontExtractor
|
|
41
41
|
# Further enhance final list of fonts with additional information from the individual font pages
|
42
42
|
# so we can provide information about the font weights (bold, etc) that are available.
|
43
43
|
final_font_list.each_with_index do |font, idx|
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
font_page = Extract::FontPage.scrape(URI.parse("http://www.google.com/webfonts/family?family=#{URI.encode(font.name)}"))
|
45
|
+
font[:weights] = font_page.weights
|
46
|
+
font[:download_url] = font_page.download_url
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Jason Lambert
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-03-
|
17
|
+
date: 2011-03-23 00:00:00 +00:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|