jekyll-typogrify 0.2.0 → 0.3.0

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: fd56418a3d4c78a6891a8c32f82823128b8fea85
4
- data.tar.gz: 3ffde97032a6440d2260ed603e53628c28229888
3
+ metadata.gz: 0a7a52249e9456f56e2493916d691b1c5d61442d
4
+ data.tar.gz: 671eb9d8b6d1b07def4f1a4c55b84057ead7383a
5
5
  SHA512:
6
- metadata.gz: affbbf18ee110f27dbf18edbec1f66e5caee37abca327a76ffe7b49cd2136f1a5659ce869ea64d3fbfabca56a7c1ad91721a670e701278483c732c8a1a4f3e4e
7
- data.tar.gz: 3f840f9994667dbb65bcd73ed957000c9f741afdce15273ed83f579d42e5adf3819f05e373ff3faa7bce39769c6ebc64cf5bb9093a9ef612c2b236d92bc22f9d
6
+ metadata.gz: 10e8a84ed26241289868fde1dc772313f6eef5f2da07a8990441e95d5ae038328efdb3049622e491f8039df3d255b765a43ef9fcda8cf0b0c22be1b26b261cdb
7
+ data.tar.gz: 357660fef7529d17f3aa80e1ab5f7869a9daaadf09d0d2c6ef1ea0b8ad8581e556541d61039ddae7db357904de7aee37ecb89f084f974677aa5f19c7fafd2f7c
data/.editorconfig ADDED
@@ -0,0 +1,3 @@
1
+ [*.rb]
2
+ indent_style = space
3
+ indent_size = 2
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  /vendor/
11
11
  /spec/dest/
