gitlab-glfm-markdown 0.0.11-x86_64-darwin → 0.0.13-x86_64-darwin

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
2
  SHA256:
3
- metadata.gz: afb67a4e347362749d0be09119b8dd22bb8f383eb88ec70b047031246d4eed79
4
- data.tar.gz: dba15fa2938f7ff6e454a1196ee9dd94b1fa9f70827ee338583aba9e803e871a
3
+ metadata.gz: a4dcaaf165b5702eb7014f2c3628ffae5ef4eac6e2f98368edabb2d4cfa051bc
4
+ data.tar.gz: 2245ac73d4b505e035de5fb1df876b717205be8ad8dc0da2d3754b9d0e45ad52
5
5
  SHA512:
6
- metadata.gz: 58a97d98bef8ae84af199c380dbf89b45fabdbf48c6378413c5ff7c43308e6d287af27a208c13c583cf59c9e1ad0f825aea31ac7f7d494c33bd0fe1d74d87adf
7
- data.tar.gz: 536cc91284d020fa9f71a15d00f01b8ee666699733f1154008abe82ef4b3e7e86e65678deb1dfcb2b5c2e62e44b3c67e3b7aa0afd15e1d5b0b2c420d7a5adcf5
6
+ metadata.gz: 3b11380fde5f5c01fdda70f4acad15d8cfb447314759875df5b1a20b084b612cf3b123f1107a33e97d4261214aa506188e95134ccd85479da94c1fe1c4d54618
7
+ data.tar.gz: a2c5a4f186d8abb9090bd1d3ef1b0b224c29023560ed9bf8f1b9d8f229b73eaea7b837d80315f9b1d5c12785b794b1504750f0bca5f83c503a1b9fea3a35032b
data/Cargo.lock CHANGED
@@ -216,9 +216,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
216
216
 
217
217
  [[package]]
218
218
  name = "comrak"
219
- version = "0.20.0"
219
+ version = "0.21.0"
220
220
  source = "registry+https://github.com/rust-lang/crates.io-index"
