mmmd 0.1.0 → 0.1.1

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: 8368bf270f4bdba9a1510c3c1f3106a5a56a43bdaf63673219bd7a082de436c6
4
- data.tar.gz: f7a9e9a9457be72c8ffae3edfb531d4193be174df5db1714fd215809a4c41825
3
+ metadata.gz: f64700645c2b97717469cd6da2ecd780138d0722f43f1503375e367f9574b718
4
+ data.tar.gz: 153b9712bdb5ed0fe66681f64105152360bd50abf9aa907e97e5ef2f33ca3f2b
5
5
  SHA512:
6
- metadata.gz: 53fea17654973076e1c9fab3256d8034577c04ea684ee64aaa620bf71bd228c98bed317f3c2b7028298a0eae7ccc6cef4587b3b95b83bc52396327f366d01544
7
- data.tar.gz: 469aba569708c8e2b88efa34bddf594ac6cd71fb389365e69ff3ef50fc09d7611eaf96c91bbe182ef52ba1c36505bf5df5a51ea733d0231defcaa4b72bb3ffca
6
+ metadata.gz: dfe1a17ba166b8eb2076ef3097552d40fba6f1ea040b85d741ab650fe0794320ec20528b9887ac83c9b7620d5b6844805d0b12c0c7a8c547fd2cad889af1b046
7
+ data.tar.gz: cd476ec80f1022b99115b3e6a0213ceca078d736fe3c3dce47aa3acd7404f15766d41e1324d2d90f84781b82a7f3a959df2c479584a02d28a3bf73b9f5ea5c81
@@ -79,11 +79,12 @@ module PointBlank
79
79
  [process_destination(result[0].gsub(/\\(?=[><])/, '')[1..-2]),
80
80
  text.delete_prefix(result[0]).lstrip]
81
81
  elsif (result = text.match(/\A\S+/)) &&
82
- !result[0].start_with?('<') &&
83
- result &&
84
- balanced?(result[0])
85
- [process_destination(result[0]),
86
- text.delete_prefix(result[0]).lstrip]
82
+ (lnk = result[0]) &&
83
+ !lnk.start_with?('<') &&
84
+ (lnk = (ix = find_balanced_end(lnk)) ? lnk[..ix - 1] : lnk) &&
85
+ balanced?(lnk)
86
+ [process_destination(lnk),
87
+ text.delete_prefix(lnk).lstrip]
87
88
  else
88
89
  [nil, text]
89
90
  end
@@ -125,7 +126,7 @@ module PointBlank
125
126
  destination, remaining = read_destination(remaining[1..])
126
127
  return [nil, text] unless destination
127
128
 
128
- title, remaining = read_title(remaining)
129
+ title, remaining = read_title(remaining.lstrip)
129
130
  properties[:uri] = destination
130
131
  properties[:title] = title
131
132
  close_bracket = true
@@ -164,7 +165,7 @@ module PointBlank
164
165
  bracketcount += 1
165
166
  elsif part == ')'
166
167
  bracketcount -= 1
167
- return index if bracketcount.zero?
168
+ return index if bracketcount <= 0
168
169
  end
169
170
  index += part.length
170
171
  end
@@ -165,6 +165,12 @@ module MMMD
165
165
  TEXT
166
166
  end
167
167
 
168
+ # Draw a horizontal rule
169
+ def hrule(_text, options)
170
+ size = options[:hsize]
171
+ " #{'─' * (size - 2)} "
172
+ end
173
+
168
174
  # Draw text right-justified
169
175
  def rjust(text, options)
170
176
  size = options[:hsize]
@@ -314,11 +320,12 @@ module MMMD
314
320
  increase_level: true
315
321
  },
316
322
  "PointBlank::DOM::HorizontalRule" => {
317
- underline_full_block: true
323
+ hrule: true
318
324
  }
319
325
  }.freeze
320
326
 
321
327
  DEFAULT_EFFECT_PRIORITY = {
328
+ hrule: 10_500,
322
329
  numbered: 10_000,
323
330
  leftline: 9500,
324
331
  bullet: 9000,
data/test.md ADDED
@@ -0,0 +1,15 @@
1
+ Jabronicle Mitch's wild ride
2
+ ============================
3
+
4
+ crusty cocks
5
+
6
+ -------------
7
+
8
+ - DIIIIICKS
9
+ - - let
10
+ - me
11
+ - smell
12
+ - your
13
+ - dick
14
+ - [anime feet](https://google.com)
15
+ - [goog](https://goog.com 'goog')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mmmd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yessiest
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir:
10
10
  - bin
11
11
  cert_chain: []
12
- date: 2025-03-08 00:00:00.000000000 Z
12
+ date: 2025-03-09 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: |
15
15
  MMMD (short for Mark My Manuscript Down) is a Markdown processor
@@ -23,6 +23,7 @@ extra_rdoc_files:
23
23
  - README.md
24
24
  - architecture.md
25
25
  - security.md
26
+ - test.md
26
27
  files:
27
28
  - README.md
28
29
  - architecture.md
@@ -35,6 +36,7 @@ files:
35
36
  - lib/mmmd/renderers/plainterm.rb
36
37
  - lib/mmmd/util.rb
37
38
  - security.md
39
+ - test.md
38
40
  homepage: https://adastra7.net/git/Yessiest/rubymark
39
41
  licenses:
40
42
  - AGPL-3.0-or-later