Refactor routing in App component to enhance navigation and improve error handling by integrating dynamic routes and updating the NotFound route.
This commit is contained in:
36
node_modules/micromark-util-sanitize-uri/dev/index.d.ts
generated
vendored
Normal file
36
node_modules/micromark-util-sanitize-uri/dev/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Make a value safe for injection as a URL.
|
||||
*
|
||||
* This encodes unsafe characters with percent-encoding and skips already
|
||||
* encoded sequences (see `normalizeUri`).
|
||||
* Further unsafe characters are encoded as character references (see
|
||||
* `micromark-util-encode`).
|
||||
*
|
||||
* A regex of allowed protocols can be given, in which case the URL is
|
||||
* sanitized.
|
||||
* For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or
|
||||
* `/^https?$/i` for `img[src]` (this is what `github.com` allows).
|
||||
* If the URL includes an unknown protocol (one not matched by `protocol`, such
|
||||
* as a dangerous example, `javascript:`), the value is ignored.
|
||||
*
|
||||
* @param {string | null | undefined} url
|
||||
* URI to sanitize.
|
||||
* @param {RegExp | null | undefined} [protocol]
|
||||
* Allowed protocols.
|
||||
* @returns {string}
|
||||
* Sanitized URI.
|
||||
*/
|
||||
export function sanitizeUri(url: string | null | undefined, protocol?: RegExp | null | undefined): string;
|
||||
/**
|
||||
* Normalize a URL.
|
||||
*
|
||||
* Encode unsafe characters with percent-encoding, skipping already encoded
|
||||
* sequences.
|
||||
*
|
||||
* @param {string} value
|
||||
* URI to normalize.
|
||||
* @returns {string}
|
||||
* Normalized URI.
|
||||
*/
|
||||
export function normalizeUri(value: string): string;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
node_modules/micromark-util-sanitize-uri/dev/index.d.ts.map
generated
vendored
Normal file
1
node_modules/micromark-util-sanitize-uri/dev/index.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,iCAPW,MAAM,GAAG,IAAI,GAAG,SAAS,aAEzB,MAAM,GAAG,IAAI,GAAG,SAAS,GAEvB,MAAM,CA6BlB;AAED;;;;;;;;;;GAUG;AACH,oCALW,MAAM,GAEJ,MAAM,CA6DlB"}
|
124
node_modules/micromark-util-sanitize-uri/dev/index.js
generated
vendored
Normal file
124
node_modules/micromark-util-sanitize-uri/dev/index.js
generated
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
import {asciiAlphanumeric} from 'micromark-util-character'
|
||||
import {encode} from 'micromark-util-encode'
|
||||
import {codes, values} from 'micromark-util-symbol'
|
||||
|
||||
/**
|
||||
* Make a value safe for injection as a URL.
|
||||
*
|
||||
* This encodes unsafe characters with percent-encoding and skips already
|
||||
* encoded sequences (see `normalizeUri`).
|
||||
* Further unsafe characters are encoded as character references (see
|
||||
* `micromark-util-encode`).
|
||||
*
|
||||
* A regex of allowed protocols can be given, in which case the URL is
|
||||
* sanitized.
|
||||
* For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or
|
||||
* `/^https?$/i` for `img[src]` (this is what `github.com` allows).
|
||||
* If the URL includes an unknown protocol (one not matched by `protocol`, such
|
||||
* as a dangerous example, `javascript:`), the value is ignored.
|
||||
*
|
||||
* @param {string | null | undefined} url
|
||||
* URI to sanitize.
|
||||
* @param {RegExp | null | undefined} [protocol]
|
||||
* Allowed protocols.
|
||||
* @returns {string}
|
||||
* Sanitized URI.
|
||||
*/
|
||||
export function sanitizeUri(url, protocol) {
|
||||
const value = encode(normalizeUri(url || ''))
|
||||
|
||||
if (!protocol) {
|
||||
return value
|
||||
}
|
||||
|
||||
const colon = value.indexOf(':')
|
||||
const questionMark = value.indexOf('?')
|
||||
const numberSign = value.indexOf('#')
|
||||
const slash = value.indexOf('/')
|
||||
|
||||
if (
|
||||
// If there is no protocol, it’s relative.
|
||||
colon < 0 ||
|
||||
// If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.
|
||||
(slash > -1 && colon > slash) ||
|
||||
(questionMark > -1 && colon > questionMark) ||
|
||||
(numberSign > -1 && colon > numberSign) ||
|
||||
// It is a protocol, it should be allowed.
|
||||
protocol.test(value.slice(0, colon))
|
||||
) {
|
||||
return value
|
||||
}
|
||||
|
||||
return ''
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalize a URL.
|
||||
*
|
||||
* Encode unsafe characters with percent-encoding, skipping already encoded
|
||||
* sequences.
|
||||
*
|
||||
* @param {string} value
|
||||
* URI to normalize.
|
||||
* @returns {string}
|
||||
* Normalized URI.
|
||||
*/
|
||||
export function normalizeUri(value) {
|
||||
/** @type {Array<string>} */
|
||||
const result = []
|
||||
let index = -1
|
||||
let start = 0
|
||||
let skip = 0
|
||||
|
||||
while (++index < value.length) {
|
||||
const code = value.charCodeAt(index)
|
||||
/** @type {string} */
|
||||
let replace = ''
|
||||
|
||||
// A correct percent encoded value.
|
||||
if (
|
||||
code === codes.percentSign &&
|
||||
asciiAlphanumeric(value.charCodeAt(index + 1)) &&
|
||||
asciiAlphanumeric(value.charCodeAt(index + 2))
|
||||
) {
|
||||
skip = 2
|
||||
}
|
||||
// ASCII.
|
||||
else if (code < 128) {
|
||||
if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {
|
||||
replace = String.fromCharCode(code)
|
||||
}
|
||||
}
|
||||
// Astral.
|
||||
else if (code > 55_295 && code < 57_344) {
|
||||
const next = value.charCodeAt(index + 1)
|
||||
|
||||
// A correct surrogate pair.
|
||||
if (code < 56_320 && next > 56_319 && next < 57_344) {
|
||||
replace = String.fromCharCode(code, next)
|
||||
skip = 1
|
||||
}
|
||||
// Lone surrogate.
|
||||
else {
|
||||
replace = values.replacementCharacter
|
||||
}
|
||||
}
|
||||
// Unicode.
|
||||
else {
|
||||
replace = String.fromCharCode(code)
|
||||
}
|
||||
|
||||
if (replace) {
|
||||
result.push(value.slice(start, index), encodeURIComponent(replace))
|
||||
start = index + skip + 1
|
||||
replace = ''
|
||||
}
|
||||
|
||||
if (skip) {
|
||||
index += skip
|
||||
skip = 0
|
||||
}
|
||||
}
|
||||
|
||||
return result.join('') + value.slice(start)
|
||||
}
|
36
node_modules/micromark-util-sanitize-uri/index.d.ts
generated
vendored
Normal file
36
node_modules/micromark-util-sanitize-uri/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Make a value safe for injection as a URL.
|
||||
*
|
||||
* This encodes unsafe characters with percent-encoding and skips already
|
||||
* encoded sequences (see `normalizeUri`).
|
||||
* Further unsafe characters are encoded as character references (see
|
||||
* `micromark-util-encode`).
|
||||
*
|
||||
* A regex of allowed protocols can be given, in which case the URL is
|
||||
* sanitized.
|
||||
* For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or
|
||||
* `/^https?$/i` for `img[src]` (this is what `github.com` allows).
|
||||
* If the URL includes an unknown protocol (one not matched by `protocol`, such
|
||||
* as a dangerous example, `javascript:`), the value is ignored.
|
||||
*
|
||||
* @param {string | null | undefined} url
|
||||
* URI to sanitize.
|
||||
* @param {RegExp | null | undefined} [protocol]
|
||||
* Allowed protocols.
|
||||
* @returns {string}
|
||||
* Sanitized URI.
|
||||
*/
|
||||
export function sanitizeUri(url: string | null | undefined, protocol?: RegExp | null | undefined): string;
|
||||
/**
|
||||
* Normalize a URL.
|
||||
*
|
||||
* Encode unsafe characters with percent-encoding, skipping already encoded
|
||||
* sequences.
|
||||
*
|
||||
* @param {string} value
|
||||
* URI to normalize.
|
||||
* @returns {string}
|
||||
* Normalized URI.
|
||||
*/
|
||||
export function normalizeUri(value: string): string;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
node_modules/micromark-util-sanitize-uri/index.d.ts.map
generated
vendored
Normal file
1
node_modules/micromark-util-sanitize-uri/index.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,iCAPW,MAAM,GAAG,IAAI,GAAG,SAAS,aAEzB,MAAM,GAAG,IAAI,GAAG,SAAS,GAEvB,MAAM,CA6BlB;AAED;;;;;;;;;;GAUG;AACH,oCALW,MAAM,GAEJ,MAAM,CA6DlB"}
|
107
node_modules/micromark-util-sanitize-uri/index.js
generated
vendored
Normal file
107
node_modules/micromark-util-sanitize-uri/index.js
generated
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
import { asciiAlphanumeric } from 'micromark-util-character';
|
||||
import { encode } from 'micromark-util-encode';
|
||||
/**
|
||||
* Make a value safe for injection as a URL.
|
||||
*
|
||||
* This encodes unsafe characters with percent-encoding and skips already
|
||||
* encoded sequences (see `normalizeUri`).
|
||||
* Further unsafe characters are encoded as character references (see
|
||||
* `micromark-util-encode`).
|
||||
*
|
||||
* A regex of allowed protocols can be given, in which case the URL is
|
||||
* sanitized.
|
||||
* For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or
|
||||
* `/^https?$/i` for `img[src]` (this is what `github.com` allows).
|
||||
* If the URL includes an unknown protocol (one not matched by `protocol`, such
|
||||
* as a dangerous example, `javascript:`), the value is ignored.
|
||||
*
|
||||
* @param {string | null | undefined} url
|
||||
* URI to sanitize.
|
||||
* @param {RegExp | null | undefined} [protocol]
|
||||
* Allowed protocols.
|
||||
* @returns {string}
|
||||
* Sanitized URI.
|
||||
*/
|
||||
export function sanitizeUri(url, protocol) {
|
||||
const value = encode(normalizeUri(url || ''));
|
||||
if (!protocol) {
|
||||
return value;
|
||||
}
|
||||
const colon = value.indexOf(':');
|
||||
const questionMark = value.indexOf('?');
|
||||
const numberSign = value.indexOf('#');
|
||||
const slash = value.indexOf('/');
|
||||
if (
|
||||
// If there is no protocol, it’s relative.
|
||||
colon < 0 ||
|
||||
// If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.
|
||||
slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign ||
|
||||
// It is a protocol, it should be allowed.
|
||||
protocol.test(value.slice(0, colon))) {
|
||||
return value;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalize a URL.
|
||||
*
|
||||
* Encode unsafe characters with percent-encoding, skipping already encoded
|
||||
* sequences.
|
||||
*
|
||||
* @param {string} value
|
||||
* URI to normalize.
|
||||
* @returns {string}
|
||||
* Normalized URI.
|
||||
*/
|
||||
export function normalizeUri(value) {
|
||||
/** @type {Array<string>} */
|
||||
const result = [];
|
||||
let index = -1;
|
||||
let start = 0;
|
||||
let skip = 0;
|
||||
while (++index < value.length) {
|
||||
const code = value.charCodeAt(index);
|
||||
/** @type {string} */
|
||||
let replace = '';
|
||||
|
||||
// A correct percent encoded value.
|
||||
if (code === 37 && asciiAlphanumeric(value.charCodeAt(index + 1)) && asciiAlphanumeric(value.charCodeAt(index + 2))) {
|
||||
skip = 2;
|
||||
}
|
||||
// ASCII.
|
||||
else if (code < 128) {
|
||||
if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {
|
||||
replace = String.fromCharCode(code);
|
||||
}
|
||||
}
|
||||
// Astral.
|
||||
else if (code > 55_295 && code < 57_344) {
|
||||
const next = value.charCodeAt(index + 1);
|
||||
|
||||
// A correct surrogate pair.
|
||||
if (code < 56_320 && next > 56_319 && next < 57_344) {
|
||||
replace = String.fromCharCode(code, next);
|
||||
skip = 1;
|
||||
}
|
||||
// Lone surrogate.
|
||||
else {
|
||||
replace = "\uFFFD";
|
||||
}
|
||||
}
|
||||
// Unicode.
|
||||
else {
|
||||
replace = String.fromCharCode(code);
|
||||
}
|
||||
if (replace) {
|
||||
result.push(value.slice(start, index), encodeURIComponent(replace));
|
||||
start = index + skip + 1;
|
||||
replace = '';
|
||||
}
|
||||
if (skip) {
|
||||
index += skip;
|
||||
skip = 0;
|
||||
}
|
||||
}
|
||||
return result.join('') + value.slice(start);
|
||||
}
|
22
node_modules/micromark-util-sanitize-uri/license
generated
vendored
Normal file
22
node_modules/micromark-util-sanitize-uri/license
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) Titus Wormer <tituswormer@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
59
node_modules/micromark-util-sanitize-uri/package.json
generated
vendored
Normal file
59
node_modules/micromark-util-sanitize-uri/package.json
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"name": "micromark-util-sanitize-uri",
|
||||
"version": "2.0.1",
|
||||
"description": "micromark utility to sanitize urls",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"micromark",
|
||||
"util",
|
||||
"utility",
|
||||
"sanitize",
|
||||
"clear",
|
||||
"url"
|
||||
],
|
||||
"repository": "https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri",
|
||||
"bugs": "https://github.com/micromark/micromark/issues",
|
||||
"funding": [
|
||||
{
|
||||
"type": "GitHub Sponsors",
|
||||
"url": "https://github.com/sponsors/unifiedjs"
|
||||
},
|
||||
{
|
||||
"type": "OpenCollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
],
|
||||
"author": "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)",
|
||||
"contributors": [
|
||||
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"files": [
|
||||
"dev/",
|
||||
"index.d.ts.map",
|
||||
"index.d.ts",
|
||||
"index.js"
|
||||
],
|
||||
"exports": {
|
||||
"development": "./dev/index.js",
|
||||
"default": "./index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"micromark-util-character": "^2.0.0",
|
||||
"micromark-util-encode": "^2.0.0",
|
||||
"micromark-util-symbol": "^2.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "micromark-build"
|
||||
},
|
||||
"xo": {
|
||||
"envs": [
|
||||
"shared-node-browser"
|
||||
],
|
||||
"prettier": true,
|
||||
"rules": {
|
||||
"unicorn/prefer-code-point": "off"
|
||||
}
|
||||
}
|
||||
}
|
214
node_modules/micromark-util-sanitize-uri/readme.md
generated
vendored
Normal file
214
node_modules/micromark-util-sanitize-uri/readme.md
generated
vendored
Normal file
@@ -0,0 +1,214 @@
|
||||
# micromark-util-sanitize-uri
|
||||
|
||||
[![Build][build-badge]][build]
|
||||
[![Coverage][coverage-badge]][coverage]
|
||||
[![Downloads][downloads-badge]][downloads]
|
||||
[![Size][bundle-size-badge]][bundle-size]
|
||||
[![Sponsors][sponsors-badge]][opencollective]
|
||||
[![Backers][backers-badge]][opencollective]
|
||||
[![Chat][chat-badge]][chat]
|
||||
|
||||
[micromark][] utility to sanitize urls.
|
||||
|
||||
## Contents
|
||||
|
||||
* [What is this?](#what-is-this)
|
||||
* [When should I use this?](#when-should-i-use-this)
|
||||
* [Install](#install)
|
||||
* [Use](#use)
|
||||
* [API](#api)
|
||||
* [`normalizeUri(value)`](#normalizeurivalue)
|
||||
* [`sanitizeUri(url[, pattern])`](#sanitizeuriurl-pattern)
|
||||
* [Types](#types)
|
||||
* [Compatibility](#compatibility)
|
||||
* [Security](#security)
|
||||
* [Contribute](#contribute)
|
||||
* [License](#license)
|
||||
|
||||
## What is this?
|
||||
|
||||
This package exposes an algorithm to make URLs safe.
|
||||
|
||||
## When should I use this?
|
||||
|
||||
This package might be useful when you are making your own micromark extensions.
|
||||
|
||||
## Install
|
||||
|
||||
This package is [ESM only][esm].
|
||||
In Node.js (version 16+), install with [npm][]:
|
||||
|
||||
```sh
|
||||
npm install micromark-util-sanitize-uri
|
||||
```
|
||||
|
||||
In Deno with [`esm.sh`][esmsh]:
|
||||
|
||||
```js
|
||||
import {sanitizeUri} from 'https://esm.sh/micromark-util-sanitize-uri@1'
|
||||
```
|
||||
|
||||
In browsers with [`esm.sh`][esmsh]:
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import {sanitizeUri} from 'https://esm.sh/micromark-util-sanitize-uri@1?bundle'
|
||||
</script>
|
||||
```
|
||||
|
||||
## Use
|
||||
|
||||
```js
|
||||
import {sanitizeUri} from 'micromark-util-sanitize-uri'
|
||||
|
||||
sanitizeUri('https://example.com/a&b') // 'https://example.com/a&amp;b'
|
||||
sanitizeUri('https://example.com/a%b') // 'https://example.com/a%25b'
|
||||
sanitizeUri('https://example.com/a%20b') // 'https://example.com/a%20b'
|
||||
sanitizeUri('https://example.com/👍') // 'https://example.com/%F0%9F%91%8D'
|
||||
sanitizeUri('https://example.com/', /^https?$/i) // 'https://example.com/'
|
||||
sanitizeUri('javascript:alert(1)', /^https?$/i) // ''
|
||||
sanitizeUri('./example.jpg', /^https?$/i) // './example.jpg'
|
||||
sanitizeUri('#a', /^https?$/i) // '#a'
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
This module exports the identifiers [`normalizeUri`][api-normalize-uri] and
|
||||
[`sanitizeUri`][api-sanitize-uri].
|
||||
There is no default export.
|
||||
|
||||
### `normalizeUri(value)`
|
||||
|
||||
Normalize a URL.
|
||||
|
||||
Encode unsafe characters with percent-encoding, skipping already encoded
|
||||
sequences.
|
||||
|
||||
###### Parameters
|
||||
|
||||
* `value` (`string`)
|
||||
— URI to normalize
|
||||
|
||||
###### Returns
|
||||
|
||||
Normalized URI (`string`).
|
||||
|
||||
### `sanitizeUri(url[, pattern])`
|
||||
|
||||
Make a value safe for injection as a URL.
|
||||
|
||||
This encodes unsafe characters with percent-encoding and skips already
|
||||
encoded sequences (see [`normalizeUri`][api-normalize-uri]).
|
||||
Further unsafe characters are encoded as character references (see
|
||||
[`micromark-util-encode`][micromark-util-encode]).
|
||||
|
||||
A regex of allowed protocols can be given, in which case the URL is sanitized.
|
||||
For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or
|
||||
`/^https?$/i` for `img[src]` (this is what `github.com` allows).
|
||||
If the URL includes an unknown protocol (one not matched by `protocol`, such
|
||||
as a dangerous example, `javascript:`), the value is ignored.
|
||||
|
||||
###### Parameters
|
||||
|
||||
* `url` (`string`)
|
||||
— URI to sanitize
|
||||
* `pattern` (`RegExp`, optional)
|
||||
— allowed protocols
|
||||
|
||||
###### Returns
|
||||
|
||||
Sanitized URI (`string`).
|
||||
|
||||
## Types
|
||||
|
||||
This package is fully typed with [TypeScript][].
|
||||
It exports no additional types.
|
||||
|
||||
## Compatibility
|
||||
|
||||
Projects maintained by the unified collective are compatible with maintained
|
||||
versions of Node.js.
|
||||
|
||||
When we cut a new major release, we drop support for unmaintained versions of
|
||||
Node.
|
||||
This means we try to keep the current release line,
|
||||
`micromark-util-sanitize-uri@2`, compatible with Node.js 16.
|
||||
This package works with `micromark@3`.
|
||||
|
||||
## Security
|
||||
|
||||
This package is safe.
|
||||
See [`security.md`][securitymd] in [`micromark/.github`][health] for how to
|
||||
submit a security report.
|
||||
|
||||
## Contribute
|
||||
|
||||
See [`contributing.md`][contributing] in [`micromark/.github`][health] for ways
|
||||
to get started.
|
||||
See [`support.md`][support] for ways to get help.
|
||||
|
||||
This project has a [code of conduct][coc].
|
||||
By interacting with this repository, organisation, or community you agree to
|
||||
abide by its terms.
|
||||
|
||||
## License
|
||||
|
||||
[MIT][license] © [Titus Wormer][author]
|
||||
|
||||
<!-- Definitions -->
|
||||
|
||||
[build-badge]: https://github.com/micromark/micromark/workflows/main/badge.svg
|
||||
|
||||
[build]: https://github.com/micromark/micromark/actions
|
||||
|
||||
[coverage-badge]: https://img.shields.io/codecov/c/github/micromark/micromark.svg
|
||||
|
||||
[coverage]: https://codecov.io/github/micromark/micromark
|
||||
|
||||
[downloads-badge]: https://img.shields.io/npm/dm/micromark-util-sanitize-uri.svg
|
||||
|
||||
[downloads]: https://www.npmjs.com/package/micromark-util-sanitize-uri
|
||||
|
||||
[bundle-size-badge]: https://img.shields.io/badge/dynamic/json?label=minzipped%20size&query=$.size.compressedSize&url=https://deno.bundlejs.com/?q=micromark-util-sanitize-uri
|
||||
|
||||
[bundle-size]: https://bundlejs.com/?q=micromark-util-sanitize-uri
|
||||
|
||||
[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg
|
||||
|
||||
[backers-badge]: https://opencollective.com/unified/backers/badge.svg
|
||||
|
||||
[opencollective]: https://opencollective.com/unified
|
||||
|
||||
[npm]: https://docs.npmjs.com/cli/install
|
||||
|
||||
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
|
||||
|
||||
[esmsh]: https://esm.sh
|
||||
|
||||
[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg
|
||||
|
||||
[chat]: https://github.com/micromark/micromark/discussions
|
||||
|
||||
[license]: https://github.com/micromark/micromark/blob/main/license
|
||||
|
||||
[author]: https://wooorm.com
|
||||
|
||||
[health]: https://github.com/micromark/.github
|
||||
|
||||
[securitymd]: https://github.com/micromark/.github/blob/main/security.md
|
||||
|
||||
[contributing]: https://github.com/micromark/.github/blob/main/contributing.md
|
||||
|
||||
[support]: https://github.com/micromark/.github/blob/main/support.md
|
||||
|
||||
[coc]: https://github.com/micromark/.github/blob/main/code-of-conduct.md
|
||||
|
||||
[typescript]: https://www.typescriptlang.org
|
||||
|
||||
[micromark]: https://github.com/micromark/micromark
|
||||
|
||||
[micromark-util-encode]: https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode
|
||||
|
||||
[api-normalize-uri]: #normalizeurivalue
|
||||
|
||||
[api-sanitize-uri]: #sanitizeuriurl-pattern
|
Reference in New Issue
Block a user