html-pipeline-plus 2.10.1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|