feat: wikilink img support
This commit is contained in:
		
							parent
							
								
									7808c66c4d
								
							
						
					
					
						commit
						cd19159c53
					
				| @ -37,4 +37,10 @@ a & b & c | ||||
| $$ | ||||
| 
 | ||||
| ## RTL | ||||
| More information on configuring RTL languages like Arabic in the [config](notes/config.md) page | ||||
| More information on configuring RTL languages like Arabic in the [config](notes/config.md) page. | ||||
| 
 | ||||
| `![[Image.png|modifier+modifier|#]]` | ||||
| 
 | ||||
| [[notes/troubleshooting]] | ||||
| 
 | ||||
| `[[Image.png|modifier+modifier|#]]` | ||||
| @ -1,9 +1,6 @@ | ||||
| {{ $content := .Content }} | ||||
| {{ $page := .Page }} | ||||
| 
 | ||||
| {{/* Replace right arrow */}} | ||||
| {{ $content = replace $content "->" "→" }} | ||||
| 
 | ||||
| {{/* Escape slashes for Latex to fix line breaks */}} | ||||
| {{$latex := findRE "\\$\\$([^\\$]+)\\$\\$" $content}} | ||||
| {{range $latex}} | ||||
| @ -12,24 +9,35 @@ | ||||
| {{end}} | ||||
| 
 | ||||
| {{/* Wikilinks */}} | ||||
| {{$wikilinks := $content | findRE "\\[\\[[^\\[\\]\\|]*(?:\\|[^\\[\\]]*)?\\]\\]" }} | ||||
| {{$wikilinks := $content | findRE "!?\\[\\[\\S[^\\[\\]\\|]*(?:\\|[^\\[\\]]*)?\\S\\]\\]" }} | ||||
| {{range $wikilinks}} | ||||
|   {{$inner := . | strings.TrimPrefix "[[" | strings.TrimSuffix "]]" }} | ||||
|   {{$split := split $inner "|"}} | ||||
|   {{$path := index $split 0}} | ||||
|   {{$reference := split $path "#"}} | ||||
|   {{$title := index $reference 0}} | ||||
|   {{$block := default "" (index $reference 1)}} | ||||
|   {{$block = strings.TrimRight "/" (cond (eq $block "") $block (printf "#%s" $block))}} | ||||
|   {{$href := strings.TrimRight "/" ($page.GetPage $title).RelPermalink}} | ||||
|   {{$display := default $title (index $split 1)}} | ||||
|   {{if not $href}} | ||||
|     {{$link := printf "<a class=\"internal-link broken\">%s</a>" $display}} | ||||
|     {{ $content = replace $content . $link }} | ||||
|   {{if (hasPrefix . "!")}} | ||||
|     {{$inner := . | strings.TrimPrefix "![[" | strings.TrimSuffix "]]" }} | ||||
|     {{$split := split $inner "|"}} | ||||
|     {{$path := index $split 0}} | ||||
|     {{$reference := split $path "#"}} | ||||
|     {{$title := index $reference 0}} | ||||
|     {{$display := default $title (index $split 1)}} | ||||
|     {{$img := printf "<img src=\"%s\" title=\"%s\">" $path $display}} | ||||
|     {{$content = replace $content . $img}} | ||||
|   {{else}} | ||||
|     {{$fullhref := printf "%s%s" $href $block }} | ||||
|     {{$link := printf "<a href=\"%s\" rel=\"noopener\" class=\"internal-link\" data-src=\"%s\">%s</a>" $fullhref $href $display}} | ||||
|     {{ $content = replace $content . $link }} | ||||
|     {{$inner := . | strings.TrimPrefix "[[" | strings.TrimSuffix "]]" }} | ||||
|     {{$split := split $inner "|"}} | ||||
|     {{$path := index $split 0}} | ||||
|     {{$reference := split $path "#"}} | ||||
|     {{$title := index $reference 0}} | ||||
|     {{$block := default "" (index $reference 1)}} | ||||
|     {{$block = strings.TrimRight "/" (cond (eq $block "") $block (printf "#%s" $block))}} | ||||
|     {{$href := strings.TrimRight "/" ($page.GetPage $title).RelPermalink}} | ||||
|     {{$display := default $title (index $split 1)}} | ||||
|     {{if not $href}} | ||||
|       {{$link := printf "<a class=\"internal-link broken\">%s</a>" $display}} | ||||
|       {{$content = replace $content . $link}} | ||||
|     {{else}} | ||||
|       {{$fullhref := printf "%s%s" $href $block }} | ||||
|       {{$link := printf "<a href=\"%s\" rel=\"noopener\" class=\"internal-link\" data-src=\"%s\">%s</a>" $fullhref $href $display}} | ||||
|       {{$content = replace $content . $link}} | ||||
|     {{end}} | ||||
|   {{end}} | ||||
| {{end}} | ||||
| {{ $content | safeHTML }} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user