🎉 initiate project *astro_rewrite*
This commit is contained in:
parent
ffd4d5e86c
commit
2ba37bfbe3
8658 changed files with 2268794 additions and 2538 deletions
42
node_modules/micromark-util-decode-string/index.js
generated
vendored
Normal file
42
node_modules/micromark-util-decode-string/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
import {decodeNamedCharacterReference} from 'decode-named-character-reference'
|
||||
import {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'
|
||||
const characterEscapeOrReference =
|
||||
/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi
|
||||
|
||||
/**
|
||||
* Decode markdown strings (which occur in places such as fenced code info
|
||||
* strings, destinations, labels, and titles).
|
||||
*
|
||||
* The “string” content type allows character escapes and -references.
|
||||
* This decodes those.
|
||||
*
|
||||
* @param {string} value
|
||||
* Value to decode.
|
||||
* @returns {string}
|
||||
* Decoded value.
|
||||
*/
|
||||
export function decodeString(value) {
|
||||
return value.replace(characterEscapeOrReference, decode)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} $0
|
||||
* @param {string} $1
|
||||
* @param {string} $2
|
||||
* @returns {string}
|
||||
*/
|
||||
function decode($0, $1, $2) {
|
||||
if ($1) {
|
||||
// Escape.
|
||||
return $1
|
||||
}
|
||||
|
||||
// Reference.
|
||||
const head = $2.charCodeAt(0)
|
||||
if (head === 35) {
|
||||
const head = $2.charCodeAt(1)
|
||||
const hex = head === 120 || head === 88
|
||||
return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)
|
||||
}
|
||||
return decodeNamedCharacterReference($2) || $0
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue