{"_id":"mdurl","_rev":"12-56645bf6e88531d1674e840a74a3ceff","name":"mdurl","dist-tags":{"latest":"2.1.0"},"versions":{"0.0.1":{"name":"mdurl","version":"0.0.1","license":"MIT","_id":"mdurl@0.0.1","maintainers":[{"name":"vitaly","email":"vitaly@rcdesign.ru"}],"homepage":"https://github.com/markdown-it/mdurl","bugs":{"url":"https://github.com/markdown-it/mdurl/issues"},"dist":{"shasum":"ac3ba82f95f771533e8ea9cb239441df379591dc","tarball":"https://registry.npmjs.org/mdurl/-/mdurl-0.0.1.tgz","integrity":"sha512-d4bL1fsFheDqnQMLnYoTuNhNziRKzVGZTdPsFruK6Owh7Sddy4jfqfs0O5CQ2tBlYBOypO0NCdb9XlLzujBijQ==","signatures":[{"sig":"MEUCIGKtUsOX7V9kYQEP9uG/Ubw3eKK6AGlBuLFr3A7WRnkSAiEA12+0z5AUeV9Cun+Sxp1myiyd3tnzQIZzAJPpcPGbRVE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"ac3ba82f95f771533e8ea9cb239441df379591dc","gitHead":"291ed8a558eab1faa9461496fc385d41e160277b","scripts":{"test":"make test"},"_npmUser":{"name":"vitaly","email":"vitaly@rcdesign.ru"},"repository":{"url":"https://github.com/markdown-it/mdurl","type":"git"},"_npmVersion":"1.4.28","description":"URL utilities for markdown-it","directories":{},"devDependencies":{"mocha":"*","eslint":"0.13.0","istanbul":"*","eslint-plugin-nodeca":"^1.0.0"}},"1.0.0":{"name":"mdurl","version":"1.0.0","license":"MIT","_id":"mdurl@1.0.0","maintainers":[{"name":"vitaly","email":"vitaly@rcdesign.ru"}],"homepage":"https://github.com/markdown-it/mdurl","bugs":{"url":"https://github.com/markdown-it/mdurl/issues"},"dist":{"shasum":"307f6d36dbf2777bf0c6278a7101e6f5b05cb2b3","tarball":"https://registry.npmjs.org/mdurl/-/mdurl-1.0.0.tgz","integrity":"sha512-2+E3LzQpSdSVd1OBAZ5M1Va0Vcvs7pq8qVPSOCxfwF5wy9InfYPqZjjc/3TLiwVzq3Q1GKAQ+XsTBPsxIjcMIw==","signatures":[{"sig":"MEQCICfqw0+6naBTBH4Ay96cOAxQScOPpgnm0fHjho7KFaz+AiACkSFohXaFlXfBugQ59eAjfALS94e9hxjrnm9quuoBpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"307f6d36dbf2777bf0c6278a7101e6f5b05cb2b3","gitHead":"5e50f38a2b49f8eafbcaf70b11be34b6e310cfaf","scripts":{"test":"make test"},"_npmUser":{"name":"vitaly","email":"vitaly@rcdesign.ru"},"repository":{"url":"https://github.com/markdown-it/mdurl","type":"git"},"_npmVersion":"1.4.28","description":"URL utilities for markdown-it","directories":{},"devDependencies":{"mocha":"*","eslint":"0.13.0","istanbul":"*","eslint-plugin-nodeca":"^1.0.0"}},"1.0.1":{"name":"mdurl","version":"1.0.1","license":"MIT","_id":"mdurl@1.0.1","maintainers":[{"name":"vitaly","email":"vitaly@rcdesign.ru"}],"homepage":"https://github.com/markdown-it/mdurl#readme","bugs":{"url":"https://github.com/markdown-it/mdurl/issues"},"dist":{"shasum":"fe85b2ec75a59037f2adfec100fd6c601761152e","tarball":"https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz","integrity":"sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==","signatures":[{"sig":"MEUCIQCOpcpsC0dFqsfUDj9xbE6XKf/SLKY7hD5TSHx6uNb9iAIgJ5DQ8uIJ74/wwgD8ea6tT4Tp1eZbeEJq2GBGhPdqjcs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"fe85b2ec75a59037f2adfec100fd6c601761152e","gitHead":"8bfd33610062a71155cc64254271555a49db8332","scripts":{"test":"make test"},"_npmUser":{"name":"vitaly","email":"vitaly@rcdesign.ru"},"repository":{"url":"git+https://github.com/markdown-it/mdurl.git","type":"git"},"_npmVersion":"2.10.1","description":"URL utilities for markdown-it","directories":{},"_nodeVersion":"0.12.4","devDependencies":{"mocha":"*","eslint":"0.13.0","istanbul":"*","eslint-plugin-nodeca":"^1.0.0"}},"2.0.0":{"name":"mdurl","version":"2.0.0","license":"MIT","_id":"mdurl@2.0.0","maintainers":[{"name":"vitaly","email":"vitaly@rcopen.com"}],"homepage":"https://github.com/markdown-it/mdurl#readme","bugs":{"url":"https://github.com/markdown-it/mdurl/issues"},"dist":{"shasum":"80676ec0433025dd3e17ee983d0fe8de5a2237e0","tarball":"https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz","fileCount":9,"integrity":"sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==","signatures":[{"sig":"MEQCIESvKB1UWhCxIoTJ2A+Pp4YroyR/HpZ/fxywm7Aiio8aAiBDZZ6y5OdJ5tVIdNWX8B11Y5dQsx67IcrtBQaDV5TLVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37524},"main":"build/index.cjs.js","module":"index.mjs","exports":{".":{"import":"./index.mjs","require":"./build/index.cjs.js"},"./*":{"import":"./*","require":"./*"}},"gitHead":"ed058152769370008896679d08e8733bf4354c55","scripts":{"lint":"eslint .","test":"npm run lint && npm run build && c8 --exclude build --exclude test -r text -r html -r lcov mocha","build":"rollup -c","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"vitaly","email":"vitaly@rcopen.com"},"repository":{"url":"git+https://github.com/markdown-it/mdurl.git","type":"git"},"_npmVersion":"9.3.1","description":"URL utilities for markdown-it","directories":{},"_nodeVersion":"18.14.1","_hasShrinkwrap":false,"devDependencies":{"c8":"^8.0.1","mocha":"^10.2.0","eslint":"^8.54.0","rollup":"^4.6.1","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/mdurl_2.0.0_1701407020358_0.9477235452336019","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"mdurl","version":"2.1.0","description":"URL utilities for markdown-it","repository":{"type":"git","url":"git+https://github.com/markdown-it/mdurl.git"},"license":"MIT","main":"build/index.cjs.js","module":"index.mjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","require":"./build/index.cjs.js","import":"./index.mjs"},"./*":{"require":"./*","import":"./*"}},"scripts":{"lint":"eslint .","build":"rollup -c","type-check":"tsc --noEmit --strict --target ESNext --module ESNext --moduleResolution Bundler test/types.ts","test":"npm run lint && npm run build && npm run type-check && c8 --exclude build --exclude test -r text -r html -r lcov node --test test/**/*.test.*","prepack":"npm run build"},"devDependencies":{"c8":"^12.0.0","eslint":"^8.54.0","eslint-config-standard":"^17.1.0","rollup":"^4.62.2","typescript":"^7.0.2"},"gitHead":"dd913f6290a4d8772240a401aab993eb65c5786d","_id":"mdurl@2.1.0","bugs":{"url":"https://github.com/markdown-it/mdurl/issues"},"homepage":"https://github.com/markdown-it/mdurl#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==","shasum":"d711d3f7bce7f22c487c91be78545f356fa96573","tarball":"https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz","fileCount":10,"unpackedSize":38519,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGm1mHQdwQ6Z22lYfTKDprIoZSyz95wrzyiquE7SNFQZAiEA8d751GYcTrIMjzGkDDFd+bXbfTRITkGwDNT4R3v5rdI="}]},"_npmUser":{"name":"vitaly","email":"vitaly@rcopen.com"},"directories":{},"maintainers":[{"name":"vitaly","email":"vitaly@rcopen.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mdurl_2.1.0_1784753731028_0.13087056530354602"},"_hasShrinkwrap":false}},"time":{"created":"2015-03-02T17:13:42.542Z","modified":"2026-07-22T20:55:31.315Z","0.0.1":"2015-03-02T17:13:42.542Z","1.0.0":"2015-03-04T18:57:51.541Z","1.0.1":"2015-09-14T22:08:28.265Z","2.0.0":"2023-12-01T05:03:40.542Z","2.1.0":"2026-07-22T20:55:31.170Z"},"bugs":{"url":"https://github.com/markdown-it/mdurl/issues"},"license":"MIT","homepage":"https://github.com/markdown-it/mdurl#readme","repository":{"type":"git","url":"git+https://github.com/markdown-it/mdurl.git"},"description":"URL utilities for markdown-it","maintainers":[{"name":"vitaly","email":"vitaly@rcopen.com"}],"readme":"# mdurl\n\n[![CI](https://github.com/markdown-it/mdurl/actions/workflows/ci.yml/badge.svg)](https://github.com/markdown-it/mdurl/actions/workflows/ci.yml)\n[![NPM version](https://img.shields.io/npm/v/mdurl.svg?style=flat)](https://www.npmjs.org/package/mdurl)\n\n> URL utilities for [markdown-it](https://github.com/markdown-it/markdown-it) parser.\n\n\n## API\n\n### .encode(str [, exclude, keepEncoded]) -> String\n\nPercent-encode a string, avoiding double encoding. Don't touch `/a-zA-Z0-9/` +\nexcluded chars + `/%[a-fA-F0-9]{2}/` (if not disabled). Broken surrorates are\nreplaced with `U+FFFD`.\n\nParams:\n\n- __str__ - input string.\n- __exclude__ - optional, `;/?:@&=+$,-_.!~*'()#`. Additional chars to keep intact\n  (except `/a-zA-Z0-9/`).\n- __keepEncoded__ - optional, `true`. By default it skips already encoded sequences\n  (`/%[a-fA-F0-9]{2}/`). If set to `false`, `%` will be encoded.\n\n\n### encode.defaultChars, encode.componentChars\n\nYou can use these constants as second argument to `encode` function.\n\n - `encode.defaultChars` is the same exclude set as in the standard `encodeURI()` function\n - `encode.componentChars` is the same exclude set as in the `encodeURIComponent()` function\n\nFor example, `encode('something', encode.componentChars, true)` is roughly the equivalent of\nthe `encodeURIComponent()` function (except `encode()` doesn't throw).\n\n\n### .decode(str [, exclude]) -> String\n\nDecode percent-encoded string. Invalid percent-encoded sequences (e.g. `%2G`)\nare left as is. Invalid UTF-8 characters are replaced with `U+FFFD`.\n\n\nParams:\n\n- __str__ - input string.\n- __exclude__ - set of characters to leave encoded, optional, `;/?:@&=+$,#`.\n\n\n### decode.defaultChars, decode.componentChars\n\nYou can use these constants as second argument to `decode` function.\n\n - `decode.defaultChars` is the same exclude set as in the standard `decodeURI()` function\n - `decode.componentChars` is the same exclude set as in the `decodeURIComponent()` function\n\nFor example, `decode('something', decode.defaultChars)` has the same behavior as\n`decodeURI('something')` on a correctly encoded input.\n\n\n### .parse(url, slashesDenoteHost) -> urlObs\n\nParse url string. Similar to node's [url.parse](http://nodejs.org/api/url.html#url_url_parse_urlstr_parsequerystring_slashesdenotehost), but without any\nnormalizations and query string parse.\n\n - __url__ - input url (string)\n - __slashesDenoteHost__ - if url starts with `//`, expect a hostname after it. Optional, `false`.\n\nResult (hash):\n\n- protocol\n- slashes\n- auth\n- port\n- hostname\n- hash\n- search\n- pathname\n\nDifference with node's `url`:\n\n1. No leading slash in paths, e.g. in `url.parse('http://foo?bar')` pathname is\n   ``, not `/`\n2. Backslashes are not replaced with slashes, so `http:\\\\example.org\\` is\n   treated like a relative path\n3. Trailing colon is treated like a part of the path, i.e. in\n   `http://example.org:foo` pathname is `:foo`\n4. Nothing is URL-encoded in the resulting object, (in joyent/node some chars\n   in auth and paths are encoded)\n5. `url.parse()` does not have `parseQueryString` argument\n6. Removed extraneous result properties: `host`, `path`, `query`, etc.,\n   which can be constructed using other parts of the url.\n\n\n### .format(urlObject)\n\nFormat an object previously obtained with `.parse()` function. Similar to node's\n[url.format](http://nodejs.org/api/url.html#url_url_format_urlobj).\n\n\n## License\n\n[MIT](https://github.com/markdown-it/mdurl/blob/master/LICENSE)\n","readmeFilename":"README.md","users":{}}