Allow brackets in download buttons

This commit is contained in:
Christoph Hagen
2023-02-20 15:34:26 +01:00
parent 89245f2553
commit 87d54788db
2 changed files with 13 additions and 2 deletions

View File

@ -87,7 +87,7 @@ struct PageContentGenerator {
// For a simple boxes: ![box](title;body)
// A fancy page link: ![page](page_id)
// External pages: ![external](url1, text1; url2, text2, ...)
let fileAndTitle = markdown.between("(", and: ")")
let fileAndTitle = markdown.between(first: "](", andLast: ")")
let alt = markdown.between("[", and: "]").nonEmpty
if let alt = alt, let command = ShorthandMarkdownKey(rawValue: alt) {
return handleShortHandCommand(command, page: page, language: language, content: fileAndTitle)
@ -250,7 +250,7 @@ struct PageContentGenerator {
.compactMap { button -> (file: String, text: String, downloadName: String?)? in
let parts = button.components(separatedBy: ",")
guard parts.count == 2 || parts.count == 3 else {
results.warning("Invalid button definition", source: page.path)
results.warning("Invalid download definition with \(parts)", source: page.path)
return nil
}
let file = parts[0].trimmed