221
- checksum = "9f18e72341e6cdc7489cffb76f993812a14a906db54dedb020044ccc211dcaae"
221
+ checksum = "6751998a48e2327773c95f6f8e03c6e77c0156ce539d74c17d2199ff3d05e197"
222
222
  dependencies = [
223
223
  "derive_builder",
224
224
  "entities",
@@ -361,7 +361,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
361
361
 
362
362
  [[package]]
363
363
  name = "glfm_markdown"
364
- version = "0.0.11"
364
+ version = "0.0.13"
365
365
  dependencies = [
366
366
  "clap",
367
367
  "comrak",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "glfm_markdown"
3
- version = "0.0.11"
3
+ version = "0.0.13"
4
4
  edition = "2021"
5
5
  authors = ["digitalmoksha <bwalker@gitlab.com>"]
6
6
  description = "GitLab Flavored Markdown parser and formatter. 100% CommonMark-compatible. Experimental."
@@ -15,7 +15,7 @@ required-features = ["cli"]
15
15
 
16
16
  [dependencies]
17
17
  clap = { version = "4.0", optional = true, features = ["derive", "string"] }
18
- comrak = { version = "0.20.0", default-features = false }
18
+ comrak = { version = "0.21.0", default-features = false }
19
19
  magnus = "0.6.2"
20
20
  rb-sys = { version = "0.9.86", default-features = false, features = ["stable-api-compiled-fallback"] }
21
21
 
@@ -7,6 +7,8 @@ pub struct RenderOptions {
7
7
  pub full_info_string: bool,
8
8
  pub github_pre_lang: bool,
9
9
  pub hardbreaks: bool,
10
+ pub header_ids: Option<String>,
11
+ pub multiline_block_quotes: bool,
10
12
  pub relaxed_autolinks: bool,
11
13
  pub relaxed_tasklist_character: bool,
12
14
  pub sourcepos: bool,
@@ -31,6 +33,8 @@ fn render_comrak(text: String, options: RenderOptions) -> String {
31
33
  comrak_options.extension.autolink = options.autolink;
32
34
  comrak_options.extension.description_lists = options.description_lists;
33
35
  comrak_options.extension.footnotes = options.footnotes;
36
+ comrak_options.extension.header_ids = options.header_ids;
37
+ comrak_options.extension.multiline_block_quotes = options.multiline_block_quotes;
34
38
  comrak_options.extension.strikethrough = options.strikethrough;
35
39
  comrak_options.extension.superscript = options.superscript;
36
40
  comrak_options.extension.table = options.table;
@@ -5,30 +5,36 @@ use glfm::{render, RenderOptions};
5
5
 
6
6
  /// Lookup symbol in provided `RHash`. Returns `false` if the key is not present
7
7
  /// or value cannot be converted to a boolean.
8
- fn get_opt(arg: &str, options: RHash) -> bool {
8
+ fn get_bool_opt(arg: &str, options: RHash) -> bool {
9
9
  options.lookup(Symbol::new(arg)).unwrap_or_default()
10
10
  }
11
11
 
12
+ fn get_string_opt(arg: &str, options: RHash) -> Option<String> {
13
+ options.lookup(Symbol::new(arg)).ok()
14
+ }
15
+
12
16
  pub fn render_to_html_rs(text: String, options: RHash) -> String {
13
17
  let render_options = RenderOptions {
14
- autolink: get_opt("autolink", options),
15
- description_lists: get_opt("description_lists", options),
16
- escape: get_opt("escape", options),
17
- footnotes: get_opt("footnotes", options),
18
- full_info_string: get_opt("full_info_string", options),
19
- github_pre_lang: get_opt("github_pre_lang", options),
20
- hardbreaks: get_opt("hardbreaks", options),
21
- relaxed_autolinks: get_opt("relaxed_autolinks", options),
22
- relaxed_tasklist_character: get_opt("relaxed_tasklist_character", options),
23
- sourcepos: get_opt("sourcepos", options),
24
- smart: get_opt("smart", options),
25
- strikethrough: get_opt("strikethrough", options),
26
- superscript: get_opt("superscript", options),
27
- table: get_opt("table", options),
28
- tagfilter: get_opt("tagfilter", options),
29
- tasklist: get_opt("tasklist", options),
30
- unsafe_: get_opt("unsafe", options),
31
- debug: get_opt("debug", options),
18
+ autolink: get_bool_opt("autolink", options),
19
+ description_lists: get_bool_opt("description_lists", options),
20
+ escape: get_bool_opt("escape", options),
21
+ footnotes: get_bool_opt("footnotes", options),
22
+ full_info_string: get_bool_opt("full_info_string", options),
23
+ header_ids: get_string_opt("header_ids", options),
24
+ github_pre_lang: get_bool_opt("github_pre_lang", options),
25
+ hardbreaks: get_bool_opt("hardbreaks", options),
26
+ multiline_block_quotes: get_bool_opt("multiline_block_quotes", options),
27
+ relaxed_autolinks: get_bool_opt("relaxed_autolinks", options),
28
+ relaxed_tasklist_character: get_bool_opt("relaxed_tasklist_character", options),
29
+ sourcepos: get_bool_opt("sourcepos", options),
30
+ smart: get_bool_opt("smart", options),
31
+ strikethrough: get_bool_opt("strikethrough", options),
32
+ superscript: get_bool_opt("superscript", options),
33
+ table: get_bool_opt("table", options),
34
+ tagfilter: get_bool_opt("tagfilter", options),
35
+ tasklist: get_bool_opt("tasklist", options),
36
+ unsafe_: get_bool_opt("unsafe", options),
37
+ debug: get_bool_opt("debug", options),
32
38
  };
33
39
 
34
40
  render(text, render_options)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GLFMMarkdown
4
- VERSION = '0.0.11'
4
+ VERSION = '0.0.13'
5
5
  end
data/lib/glfm_markdown.rb CHANGED
@@ -5,25 +5,26 @@ require_relative 'glfm_markdown/loader'
5
5
 
6
6
  load_rust_extension
7
7
 
8
- GLFM_DEFAULT_OPTIONS = {
9
- autolink: true,
10
- footnotes: true,
11
- full_info_string: true,
12
- github_pre_lang: false,
13
- hardbreaks: false,
14
- relaxed_autolinks: false,
15
- sourcepos: true,
16
- smart: false,
17
- strikethrough: true,
18
- table: true,
19
- tagfilter: false,
20
- tasklist: true,
21
- unsafe: true,
8
+ module GLFMMarkdown
9
+ GLFM_DEFAULT_OPTIONS = {
10
+ autolink: true,
11
+ footnotes: true,
12
+ full_info_string: true,
13
+ github_pre_lang: false,
14
+ hardbreaks: false,
15
+ multiline_block_quotes: true,
16
+ relaxed_autolinks: false,
17
+ sourcepos: true,
18
+ smart: false,
19
+ strikethrough: true,
20
+ table: true,
21
+ tagfilter: false,
22
+ tasklist: true,
23
+ unsafe: true,
22
24
 
23
- debug: false
24
- }.freeze
25
+ debug: false
26
+ }.freeze
25
27
 
26
- module GLFMMarkdown
27
28
  class << self
28
29
  def to_html(markdown, options: {})
29
30
  raise TypeError, 'markdown must be a String' unless markdown.is_a?(String)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-glfm-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.13
5
5
  platform: x86_64-darwin
6
6
  authors:
7
7
  - Brett Walker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-19 00:00:00.000000000 Z
11
+ date: 2024-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys