contentfs 0.4.0 → 0.5.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e66ff05acd68a19366aae10bfc7c25e0a97c00a498f4654c20e825f4e84a7a2
4
- data.tar.gz: 5da2c74e38cc0a0a05fe3fa942d1c1855bebf41fb8e2e643630d490e2c8241c0
3
+ metadata.gz: 82208eb59ae04f8483de860c59b496e0bfe47488c6693ee80b2517bb69c37619
4
+ data.tar.gz: '0685aaaf67a70ee5f713015ffc1312b8554598e7153d8427d957b8785007b312'
5
5
  SHA512:
6
- metadata.gz: 5a3a49083b8935a1807b74166430cd3e18a130ba04e948703047a323c5de405c491482bd155fe6ed2f84ac4d1a040fb0e66aee2d76f10956ddb86b84385727f1
7
- data.tar.gz: 7d1ddf1d6454d2a2457bbc4a3bf771b56bcf024f19244edb744f92b9953e81f0fe0fc72a3a08e7e206740a58015858d103fffe01696e31710a55d4a803a07838
6
+ metadata.gz: 89f9d947f2bff284a260b10da2207d0305f85ee8df746078dd8aa57c23c70314580b04472235818e9fb9acd24e745d0f0995e03a47a3e1dd12282eb2be3765fd
7
+ data.tar.gz: 890b635054dbe37744334035bf495205bf97a4aebe4acdea70ac0e4c9572d5103ff5b98994cfae633f5d62ae5c52351293aea311707edcdc1b3b568af9e74026
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [v0.5.0](https://github.com/metabahn/contentfs/releases/tag/v0.5.0)
2
+
3
+ *released on 2021-04-01*
4
+
5
+ * `chg` [#10](https://github.com/metabahn/contentfs/pull/10) Replace redcarpet with cmark ([bryanp](https://github.com/bryanp))
6
+
1
7
  ## [v0.4.0](https://github.com/metabahn/contentfs/releases/tag/v0.4.0)
2
8
 
3
9
  *released on 2021-04-01*
@@ -45,7 +45,7 @@ module ContentFS
45
45
  def render
46
46
  working_content = @content.dup
47
47
 
48
- @content.scan(INCLUDE_REGEXP).each do |match|
48
+ @content.scan(INCLUDE_REGEXP) do |match|
49
49
  if (include = @database.find_include(match[0]))
50
50
  working_content.gsub!($~.to_s, include.render)
51
51
  end
@@ -1,39 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "redcarpet"
3
+ require "commonmarker"
4
4
 
5
5
  module ContentFS
6
6
  module Renderers
7
7
  # @api private
8
8
  class Markdown
9
9
  class << self
10
- OPTIONS = {
11
- autolink: true,
12
- footnotes: true,
13
- fenced_code_blocks: true,
14
- tables: true
15
- }.freeze
16
-
17
10
  def render(content)
18
- renderer.render(content)
19
- end
20
-
21
- def options
22
- OPTIONS
23
- end
24
-
25
- private def renderer
26
- @_renderer ||= Redcarpet::Markdown.new(Renderer, options)
27
- end
28
- end
29
-
30
- class Renderer < Redcarpet::Render::HTML
31
- def block_quote(quote)
32
- if (match = quote.match(/<p>\[(.*)\]/))
33
- %(<blockquote class="#{match[1]}">#{quote.gsub("[#{match[1]}]", "")}</blockquote>)
34
- else
35
- super
36
- end
11
+ CommonMarker.render_html(content, [:DEFAULT, :UNSAFE])
37
12
  end
38
13
  end
39
14
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rouge"
4
- require "rouge/plugins/redcarpet"
5
4
 
6
5
  require_relative "../markdown"
7
6
 
@@ -12,16 +11,27 @@ module ContentFS
12
11
  class Code
13
12
  class << self
14
13
  def render(content)
15
- renderer.render(content)
14
+ renderer.render(CommonMarker.render_doc(content))
16
15
  end
17
16
 
18
17
  private def renderer
19
- @_renderer ||= Redcarpet::Markdown.new(Renderer, Markdown.options)
18
+ SyntaxRenderer.new(options: [:DEFAULT, :UNSAFE])
20
19
  end
21
20
  end
22
21
 
23
- class Renderer < Markdown::Renderer
24
- include Rouge::Plugins::Redcarpet
22
+ class SyntaxRenderer < CommonMarker::HtmlRenderer
23
+ def code_block(node)
24
+ block do
25
+ language = node.fence_info.split(/\s+/)[0]
26
+ out("<div class=\"highlight\"><pre class=\"highlight #{language}\"><code>")
27
+ out(syntax_highlight(node.string_content, language))
28
+ out('</code></pre></div>')
29
+ end
30
+ end
31
+
32
+ private def syntax_highlight(source, language)
33
+ Rouge::Formatters::HTML.new.format(Rouge::Lexer.find(language).lex(source))
34
+ end
25
35
  end
26
36
  end
27
37
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ContentFS
4
- VERSION = "0.4.0"
4
+ VERSION = "0.5.0"
5
5
 
6
6
  def self.version
7
7
  VERSION
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contentfs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Powell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2021-04-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A structured content file system.
14
14
  email: bryan@metabahn.com