pakyow-markdown 1.0.0 → 2.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +3 -1
- data/LICENSE +3 -19
- data/README.md +5 -3
- data/lib/pakyow/markdown.rb +2 -0
- data/lib/pakyow/markdown/framework.rb +26 -0
- data/lib/pakyow/markdown/processor.rb +27 -0
- data/lib/pakyow/markdown/renderer.rb +22 -0
- data/lib/{version.rb → pakyow/markdown/version.rb} +1 -1
- metadata +20 -100
- data/.gitignore +0 -2
- data/Gemfile +0 -14
- data/lib/pakyow-markdown.rb +0 -29
- data/pakyow-markdown.gemspec +0 -25
- data/rakefile +0 -12
- data/test/processor_test.rb +0 -18
- data/test/support/helper.rb +0 -13
- data/test/support/test_application.rb +0 -5
- data/test/support/views/_templates/pakyow.html +0 -10
- data/test/support/views/index.md +0 -1
- data/test/support/views/sub.markdown +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e3055a21865825c0b29ad04e61a3919189ced08d00427c678f17a5b161fe1d83
|
4
|
+
data.tar.gz: f48e03947a4a6aa5691b960aff4e82fe79f5fb724b75b7a4b1313dd9f178c992
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12a4530fe1ef7f60419a7b44d5c82ebf506ea73b0937f4f54cfcd7c653904a6dd21bdf2bfd26b3785102f1ba379782473cac3b25faff5bb354c6c08ed4917f4d
|
7
|
+
data.tar.gz: d0108a9aa0db45fdfa3f4cc2d731119cae07b6c6afd6c167a10cc0fe305a56ed93e667010722b39472e16a330d5fc127c9332f51cb140992abd0e86a6c8d4a5f
|
data/CHANGELOG.md
CHANGED
data/LICENSE
CHANGED
@@ -1,20 +1,4 @@
|
|
1
|
-
Copyright (c)
|
1
|
+
Copyright (c) Metabahn, LLC
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
3
|
+
Pakyow Markdown is an open-source project licensed under the terms of the LGPLv3 license.
|
4
|
+
See <https://choosealicense.com/licenses/gpl-3.0/> for license text.
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
-
pakyow
|
1
|
+
# pakyow/markdown
|
2
2
|
|
3
|
-
|
3
|
+
Markdown support for [pakyow/presenter](https://github.com/pakyow/pakyow/tree/master/pakyow-presenter).
|
4
4
|
|
5
|
-
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
Add `pakyow-markdown` to your `Gemfile`. Any view template with a `md`, `mdown`, or `markdown` file extension will be processed during presentation and rendered as HTML.
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pakyow/framework"
|
4
|
+
|
5
|
+
require "pakyow/markdown/processor"
|
6
|
+
|
7
|
+
module Pakyow
|
8
|
+
module Markdown
|
9
|
+
class Framework < Pakyow::Framework(:markdown)
|
10
|
+
def boot
|
11
|
+
object.class_eval do
|
12
|
+
configurable :markdown do
|
13
|
+
setting :extensions, {
|
14
|
+
autolink: true,
|
15
|
+
footnotes: true,
|
16
|
+
fenced_code_blocks: true,
|
17
|
+
tables: true
|
18
|
+
}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
object.state(:processor) << Pakyow::Markdown::Processer
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "redcarpet"
|
4
|
+
|
5
|
+
require "pakyow/presenter/processor"
|
6
|
+
|
7
|
+
require "pakyow/markdown/renderer"
|
8
|
+
|
9
|
+
module Pakyow
|
10
|
+
module Markdown
|
11
|
+
class Processer < Pakyow::Presenter::Processor
|
12
|
+
extensions :md, :mdown, :markdown
|
13
|
+
|
14
|
+
def initialize(*)
|
15
|
+
super
|
16
|
+
|
17
|
+
@markdown = Redcarpet::Markdown.new(
|
18
|
+
Renderer, @app.config.markdown.extensions
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
def call(content)
|
23
|
+
@markdown.render(content)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "redcarpet"
|
4
|
+
|
5
|
+
require "rouge"
|
6
|
+
require "rouge/plugins/redcarpet"
|
7
|
+
|
8
|
+
module Pakyow
|
9
|
+
module Markdown
|
10
|
+
class Renderer < Redcarpet::Render::HTML
|
11
|
+
include Rouge::Plugins::Redcarpet
|
12
|
+
|
13
|
+
def block_quote(quote)
|
14
|
+
if match = quote.match(/<p>\[(.*)\]/)
|
15
|
+
%(<blockquote class="#{match[1]}">#{quote.gsub("[#{match[1]}]", "")}</blockquote>)
|
16
|
+
else
|
17
|
+
super
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,152 +1,74 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pakyow-markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryan Powell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: pakyow-support
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: pakyow-core
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
13
|
- !ruby/object:Gem::Dependency
|
42
14
|
name: pakyow-presenter
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
44
16
|
requirements:
|
45
17
|
- - "~>"
|
46
18
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
19
|
+
version: 1.0.0.rc1
|
48
20
|
type: :runtime
|
49
21
|
prerelease: false
|
50
22
|
version_requirements: !ruby/object:Gem::Requirement
|
51
23
|
requirements:
|
52
24
|
- - "~>"
|
53
25
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
26
|
+
version: 1.0.0.rc1
|
55
27
|
- !ruby/object:Gem::Dependency
|
56
28
|
name: redcarpet
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
58
30
|
requirements:
|
59
31
|
- - "~>"
|
60
32
|
- !ruby/object:Gem::Version
|
61
|
-
version: '3.
|
33
|
+
version: '3.4'
|
62
34
|
type: :runtime
|
63
35
|
prerelease: false
|
64
36
|
version_requirements: !ruby/object:Gem::Requirement
|
65
37
|
requirements:
|
66
38
|
- - "~>"
|
67
39
|
- !ruby/object:Gem::Version
|
68
|
-
version: '3.
|
40
|
+
version: '3.4'
|
69
41
|
- !ruby/object:Gem::Dependency
|
70
42
|
name: rouge
|
71
43
|
requirement: !ruby/object:Gem::Requirement
|
72
44
|
requirements:
|
73
45
|
- - "~>"
|
74
46
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
47
|
+
version: '3.5'
|
76
48
|
type: :runtime
|
77
49
|
prerelease: false
|
78
50
|
version_requirements: !ruby/object:Gem::Requirement
|
79
51
|
requirements:
|
80
52
|
- - "~>"
|
81
53
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
83
|
-
|
84
|
-
name: rake
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '10.4'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '10.4'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: minitest
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '5.8'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '5.8'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: minitest-focus
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '1.1'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '1.1'
|
125
|
-
description: Markdown support for Pakyow views
|
54
|
+
version: '3.5'
|
55
|
+
description: Markdown support for Pakyow Presenter
|
126
56
|
email: bryan@metabahn.com
|
127
57
|
executables: []
|
128
58
|
extensions: []
|
129
59
|
extra_rdoc_files: []
|
130
60
|
files:
|
131
|
-
- ".gitignore"
|
132
61
|
- CHANGELOG.md
|
133
|
-
- Gemfile
|
134
|
-
- Gemfile.lock
|
135
62
|
- LICENSE
|
136
63
|
- README.md
|
137
|
-
- lib/pakyow
|
138
|
-
- lib/
|
139
|
-
- pakyow
|
140
|
-
-
|
141
|
-
-
|
142
|
-
|
143
|
-
- test/support/test_application.rb
|
144
|
-
- test/support/views/_templates/pakyow.html
|
145
|
-
- test/support/views/index.md
|
146
|
-
- test/support/views/sub.markdown
|
147
|
-
homepage: http://pakyow.org
|
64
|
+
- lib/pakyow/markdown.rb
|
65
|
+
- lib/pakyow/markdown/framework.rb
|
66
|
+
- lib/pakyow/markdown/processor.rb
|
67
|
+
- lib/pakyow/markdown/renderer.rb
|
68
|
+
- lib/pakyow/markdown/version.rb
|
69
|
+
homepage: https://pakyow.org
|
148
70
|
licenses:
|
149
|
-
-
|
71
|
+
- LGPL-3.0
|
150
72
|
metadata: {}
|
151
73
|
post_install_message:
|
152
74
|
rdoc_options: []
|
@@ -156,17 +78,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
156
78
|
requirements:
|
157
79
|
- - ">="
|
158
80
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
81
|
+
version: 2.5.0
|
160
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
83
|
requirements:
|
162
|
-
- - "
|
84
|
+
- - ">"
|
163
85
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
86
|
+
version: 1.3.1
|
165
87
|
requirements: []
|
166
|
-
|
167
|
-
rubygems_version: 2.4.5
|
88
|
+
rubygems_version: 3.0.3
|
168
89
|
signing_key:
|
169
90
|
specification_version: 4
|
170
91
|
summary: Pakyow Markdown
|
171
92
|
test_files: []
|
172
|
-
has_rdoc:
|
data/.gitignore
DELETED
data/Gemfile
DELETED
data/lib/pakyow-markdown.rb
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'redcarpet'
|
2
|
-
|
3
|
-
require 'rouge'
|
4
|
-
require 'rouge/plugins/redcarpet'
|
5
|
-
|
6
|
-
require 'version'
|
7
|
-
|
8
|
-
module Pakyow
|
9
|
-
module Markdown
|
10
|
-
class Renderer < Redcarpet::Render::HTML
|
11
|
-
include Rouge::Plugins::Redcarpet
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
Pakyow::Config.register :markdown do |config|
|
17
|
-
# Extensions to load with Redcarpet
|
18
|
-
config.opt :extensions, {
|
19
|
-
autolink: true,
|
20
|
-
footnotes: true,
|
21
|
-
fenced_code_blocks: true
|
22
|
-
}
|
23
|
-
end
|
24
|
-
|
25
|
-
Pakyow::App.processor :md, :mdown, :markdown do |content|
|
26
|
-
Redcarpet::Markdown.new(
|
27
|
-
Pakyow::Markdown::Renderer, **Pakyow::Config.markdown.extensions
|
28
|
-
).render(content)
|
29
|
-
end
|
data/pakyow-markdown.gemspec
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require File.expand_path('../lib/version', __FILE__)
|
2
|
-
|
3
|
-
Gem::Specification.new do |spec|
|
4
|
-
spec.name = 'pakyow-markdown'
|
5
|
-
spec.summary = 'Pakyow Markdown'
|
6
|
-
spec.description = 'Markdown support for Pakyow views'
|
7
|
-
spec.author = 'Bryan Powell'
|
8
|
-
spec.email = 'bryan@metabahn.com'
|
9
|
-
spec.homepage = 'http://pakyow.org'
|
10
|
-
spec.version = Pakyow::Markdown::VERSION
|
11
|
-
spec.require_path = 'lib'
|
12
|
-
spec.files = `git ls-files`.split("\n")
|
13
|
-
spec.license = 'MIT'
|
14
|
-
|
15
|
-
spec.add_dependency('pakyow-support', '~> 0')
|
16
|
-
spec.add_dependency('pakyow-core', '~> 0')
|
17
|
-
spec.add_dependency('pakyow-presenter', '~> 0')
|
18
|
-
|
19
|
-
spec.add_dependency('redcarpet', '~> 3.3')
|
20
|
-
spec.add_dependency('rouge', '~> 1.10')
|
21
|
-
|
22
|
-
spec.add_development_dependency('rake', '~> 10.4')
|
23
|
-
spec.add_development_dependency('minitest', '~> 5.8')
|
24
|
-
spec.add_development_dependency('minitest-focus', '~> 1.1')
|
25
|
-
end
|
data/rakefile
DELETED
data/test/processor_test.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require "support/helper"
|
2
|
-
|
3
|
-
class ProcessorTest < MiniTest::Test
|
4
|
-
def setup
|
5
|
-
@view_store = :test
|
6
|
-
Pakyow::App.stage(:test)
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_md_view_is_processed
|
10
|
-
v = Pakyow.app.presenter.store.composer('/')
|
11
|
-
assert_equal "<h1>this should be a header</h1>", v.container(:default).to_html.strip
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_markdown_view_is_processed
|
15
|
-
v = Pakyow.app.presenter.store.composer('/sub')
|
16
|
-
assert_equal "<p><em>em</em></p>", v.container(:default).to_html.strip
|
17
|
-
end
|
18
|
-
end
|
data/test/support/helper.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'bundler/setup'
|
3
|
-
require 'minitest/autorun'
|
4
|
-
require 'minitest/focus'
|
5
|
-
require 'pp'
|
6
|
-
|
7
|
-
require 'pakyow-support'
|
8
|
-
require 'pakyow-core'
|
9
|
-
require 'pakyow-presenter'
|
10
|
-
|
11
|
-
require File.expand_path('../../../lib/pakyow-markdown', __FILE__)
|
12
|
-
|
13
|
-
require 'support/test_application'
|
data/test/support/views/index.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
# this should be a header
|
@@ -1 +0,0 @@
|
|
1
|
-
*em*
|