vdoc: fix character escape in code blocks in readme contents (#21230)

This commit is contained in:
Turiiya 2024-04-09 06:31:54 +02:00 committed by GitHub
parent ba74ab0ccf
commit 4afeac316a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 43 additions and 2 deletions

View file

@ -2,6 +2,7 @@ module main
import os import os
import net.urllib import net.urllib
import encoding.html
import strings import strings
import markdown import markdown
import v.scanner import v.scanner
@ -631,7 +632,7 @@ fn (f &MdHtmlCodeHighlighter) transform_content(parent markdown.ParentType, text
text) text)
if parent is markdown.MD_BLOCKTYPE && parent == .md_block_code { if parent is markdown.MD_BLOCKTYPE && parent == .md_block_code {
if f.language == 'v' || f.language == 'vlang' { if f.language == 'v' || f.language == 'vlang' {
return html_highlight(initial_transformed_text, f.table) return html_highlight(html.unescape(initial_transformed_text), f.table)
} }
} }
return initial_transformed_text return initial_transformed_text

View file

@ -20,6 +20,14 @@ fn main() {
dump(os.args) dump(os.args)
dump(os.args.len) dump(os.args.len)
assert os.args.len > 0 assert os.args.len > 0
// Test escape characters like for `&` and `<`
mut arr := [1, 2, 3]
mut ref := &arr
arr << 4
ch := chan bool{cap: 1}
ch <- true
} }
``` ```

View file

@ -12,6 +12,14 @@ fn main() {
dump(os.args) dump(os.args)
dump(os.args.len) dump(os.args.len)
assert os.args.len > 0 assert os.args.len > 0
// Test escape characters like for `&` and `<`
mut arr := [1, 2, 3]
mut ref := &arr
arr << 4
ch := chan bool{cap: 1}
ch <- true
} }
A JWT example (test syntax highlighting) A JWT example (test syntax highlighting)
@ -81,6 +89,14 @@ fn auth_verify(secret string, token string) bool {
dump(os.args) dump(os.args)
dump(os.args.len) dump(os.args.len)
assert os.args.len > 0 assert os.args.len > 0
// Test escape characters like for `&` and `<`
mut arr := [1, 2, 3]
mut ref := &arr
arr << 4
ch := chan bool{cap: 1}
ch <- true
} }
``` ```

View file

@ -5,7 +5,15 @@
<span class="token keyword">fn</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">fn</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">dump</span><span class="token punctuation">(</span>os<span class="token punctuation">.</span>args<span class="token punctuation">)</span> <span class="token keyword">dump</span><span class="token punctuation">(</span>os<span class="token punctuation">.</span>args<span class="token punctuation">)</span>
<span class="token keyword">dump</span><span class="token punctuation">(</span>os<span class="token punctuation">.</span>args<span class="token punctuation">.</span>len<span class="token punctuation">)</span> <span class="token keyword">dump</span><span class="token punctuation">(</span>os<span class="token punctuation">.</span>args<span class="token punctuation">.</span>len<span class="token punctuation">)</span>
<span class="token keyword">assert</span> os<span class="token punctuation">.</span>args<span class="token punctuation">.</span>len <span class="token operator">&</span>gt<span class="token punctuation">;</span> <span class="token number">0</span> <span class="token keyword">assert</span> os<span class="token punctuation">.</span>args<span class="token punctuation">.</span>len <span class="token operator">></span> <span class="token number">0</span>
<span class="token comment">// Test escape characters like for `&` and `<`</span>
<span class="token keyword">mut</span> arr <span class="token operator">:=</span> <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">]</span>
<span class="token keyword">mut</span> ref <span class="token operator">:=</span> <span class="token operator">&</span>arr
arr <span class="token operator"><<</span> <span class="token number">4</span>
ch <span class="token operator">:=</span> <span class="token builtin">chan</span> <span class="token builtin">bool</span><span class="token punctuation">{</span>cap<span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">}</span>
ch <span class="token operator"><-</span> <span class="token boolean">true</span>
<span class="token punctuation">}</span></code></pre><h3>A JWT example (test syntax highlighting)</h3><pre><code class="language-v"><span class="token keyword">import</span> crypto<span class="token punctuation">.</span>hmac <span class="token punctuation">}</span></code></pre><h3>A JWT example (test syntax highlighting)</h3><pre><code class="language-v"><span class="token keyword">import</span> crypto<span class="token punctuation">.</span>hmac
<span class="token keyword">import</span> crypto<span class="token punctuation">.</span>sha256 <span class="token keyword">import</span> crypto<span class="token punctuation">.</span>sha256
<span class="token keyword">import</span> encoding<span class="token punctuation">.</span>base64 <span class="token keyword">import</span> encoding<span class="token punctuation">.</span>base64

View file

@ -20,6 +20,14 @@ module main
dump(os.args) dump(os.args)
dump(os.args.len) dump(os.args.len)
assert os.args.len > 0 assert os.args.len > 0
// Test escape characters like for `&` and `<`
mut arr := [1, 2, 3]
mut ref := &arr
arr << 4
ch := chan bool{cap: 1}
ch <- true
} }
``` ```