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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 70bf06c4fc4018bc5b9215e68f9b75987871bb06
4
- data.tar.gz: 88ec93a5f5de4dc30e9dbb88246bea48af37b1bc
2
+ SHA256:
3
+ metadata.gz: e3055a21865825c0b29ad04e61a3919189ced08d00427c678f17a5b161fe1d83
4
+ data.tar.gz: f48e03947a4a6aa5691b960aff4e82fe79f5fb724b75b7a4b1313dd9f178c992
5
5
  SHA512:
6
- metadata.gz: 9c4162b7aea9a922c5b11986f42759569c044c0e13f53db2cb63c2e05d2bc4893aa55b985005bf4acff43501f16401ebeb391b893490a29e7ecc5047b403d5b4
7
- data.tar.gz: 4a41333d63a1ef40a5efb5c70627a8ff6a82df3f7bb2fb8b7333dcbf4554ec23de6c401ff2fcfadeede260ba67103c51f6fa54d687be57b364000aecc0754244
6
+ metadata.gz: 12a4530fe1ef7f60419a7b44d5c82ebf506ea73b0937f4f54cfcd7c653904a6dd21bdf2bfd26b3785102f1ba379782473cac3b25faff5bb354c6c08ed4917f4d
7
+ data.tar.gz: d0108a9aa0db45fdfa3f4cc2d731119cae07b6c6afd6c167a10cc0fe305a56ed93e667010722b39472e16a330d5fc127c9332f51cb140992abd0e86a6c8d4a5f
data/CHANGELOG.md CHANGED
@@ -1,4 +1,6 @@
1
- # 1.0.0
1
+ * Support Pakyow v1.0
2
+
3
+ # 1.0.0 / 2015-10-18
2
4
 
3
5
  * Move from Rdiscount to Redcarpet
4
6
  * Configure Redcarpet for autolink, footnotes, and fenced code blocks
data/LICENSE CHANGED
@@ -1,20 +1,4 @@
1
- Copyright (c) 2013-2015 Bryan Powell
1
+ Copyright (c) Metabahn, LLC
2
2
 
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
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-markdown is a Ruby Gem that adds a Markdown view processor to a Pakyow app.
1
+ # pakyow/markdown
2
2
 
3
- # Usage
3
+ Markdown support for [pakyow/presenter](https://github.com/pakyow/pakyow/tree/master/pakyow-presenter).
4
4
 
5
- Add `pakyow-markdown` to your Gemfile. Now any view file with an `md`, `mdown`, or `markdown` extension will be processed to HTML automatically.
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,2 @@
1
+ require "pakyow/markdown/version"
2
+ require "pakyow/markdown/framework"
@@ -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
@@ -1,5 +1,5 @@
1
1
  module Pakyow
2
2
  module Markdown
3
- VERSION = '1.0.0'.freeze
3
+ VERSION = "2.0.0.rc1".freeze
4
4
  end
5
5
  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: 1.0.0
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: 2015-10-18 00:00:00.000000000 Z
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: '0'
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: '0'
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.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.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: '1.10'
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: '1.10'
83
- - !ruby/object:Gem::Dependency
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-markdown.rb
138
- - lib/version.rb
139
- - pakyow-markdown.gemspec
140
- - rakefile
141
- - test/processor_test.rb
142
- - test/support/helper.rb
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
- - MIT
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: '0'
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: '0'
86
+ version: 1.3.1
165
87
  requirements: []
166
- rubyforge_project:
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
@@ -1,2 +0,0 @@
1
- Gemfile.lock
2
- *.gem
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'pakyow-support'
4
- gem 'pakyow-core'
5
- gem 'pakyow-presenter'
6
-
7
- gem 'redcarpet', '~> 3.3'
8
- gem 'rouge', '~> 1.10'
9
-
10
- group :test do
11
- gem 'rake'
12
- gem 'minitest'
13
- gem 'minitest-focus'
14
- end
@@ -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
@@ -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
@@ -1,12 +0,0 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
-
4
- task default: [:test]
5
-
6
- desc 'Run basic tests'
7
- Rake::TestTask.new('test') do |t|
8
- t.libs << 'test'
9
- t.pattern = 'test/*_test.rb'
10
- t.verbose = false
11
- t.warning = false
12
- end
@@ -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
@@ -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'
@@ -1,5 +0,0 @@
1
- Pakyow::App.define do
2
- configure :test do
3
- presenter.view_stores[:default] = "test/support/views"
4
- end
5
- end
@@ -1,10 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>pakyow</title>
5
- </head>
6
-
7
- <body>
8
- <!-- @container -->
9
- </body>
10
- </html>
@@ -1 +0,0 @@
1
- # this should be a header
@@ -1 +0,0 @@
1
- *em*