mirror of
https://github.com/kovetskiy/mark.git
synced 2025-04-24 05:42:40 +08:00
Merge pull request #244 from xiu/fix/214
fix: Title not being extracted when not on the first line
This commit is contained in:
commit
adee0189bd
@ -120,6 +120,9 @@ be replaced with specified template:
|
||||
<yaml-data> -->
|
||||
```
|
||||
|
||||
**NOTE**: Make sure to define your macros after your metadata (Title/Space),
|
||||
mark will stop processing metadata if it hits a Macro.
|
||||
|
||||
Capture groups can be defined in the macro's <regexp> which can be later
|
||||
referenced in the `<yaml-data>` using `${<number>}` syntax, where `<number>` is
|
||||
number of a capture group in regexp (`${0}` is used for entire regexp match),
|
||||
|
@ -345,7 +345,7 @@ func DropDocumentLeadingH1(
|
||||
|
||||
// ExtractDocumentLeadingH1 will extract leading H1 heading
|
||||
func ExtractDocumentLeadingH1(markdown []byte) string {
|
||||
h1 := regexp.MustCompile(`^#[^#]\s*(.*)\s*\n`)
|
||||
h1 := regexp.MustCompile(`#[^#]\s*(.*)\s*\n`)
|
||||
groups := h1.FindSubmatch(markdown)
|
||||
if groups == nil {
|
||||
return ""
|
||||
|
@ -36,6 +36,7 @@ type Meta struct {
|
||||
var (
|
||||
reHeaderPatternV1 = regexp.MustCompile(`\[\]:\s*#\s*\(([^:]+):\s*(.*)\)`)
|
||||
reHeaderPatternV2 = regexp.MustCompile(`<!--\s*([^:]+):\s*(.*)\s*-->`)
|
||||
reHeaderPatternMacro = regexp.MustCompile(`<!-- Macro: .*`)
|
||||
)
|
||||
|
||||
func ExtractMeta(data []byte) (*Meta, []byte, error) {
|
||||
@ -58,6 +59,12 @@ func ExtractMeta(data []byte) (*Meta, []byte, error) {
|
||||
if matches == nil {
|
||||
matches = reHeaderPatternV1.FindStringSubmatch(line)
|
||||
if matches == nil {
|
||||
matches = reHeaderPatternMacro.FindStringSubmatch(line)
|
||||
// If we have a match, then we started reading a macro.
|
||||
// We want to keep it in the document for it to be read by ExtractMacros
|
||||
if matches != nil {
|
||||
offset -= len(line) + 1
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
|
1
pkg/mark/testdata/header.md
vendored
1
pkg/mark/testdata/header.md
vendored
@ -1,3 +1,4 @@
|
||||
|
||||
# a
|
||||
## b
|
||||
### c
|
||||
|
Loading…
x
Reference in New Issue
Block a user