html-pipeline-nico_link 0.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e8182a5ba9e03d271c0cbfd783f337668d366b4c
4
+ data.tar.gz: c76d6d4bce7e4b186edf786ab66387f6e6e3c6d3
5
+ SHA512:
6
+ metadata.gz: 31ec2eb5262be9a2cdbb794dff40f9ed2adc5c68cdedc45d3ad0114e18cc0921c98851d301590317e61cf82d7c2c55e6b28bba8359094948ac6eba0fc1605af6
7
+ data.tar.gz: 0adfaf0834d41ccb7cef831e4674ff9aaf393f801223269545ce6de987cd0a177bb80d35b04f9c54c5b8fe445b07d9a1779168363e1a26b658e29d715638b864
data/.gitignore ADDED
@@ -0,0 +1,291 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
15
+
16
+ # Created by https://www.gitignore.io
17
+
18
+ ### OSX ###
19
+ .DS_Store
20
+ .AppleDouble
21
+ .LSOverride
22
+
23
+ # Icon must end with two \r
24
+ Icon
25
+
26
+
27
+ # Thumbnails
28
+ ._*
29
+
30
+ # Files that might appear on external disk
31
+ .Spotlight-V100
32
+ .Trashes
33
+
34
+ # Directories potentially created on remote AFP share
35
+ .AppleDB
36
+ .AppleDesktop
37
+ Network Trash Folder
38
+ Temporary Items
39
+ .apdisk
40
+
41
+
42
+ ### Windows ###
43
+ # Windows image file caches
44
+ Thumbs.db
45
+ ehthumbs.db
46
+
47
+ # Folder config file
48
+ Desktop.ini
49
+
50
+ # Recycle Bin used on file shares
51
+ $RECYCLE.BIN/
52
+
53
+ # Windows Installer files
54
+ *.cab
55
+ *.msi
56
+ *.msm
57
+ *.msp
58
+
59
+ # Windows shortcuts
60
+ *.lnk
61
+
62
+
63
+ ### Linux ###
64
+ *~
65
+
66
+ # KDE directory preferences
67
+ .directory
68
+
69
+
70
+ ### vim ###
71
+ [._]*.s[a-w][a-z]
72
+ [._]s[a-w][a-z]
73
+ *.un~
74
+ Session.vim
75
+ .netrwhist
76
+ *~
77
+
78
+
79
+ ### Emacs ###
80
+ # -*- mode: gitignore; -*-
81
+ *~
82
+ \#*\#
83
+ /.emacs.desktop
84
+ /.emacs.desktop.lock
85
+ *.elc
86
+ auto-save-list
87
+ tramp
88
+ .\#*
89
+
90
+ # Org-mode
91
+ .org-id-locations
92
+ *_archive
93
+
94
+ # flymake-mode
95
+ *_flymake.*
96
+
97
+ # eshell files
98
+ /eshell/history
99
+ /eshell/lastdir
100
+
101
+ # elpa packages
102
+ /elpa/
103
+
104
+ # reftex files
105
+ *.rel
106
+
107
+ # AUCTeX auto folder
108
+ /auto/
109
+
110
+
111
+ ### SublimeText ###
112
+ # cache files for sublime text
113
+ *.tmlanguage.cache
114
+ *.tmPreferences.cache
115
+ *.stTheme.cache
116
+
117
+ # workspace files are user-specific
118
+ *.sublime-workspace
119
+
120
+ # project files should be checked into the repository, unless a significant
121
+ # proportion of contributors will probably not be using SublimeText
122
+ # *.sublime-project
123
+
124
+ # sftp configuration file
125
+ sftp-config.json
126
+
127
+
128
+ ### Intellij ###
129
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
130
+
131
+ /*.iml
132
+
133
+ ## Directory-based project format:
134
+ .idea/
135
+ # if you remove the above rule, at least ignore the following:
136
+
137
+ # User-specific stuff:
138
+ # .idea/workspace.xml
139
+ # .idea/tasks.xml
140
+ # .idea/dictionaries
141
+
142
+ # Sensitive or high-churn files:
143
+ # .idea/dataSources.ids
144
+ # .idea/dataSources.xml
145
+ # .idea/sqlDataSources.xml
146
+ # .idea/dynamic.xml
147
+ # .idea/uiDesigner.xml
148
+
149
+ # Gradle:
150
+ # .idea/gradle.xml
151
+ # .idea/libraries
152
+
153
+ # Mongo Explorer plugin:
154
+ # .idea/mongoSettings.xml
155
+
156
+ ## File-based project format:
157
+ *.ipr
158
+ *.iws
159
+
160
+ ## Plugin-specific files:
161
+
162
+ # IntelliJ
163
+ out/
164
+
165
+ # mpeltonen/sbt-idea plugin
166
+ .idea_modules/
167
+
168
+ # JIRA plugin
169
+ atlassian-ide-plugin.xml
170
+
171
+ # Crashlytics plugin (for Android Studio and IntelliJ)
172
+ com_crashlytics_export_strings.xml
173
+
174
+
175
+ ### RubyMine ###
176
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
177
+
178
+ /*.iml
179
+
180
+ ## Directory-based project format:
181
+ .idea/
182
+ # if you remove the above rule, at least ignore the following:
183
+
184
+ # User-specific stuff:
185
+ # .idea/workspace.xml
186
+ # .idea/tasks.xml
187
+ # .idea/dictionaries
188
+
189
+ # Sensitive or high-churn files:
190
+ # .idea/dataSources.ids
191
+ # .idea/dataSources.xml
192
+ # .idea/sqlDataSources.xml
193
+ # .idea/dynamic.xml
194
+ # .idea/uiDesigner.xml
195
+
196
+ # Gradle:
197
+ # .idea/gradle.xml
198
+ # .idea/libraries
199
+
200
+ # Mongo Explorer plugin:
201
+ # .idea/mongoSettings.xml
202
+
203
+ ## File-based project format:
204
+ *.ipr
205
+ *.iws
206
+
207
+ ## Plugin-specific files:
208
+
209
+ # IntelliJ
210
+ out/
211
+
212
+ # mpeltonen/sbt-idea plugin
213
+ .idea_modules/
214
+
215
+ # JIRA plugin
216
+ atlassian-ide-plugin.xml
217
+
218
+ # Crashlytics plugin (for Android Studio and IntelliJ)
219
+ com_crashlytics_export_strings.xml
220
+
221
+
222
+ ### Ruby ###
223
+ *.gem
224
+ *.rbc
225
+ /.config
226
+ /coverage/
227
+ /InstalledFiles
228
+ /pkg/
229
+ /spec/reports/
230
+ /test/tmp/
231
+ /test/version_tmp/
232
+ /tmp/
233
+
234
+ ## Specific to RubyMotion:
235
+ .dat*
236
+ .repl_history
237
+ build/
238
+
239
+ ## Documentation cache and generated files:
240
+ /.yardoc/
241
+ /_yardoc/
242
+ /doc/
243
+ /rdoc/
244
+
245
+ ## Environment normalisation:
246
+ /.bundle/
247
+ /lib/bundler/man/
248
+
249
+ # for a library or gem, you might want to ignore these files since the code is
250
+ # intended to run in multiple environments; otherwise, check them in:
251
+ # Gemfile.lock
252
+ # .ruby-version
253
+ # .ruby-gemset
254
+
255
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
256
+ .rvmrc
257
+
258
+
259
+ ### Rails ###
260
+ *.rbc
261
+ capybara-*.html
262
+ .rspec
263
+ /log
264
+ /tmp
265
+ /db/*.sqlite3
266
+ /public/system
267
+ /coverage/
268
+ /spec/tmp
269
+ **.orig
270
+ rerun.txt
271
+ pickle-email-*.html
272
+
273
+ # TODO Comment out these rules if you are OK with secrets being uploaded to the repo
274
+ config/initializers/secret_token.rb
275
+ config/secrets.yml
276
+
277
+ ## Environment normalisation:
278
+ /.bundle
279
+ /vendor/bundle
280
+
281
+ # these should all be checked in to normalise the environment:
282
+ # Gemfile.lock, .ruby-version, .ruby-gemset
283
+
284
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
285
+ .rvmrc
286
+
287
+ # if using bower-rails ignore default bower_components path bower.json files
288
+ /vendor/assets/bower_components
289
+ *.bowerrc
290
+ bower.json
291
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in html-pipeline-nico_link_filter.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Ru/MuckRu
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.
data/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # Html::Pipeline::NicoLink
2
+
3
+ An HTML::Pipeline filter for niconico(http://www.nicovideo.jp) description links.
4
+
5
+ niconicoの動画説明文中のオートリンクです。mylist2.jsの定義を参考にしています。
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'html-pipeline-nico_link'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install html-pipeline-nico_link
22
+
23
+ ## Usage
24
+
25
+ To use this filter on its own
26
+
27
+ ```ruby
28
+ require 'html/pipeline/nico_link'
29
+
30
+ filter = HTML::Pipeline::NicoLinkFilter.new('伝説の動画: sm9')
31
+ filter.call.to_s # => '伝説の動画: <a href="http://www.nicovideo.jp/watch/sm9">sm9</a>'
32
+ ```
33
+
34
+ To use this filter with HTML::Pipeline
35
+
36
+ ```ruby
37
+ pipeline = HTML::Pipeline.new [
38
+ HTML::Pipeline::MarkdownFilter,
39
+ HTML::Pipeline::NicoLinkFilter,
40
+ ]
41
+ pipeline.call('**伝説の動画はこちら→** sm9') # => '<b>伝説の動画はこちら→</b> <a href="http://www.nicovideo.jp/watch/sm9">sm9</a>'
42
+ ```
43
+
44
+ ## Contributing
45
+
46
+ 1. Fork it ( https://github.com/rutan/html-pipeline-nico_link/fork )
47
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
48
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
49
+ 4. Push to the branch (`git push origin my-new-feature`)
50
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new('spec')
5
+ task :default => :spec
6
+
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'html/pipeline/nico_link/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'html-pipeline-nico_link'
8
+ spec.version = HTML::Pipeline::NicoLink::VERSION
9
+ spec.authors = ['Ru/MuckRu']
10
+ spec.email = ['ru_shalm@hazimu.com']
11
+ spec.summary = %q{niconico link for html-pipeline}
12
+ spec.description = %q{niconico link for html-pipeline}
13
+ spec.homepage = ''
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_dependency 'html-pipeline', '~> 1.11.0'
22
+
23
+ spec.add_development_dependency 'bundler', '~> 1.7'
24
+ spec.add_development_dependency 'rake', '~> 10.0'
25
+ spec.add_development_dependency 'rspec', '~> 3.1.0'
26
+ end
@@ -0,0 +1,2 @@
1
+ require 'html/pipeline/nico_link/version'
2
+ require 'html/pipeline/nico_link/filter'
@@ -0,0 +1,128 @@
1
+ require 'html/pipeline'
2
+
3
+ module HTML
4
+ class Pipeline
5
+ class NicoLinkFilter < Filter
6
+ def initialize(doc, context = nil, result = nil)
7
+ super
8
+ @context = context || {}
9
+ end
10
+
11
+ def call
12
+ doc.search('text()').each do |node|
13
+ content = node.to_html
14
+ html = apply_filter(content)
15
+ next if html == content
16
+ node.replace(html)
17
+ end
18
+ doc
19
+ end
20
+
21
+ def apply_filter(content)
22
+ content = content.dup
23
+ self.patterns.each do |pattern_set|
24
+ content.gsub!(pattern_set[:pattern]) do
25
+ space = $1
26
+ text = $2
27
+ url = pattern_set[:link].gsub('%s', text)
28
+ "#{space}<a href=\"#{url}\">#{text}</a>"
29
+ end
30
+ end
31
+ content
32
+ end
33
+
34
+ def patterns
35
+ @patterns ||= (@context[:nico_link] || DEFAULT_PATTERNS).map do |pattern_set|
36
+ {
37
+ pattern: create_pattern(pattern_set[:pattern]),
38
+ link: pattern_set[:link],
39
+ }
40
+ end
41
+ end
42
+
43
+ def create_pattern(key)
44
+ /
45
+ (^|\W)
46
+ (#{key})
47
+ (?=
48
+ \.+[ \t\W]|
49
+ \.+$|
50
+ [^0-9a-zA-Z_.]|
51
+ $
52
+ )
53
+ /ix
54
+ end
55
+
56
+ DEFAULT_PATTERNS = [
57
+ {
58
+ pattern: /(?:sm|nm|so|ca|ax|yo|nl|ig|na|cw|z[a-e]|om|sk|yk)\d{1,14}/,
59
+ link: 'http://www.nicovideo.jp/watch/%s'
60
+ },
61
+ {
62
+ pattern: /(?:watch|user|myvideo|mylist)\d{1,14}/,
63
+ link: 'http://www.nicovideo.jp/%s'
64
+ },
65
+ {
66
+ pattern: /(?:co)\d{1,14}/,
67
+ link: 'http://com.nicovideo.jp/%s'
68
+ },
69
+ {
70
+ pattern: /(?:ch)\d{1,14}/,
71
+ link: 'http://ch.nicovideo.jp/%s'
72
+ },
73
+ {
74
+ pattern: /(?:ar)\d{1,14}/,
75
+ link: 'http://ch.nicovideo.jp/article/%s'
76
+ },
77
+ {
78
+ pattern: /(?:td)\d+/,
79
+ link: 'http://3d.nicovideo.jp/works/%s',
80
+ },
81
+ {
82
+ pattern: /(?:nc)\d{1,14}/,
83
+ link: 'http://commons.nicovideo.jp/material/%s',
84
+ },
85
+ {
86
+ pattern: /(?:dw\\d+|az[A-Z0-9]{10}|ys[a-zA-Z0-9-]+_[a-zA-Z0-9-]+|ga\\d+|ip[\\d_]+|gg[a-zA-Z0-9]+-[a-zA-Z0-9-]+)/,
87
+ link: 'http://ichiba.nicovideo.jp/item/%s',
88
+ },
89
+ {
90
+ pattern: /(?:lv)\d{1,14}/,
91
+ link: 'http://live.nicovideo.jp/watch/%s',
92
+ },
93
+ {
94
+ pattern: /(?:[sm]g)\d{1,14}/,
95
+ link: 'http://seiga.nicovideo.jp/watch/%s',
96
+ },
97
+ {
98
+ pattern: /(?:bk)\d{1,14}/,
99
+ link: 'http://seiga.nicovideo.jp/watch/%s',
100
+ },
101
+ {
102
+ pattern: /(?:im)\d{1,14}/,
103
+ link: 'http://seiga.nicovideo.jp/seiga/%s',
104
+ },
105
+ {
106
+ pattern: /commons\.nicovideo\.jp\/user\/\d+/,
107
+ link: 'http://%s',
108
+ },
109
+ {
110
+ pattern: /niconicommons\.jp\/user\/\d+/,
111
+ link: 'http://www.%s',
112
+ },
113
+ {
114
+ pattern: /user\/illust\/\d+/,
115
+ link: 'http://seiga.nicovideo.jp/%s',
116
+ },
117
+ {
118
+ pattern: /clip\/\d+/,
119
+ link: 'http://seiga.nicovideo.jp/%s',
120
+ },
121
+ {
122
+ pattern: /ch\.nicovideo\.jp\/[a-zA-Z0-9][-_a-zA-Z0-9]+(?=[^\-_A-Za-z0-9\/]|$)/,
123
+ link: 'http://%s',
124
+ },
125
+ ]
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,7 @@
1
+ module HTML
2
+ class Pipeline
3
+ module NicoLink
4
+ VERSION = '0.0.1'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe 'NicoLinkFilter' do
5
+ subject do
6
+ filter = HTML::Pipeline::NicoLinkFilter.new(text)
7
+ filter.call.to_s
8
+ end
9
+
10
+ context 'sm12345' do
11
+ let(:text) { 'sm12345' }
12
+ it { expect(subject).to eq '<a href="http://www.nicovideo.jp/watch/sm12345">sm12345</a>' }
13
+ end
14
+
15
+ context 'commons.nicovideo.jp/user/123' do
16
+ let(:text) { 'commons.nicovideo.jp/user/123' }
17
+ it { expect(subject).to eq '<a href="http://commons.nicovideo.jp/user/123">commons.nicovideo.jp/user/123</a>' }
18
+ end
19
+
20
+ context 'sm12345 ar23456 td34567' do
21
+ let(:text) { 'sm12345 ar23456 td34567' }
22
+ it { expect(subject).to eq '<a href="http://www.nicovideo.jp/watch/sm12345">sm12345</a> <a href="http://ch.nicovideo.jp/article/ar23456">ar23456</a> <a href="http://3d.nicovideo.jp/works/td34567">td34567</a>' }
23
+ end
24
+
25
+ context 'sm12345sm23456' do
26
+ let(:text) { 'sm12345sm23456' }
27
+ it { expect(subject).to eq 'sm12345sm23456' }
28
+ end
29
+
30
+ context '<b>sm</b>123' do
31
+ let(:text) { '<b>sm</b>123' }
32
+ it { expect(subject).to eq '<b>sm</b>123' }
33
+ end
34
+ end
@@ -0,0 +1,8 @@
1
+ require 'rspec'
2
+ require 'html/pipeline/nico_link'
3
+
4
+ Dir.glob('./support/**/*.rb').each { |f| require f }
5
+
6
+ RSpec.configure do |config|
7
+ end
8
+
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: html-pipeline-nico_link
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ru/MuckRu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-11-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: html-pipeline
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.11.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.11.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.1.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.1.0
69
+ description: niconico link for html-pipeline
70
+ email:
71
+ - ru_shalm@hazimu.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - Gemfile
78
+ - LICENSE.txt
79
+ - README.md
80
+ - Rakefile
81
+ - html-pipeline-nico_link.gemspec
82
+ - lib/html/pipeline/nico_link.rb
83
+ - lib/html/pipeline/nico_link/filter.rb
84
+ - lib/html/pipeline/nico_link/version.rb
85
+ - spec/nico_link_filter_spec.rb
86
+ - spec/spec_helper.rb
87
+ homepage: ''
88
+ licenses:
89
+ - MIT
90
+ metadata: {}
91
+ post_install_message:
92
+ rdoc_options: []
93
+ require_paths:
94
+ - lib
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ requirements: []
106
+ rubyforge_project:
107
+ rubygems_version: 2.2.2
108
+ signing_key:
109
+ specification_version: 4
110
+ summary: niconico link for html-pipeline
111
+ test_files:
112
+ - spec/nico_link_filter_spec.rb
113
+ - spec/spec_helper.rb