slack_markdown 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/spec.yml +17 -0
- data/.rubocop.yml +9 -25
- data/.rubocop_todo.yml +19 -16
- data/Gemfile +2 -0
- data/Rakefile +2 -0
- data/lib/slack_markdown/filters/bold_filter.rb +5 -3
- data/lib/slack_markdown/filters/code_filter.rb +5 -3
- data/lib/slack_markdown/filters/convert_filter.rb +8 -7
- data/lib/slack_markdown/filters/emoji_filter.rb +8 -2
- data/lib/slack_markdown/filters/ignorable_ancestor_tags.rb +2 -2
- data/lib/slack_markdown/filters/italic_filter.rb +5 -3
- data/lib/slack_markdown/filters/line_break_filter.rb +3 -1
- data/lib/slack_markdown/filters/multiple_code_filter.rb +5 -3
- data/lib/slack_markdown/filters/multiple_quote_filter.rb +3 -1
- data/lib/slack_markdown/filters/quote_filter.rb +3 -2
- data/lib/slack_markdown/filters/strike_filter.rb +34 -0
- data/lib/slack_markdown/processor.rb +4 -2
- data/lib/slack_markdown/version.rb +3 -1
- data/lib/slack_markdown.rb +1 -1
- data/slack_markdown.gemspec +6 -5
- metadata +28 -27
- data/.travis.yml +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1931dd5c91dc9b27769a94bd81486fa30701b1e69ac3a5b927e3718e780ab4dc
|
4
|
+
data.tar.gz: 92759f5c90effb4668698593a9c32e28f1a2d8620ef20068441e89f89b03f85e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 543e199083ecfd05a3408eac0d99fd59fb39c4befb06d9d4acc70aba43eef06185b946c176a04355e6779fbce735708f71967867972d048a8a046182d18e03bd
|
7
|
+
data.tar.gz: 6ce0750daa0bc6e14e6ea94abdecdc88057dd16ac8037dd79cf4d76b258099ae9c8613991038c1e5a7adcfaf78ce391226a1be9b52922e0e3e9818035552f145
|
@@ -0,0 +1,17 @@
|
|
1
|
+
name: spec
|
2
|
+
on: [push, pull_request]
|
3
|
+
jobs:
|
4
|
+
spec:
|
5
|
+
strategy:
|
6
|
+
fail-fast: false
|
7
|
+
matrix:
|
8
|
+
ruby: [2.6, 2.7, 3.0, head]
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v2
|
12
|
+
- uses: ruby/setup-ruby@v1
|
13
|
+
with:
|
14
|
+
ruby-version: ${{ matrix.ruby }}
|
15
|
+
bundler-cache: true
|
16
|
+
- run: bundle exec rubocop
|
17
|
+
- run: bundle exec rake spec
|
data/.rubocop.yml
CHANGED
@@ -1,32 +1,16 @@
|
|
1
|
-
|
2
|
-
Exclude:
|
3
|
-
- tmp/**/*
|
4
|
-
- vendor/**/*
|
5
|
-
|
6
|
-
SpecialGlobalVars:
|
7
|
-
Enabled: false
|
8
|
-
|
9
|
-
AsciiComments:
|
10
|
-
Enabled: false
|
1
|
+
inherit_from: .rubocop_todo.yml
|
11
2
|
|
12
|
-
|
13
|
-
|
3
|
+
AllCops:
|
4
|
+
NewCops: enable
|
14
5
|
|
15
|
-
Documentation:
|
6
|
+
Style/Documentation:
|
16
7
|
Enabled: false
|
17
8
|
|
18
|
-
LineLength:
|
19
|
-
Max:
|
9
|
+
Layout/LineLength:
|
10
|
+
Max: 140
|
20
11
|
Exclude:
|
21
12
|
- spec/**/*
|
22
13
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
PerlBackrefs:
|
27
|
-
Enabled: false
|
28
|
-
|
29
|
-
TrailingCommaInLiteral:
|
30
|
-
EnforcedStyleForMultiline: comma
|
31
|
-
|
32
|
-
inherit_from: .rubocop_todo.yml
|
14
|
+
Metrics/BlockLength:
|
15
|
+
Exclude:
|
16
|
+
- spec/**/*
|
data/.rubocop_todo.yml
CHANGED
@@ -1,38 +1,41 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2021-10-30 04:14:18 UTC using RuboCop version 1.22.3.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
9
|
# Offense count: 1
|
10
|
+
# Configuration parameters: Include.
|
11
|
+
# Include: **/*.gemspec
|
12
|
+
Gemspec/RequiredRubyVersion:
|
13
|
+
Exclude:
|
14
|
+
- 'slack_markdown.gemspec'
|
15
|
+
|
16
|
+
# Offense count: 1
|
17
|
+
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
|
10
18
|
Metrics/AbcSize:
|
11
|
-
Max:
|
19
|
+
Max: 42
|
12
20
|
|
13
21
|
# Offense count: 1
|
22
|
+
# Configuration parameters: IgnoredMethods.
|
14
23
|
Metrics/CyclomaticComplexity:
|
15
24
|
Max: 16
|
16
25
|
|
17
|
-
# Offense count:
|
18
|
-
# Configuration parameters:
|
19
|
-
# URISchemes: http, https
|
20
|
-
Metrics/LineLength:
|
21
|
-
Max: 137
|
22
|
-
|
23
|
-
# Offense count: 1
|
24
|
-
# Configuration parameters: CountComments.
|
26
|
+
# Offense count: 2
|
27
|
+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
|
25
28
|
Metrics/MethodLength:
|
26
|
-
Max:
|
29
|
+
Max: 40
|
27
30
|
|
28
31
|
# Offense count: 1
|
32
|
+
# Configuration parameters: IgnoredMethods.
|
29
33
|
Metrics/PerceivedComplexity:
|
30
34
|
Max: 19
|
31
35
|
|
32
36
|
# Offense count: 1
|
33
|
-
#
|
34
|
-
#
|
35
|
-
|
36
|
-
Style/TrailingBlankLines:
|
37
|
+
# Configuration parameters: ForbiddenDelimiters.
|
38
|
+
# ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
|
39
|
+
Naming/HeredocDelimiterNaming:
|
37
40
|
Exclude:
|
38
|
-
- 'spec/
|
41
|
+
- 'spec/slack_markdown/processor_spec.rb'
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
@@ -13,8 +13,10 @@ module SlackMarkdown
|
|
13
13
|
content = node.to_html
|
14
14
|
next if has_ancestor?(node, ignored_ancestor_tags)
|
15
15
|
next unless content.include?('*')
|
16
|
+
|
16
17
|
html = bold_filter(content)
|
17
18
|
next if html == content
|
19
|
+
|
18
20
|
node.replace(html)
|
19
21
|
end
|
20
22
|
doc
|
@@ -22,11 +24,11 @@ module SlackMarkdown
|
|
22
24
|
|
23
25
|
def bold_filter(text)
|
24
26
|
text.gsub(BOLD_PATTERN) do
|
25
|
-
"<b>#{
|
27
|
+
"<b>#{Regexp.last_match(1)}</b>"
|
26
28
|
end
|
27
29
|
end
|
28
30
|
|
29
|
-
BOLD_PATTERN = /(?<=^|\W)\*(.+)\*(?=\W|$)
|
31
|
+
BOLD_PATTERN = /(?<=^|\W)\*(.+)\*(?=\W|$)/.freeze
|
30
32
|
end
|
31
33
|
end
|
32
34
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
@@ -13,8 +13,10 @@ module SlackMarkdown
|
|
13
13
|
content = node.to_html
|
14
14
|
next if has_ancestor?(node, ignored_ancestor_tags)
|
15
15
|
next unless content.include?('`')
|
16
|
+
|
16
17
|
html = code_filter(content)
|
17
18
|
next if html == content
|
19
|
+
|
18
20
|
node.replace(html)
|
19
21
|
end
|
20
22
|
doc
|
@@ -24,11 +26,11 @@ module SlackMarkdown
|
|
24
26
|
|
25
27
|
def code_filter(text)
|
26
28
|
text.gsub(CODE_PATTERN) do
|
27
|
-
"<code>#{
|
29
|
+
"<code>#{Regexp.last_match(1)}</code>"
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
31
|
-
CODE_PATTERN = /(?<=^|\W)`(.+?)`(?=\W|$)
|
33
|
+
CODE_PATTERN = /(?<=^|\W)`(.+?)`(?=\W|$)/.freeze
|
32
34
|
end
|
33
35
|
end
|
34
36
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'escape_utils'
|
@@ -8,9 +8,9 @@ module SlackMarkdown
|
|
8
8
|
# https://api.slack.com/docs/formatting
|
9
9
|
class ConvertFilter < ::HTML::Pipeline::TextFilter
|
10
10
|
def call
|
11
|
-
html = @text.gsub(/<([
|
12
|
-
link_data =
|
13
|
-
link_text =
|
11
|
+
html = @text.gsub(/<([^>|]+)(?:\|([^>]+))?>/) do |_match|
|
12
|
+
link_data = Regexp.last_match(1)
|
13
|
+
link_text = Regexp.last_match(2)
|
14
14
|
create_link(link_data, link_text)
|
15
15
|
end
|
16
16
|
Nokogiri::HTML.fragment(html)
|
@@ -22,21 +22,22 @@ module SlackMarkdown
|
|
22
22
|
klass, link, text =
|
23
23
|
case data
|
24
24
|
when /\A#(C.+)\z/ # channel
|
25
|
-
channel = context.include?(:on_slack_channel_id) ? context[:on_slack_channel_id].call(
|
25
|
+
channel = context.include?(:on_slack_channel_id) ? context[:on_slack_channel_id].call(Regexp.last_match(1)) : nil
|
26
26
|
if channel
|
27
|
+
override_text = nil
|
27
28
|
['channel', channel[:url], "##{channel[:text]}"]
|
28
29
|
else
|
29
30
|
['channel', data, data]
|
30
31
|
end
|
31
32
|
when /\A@((?:U|B).+)/ # user or bot
|
32
|
-
user = context.include?(:on_slack_user_id) ? context[:on_slack_user_id].call(
|
33
|
+
user = context.include?(:on_slack_user_id) ? context[:on_slack_user_id].call(Regexp.last_match(1)) : nil
|
33
34
|
if user
|
34
35
|
['mention', user[:url], "@#{user[:text]}"]
|
35
36
|
else
|
36
37
|
['mention', nil, data]
|
37
38
|
end
|
38
39
|
when /\A@(.+)/ # user name
|
39
|
-
user = context.include?(:on_slack_user_name) ? context[:on_slack_user_name].call(
|
40
|
+
user = context.include?(:on_slack_user_name) ? context[:on_slack_user_name].call(Regexp.last_match(1)) : nil
|
40
41
|
if user
|
41
42
|
['mention', user[:url], "@#{user[:text]}"]
|
42
43
|
else
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
|
@@ -26,7 +26,13 @@ module SlackMarkdown
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def original_emoji_path(name)
|
29
|
-
original_emoji_set[name]
|
29
|
+
path = original_emoji_set[name]
|
30
|
+
|
31
|
+
if (matches = path.match(/\Aalias:(.+)\z/))
|
32
|
+
emoji_url(matches[1])
|
33
|
+
else
|
34
|
+
path
|
35
|
+
end
|
30
36
|
end
|
31
37
|
end
|
32
38
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module SlackMarkdown
|
4
4
|
module Filters
|
5
5
|
module IgnorableAncestorTags
|
6
|
-
DEFAULT_IGNORED_ANCESTOR_TAGS = %w
|
6
|
+
DEFAULT_IGNORED_ANCESTOR_TAGS = %w[pre code tt].freeze
|
7
7
|
def ignored_ancestor_tags
|
8
8
|
if context[:ignored_ancestor_tags]
|
9
9
|
DEFAULT_IGNORED_ANCESTOR_TAGS | context[:ignored_ancestor_tags]
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
@@ -13,8 +13,10 @@ module SlackMarkdown
|
|
13
13
|
content = node.to_html
|
14
14
|
next if has_ancestor?(node, ignored_ancestor_tags)
|
15
15
|
next unless content.include?('_')
|
16
|
+
|
16
17
|
html = italic_filter(content)
|
17
18
|
next if html == content
|
19
|
+
|
18
20
|
node.replace(html)
|
19
21
|
end
|
20
22
|
doc
|
@@ -22,11 +24,11 @@ module SlackMarkdown
|
|
22
24
|
|
23
25
|
def italic_filter(text)
|
24
26
|
text.gsub(ITALIC_PATTERN) do
|
25
|
-
"<i>#{
|
27
|
+
"<i>#{Regexp.last_match(1)}</i>"
|
26
28
|
end
|
27
29
|
end
|
28
30
|
|
29
|
-
ITALIC_PATTERN = /(?<=^|\W)_(.+)_(?=\W|$)
|
31
|
+
ITALIC_PATTERN = /(?<=^|\W)_(.+)_(?=\W|$)/.freeze
|
30
32
|
end
|
31
33
|
end
|
32
34
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
@@ -13,8 +13,10 @@ module SlackMarkdown
|
|
13
13
|
content = node.to_html
|
14
14
|
next if has_ancestor?(node, ignored_ancestor_tags)
|
15
15
|
next unless content.include?("\n")
|
16
|
+
|
16
17
|
html = content.gsub("\n", '<br>')
|
17
18
|
next if html == content
|
19
|
+
|
18
20
|
node.replace(html)
|
19
21
|
end
|
20
22
|
doc
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
@@ -13,8 +13,10 @@ module SlackMarkdown
|
|
13
13
|
content = node.to_html
|
14
14
|
next if has_ancestor?(node, ignored_ancestor_tags)
|
15
15
|
next unless content.include?('`')
|
16
|
+
|
16
17
|
html = multiple_code_filter(content)
|
17
18
|
next if html == content
|
19
|
+
|
18
20
|
node.replace(html)
|
19
21
|
end
|
20
22
|
doc
|
@@ -24,11 +26,11 @@ module SlackMarkdown
|
|
24
26
|
|
25
27
|
def multiple_code_filter(text)
|
26
28
|
text.gsub(CODE_PATTERN) do
|
27
|
-
"<pre><code>#{
|
29
|
+
"<pre><code>#{Regexp.last_match(1)}</code></pre>"
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
31
|
-
CODE_PATTERN = /(?<=^|\W)```\n?((?:.|\n)+?)```(?=\W|$)
|
33
|
+
CODE_PATTERN = /(?<=^|\W)```\n?((?:.|\n)+?)```(?=\W|$)/.freeze
|
32
34
|
end
|
33
35
|
end
|
34
36
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
@@ -13,8 +13,10 @@ module SlackMarkdown
|
|
13
13
|
content = node.to_html
|
14
14
|
next if has_ancestor?(node, ignored_ancestor_tags)
|
15
15
|
next unless content.include?('>>>')
|
16
|
+
|
16
17
|
html = multiple_quote_filter(content)
|
17
18
|
next if html == content
|
19
|
+
|
18
20
|
node.replace(html)
|
19
21
|
end
|
20
22
|
doc
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
@@ -17,7 +17,7 @@ module SlackMarkdown
|
|
17
17
|
|
18
18
|
def replace_quote_line(str)
|
19
19
|
str.gsub(/^>\s*(.+)(?:\n|$)/) do
|
20
|
-
"<blockquote>#{
|
20
|
+
"<blockquote>#{Regexp.last_match(1)}\n</blockquote>"
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -25,6 +25,7 @@ module SlackMarkdown
|
|
25
25
|
doc = Nokogiri::HTML.fragment(html)
|
26
26
|
doc.search('blockquote + blockquote').each do |node|
|
27
27
|
next unless node.previous.name == 'blockquote'
|
28
|
+
|
28
29
|
html = "<blockquote>#{node.previous.inner_html}#{node.inner_html}</blockquote>"
|
29
30
|
node.previous.remove
|
30
31
|
node.replace(html)
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'html/pipeline'
|
4
|
+
require 'slack_markdown/filters/ignorable_ancestor_tags'
|
5
|
+
|
6
|
+
module SlackMarkdown
|
7
|
+
module Filters
|
8
|
+
class StrikeFilter < ::HTML::Pipeline::Filter
|
9
|
+
include IgnorableAncestorTags
|
10
|
+
|
11
|
+
def call
|
12
|
+
doc.search('.//text()').each do |node|
|
13
|
+
content = node.to_html
|
14
|
+
next if has_ancestor?(node, ignored_ancestor_tags)
|
15
|
+
next unless content.include?('~')
|
16
|
+
|
17
|
+
html = strike_filter(content)
|
18
|
+
next if html == content
|
19
|
+
|
20
|
+
node.replace(html)
|
21
|
+
end
|
22
|
+
doc
|
23
|
+
end
|
24
|
+
|
25
|
+
def strike_filter(text)
|
26
|
+
text.gsub(STRIKE_PATTERN) do
|
27
|
+
"<strike>#{Regexp.last_match(1)}</strike>"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
STRIKE_PATTERN = /(?<=^|\W)~(.+)~(?=\W|$)/.freeze
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'html/pipeline'
|
4
4
|
require 'slack_markdown/filters/convert_filter'
|
@@ -9,6 +9,7 @@ require 'slack_markdown/filters/code_filter'
|
|
9
9
|
require 'slack_markdown/filters/emoji_filter'
|
10
10
|
require 'slack_markdown/filters/bold_filter'
|
11
11
|
require 'slack_markdown/filters/italic_filter'
|
12
|
+
require 'slack_markdown/filters/strike_filter'
|
12
13
|
require 'slack_markdown/filters/line_break_filter'
|
13
14
|
|
14
15
|
module SlackMarkdown
|
@@ -28,7 +29,8 @@ module SlackMarkdown
|
|
28
29
|
SlackMarkdown::Filters::EmojiFilter,
|
29
30
|
SlackMarkdown::Filters::BoldFilter,
|
30
31
|
SlackMarkdown::Filters::ItalicFilter,
|
31
|
-
SlackMarkdown::Filters::
|
32
|
+
SlackMarkdown::Filters::StrikeFilter,
|
33
|
+
SlackMarkdown::Filters::LineBreakFilter
|
32
34
|
]
|
33
35
|
end
|
34
36
|
|
data/lib/slack_markdown.rb
CHANGED
data/slack_markdown.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'slack_markdown/version'
|
5
6
|
|
@@ -19,13 +20,13 @@ Gem::Specification.new do |spec|
|
|
19
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
21
|
spec.require_paths = ['lib']
|
21
22
|
|
22
|
-
spec.add_dependency 'html-pipeline', '~> 2.0'
|
23
23
|
spec.add_dependency 'escape_utils'
|
24
24
|
spec.add_dependency 'gemoji'
|
25
|
+
spec.add_dependency 'html-pipeline', '~> 2.0'
|
25
26
|
|
26
27
|
spec.add_development_dependency 'bundler'
|
28
|
+
spec.add_development_dependency 'pry'
|
27
29
|
spec.add_development_dependency 'rake'
|
28
30
|
spec.add_development_dependency 'rspec', '~> 3.2'
|
29
|
-
spec.add_development_dependency '
|
30
|
-
spec.add_development_dependency 'rubocop', '~> 0.40.0'
|
31
|
+
spec.add_development_dependency 'rubocop', '~> 1.22.3'
|
31
32
|
end
|
metadata
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slack_markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ru/MuckRu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: escape_utils
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: gemoji
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: html-pipeline
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '2.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,47 +81,47 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '3.2'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '3.2'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rubocop
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 1.22.3
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 1.22.3
|
125
125
|
description: Convert Slack message markdown to HTML.
|
126
126
|
email:
|
127
127
|
- ru_shalm@hazimu.com
|
@@ -129,10 +129,10 @@ executables: []
|
|
129
129
|
extensions: []
|
130
130
|
extra_rdoc_files: []
|
131
131
|
files:
|
132
|
+
- ".github/workflows/spec.yml"
|
132
133
|
- ".gitignore"
|
133
134
|
- ".rubocop.yml"
|
134
135
|
- ".rubocop_todo.yml"
|
135
|
-
- ".travis.yml"
|
136
136
|
- Gemfile
|
137
137
|
- LICENSE.txt
|
138
138
|
- README.md
|
@@ -148,6 +148,7 @@ files:
|
|
148
148
|
- lib/slack_markdown/filters/multiple_code_filter.rb
|
149
149
|
- lib/slack_markdown/filters/multiple_quote_filter.rb
|
150
150
|
- lib/slack_markdown/filters/quote_filter.rb
|
151
|
+
- lib/slack_markdown/filters/strike_filter.rb
|
151
152
|
- lib/slack_markdown/processor.rb
|
152
153
|
- lib/slack_markdown/version.rb
|
153
154
|
- slack_markdown.gemspec
|