html-pipeline-abbr 0.1.0 → 0.2.0
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 +4 -4
- data/CHANGELOG.md +24 -0
- data/README.md +2 -4
- data/html-pipeline-abbr.gemspec +7 -5
- data/lib/html/pipeline/abbr.rb +2 -1
- data/lib/html/pipeline/abbr/version.rb +1 -1
- data/lib/html/pipeline/abbr_emoji_filter.rb +18 -0
- data/lib/html/pipeline/abbr_filter.rb +2 -2
- data/lib/html/pipeline/auto_abbr_filter.rb +12 -0
- metadata +27 -15
- data/lib/html/pipeline/shorten_filter.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3cf810f9e3ab99171f6f6d725eea91a08e49b476
|
4
|
+
data.tar.gz: aa106ec15f8ad8b533e2ee89a0e588e9bb8fe8b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c064fc9dbf16f8979894cf5a5c07592369d41f46968a073783f5713445856e0f32c6f00db8a9f80d3be612533e1dad095c2e88442c4fdb0a94017fda57e989b5
|
7
|
+
data.tar.gz: 64d2467612f80e2faebe70ed8d58bb5bbf2a2a269a89f88c7f7d55ea7bf316dade24baa2ed7bdf87f646137d6bb15b4ce012b5ab490bab55a26f6f6d3ad03287
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Change Log
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
|
+
|
5
|
+
## [Unreleased]
|
6
|
+
|
7
|
+
## [0.2.0] - 2015-05-25
|
8
|
+
### Added
|
9
|
+
- `abbr_emoji_filter` is an `emoji_filter` without the `alt` and `title` attributes. It works better with the `abbr` tag.
|
10
|
+
- project references
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
- renamed `shorten_filter` to `auto_abbr_filter` to match other internet plugins. (nice to know others want this too)
|
14
|
+
- lessen bundler dependency to work with more ruby versions
|
15
|
+
- more strict substitution boundaries
|
16
|
+
|
17
|
+
## [0.1.0] - 2015-05-23
|
18
|
+
### Added
|
19
|
+
- `abbr_filter` and `shorten_filter`
|
20
|
+
- initial push
|
21
|
+
|
22
|
+
[unreleased]: https://github.com/kbrock/html-pipeline-abbr/compare/v0.1.0...HEAD
|
23
|
+
[0.2.0]: https://github.com/kbrock/html-pipeline-abbr/compare/v0.1.0...v0.2.0
|
24
|
+
[0.1.0]: https://github.com/kbrock/html-pipeline-abbr/commits/v0.1.0
|
data/README.md
CHANGED
@@ -28,7 +28,6 @@ Or install it yourself as:
|
|
28
28
|
pipeline = HTML::Pipeline.new [
|
29
29
|
HTML::Pipeline::MarkdownFilter,
|
30
30
|
HTML::Pipeline::AbbrFilter,
|
31
|
-
HTML::Pipeline::SyntaxHighlightFilter,
|
32
31
|
]
|
33
32
|
result = pipeline.call <<-CODE
|
34
33
|
Lets generate some *great* HTML.
|
@@ -43,13 +42,12 @@ Prints:
|
|
43
42
|
<p>Lets generate some <strong>great</strong> <abbr title="Hypertxt">HTML</abbr>.</p>
|
44
43
|
```
|
45
44
|
|
46
|
-
On the flip side, there is also the `
|
45
|
+
On the flip side, there is also the `AutoAbbrFilter` which will find words that can be abbreviated and shorten them.
|
47
46
|
|
48
47
|
```ruby
|
49
48
|
pipeline = HTML::Pipeline.new [
|
50
49
|
HTML::Pipeline::MarkdownFilter,
|
51
|
-
HTML::Pipeline::
|
52
|
-
HTML::Pipeline::SyntaxHighlightFilter,
|
50
|
+
HTML::Pipeline::AutoAbbrFilter,
|
53
51
|
]
|
54
52
|
result = pipeline.call <<-CODE
|
55
53
|
Lets generate some *great* Hypertext.
|
data/html-pipeline-abbr.gemspec
CHANGED
@@ -15,19 +15,21 @@ Gem::Specification.new do |spec|
|
|
15
15
|
In the mean time this adds abbr tags}
|
16
16
|
spec.homepage = "http://github.com/kbrock/html-pipeline-abbr/"
|
17
17
|
|
18
|
-
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
19
|
-
# delete this section to allow pushing this gem to any host.
|
20
18
|
if spec.respond_to?(:metadata)
|
21
|
-
|
19
|
+
spec.metadata = {
|
20
|
+
"source_code_uri" => "http://github.com/kbrock/html-pipeline-abbr",
|
21
|
+
"bug_tracker_uri" => "http://github.com/kbrock/html-pipeline-abbr/issues",
|
22
|
+
}
|
22
23
|
end
|
23
24
|
|
24
25
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
25
26
|
spec.require_paths = ["lib"]
|
26
27
|
|
27
28
|
spec.add_dependency "html-pipeline", ">= 1.0"
|
28
|
-
spec.add_dependency "nokogiri"
|
29
|
+
spec.add_dependency "nokogiri"
|
30
|
+
spec.add_dependency "gemoji"
|
29
31
|
|
30
|
-
spec.add_development_dependency "bundler"
|
32
|
+
spec.add_development_dependency "bundler"
|
31
33
|
spec.add_development_dependency "rake", "~> 10.0"
|
32
34
|
spec.add_development_dependency "minitest", "~> 5.3"
|
33
35
|
spec.add_development_dependency "yard", "~> 0.8"
|
data/lib/html/pipeline/abbr.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'html/pipeline/emoji_filter'
|
2
|
+
|
3
|
+
module HTML
|
4
|
+
class Pipeline
|
5
|
+
# This class is very similar EmojiFilter. It removes the inline
|
6
|
+
# width/height attributes so that reveal-ck supplied CSS takes effect.
|
7
|
+
class AbbrEmojiFilter < EmojiFilter
|
8
|
+
def emoji_image_filter(text)
|
9
|
+
return text unless text.include?(':')
|
10
|
+
|
11
|
+
text.gsub(emoji_pattern) do
|
12
|
+
name = Regexp.last_match[1]
|
13
|
+
result = "<img class='emoji' src='#{emoji_url(name)}' />"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -58,7 +58,7 @@ module HTML
|
|
58
58
|
# @return [String] html with all abbreviations replaced
|
59
59
|
def abbrs_filter(content, abbrs)
|
60
60
|
abbrs.each do |abbr, full|
|
61
|
-
content = abbr_filter(content, abbr, full)
|
61
|
+
content = abbr_filter(content, abbr, full)
|
62
62
|
end
|
63
63
|
content
|
64
64
|
end
|
@@ -68,7 +68,7 @@ module HTML
|
|
68
68
|
# @return [String] html with abbreviation tags
|
69
69
|
def abbr_filter(content, abbr, full)
|
70
70
|
target_html = abbr_tag(abbr, full)
|
71
|
-
content.gsub(abbr) { |_| target_html }
|
71
|
+
content.gsub(/\b#{abbr}\b/) { |_| target_html } || content
|
72
72
|
end
|
73
73
|
|
74
74
|
# Return html string to use as an abbr tag
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module HTML
|
2
|
+
class Pipeline
|
3
|
+
# Similar to abbreviate
|
4
|
+
# but it starts with the long format and shortens it
|
5
|
+
class AutoAbbrFilter < AbbrFilter
|
6
|
+
def abbr_filter(content, abbr, full)
|
7
|
+
target_html = abbr_tag(abbr, full)
|
8
|
+
content.gsub(/\b#{full}\b/) { |_| target_html } || content
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html-pipeline-abbr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keenan Brock
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: html-pipeline
|
@@ -30,34 +30,42 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
34
|
-
- - "<="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: 1.6.5
|
33
|
+
version: '0'
|
37
34
|
type: :runtime
|
38
35
|
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
37
|
requirements:
|
41
38
|
- - ">="
|
42
39
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
44
|
-
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: gemoji
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
45
46
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: bundler
|
49
57
|
requirement: !ruby/object:Gem::Requirement
|
50
58
|
requirements:
|
51
|
-
- - "
|
59
|
+
- - ">="
|
52
60
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
61
|
+
version: '0'
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
65
|
requirements:
|
58
|
-
- - "
|
66
|
+
- - ">="
|
59
67
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
68
|
+
version: '0'
|
61
69
|
- !ruby/object:Gem::Dependency
|
62
70
|
name: rake
|
63
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,6 +120,7 @@ extra_rdoc_files: []
|
|
112
120
|
files:
|
113
121
|
- ".gitignore"
|
114
122
|
- ".travis.yml"
|
123
|
+
- CHANGELOG.md
|
115
124
|
- Gemfile
|
116
125
|
- README.md
|
117
126
|
- Rakefile
|
@@ -119,11 +128,14 @@ files:
|
|
119
128
|
- html-pipeline-abbr.gemspec
|
120
129
|
- lib/html/pipeline/abbr.rb
|
121
130
|
- lib/html/pipeline/abbr/version.rb
|
131
|
+
- lib/html/pipeline/abbr_emoji_filter.rb
|
122
132
|
- lib/html/pipeline/abbr_filter.rb
|
123
|
-
- lib/html/pipeline/
|
133
|
+
- lib/html/pipeline/auto_abbr_filter.rb
|
124
134
|
homepage: http://github.com/kbrock/html-pipeline-abbr/
|
125
135
|
licenses: []
|
126
|
-
metadata:
|
136
|
+
metadata:
|
137
|
+
source_code_uri: http://github.com/kbrock/html-pipeline-abbr
|
138
|
+
bug_tracker_uri: http://github.com/kbrock/html-pipeline-abbr/issues
|
127
139
|
post_install_message:
|
128
140
|
rdoc_options: []
|
129
141
|
require_paths:
|
@@ -1,23 +0,0 @@
|
|
1
|
-
module HTML
|
2
|
-
class Pipeline
|
3
|
-
# Similar to abbreviate
|
4
|
-
# but it starts with the long format and shortens it
|
5
|
-
class ShortenFilter < AbbrFilter
|
6
|
-
|
7
|
-
# Return html with abbreviations replaced
|
8
|
-
#
|
9
|
-
# @return [String] html with all abbreviations replaced
|
10
|
-
def abbrs_filter(content, abbrs)
|
11
|
-
abbrs.each do |abbr, full|
|
12
|
-
content = abbr_filter(content, abbr, full) if content.include?(full)
|
13
|
-
end
|
14
|
-
content
|
15
|
-
end
|
16
|
-
|
17
|
-
def abbr_filter(content, abbr, full)
|
18
|
-
target_html = abbr_tag(abbr, full)
|
19
|
-
content.gsub(full) { |_| target_html }
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|