| | |
| | | const highlightRegex = new RegExp(/==([^=]+)==/g) |
| | | const commentRegex = new RegExp(/%%[\s\S]*?%%/g) |
| | | // from https://github.com/escwxyz/remark-obsidian-callout/blob/main/src/index.ts |
| | | const calloutRegex = new RegExp(/^\[\!(\w+)\|?(.+?)?\]([+-]?)/) |
| | | const calloutRegex = new RegExp(/^\[\!([\w-]+)\|?(.+?)?\]([+-]?)/) |
| | | const calloutLineRegex = new RegExp(/^> *\[\!\w+\|?.*?\][+-]?.*$/gm) |
| | | // (?:^| ) -> non-capturing group, tag should start be separated by a space or be the start of the line |
| | | // #(...) -> capturing group, tag itself must start with # |
| | |
| | | replacements.push([ |
| | | tagRegex, |
| | | (_value: string, tag: string) => { |
| | | // Check if the tag only includes numbers |
| | | if (/^\d+$/.test(tag)) { |
| | | // Check if the tag only includes numbers and slashes |
| | | if (/^[\/\d]+$/.test(tag)) { |
| | | return false |
| | | } |
| | | |
| | |
| | | children: [ |
| | | { |
| | | type: "text", |
| | | value: useDefaultTitle ? capitalize(typeString) : titleContent + " ", |
| | | value: useDefaultTitle |
| | | ? capitalize(typeString).replace(/-/g, " ") |
| | | : titleContent + " ", |
| | | }, |
| | | ...restOfTitle, |
| | | ], |