12
+ /designs/
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,21 @@
1
+ # Contributing
2
+
3
+ I love to get pull requests from everyone. By participating in this project, you agree to abide by the [code of conduct](CODE_OF_CONDUCT.md).
4
+
5
+ [Fork](https://github.com/myles/jekyll-typogrify/fork), then clone the repo:
6
+
7
+ git clone git@github.com:your-username/jekyll-typogrify.git
8
+
9
+ Set up your machine:
10
+
11
+ ./bin/setup
12
+
13
+ Make sure the tests pass
14
+
15
+ ./bin/test
16
+
17
+ Make your change. Add tests for your change. Make the tests pass:
18
+
19
+ ./bin/test
20
+
21
+ Push to your fork and [submit a pull request](https://github.com/myles/jekyll-typogrify/compare/).
data/README.md CHANGED
@@ -1,8 +1,12 @@
1
+ [![Build Status](https://travis-ci.org/myles/jekyll-typogrify.svg?branch=master)](https://travis-ci.org/myles/jekyll-typogrify) [![Gem Version](https://badge.fury.io/rb/jekyll-typogrify.svg)](http://badge.fury.io/rb/jekyll-typogrify) [![Code Issues](https://www.quantifiedcode.com/api/v1/project/e017e34c1f35482e87e0ea12390ef7cc/badge.svg)](https://www.quantifiedcode.com/app/project/e017e34c1f35482e87e0ea12390ef7cc)
2
+
1
3
  # Jekyll::Typogrify
2
4
 
3
5
  Improves typography on your Jekyll site using [typogruby](http://avdgaag.github.io/typogruby/) and [titlecase](https://github.com/samsouder/titlecase).
4
6
 
5
- [![Build Status](https://travis-ci.org/myles/jekyll-typogrify.svg?branch=master)](https://travis-ci.org/myles/jekyll-typogrify) [![Gem Version](https://badge.fury.io/rb/jekyll-typogrify.svg)](http://badge.fury.io/rb/jekyll-typogrify)
7
+ | Before | After |
8
+ | ------ | ----- |
9
+ | ![Before](https://raw.githubusercontent.com/myles/jekyll-typogrify/master/screenshots/before.png) | ![After](https://raw.githubusercontent.com/myles/jekyll-typogrify/master/screenshots/after.png) |
6
10
 
7
11
  ## Installation
8
12
 
@@ -20,8 +24,65 @@ Or install it yourself as:
20
24
 
21
25
  $ gem install jekyll-typogrify
22
26
 
27
+ You now need to enable the plugin in your Jekyll web site. Append it to the `gems` array in your `_config.yml` file:
28
+
29
+ ```yaml
30
+ gems:
31
+ - jekyll-typogrify
32
+ ```
33
+
23
34
  ## Usage
24
35
 
36
+ ### Andpercent
37
+
38
+ Converts an andpercent (ex. `&`) converts a & surrounded by optional whitespace or a non-breaking space to the HTML entity and surrounds it in a span with a styled class.
39
+
40
+ ```html
41
+ <h1>{{ "Mr. & Mrs. Smith" | amp }}</h1>
42
+
43
+ <h1>Mr. <span class="amp">&amp;</span> Mrs. Smith</h1>
44
+ ```
45
+
46
+ ### Capitalisation
47
+
48
+ Surrounds two or more consecutive capital letters, perhaps with interspersed digits and periods in a span with a styled class.
49
+
50
+ ```html
51
+ <h1>{{ "A.B.C. Corp." | caps }}</h1>
52
+
53
+ <h1><span class="caps">A.B.C.</span> Corp.</h1>
54
+ ```
55
+
56
+ ### Entities
57
+
58
+ Converts special characters (excluding HTML tags) to HTML entities.
59
+
60
+ ```html
61
+ <p>© Myles Braithwaite</p>
62
+
63
+ <p>&copy; Myles Braithwaite</p>
64
+ ```
65
+
66
+ ### Initial Quotes
67
+
68
+ Encloses initial single or double quote, or their entities (optionally preceeded by a block element and perhaps an inline element) with a span that can be styled.
69
+
70
+ ```html
71
+ <h1>{{ '"Do not cry because it is over, simile because it happened."' | initial_quotes }}</h1>
72
+
73
+ <h1><span class="dquo">"</span>Do not cry because it is over, simile because it happened."</h1>
74
+ ```
75
+
76
+ ### Smartypants
77
+
78
+ Applies smartypants to a given piece of text.
79
+
80
+ ```html
81
+ <p>{{ "Today I'm going to the... coffeeshop." | smartypants }}</p>
82
+
83
+ <p>Today I&#8217;m going to the&#8230; coffeeshop.</p>
84
+ ```
85
+
25
86
  ### Widont
26
87
 
27
88
  Replaces space(s) before the last word (or tag before the last word) before an optional closing element (a, em, span, strong) before a closing tag (p, h[1-6], li, dt, dd) or the end of the string.
@@ -32,6 +93,36 @@ Replaces space(s) before the last word (or tag before the last word) before an o
32
93
  <h1>This is a rather long&nbsp;title.</h1>
33
94
  ```
34
95
 
96
+ ### Titlecase
97
+
98
+ Convert a given piece of text to titlecase.
99
+
100
+ ```html
101
+ <h1>{{ "i love toronto" | titlecase }}</h1>
102
+
103
+ <h1>I Love Toronto</h1>
104
+ ```
105
+
106
+ ### Improve
107
+
108
+ Main function to do all the typogruby functions from the method.
109
+
110
+ ```html
111
+ <h1>{{ "Improve This Title" | improve }}</h1>
112
+
113
+ <h1>Improve This&nbsp;Title</h1>
114
+ ```
115
+
116
+ ### Letter Spacing
117
+
118
+ Let's make sure click doesn't look like dick.
119
+
120
+ ```html
121
+ <p>{{ "There’s more to love with every click." | letter_spacing }}</p>
122
+
123
+ <p>There’s more to love with every <span class="fix-letter-spacing">click</p>.</p>
124
+ ```
125
+
35
126
  ## Development
36
127
 
37
128
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -40,8 +131,4 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
40
131
 
41
132
  ## Contributing
42
133
 
43
- 1. Fork it ( https://github.com/myles/jekyll-typogrify/fork )
44
- 2. Create your feature branch (`git checkout -b my-new-feature`)
45
- 3. Commit your changes (`git commit -am 'Add some feature'`)
46
- 4. Push to the branch (`git push origin my-new-feature`)
47
- 5. Create a new Pull Request
134
+ See [CONTRIBUTING.md](CONTRIBUTING.md).
data/bin/server ADDED
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle exec jekyll serve --config ./spec/fixtures/_config.yml -d ./spec/dest -s ./spec/fixtures/ --watch
data/bin/setup CHANGED
@@ -3,5 +3,3 @@ set -euo pipefail
3
3
  IFS=$'\n\t'
4
4
 
5
5
  bundle install --path vendor/bundle
6
-
7
- # Do any other automated setup that you need to do here
data/bin/test ADDED
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle exec rake
@@ -6,22 +6,23 @@ require 'jekyll/typogrify/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "jekyll-typogrify"
8
8
  spec.version = Jekyll::Typogrify::VERSION
9
- spec.authors = ["Myles Braithwaite"]
10
- spec.email = ["me@mylesbraithwaite.com"]
11
-
12
9
  spec.summary = %q{A Jekyll plugin that bring the functions of typogruby.}
13
10
  spec.description = %q{A Jekyll plugin that bring the functions of typogruby.}
14
- spec.homepage = "https://github.com/myles/jekyll-typogrify"
15
11
  spec.license = "MIT"
16
12
 
13
+ spec.authors = ["Myles Braithwaite"]
14
+ spec.email = ["me@mylesbraithwaite.com"]
15
+
16
+ spec.homepage = "http://myles.github.io/jekyll-typogrify/"
17
+
17
18
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
19
  spec.bindir = "exe"
19
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
21
  spec.require_paths = ["lib"]
21
-
22
+
22
23
  spec.add_runtime_dependency "typogruby"
23
- spec.add_runtime_dependency "titlecase"
24
-
24
+ spec.add_runtime_dependency "titlecase"
25
+
25
26
  spec.add_development_dependency "bundler", "~> 1.7"
26
27
  spec.add_development_dependency "rspec", "~> 3.0"
27
28
  spec.add_development_dependency "rake", "~> 10.0"
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Typogrify
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
@@ -12,16 +12,16 @@ module Jekyll
12
12
  # @param [String] text input text
13
13
  # @return [String] input text with ampersands wrapped
14
14
  def amp(text)
15
- return Typogruby.amp(text)
15
+ return Typogruby.amp(text.to_s)
16
16
  end
17
17
 
18
- # surrounds two or more consecutive captial letters, perhaps with
18
+ # surrounds two or more consecutive capital letters, perhaps with
19
19
  # interspersed digits and periods in a span with a styled class.
20
20
  #
21
21
  # @param [String] text input text
22
22
  # @return [String] input text with caps wrapped
23
23
  def caps(text)
24
- return Typogruby.caps(text)
24
+ return Typogruby.caps(text.to_s)
25
25
  end
26
26
 
27
27
  # Converts special characters (excluding HTML tags) to HTML entities.
@@ -30,7 +30,7 @@ module Jekyll
30
30
  # @return [String] input text with all special characters converted to
31
31
  # HTML entities.
32
32
  def entities(text)
33
- return Typogruby.entities(text)
33
+ return Typogruby.entities(text.to_s)
34
34
  end
35
35
 
36
36
  # main function to do all the functions from the method.
@@ -38,7 +38,7 @@ module Jekyll
38
38
  # @param [String] text input text
39
39
  # @return [String] input text with all filters applied
40
40
  def improve(text)
41
- return Typogruby.improve(text)
41
+ return Typogruby.improve(text.to_s)
42
42
  end
43
43
 
44
44
  # encloses initial single or double quote, or their entities
@@ -49,7 +49,7 @@ module Jekyll
49
49
  # @return [String] input text with initial quotes wrapped
50
50
 
51
51
  def initial_quotes(text)
52
- return Typogruby.initial_quotes(text)
52
+ return Typogruby.initial_quotes(text.to_s)
53
53
  end
54
54
 
55
55
  # Applies smartypants to a given piece of text
@@ -58,7 +58,7 @@ module Jekyll
58
58
  # @param [String] text input text
59
59
  # @return [String] input text with smartypants applied
60
60
  def smartypants(text)
61
- return Typogruby.smartypants(text)
61
+ return Typogruby.smartypants(text.to_s)
62
62
  end
63
63
 
64
64
  # replaces space(s) before the last word (or tag before the last word)
@@ -71,13 +71,28 @@ module Jekyll
71
71
  # @param [String] text input text
72
72
  # @return [String] input text with non-breaking spaces inserted
73
73
  def widont(text)
74
- return Typogruby.widont(text)
74
+ return Typogruby.widont(text.to_s)
75
75
  end
76
76
 
77
+ # convert a given piece of text to titlecase
78
+ #
79
+ # @param [String] text input text
80
+ # @return [String] input text convert to titlecase
77
81
  def titlecase(text)
78
- return text.titlecase
82
+ return text.to_s.titlecase
83
+ end
84
+
85
+ # wraps words in a span class that can look like something else
86
+ #
87
+ # @param [String] text input text
88
+ # @return [String] input text with words that look strange in a span
89
+ def letter_spacing(text)
90
+ text.gsub(/(click|clint|final|curt|flicks|flick|clicks|flickering)/im) { |str|
91
+ tag, before, word = $1, $2, $3
92
+ "#{before}<span class=\"fix-letter-spacing\">#{str}</span>"
93
+ }
79
94
  end
80
95
  end
81
96
  end
82
97
 
83
- Liquid::Template.register_filter(Jekyll::TypogrifyFilter)
98
+ Liquid::Template.register_filter(Jekyll::TypogrifyFilter)
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-typogrify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Myles Braithwaite
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-15 00:00:00.000000000 Z
11
+ date: 2016-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typogruby
@@ -101,21 +101,27 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
+ - ".editorconfig"
104
105
  - ".gitignore"
105
106
  - ".rspec"
106
107
  - ".travis.yml"
107
108
  - CODE_OF_CONDUCT.md
109
+ - CONTRIBUTING.md
108
110
  - Gemfile
109
111
  - LICENSE.txt
110
112
  - README.md
111
113
  - Rakefile
112
114
  - bin/console
115
+ - bin/server
113
116
  - bin/setup
117
+ - bin/test
114
118
  - jekyll-typogrify.gemspec
115
119
  - lib/jekyll-typogrify.rb
116
120
  - lib/jekyll/typogrify.rb
117
121
  - lib/jekyll/typogrify/version.rb
118
- homepage: https://github.com/myles/jekyll-typogrify
122
+ - screenshots/after.png
123
+ - screenshots/before.png
124
+ homepage: http://myles.github.io/jekyll-typogrify/
119
125
  licenses:
120
126
  - MIT
121
127
  metadata: {}