html-pipeline-plus 2.10.1
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 +7 -0
- data/.gitignore +20 -0
- data/.travis.yml +34 -0
- data/Appraisals +13 -0
- data/CHANGELOG.md +221 -0
- data/CONTRIBUTING.md +60 -0
- data/Gemfile +23 -0
- data/LICENSE +22 -0
- data/README.md +370 -0
- data/Rakefile +15 -0
- data/bin/html-pipeline-plus +78 -0
- data/html-pipeline-plus.gemspec +28 -0
- data/lib/html/pipeline-plus/@mention_filter.rb +138 -0
- data/lib/html/pipeline-plus/absolute_source_filter.rb +45 -0
- data/lib/html/pipeline-plus/autolink_filter.rb +27 -0
- data/lib/html/pipeline-plus/body_content.rb +42 -0
- data/lib/html/pipeline-plus/camo_filter.rb +93 -0
- data/lib/html/pipeline-plus/email_reply_filter.rb +66 -0
- data/lib/html/pipeline-plus/emoji_filter.rb +125 -0
- data/lib/html/pipeline-plus/filter.rb +163 -0
- data/lib/html/pipeline-plus/https_filter.rb +27 -0
- data/lib/html/pipeline-plus/image_filter.rb +17 -0
- data/lib/html/pipeline-plus/image_max_width_filter.rb +35 -0
- data/lib/html/pipeline-plus/markdown_filter.rb +37 -0
- data/lib/html/pipeline-plus/plain_text_input_filter.rb +13 -0
- data/lib/html/pipeline-plus/sanitization_filter.rb +137 -0
- data/lib/html/pipeline-plus/syntax_highlight_filter.rb +44 -0
- data/lib/html/pipeline-plus/text_filter.rb +14 -0
- data/lib/html/pipeline-plus/textile_filter.rb +23 -0
- data/lib/html/pipeline-plus/toc_filter.rb +67 -0
- data/lib/html/pipeline-plus/version.rb +5 -0
- data/lib/html/pipeline-plus.rb +207 -0
- data/test.txt +13 -0
- metadata +115 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 39e07638ed938c9ff02130f273d9a98bc4e7de45a8c49fa14c978fa2de0dee98
|
4
|
+
data.tar.gz: 22ff0081f22eae6f7557e99f22065df52c81ea59d365343322cb71f6753443da
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f7a2cc93e29c29566c6987576aab8014b24d567d604721f8a3860ea184319078faf680f379b668378c3dd4f2ad79b73ae764361032ed7c5028b6769bcbdd4a09
|
7
|
+
data.tar.gz: ec045ace0a1d5d0e2d4470e6bcd57971aea0ba35f230563229f6b29b49d831d13fec8607018c5f35c5b534701feefa5a792586d010b425701230cfcfdf60fcce
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
language: ruby
|
2
|
+
sudo: false
|
3
|
+
cache: bundler
|
4
|
+
bundler_args: --path ../../vendor/bundle
|
5
|
+
|
6
|
+
addons:
|
7
|
+
apt:
|
8
|
+
sources:
|
9
|
+
- libicu-dev
|
10
|
+
- kalakris-cmake
|
11
|
+
packages:
|
12
|
+
- cmake
|
13
|
+
|
14
|
+
script: bundle exec rake
|
15
|
+
|
16
|
+
gemfile:
|
17
|
+
- gemfiles/rails_5.gemfile
|
18
|
+
- gemfiles/rails_4.gemfile
|
19
|
+
- gemfiles/rails_3.gemfile
|
20
|
+
|
21
|
+
rvm:
|
22
|
+
- 2.4.0
|
23
|
+
- 2.3.1
|
24
|
+
- ruby-head
|
25
|
+
|
26
|
+
matrix:
|
27
|
+
fast_finish: true
|
28
|
+
allow_failures:
|
29
|
+
- rvm: ruby-head
|
30
|
+
exclude:
|
31
|
+
- gemfile: gemfiles/rails_4.gemfile
|
32
|
+
rvm: 2.4.0
|
33
|
+
- gemfile: gemfiles/rails_3.gemfile
|
34
|
+
rvm: 2.4.0
|
data/Appraisals
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,221 @@
|
|
1
|
+
# CHANGELOG
|
2
|
+
|
3
|
+
## 2.6.0
|
4
|
+
* Switch from github-markdown to CommonMark #274
|
5
|
+
* Fixed a few warnings
|
6
|
+
|
7
|
+
## 2.5.0
|
8
|
+
|
9
|
+
* Ruby 2.4 support. Backwards compatible, but bumped minor version so projects can choose to lock at older version [#268](https://github.com/jch/html-pipeline/pull/268)
|
10
|
+
|
11
|
+
## 2.4.2
|
12
|
+
|
13
|
+
* Make EmojiFilter generated img tag HTML attributes configurable [#258](https://github.com/jch/html-pipeline/pull/258)
|
14
|
+
|
15
|
+
## 2.4.1
|
16
|
+
|
17
|
+
* Regression in EmailReplyPipeline: unfiltered content is being omitted [#253](https://github.com/jch/html-pipeline/pull/253)
|
18
|
+
|
19
|
+
## 2.4.0
|
20
|
+
|
21
|
+
* Optionally filter email addresses [#247](https://github.com/jch/html-pipeline/pull/247)
|
22
|
+
|
23
|
+
## 2.3.0
|
24
|
+
|
25
|
+
* Add option to pass in an anchor icon, instead of using octicons [#244](https://github.com/jch/html-pipeline/pull/244)
|
26
|
+
|
27
|
+
## 2.2.4
|
28
|
+
|
29
|
+
* Use entire namespace so MissingDependencyError constant is resolved [#243](https://github.com/jch/html-pipeline/pull/243)
|
30
|
+
|
31
|
+
## 2.2.3
|
32
|
+
|
33
|
+
* raise MissingDependencyError instead of aborting on missing dependency [#241](https://github.com/jch/html-pipeline/pull/241)
|
34
|
+
* Fix typo [#239](https://github.com/jch/html-pipeline/pull/239)
|
35
|
+
* Test against Ruby 2.3.0 on Travis CI [#238](https://github.com/jch/html-pipeline/pull/238)
|
36
|
+
* use travis containers [#237](https://github.com/jch/html-pipeline/pull/237)
|
37
|
+
|
38
|
+
## 2.2.2
|
39
|
+
|
40
|
+
* Fix for calling mention_link_filter with only one argument [#230](https://github.com/jch/html-pipeline/pull/230)
|
41
|
+
* Add html-pipeline-linkify_github to 3rd Party Extensions in README [#228](https://github.com/jch/html-pipeline/pull/228)
|
42
|
+
|
43
|
+
## 2.2.1
|
44
|
+
|
45
|
+
* Soften Nokogiri dependency to versions ">= 1.4" [#208](https://github.com/jch/html-pipeline/pull/208)
|
46
|
+
|
47
|
+
## 2.2.0
|
48
|
+
|
49
|
+
* Only allow cite attribute on blockquote and restrict schemes [#223](https://github.com/jch/html-pipeline/pull/223)
|
50
|
+
|
51
|
+
## 2.1.0
|
52
|
+
|
53
|
+
* Whitelist schemes for longdesc [#221](https://github.com/jch/html-pipeline/pull/221)
|
54
|
+
* Extract emoji image tag generation to own method [#195](https://github.com/jch/html-pipeline/pull/195)
|
55
|
+
* Update README.md [#211](https://github.com/jch/html-pipeline/pull/211)
|
56
|
+
* Add ImageFilter for image url to img tag conversion [#207](https://github.com/jch/html-pipeline/pull/207)
|
57
|
+
|
58
|
+
## 2.0
|
59
|
+
|
60
|
+
**New**
|
61
|
+
|
62
|
+
* Implement new EmojiFilter context option: ignored_ancestor_tags to accept more ignored tags. [#170](https://github.com/jch/html-pipeline/pull/170) @JuanitoFatas
|
63
|
+
* Add GitHub flavor Markdown Task List extension [#162](https://github.com/jch/html-pipeline/pull/162) @simeonwillbanks
|
64
|
+
* @mention allow for custom regex to identify usernames. [#157](https://github.com/jch/html-pipeline/pull/157) @brittballard
|
65
|
+
* EmojiFilter now requires gemoji ~> 2. [#159](https://github.com/jch/html-pipeline/pull/159) @jch
|
66
|
+
|
67
|
+
**Changes**
|
68
|
+
|
69
|
+
* Restrict nokogiri to >= 1.4, <= 1.6.5 [#176](https://github.com/jch/html-pipeline/pull/176) @simeonwillbanks
|
70
|
+
* MentionFilter#link_to_mentioned_user: Replace String introspection with Regexp match [#172](https://github.com/jch/html-pipeline/pull/172) @simeonwillbanks
|
71
|
+
* Whitelist summary and details element. [#171](https://github.com/jch/html-pipeline/pull/171) @JuanitoFatas
|
72
|
+
* Support ~login for MentionFilter. [#167](https://github.com/jch/html-pipeline/pull/167) @JuanitoFatas
|
73
|
+
* Revert "Search for text nodes on DocumentFragments without root tags" [#158](https://github.com/jch/html-pipeline/pull/158) @jch
|
74
|
+
* Drop support for ruby ree, 1.9.2, 1.9.3 [#156](https://github.com/jch/html-pipeline/pull/156) @jch
|
75
|
+
* Skip EmojiFilter in `<tt>` tags [#147](https://github.com/jch/html-pipeline/pull/147) @moskvax
|
76
|
+
* Use Linguist lexers [#153](https://github.com/jch/html-pipeline/pull/153) @pchaigno
|
77
|
+
* Constrain Active Support >= 2, < 5 [#180](https://github.com/jch/html-pipeline/pull/180) @jch
|
78
|
+
|
79
|
+
## 1.11.0
|
80
|
+
|
81
|
+
* Search for text nodes on DocumentFragments without root tags #146 Razer6
|
82
|
+
* Don't filter @mentions in `<style>` tags #145 jch
|
83
|
+
* Prefer `http_url` in HttpsFilter. `base_url` still works. #142 bkeepers
|
84
|
+
* Remove duplicate check in EmojiFilter #141 Razer6
|
85
|
+
|
86
|
+
## 1.10.0
|
87
|
+
|
88
|
+
* Anchor TOCFilter with id's instead of name's #140 bkeepers
|
89
|
+
* Add `details` to sanitization whitelist #139 tansaku
|
90
|
+
* Fix README spelling #137 Razer6
|
91
|
+
* Remove ActiveSupport `try` dependency #132 simeonwillbanks
|
92
|
+
|
93
|
+
## 1.9.0
|
94
|
+
|
95
|
+
* Generalize https filter with :base_url #124 #131 rymohr
|
96
|
+
* Clean up gemspec dependencies #130 mislav
|
97
|
+
* EmojiFilter compatibility with gemoji v2 #129 mislav
|
98
|
+
* Now using Minitest #126 simeonwillbanks
|
99
|
+
|
100
|
+
## 1.8.0
|
101
|
+
|
102
|
+
* Add custom path support for EmojiFilter #122 bradly
|
103
|
+
* Reorganize README and add table of contents #118 simeonwillbanks
|
104
|
+
|
105
|
+
## 1.7.0
|
106
|
+
|
107
|
+
* SanitizationFilter whitelists <s> and <strike> elements #120 charliesome
|
108
|
+
* ruby 2.1.1 support #119 simeonwillbanks
|
109
|
+
|
110
|
+
## 1.6.0
|
111
|
+
|
112
|
+
* Doc update for syntax highlighting #108 simeonwillbanks
|
113
|
+
* Add missing dependency for EmailReplyFilter #110 foca
|
114
|
+
* Fix deprecation warning for Digest::Digest #103 chrishunt
|
115
|
+
|
116
|
+
## 1.5.0
|
117
|
+
|
118
|
+
* More flexible whitelist configuration for SanitizationFilter #98 aroben
|
119
|
+
|
120
|
+
## 1.4.0
|
121
|
+
|
122
|
+
* Fix CamoFilter double entity encoding. #101 josh
|
123
|
+
|
124
|
+
## 1.3.0
|
125
|
+
|
126
|
+
1.2.0 didn't actually include the following changes. Yanked that release.
|
127
|
+
|
128
|
+
* CamoFilter now camos https images. #96 josh
|
129
|
+
|
130
|
+
## 1.1.0
|
131
|
+
|
132
|
+
* escape emoji filenames in urls #92 jayroh
|
133
|
+
|
134
|
+
## 1.0.0
|
135
|
+
|
136
|
+
To upgrade to this release, you will need to include separate gems for each of
|
137
|
+
the filters. See [this section of the README](/README.md#dependencies) for
|
138
|
+
details.
|
139
|
+
|
140
|
+
* filter dependencies are no longer included #80 from simeonwillbanks/simple-dependency-management
|
141
|
+
* Add link_attr option to Autolink filter #89 from excid3/master
|
142
|
+
* Add ActiveSupport back in as dependency for xml-mini #85 from mojavelinux/xml-mini
|
143
|
+
|
144
|
+
## 0.3.1
|
145
|
+
|
146
|
+
* Guard against nil node replacement in SyntaxHighlightFilter #84 jbarnette
|
147
|
+
|
148
|
+
## 0.3.0
|
149
|
+
|
150
|
+
* Add support for manually specified default language in SyntaxHighlightFilter #81 jbarnette
|
151
|
+
|
152
|
+
## 0.2.1
|
153
|
+
|
154
|
+
* Moves ActiveSupport as a development dependency #79
|
155
|
+
|
156
|
+
## 0.2.0
|
157
|
+
|
158
|
+
* Fix README typo #74 tricknotes
|
159
|
+
* TableOfContentsFilter generates list of sections #75 simeonwillbanks
|
160
|
+
|
161
|
+
## 0.1.0
|
162
|
+
|
163
|
+
I realized I wasn't properly following [semver](http://semver.org) for interface
|
164
|
+
changes and new features. Starting from this release, semver will be followed.
|
165
|
+
|
166
|
+
* Whitelist table section elements in sanitization filter #55 mojavelinux
|
167
|
+
* Update readme typo #57 envygeeks
|
168
|
+
* TOC unicode characters and anchor names for Ruby > 1.9 #64 jakedouglas/non_english_anchors
|
169
|
+
* Add :skip_tags option for AutolinkFilter #65 pengwynn
|
170
|
+
* Fix CI dependency issues #67 jch
|
171
|
+
* Fix ignored test and add Ruby 2.0 to CI. #71, #72 tricknotes
|
172
|
+
|
173
|
+
## 0.0.14
|
174
|
+
|
175
|
+
* Remove unused can_access_repo? method jch
|
176
|
+
|
177
|
+
## 0.0.13
|
178
|
+
|
179
|
+
* Update icon class name (only affects TOC pipeline) cameronmcefee #52
|
180
|
+
|
181
|
+
## 0.0.12
|
182
|
+
|
183
|
+
* add additional payload information for instrumentation mtodd #46
|
184
|
+
* generate and link to gem docs in README
|
185
|
+
|
186
|
+
## 0.0.11
|
187
|
+
|
188
|
+
* add instrumentation support. readme cleanup mtodd #45
|
189
|
+
|
190
|
+
## 0.0.10
|
191
|
+
|
192
|
+
* add bin/html-pipeline util indirect #44
|
193
|
+
* add result[:mentioned_usernames] for MentionFilter fachen #42
|
194
|
+
|
195
|
+
## 0.0.9
|
196
|
+
|
197
|
+
* bump escape_utils ~> 0.3, github-linguist ~> 2.6.2 brianmario #41
|
198
|
+
* remove nokogiri monkey patch for ruby >= 1.9 defunkt #40
|
199
|
+
|
200
|
+
## 0.0.8
|
201
|
+
|
202
|
+
* raise LoadError instead of printing to stderr if linguist is missing. gjtorikian #36
|
203
|
+
|
204
|
+
## 0.0.7
|
205
|
+
|
206
|
+
* optionally require github-linguist chrislloyd #33
|
207
|
+
|
208
|
+
## 0.0.6
|
209
|
+
|
210
|
+
* don't mutate markdown strings: jakedouglas #32
|
211
|
+
|
212
|
+
## 0.0.5
|
213
|
+
|
214
|
+
* fix li xss vulnerability in sanitization filter: vmg #31
|
215
|
+
* gemspec cleanup: nbibler #23, jbarnette #24
|
216
|
+
* doc updates: jch #16, pborreli #17, wickedshimmy #18, benubois #19, blackerby #21
|
217
|
+
* loosen gemoji dependency: josh #15
|
218
|
+
|
219
|
+
## 0.0.4
|
220
|
+
|
221
|
+
* initial public release
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# Contributing
|
2
|
+
|
3
|
+
Thanks for using and improving `HTML::Pipeline`!
|
4
|
+
|
5
|
+
- [Submitting a New Issue](#submitting-a-new-issue)
|
6
|
+
- [Sending a Pull Request](#sending-a-pull-request)
|
7
|
+
|
8
|
+
## Submitting a New Issue
|
9
|
+
|
10
|
+
If there's an idea you'd like to propose, or a design change, feel free to file a new issue.
|
11
|
+
|
12
|
+
If you have an implementation question or believe you've found a bug, please provide as many details as possible:
|
13
|
+
|
14
|
+
- Input document
|
15
|
+
- Output HTML document
|
16
|
+
- the exact `HTML::Pipeline` code you are using
|
17
|
+
- output of the following from your project
|
18
|
+
|
19
|
+
```
|
20
|
+
ruby -v
|
21
|
+
bundle exec nokogiri -v
|
22
|
+
```
|
23
|
+
|
24
|
+
## Sending a Pull Request
|
25
|
+
|
26
|
+
[Pull requests][pr] are always welcome!
|
27
|
+
|
28
|
+
Check out [the project's issues list][issues] for ideas on what could be improved.
|
29
|
+
|
30
|
+
Before sending, please add tests and ensure the test suite passes.
|
31
|
+
|
32
|
+
### Running the Tests
|
33
|
+
|
34
|
+
To run the full suite:
|
35
|
+
|
36
|
+
`bundle exec rake`
|
37
|
+
|
38
|
+
To run a specific test file:
|
39
|
+
|
40
|
+
`bundle exec ruby -Itest test/html/pipeline_test.rb`
|
41
|
+
|
42
|
+
To run a specific test:
|
43
|
+
|
44
|
+
`bundle exec ruby -Itest test/html/pipeline/markdown_filter_test.rb -n test_disabling_gfm`
|
45
|
+
|
46
|
+
To run the full suite with all [supported rubies][travisyaml] in bash:
|
47
|
+
|
48
|
+
```bash
|
49
|
+
rubies=(ree-1.8.7-2011.03 1.9.2-p290 1.9.3-p429 2.0.0-p247)
|
50
|
+
for r in ${rubies[*]}
|
51
|
+
do
|
52
|
+
rbenv local $r # switch to your version manager of choice
|
53
|
+
bundle install
|
54
|
+
bundle exec rake
|
55
|
+
done
|
56
|
+
```
|
57
|
+
|
58
|
+
[issues]: https://github.com/jch/html-pipeline/issues
|
59
|
+
[pr]: https://help.github.com/articles/using-pull-requests
|
60
|
+
[travisyaml]: https://github.com/jch/html-pipeline/blob/master/.travis.yml
|
data/Gemfile
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in html-pipeline.gemspec
|
4
|
+
gemspec
|
5
|
+
|
6
|
+
group :development do
|
7
|
+
gem 'appraisal'
|
8
|
+
gem 'bundler'
|
9
|
+
gem 'rake'
|
10
|
+
end
|
11
|
+
|
12
|
+
group :test do
|
13
|
+
gem 'commonmarker', '~> 0.16', require: false
|
14
|
+
gem 'email_reply_parser', '~> 0.5', require: false
|
15
|
+
gem 'gemoji', '~> 2.0', require: false
|
16
|
+
gem 'minitest'
|
17
|
+
gem 'RedCloth', '~> 4.2.9', require: false
|
18
|
+
gem 'rinku', '~> 1.7', require: false
|
19
|
+
gem 'sanitize', '~> 4.6', require: false
|
20
|
+
|
21
|
+
gem 'escape_utils', '~> 1.0', require: false
|
22
|
+
gem 'rouge', '~> 3.1', require: false
|
23
|
+
end
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012-present GitHub Inc. and Jerry Cheung
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|