pimd
pimd copied to clipboard
Links plugin
New feature
Allow links in code blocks. This is useful when there are definitions elsewhere.
Specifications
``` html +link=/class/g:https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class,/my-special-list-item/g:#my-special-list-item
<ul>
<li class="my-list-item">
Item 1
</li>
<li class="my-list-item my-special-list-item">
Item 2
</li>
<li class="my-list-item">
Item 3
</li>
<li class="my-list-item">
Item 4
</li>
</ul>
```
Result:
The following syntax should be valid:
-
+link="xxx":url
– linkxxx
tourl
-
+link="xxx":url-a,"yyy":url-b
– link multiple strings -
+link=/xxx/:url
– search for RegExp -
+link=/xxx/g:url
– allow modifiers -
+link=/xxx/:url-a,/yyy/:url-b
– allow multiple RegExp -
+link="xxx":url-a,/yyy/:url-b,/zzz/gi:url-c
– mix everything up
Open questions
- How to escape
"
,:
,;
, and/
? → Use JavaScript syntax - Should
"
and'
be allowed? → No, use JSON syntax - Maybe
/class=".*(my-class).*"/
could linkmy-class
only (as in the group). This could be useful for linkin the tag name ofli
in<li class="list-item">
but not withinlist-item
. Background: Look ahead/behind in JavaScript’s RegExp are not supported well and hard to read/write. Using a group could be much more easy.
→ This is not optimal yet as it results in long lines. Maybe another solution could be better.