rouge-carve 0.1.0 → 0.1.3

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: fbeb1c2fa0f572f138c6a89a23bafcae682051c9e10474951b5cba9de3bc0aa3
4
- data.tar.gz: 7d089e544a959be5c208ef4e1cc523feda2b1d8cf6632b99086ae41c5cb13c31
3
+ metadata.gz: 4b5dd23d4f12415b4c19ed7333a5bd1555ae21e4f547b4f0a8f52b7829f8ad94
4
+ data.tar.gz: 1f9a6066c9c55b5457eda908909ff6b865d84fedaebbe18a37fdbe4f9e62a76d
5
5
  SHA512:
6
- metadata.gz: 439cc10aa425adaec2fed2e19e6af9aab75ffec47b699c3a3dff0632ee2503ca6240d7d4f869db0c93f907fee29f43b351ba9a507f89cff5b0a3a11ddb257e72
7
- data.tar.gz: b93c04c6c832959f1a58e238efb161b5d6a7283b104cec5deae971e62065f18b8bf88abf03fc61fdf7cc29da54bac7d3cddaa384f267c7e6e91478cd124f8a59
6
+ metadata.gz: bdc875e2a50141600798ff0efcd8741e751516dbb3de632f55039a62e881f4edbe4561942e8b39228e6603c1e6cef428d5320323b2617213d5f8ceed1053e550
7
+ data.tar.gz: 8d1983500c85ecef17ac25bac9aad4ebf76b477bf75ee721d1343ef09a82cf424c86c4bf9cb65b948361183bf97cce2bffe90630f20fa519368d5253fed1f13c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased]
4
+
5
+ ## [0.1.3] - 2026-10-14
6
+
7
+ 0.1.2 was tagged without its `RougeCarve::VERSION` bump, so it never reached RubyGems. 0.1.3 is the first published release with its change.
8
+
9
+ - An include selector whose id starts with a digit is lexed as a selector. `{{ ch.crv #2024-plan }}` used to fall through to plain text (#15, #16).
10
+ - A footnote or abbreviation definition ends with its line. It used to turn the rest of the file into plain text, so no later heading, list or fence was recognized (#22).
11
+ - An inline footnote `^[` or extension `:name[` with no closing `]` in its block stays text instead of swallowing the blocks after it. A `]` inside a code span does not count, and a heading, caption or table cell keeps the body on its line (#22, #24).
12
+ - A blockquote line can open a block: `> # Heading`, `> - item`, and a fence whose lines carry the `>` prefix (#22).
13
+ - A `>` marks a quote only when a space or the line end follows it, so `>> x` is paragraph text and `> > x` nests, as in the engine (#22).
14
+ - A comment fence closes only on a `%` run of its own length, which may be followed by text. An opener with no such closer is a one-line comment, as in the engine (#22).
15
+ - A standalone attribute block no longer runs across a blank line (#22).
16
+ - Bare delimiters follow Carve's flanking rules, so `snake_case_name`, `/usr/local/bin`, `x=1 and y=2`, `2*3*4` and the text between `==>` arrows stay text (#23).
17
+ - Emphasis content is lexed inline: an escape, a code span, a link or another kind of emphasis inside a run keeps its own token, and `*a \* b*` closes where the engine closes it (#23). A run opened inside another must close before it, so `*a /b* c/` is strong `a /b` (#24).
18
+ - A list marker or a caption under a paragraph line stays text, as in the engine; headings, quotes, tables, containers and closed fences still interrupt it. A wrapped definition term keeps its definition (#23).
19
+ - A table row needs its closing pipe, `+` is no longer read as a bullet, and an alphabetic ordered marker is one letter or a roman numeral, so `Body.` is a word (#23).
20
+ - Lexing a long line of unclosed openers (`*a *a *a ...`, `{{ a {{ a ...`) is linear in its length; it used to be quadratic (#23).
21
+ - The gem now requires Rouge 3.30 or later. Rouge 3.0, which the old constraint admitted, cannot load the lexer (#23).
22
+
23
+ ## [0.1.2] - 2026-10-08
24
+
25
+ - An include selector whose id starts with a digit is lexed as a selector. `{{ ch.crv #2024-plan }}` used to fall through to plain text, because the lexer required a letter or underscore first while the spec's `explicit_identifier` has admitted a leading digit since carve 0.1.8 (#15).
26
+
27
+ ## [0.1.1] - 2026-09-21
28
+
29
+ - The reserved include directive `{{ path #section @key:value }}` (PART 9
30
+ section 19, markup-carve/carve#291) is lexed BY PART: the path as
31
+ `Name.Namespace`, the selector as `Name.Label`, and each option as
32
+ `Name.Attribute` plus its value. It used to shred into the constructs its own
33
+ selector is spelled with, so `#intro` in a path was colored as a hashtag.
34
+
3
35
  ## [0.1.0] - 2026-08-27
4
36
 
5
37
  First release.
data/README.md CHANGED
@@ -14,6 +14,8 @@ Rouge::Lexer.find('carve') # => Rouge::Lexers::Carve
14
14
  Rouge::Lexer.guess(filename: 'notes.crv') # => Rouge::Lexers::Carve
15
15
  ```
16
16
 
17
+ It needs Rouge 3.30 or later and is tested against Rouge 3, 4 and 5.
18
+
17
19
  Requiring the gem registers the lexer. Anything that already highlights with
18
20
  Rouge - GitLab, Jekyll, Redcarpet, most Ruby static site generators - then
19
21
  handles `.crv` and `.carve` files, and ` ```carve ` fenced blocks, without
@@ -66,23 +68,6 @@ shared with the Prism, highlight.js and Pygments grammars, so the four agree:
66
68
  it over-colours an indented-at-document-level opener rather than
67
69
  under-colouring the far more common indented construct inside a list item.
68
70
 
69
- ## Testing
70
-
71
- ```bash
72
- bundle install
73
- bundle exec rspec
74
- ```
75
-
76
- Two gates, and the second is the one that finds things:
77
-
78
- - `spec/carve_spec.rb` pins the constructs, including each inverted delimiter.
79
- - `script/corpus_check.rb` lexes every `.crv` document in the Carve spec
80
- repository and fails on a single `Error` token. A lexer emitting `Error` is
81
- telling the reader its own rules ran out. Both bugs found during development -
82
- a blank line inside a comment fence, and a `---` thematic break opening
83
- frontmatter that never closed - came from this and not from an example
84
- anybody thought to write.
85
-
86
71
  ## Related
87
72
 
88
73
  - [carve](https://github.com/markup-carve/carve) - the language and its spec
@@ -93,6 +78,6 @@ Two gates, and the second is the one that finds things:
93
78
  - [carve-css](https://github.com/markup-carve/carve-css) - styles for the HTML
94
79
  Carve renders
95
80
 
96
- ## License
81
+ ## Development
97
82
 
98
- MIT.
83
+ Contributor setup, testing, and maintenance notes are in the [development guide](docs/development.md).