{"_id":"rehype-external-links","_rev":"8-0091f728ae8bf81f7950b775f9ed2caf","name":"rehype-external-links","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"rehype-external-links","version":"1.0.0","description":"rehype plugin to automatically add `target` and `rel` attributes to external links","license":"MIT","keywords":["unified","rehype","rehype-plugin","plugin","hast","html","markdown","external","link","url"],"repository":{"type":"git","url":"git+https://github.com/rehypejs/rehype-external-links.git"},"bugs":{"url":"https://github.com/rehypejs/rehype-external-links/issues"},"funding":{"type":"opencollective","url":"https://opencollective.com/unified"},"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"sideEffects":false,"type":"module","main":"index.js","types":"index.d.ts","dependencies":{"@types/hast":"^2.0.0","extend":"^3.0.0","is-absolute-url":"^4.0.0","space-separated-tokens":"^2.0.0","unified":"^10.0.0","unist-util-visit":"^4.0.0"},"devDependencies":{"@types/tape":"^4.0.0","c8":"^7.0.0","prettier":"^2.0.0","rehype":"^12.0.0","remark-cli":"^10.0.0","remark-preset-wooorm":"^9.0.0","rimraf":"^3.0.0","tape":"^5.0.0","type-coverage":"^2.0.0","typescript":"^4.0.0","xo":"^0.44.0"},"scripts":{"build":"rimraf \"*.d.ts\" && tsc && type-coverage","format":"remark . -qfo && prettier . -w --loglevel warn && xo --fix","test-api":"node --conditions development test.js","test-coverage":"c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api","test":"npm run build && npm run format && npm run test-coverage"},"prettier":{"tabWidth":2,"useTabs":false,"singleQuote":true,"bracketSpacing":false,"semi":false,"trailingComma":"none"},"xo":{"prettier":true},"remarkConfig":{"plugins":["preset-wooorm"]},"typeCoverage":{"atLeast":100,"detail":true,"strict":true,"ignoreCatch":true},"gitHead":"ae637bebd5ed30a1f931cb522b87e58a728da2f2","homepage":"https://github.com/rehypejs/rehype-external-links#readme","_id":"rehype-external-links@1.0.0","_nodeVersion":"16.6.1","_npmVersion":"7.20.3","dist":{"integrity":"sha512-IHXDsz2ZSseOc2TYNqH9zWOfCeb0UAwdwMuGvQCvoxMyUNU7IC1KZ94zllAqaV1O1rnXPt8nLQWtyMNPZ0HEkw==","shasum":"f8ade4e91c20123a3ce71b7d6cf80e2c2920eb9d","tarball":"https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-1.0.0.tgz","fileCount":5,"unpackedSize":13026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGluHCRA9TVsSAnZWagAAJLAQAI0rreM4A82B2Vwxg5CH\nycFenDtTMCgpPfqfB74Ue07mkX8FQYSJGhlnXhzXb7sS3wHb9jQVPNEcHtDg\njeRZxPByEoCiOEydn0OngfMOMrQ5n50YMWe/6YNyurDqMf5qTqB2tLlitvQU\nP/orWUakzM+CImYwo3r6pPTTAhc//y2D/0Bua9xQQzOR9lNlDpho1fJyCSEH\ntAQ1FMGZVev661w82gpPEBkYaA+jxAg2+P/6SshOI2waUzNZbp0ZmJGd9upg\nLpb8d7/YBzssHxHkZCja/QUUlznYwmlYNEN52gKOmQ1Zz4IY0GYBXr97chQN\nB0dfog846ub7ZUTeuZe8vaUSmY/Ps7eLGKWV3gs9xFWYqI6T1vQXeIt9crGV\nssAbNlNQT26IBHvTGeD3rEQHJiQ2gjFuVWlfPxMpJqbcPdk9o//xxgckzgC4\nbhB5g3zJyad3UPSgwylOP7FIQcCZQYBecPUh2ZCippD1NSfRFg94D5llmaQF\nAKcco8uhjCxvxiqddoiOps2c/IinJAv8XoW6IJe2xtGR+hf3dO0lFDb7feDK\nOl6JgicW9w6bBlPxrmAJztSrzIBzW+eO+nprRv1435rZ6yl4K0SOYRcjsulx\nkgxBav+1psR4ldDwei0Yrb3Jn5TExq6UB1R2er81r3dO0BawFomluymdNGSm\n79eQ\r\n=HoXG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFXpDDfmSNGczjOjc93bdf+CYeqK7HmTvT8ocd1LAC5AiEAolmf5mHGnygSh4ETWRcyv6M7u1Ra/37bLwiUdwByJdo="}]},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"directories":{},"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rehype-external-links_1.0.0_1629117319475_0.8982509112720665"},"_hasShrinkwrap":false},"1.0.1":{"name":"rehype-external-links","version":"1.0.1","description":"rehype plugin to automatically add `target` and `rel` attributes to external links","license":"MIT","keywords":["unified","rehype","rehype-plugin","plugin","hast","html","markdown","external","link","url"],"repository":{"type":"git","url":"git+https://github.com/rehypejs/rehype-external-links.git"},"bugs":{"url":"https://github.com/rehypejs/rehype-external-links/issues"},"funding":{"type":"opencollective","url":"https://opencollective.com/unified"},"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"sideEffects":false,"type":"module","main":"index.js","types":"index.d.ts","dependencies":{"@types/hast":"^2.0.0","extend":"^3.0.0","is-absolute-url":"^4.0.0","space-separated-tokens":"^2.0.0","unified":"^10.0.0","unist-util-visit":"^4.0.0"},"devDependencies":{"@types/tape":"^4.0.0","c8":"^7.0.0","prettier":"^2.0.0","rehype":"^12.0.0","remark-cli":"^10.0.0","remark-preset-wooorm":"^9.0.0","rimraf":"^3.0.0","tape":"^5.0.0","type-coverage":"^2.0.0","typescript":"^4.0.0","xo":"^0.47.0"},"scripts":{"build":"rimraf \"*.d.ts\" && tsc && type-coverage","format":"remark . -qfo && prettier . -w --loglevel warn && xo --fix","test-api":"node --conditions development test.js","test-coverage":"c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api","test":"npm run build && npm run format && npm run test-coverage"},"prettier":{"tabWidth":2,"useTabs":false,"singleQuote":true,"bracketSpacing":false,"semi":false,"trailingComma":"none"},"xo":{"prettier":true},"remarkConfig":{"plugins":["preset-wooorm"]},"typeCoverage":{"atLeast":100,"detail":true,"strict":true,"ignoreCatch":true},"gitHead":"9bf470fcc94a04283146fb5684a811c1598ca9d1","homepage":"https://github.com/rehypejs/rehype-external-links#readme","_id":"rehype-external-links@1.0.1","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-SrMMtIO2tPLWDfvibhECAn9cuEMW6Fi40ZVK2UQSPTnDEv3LraLzGVyKGb/vrDlUy4RCYTcmm0rq/ss9nPqrsw==","shasum":"9e5d21c606b04d8098012e2d3c811919762d0ba2","tarball":"https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-1.0.1.tgz","fileCount":5,"unpackedSize":15559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhygX1CRA9TVsSAnZWagAAh7sP/00P+I7ezhEzEIfjB4Tw\nnNHSs0uaJofed8VlEID1vIW+dgIcqrYO1uT3rqKUEfb2KH8ngJIMKnaoxyQv\nNdzmHlBV17tTOJKV/O4+5NRUvQVJn25x+tolveiKbQuwkV6vAWbjCMY+Lm+s\napO2vnClUi7kK9KayEijDvNmATye/xwnysDtpmmw7JS0BgtF6v1OeGMCoiJj\nUVsTMArXCk986vOuk0b/K8tDkS47mILJDvAJHt76IAS3O4DnZytjwdP+Fhyn\nqqlAXNLCdvv9+FL7W4IiUuuWFlaIfCbn9+2UVxvxCOW7oBxsmdAc5Z19QyL2\naP+vmeHNbSrF31vt4otnIRGRziI2OvI0Q0mxwkjmX4+FyKbD9wyqSv1VP7Db\nzz0dVGYpGYzdvKz6rpwh6NwBWUtiB0FEKds3PQ4cnN4N07Y59GhwobHw3JSA\nwTZ3UaCdIBKrlW4igV2aFV2nye/kP9AHiLh7mNSWKFYH7K5KItxXmD83sHCS\n23mW6E1tqmjMR0XhBfXSdEBcgtb7H8rG/KIE4Aqhgv4wverC1p6BEILQPaVz\nb07JawjwxkNITCONbxwsz5haM0G9ySR7hgBQJLtCS16ZI/9TyC2yFHQfLR63\nPqjCy/REZq+LoV7LSScovhVdsWnavh/ycrV61r5G9NEVS3tizjE6hxYHmA65\nBd31\r\n=nUH2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYo8ykln6H5B9hlGxdXHVM2vhJR6NyhJ5c/zAMzB/w2gIhAKRDq+4HcryYTrLk5bBEf7TYa/1OgA35/Ovivzym6cz9"}]},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"directories":{},"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"},{"name":"kmck","email":"keith@mcknig.ht"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rehype-external-links_1.0.1_1640629749660_0.10758779064734014"},"_hasShrinkwrap":false},"2.0.0":{"name":"rehype-external-links","version":"2.0.0","description":"rehype plugin to automatically add `target` and `rel` attributes to external links","license":"MIT","keywords":["unified","rehype","rehype-plugin","plugin","hast","html","markdown","external","link","url"],"repository":{"type":"git","url":"git+https://github.com/rehypejs/rehype-external-links.git"},"bugs":{"url":"https://github.com/rehypejs/rehype-external-links/issues"},"funding":{"type":"opencollective","url":"https://opencollective.com/unified"},"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"sideEffects":false,"type":"module","main":"index.js","types":"index.d.ts","dependencies":{"@types/hast":"^2.0.0","extend":"^3.0.0","is-absolute-url":"^4.0.0","space-separated-tokens":"^2.0.0","unified":"^10.0.0","unist-util-visit":"^4.0.0"},"devDependencies":{"@types/tape":"^4.0.0","c8":"^7.0.0","prettier":"^2.0.0","rehype":"^12.0.0","remark-cli":"^11.0.0","remark-preset-wooorm":"^9.0.0","rimraf":"^3.0.0","tape":"^5.0.0","type-coverage":"^2.0.0","typescript":"^4.0.0","xo":"^0.51.0"},"scripts":{"build":"rimraf \"*.d.ts\" && tsc && type-coverage","format":"remark . -qfo && prettier . -w --loglevel warn && xo --fix","test-api":"node --conditions development test.js","test-coverage":"c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api","test":"npm run build && npm run format && npm run test-coverage"},"prettier":{"tabWidth":2,"useTabs":false,"singleQuote":true,"bracketSpacing":false,"semi":false,"trailingComma":"none"},"xo":{"prettier":true},"remarkConfig":{"plugins":["preset-wooorm"]},"typeCoverage":{"atLeast":100,"detail":true,"strict":true,"ignoreCatch":true},"gitHead":"eafd7c2e02332c92d87399f809c779d995494378","homepage":"https://github.com/rehypejs/rehype-external-links#readme","_id":"rehype-external-links@2.0.0","_nodeVersion":"18.2.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-Nhq4Wq2TpNdZ1rYec0LThCOoVLkIz5CLhDSo7k4nFhhlwE5vYcRleAM92ozZx6CcWTvzalLCpxq4PQLMucI1Vw==","shasum":"594d7a8727f04758d2e760752ee29d964d44def3","tarball":"https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-2.0.0.tgz","fileCount":5,"unpackedSize":18711,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzonhI3+nA83zv2UI/VPiovBY7ofhkAuMjKu2fKysrxgIhAIaS/OE4I0EVSqEXLuwd1S+Cq/e5NXEQNe3rVyPCRtqN"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2Yc3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrmcQ//ckTYv1jfmqUW3Yw7HXUe5qfMlsUxcyUbU72F68+jp1vOqNmX\r\nXyVJUbg3IWK8yzAXFdaEPn4Q0m8/SYQItSdGeNAedktQrVG4Au/wiDM5bkXg\r\nRIQJTgoY27fS4wT14eWTmZgr77Q5j+vqTyDorMIrcGslv6IFP+vwXwX/6KVx\r\nHhOassqh2inRmrjUg2iDqkb5aP3ORDVyOuWKFzcu7fn+l9JVWo0yCMe/DD4R\r\nAfAFttI0Q+hprvoXW6qYG0uThl2ndqIG/G4OtTH54k6cj6beWP4oMqKhV8dC\r\nVuwQxqWsHQ1ud0eryoxjcmpMkXDU6a32Mn23bceH41EkGEOvw6Szq63zrZHP\r\noWXD6S+ufH2XeVn7iS+0i7WsL8c8Uc28gQNKCwkOExfAX2m+wVxKQzarOqvS\r\nVXWy9T3Mvg5Mm7TCHUs4aOwc1H7etLqqkGjjUYuxtpZ3UEC2LSBqNo7D3fCa\r\ndn+gUm7eBLZNNa3+mqNJDk4NpaxcR4H9rThL8r9nExJuwzZn5uc79ejVl9f8\r\n4czzB22K/Wd5aAURbZoB7kK8lZkFhSg2uQTASah7w/ycyzumLSSn5+cyT9Uq\r\nEg0l3Y2mQT0nCg9xi2LxlhPvHhz1EpiONeGVE99tMDfRcLjpn2JzB6XTBmBa\r\ns6Bm4ixA9fnzi2wqz6C9WzxHCGJjk3SnIh4=\r\n=yhp4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"directories":{},"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"},{"name":"kmck","email":"keith@mcknig.ht"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rehype-external-links_2.0.0_1658423094837_0.20311796799566761"},"_hasShrinkwrap":false},"2.0.1":{"name":"rehype-external-links","version":"2.0.1","description":"rehype plugin to automatically add `target` and `rel` attributes to external links","license":"MIT","keywords":["unified","rehype","rehype-plugin","plugin","hast","html","markdown","external","link","url"],"repository":{"type":"git","url":"git+https://github.com/rehypejs/rehype-external-links.git"},"bugs":{"url":"https://github.com/rehypejs/rehype-external-links/issues"},"funding":{"type":"opencollective","url":"https://opencollective.com/unified"},"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"sideEffects":false,"type":"module","main":"index.js","types":"index.d.ts","dependencies":{"@types/hast":"^2.0.0","extend":"^3.0.0","is-absolute-url":"^4.0.0","space-separated-tokens":"^2.0.0","unified":"^10.0.0","unist-util-visit":"^4.0.0"},"devDependencies":{"@types/tape":"^4.0.0","c8":"^7.0.0","prettier":"^2.0.0","rehype":"^12.0.0","remark-cli":"^11.0.0","remark-preset-wooorm":"^9.0.0","rimraf":"^3.0.0","tape":"^5.0.0","type-coverage":"^2.0.0","typescript":"^4.0.0","xo":"^0.51.0"},"scripts":{"build":"rimraf \"*.d.ts\" && tsc && type-coverage","format":"remark . -qfo && prettier . -w --loglevel warn && xo --fix","test-api":"node --conditions development test.js","test-coverage":"c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api","test":"npm run build && npm run format && npm run test-coverage"},"prettier":{"tabWidth":2,"useTabs":false,"singleQuote":true,"bracketSpacing":false,"semi":false,"trailingComma":"none"},"xo":{"prettier":true},"remarkConfig":{"plugins":["preset-wooorm"]},"typeCoverage":{"atLeast":100,"detail":true,"strict":true,"ignoreCatch":true},"gitHead":"2fab32f562f63331d4900aa55baf1992ca6c1211","homepage":"https://github.com/rehypejs/rehype-external-links#readme","_id":"rehype-external-links@2.0.1","_nodeVersion":"18.2.0","_npmVersion":"8.13.2","dist":{"integrity":"sha512-u2dNypma+ps12SJWlS23zvbqwNx0Hl24t0YHXSM/6FCZj/pqWETCO3WyyrvALv4JYvRtuPjhiv2Lpen15ESqbA==","shasum":"fe54f9f227a1a2f8f6afe442ac4c9ee748f08756","tarball":"https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-2.0.1.tgz","fileCount":5,"unpackedSize":18787,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjLJ7+YgFLsNa/oRQyqnWB8C9y2h3llDODdRAhoPuxzgIhAKbSbNHtbQBmZIF4TlduHLZGnnJHuA8RJaWybLbd5+Ml"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBSa7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZUw/+KYA3qgwyzj196upqqa1G8oIbhJip2BXeIUh8tjbsj/stvAhI\r\nL9c1RvOpKH0okWqjpa4WUqUb+Q0GublHsFTxN9b/z2V71zjhV3kqy4SvMUl3\r\n1l9h24Rkv6oLb1KTF2wvQ2ogaLy+e7VYOyi7UQxv4sFi3evZIJV78k8U1AuU\r\ntLmdn0kmxLDvgjn7QQhuWqsuuTH+B4LstUsur/AVBmR2OvUEYX36+pecALdu\r\ngyNm5wcFCIAgrAR+3v88GFd7CX8e4TepTtF5mH4pbMxJ6sGOiPJnJWfASwJ5\r\n/+OkoTH3YSasQjM0lFMkzMpkI286V/4Kx/UE8NFLy2+EZnKpwNh5HbXZ3FJL\r\nKzX8Rv1wmFJFBhFE529pFJ7/+TpJNxKEFwrOUWUhyegiKuCvi7QEI0HkjRY8\r\nUOwrnPR6H3qFwGTiX+e09eiAMjBZZIt7CNgR12kdH22TMMguleAPQl5OyTCe\r\n+Sn24yuIeYsQhVCrUul5k0Sk23kysISN9pMulvHARlmTj3i8TSgtaJ3BtNJf\r\nCrZmtk+Jl6kGO25BSe/RfwRSNdaLOEsWOcH6/vYuxJgAt0SGc4AmrrclUUXa\r\n7jdvgxtoWBewKDMtwKqpqKQ29+VUNAHPjQY63iFhZZH8nsL849BgZN6e7DQn\r\ntcYp00kbw3hAo5uJyJt3IJQErEQWRcy1Fo4=\r\n=g9ss\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"directories":{},"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"},{"name":"kmck","email":"keith@mcknig.ht"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rehype-external-links_2.0.1_1661281979554_0.23518551938251075"},"_hasShrinkwrap":false},"2.1.0":{"name":"rehype-external-links","version":"2.1.0","description":"rehype plugin to automatically add `target` and `rel` attributes to external links","license":"MIT","keywords":["unified","rehype","rehype-plugin","plugin","hast","html","markdown","external","link","url"],"repository":{"type":"git","url":"git+https://github.com/rehypejs/rehype-external-links.git"},"bugs":{"url":"https://github.com/rehypejs/rehype-external-links/issues"},"funding":{"type":"opencollective","url":"https://opencollective.com/unified"},"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"sideEffects":false,"type":"module","main":"index.js","types":"index.d.ts","dependencies":{"@types/hast":"^2.0.0","extend":"^3.0.0","hast-util-is-element":"^2.0.0","is-absolute-url":"^4.0.0","space-separated-tokens":"^2.0.0","unified":"^10.0.0","unist-util-visit":"^4.0.0"},"devDependencies":{"@types/tape":"^4.0.0","c8":"^7.0.0","prettier":"^2.0.0","rehype":"^12.0.0","remark-cli":"^11.0.0","remark-preset-wooorm":"^9.0.0","rimraf":"^3.0.0","tape":"^5.0.0","type-coverage":"^2.0.0","typescript":"^5.0.0","xo":"^0.54.0"},"scripts":{"build":"rimraf \"*.d.ts\" && tsc && type-coverage","format":"remark . -qfo && prettier . -w --loglevel warn && xo --fix","test-api":"node --conditions development test.js","test-coverage":"c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov npm run test-api","test":"npm run build && npm run format && npm run test-coverage"},"prettier":{"tabWidth":2,"useTabs":false,"singleQuote":true,"bracketSpacing":false,"semi":false,"trailingComma":"none"},"xo":{"prettier":true},"remarkConfig":{"plugins":["preset-wooorm"]},"typeCoverage":{"atLeast":100,"detail":true,"strict":true,"ignoreCatch":true},"gitHead":"e489b7341f12369a571a1a17edd4289565dbbd56","homepage":"https://github.com/rehypejs/rehype-external-links#readme","_id":"rehype-external-links@2.1.0","_nodeVersion":"20.0.0","_npmVersion":"9.6.4","dist":{"integrity":"sha512-2YMJZVM1hxZnwl9IPkbN5Pjn78kXkAX7lq9VEtlaGA29qIls25vZN+ucNIJdbQUe+9NNFck17BiOhGmsD6oLIg==","shasum":"e13a2f16c3629b569baea842515b7e200f62f512","tarball":"https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-2.1.0.tgz","fileCount":5,"unpackedSize":19868,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNErsQaKAky667IIHjShu33ZRPx1BCE3dAj/3KbD7THwIhANbZzfo0QalunVKkJ6/efdwapcFCDnmolYU8BypEskpv"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkU7BAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpROA/9HMuwXjiux9NasoWvu4Bnmhy3OOQIxUwO17z5UeQJPzf3R1Gu\r\nx34i3te05pgNrdQYJFh1jNwPpVivJ160ZOV/D+beCGLUphQDfunwdd9jVb2s\r\nGHXmZzTrd2O4kMRH0XR6s6+VfN4/RIOsBf1o26O+eBOixs+knSgfDzUeKD1X\r\nj5YVhaVKFp7dIcfsxoYapBVVX4404cwuxYqqe3Qwt6IoyDNdwQhiDQbed5ak\r\njQd1Eh/H37TpV92xR+dr+UUrQJnfiXzdMipcy1yiD+3H6A4Snw1tJ8Dm1XaD\r\nk1kyQVzZPgRwkaRBtP+acbUoKLIfJ27rb+5LYLEb2bMiSO/21foZpvp6kZo0\r\nQ4Fkb1Cmthvp4Dwn59isj1mn+nEHQLzH7a77urks+lqzItT0p6Oi9Y+kB5vT\r\n0YxKnNw+2DbBG/aTtXxNO4S00x3yhblokNki5+LYNjOmhLU09AAPOYvNqIdu\r\n3RosDPZZS4rZTSIWbK0sU5fATmaiZ4Gp4QVblKYSA2GiNGomqDpf3jmhrMJz\r\nx/IuF9mj9Rj281jMHSqyXi2VetEuxhxEzNdQc7mAkGWY7j4uEJU522L5VscK\r\nyMgxHWJ6n2uBMiRI56zARfMlLjuqhgLhRg0D0Gp5Yz5gMqRLofm9ufgT/Ma8\r\nD5HwqCyU/UGPBxU4HX1VNOCoqLdVzdT/eOM=\r\n=icn7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"directories":{},"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"},{"name":"kmck","email":"keith@mcknig.ht"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rehype-external-links_2.1.0_1683206208540_0.9749910957877912"},"_hasShrinkwrap":false},"3.0.0":{"name":"rehype-external-links","version":"3.0.0","description":"rehype plugin to automatically add `target` and `rel` attributes to external links","license":"MIT","keywords":["unified","rehype","rehype-plugin","plugin","hast","html","markdown","external","link","url"],"repository":{"type":"git","url":"git+https://github.com/rehypejs/rehype-external-links.git"},"bugs":{"url":"https://github.com/rehypejs/rehype-external-links/issues"},"funding":{"type":"opencollective","url":"https://opencollective.com/unified"},"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"sideEffects":false,"type":"module","exports":"./index.js","dependencies":{"@types/hast":"^3.0.0","@ungap/structured-clone":"^1.0.0","hast-util-is-element":"^3.0.0","is-absolute-url":"^4.0.0","space-separated-tokens":"^2.0.0","unist-util-visit":"^5.0.0"},"devDependencies":{"@types/node":"^20.0.0","@types/ungap__structured-clone":"^0.3.0","c8":"^8.0.0","prettier":"^3.0.0","rehype":"^13.0.0","remark-cli":"^11.0.0","remark-preset-wooorm":"^9.0.0","type-coverage":"^2.0.0","typescript":"^5.0.0","xo":"^0.56.0"},"scripts":{"build":"tsc --build --clean && tsc --build && type-coverage","format":"remark . --frail --output --quiet && prettier . --log-level warn --write && xo --fix","prepack":"npm run build && npm run format","test":"npm run build && npm run format && npm run test-coverage","test-api":"node --conditions development test.js","test-coverage":"c8 --100 --check-coverage --reporter lcov npm run test-api"},"prettier":{"bracketSpacing":false,"singleQuote":true,"semi":false,"tabWidth":2,"trailingComma":"none","useTabs":false},"remarkConfig":{"plugins":["remark-preset-wooorm"]},"typeCoverage":{"atLeast":100,"detail":true,"ignoreCatch":true,"strict":true},"xo":{"prettier":true},"_id":"rehype-external-links@3.0.0","gitHead":"b0ada86b178e135d55368ffa47b915db17219716","types":"./index.d.ts","homepage":"https://github.com/rehypejs/rehype-external-links#readme","_nodeVersion":"20.5.1","_npmVersion":"9.8.0","dist":{"integrity":"sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==","shasum":"2b28b5cda1932f83f045b6f80a3e1b15f168c6f6","tarball":"https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz","fileCount":7,"unpackedSize":23309,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDI4ce+w7tXhr2RfYqnqO64Eup+EwwsP/GGBhOWUUxAPQIgfWi77F6TooX13rmVZLfmxDUsPr2MGbGUYLt7I0lNYGM="}]},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"directories":{},"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"},{"name":"kmck","email":"keith@mcknig.ht"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rehype-external-links_3.0.0_1693753248446_0.09735887833334589"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-16T12:35:19.474Z","1.0.0":"2021-08-16T12:35:19.599Z","modified":"2023-11-20T10:43:45.282Z","1.0.1":"2021-12-27T18:29:09.851Z","2.0.0":"2022-07-21T17:04:55.052Z","2.0.1":"2022-08-23T19:12:59.741Z","2.1.0":"2023-05-04T13:16:48.731Z","3.0.0":"2023-09-03T15:00:48.705Z"},"maintainers":[{"email":"remcohaszing@gmail.com","name":"remcohaszing"},{"email":"tituswormer@gmail.com","name":"wooorm"},{"email":"keith@mcknig.ht","name":"kmck"}],"description":"rehype plugin to automatically add `target` and `rel` attributes to external links","homepage":"https://github.com/rehypejs/rehype-external-links#readme","keywords":["unified","rehype","rehype-plugin","plugin","hast","html","markdown","external","link","url"],"repository":{"type":"git","url":"git+https://github.com/rehypejs/rehype-external-links.git"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"bugs":{"url":"https://github.com/rehypejs/rehype-external-links/issues"},"license":"MIT","readme":"# rehype-external-links\n\n[![Build][build-badge]][build]\n[![Coverage][coverage-badge]][coverage]\n[![Downloads][downloads-badge]][downloads]\n[![Size][size-badge]][size]\n[![Sponsors][sponsors-badge]][collective]\n[![Backers][backers-badge]][collective]\n[![Chat][chat-badge]][chat]\n\n**[rehype][]** plugin to add `rel` (and `target`) to external links.\n\n## Contents\n\n*   [What is this?](#what-is-this)\n*   [When should I use this?](#when-should-i-use-this)\n*   [Install](#install)\n*   [Use](#use)\n*   [API](#api)\n    *   [`unified().use(rehypeExternalLinks[, options])`](#unifieduserehypeexternallinks-options)\n    *   [`CreateContent`](#createcontent)\n    *   [`CreateProperties`](#createproperties)\n    *   [`CreateRel`](#createrel)\n    *   [`CreateTarget`](#createtarget)\n    *   [`Options`](#options)\n    *   [`Target`](#target)\n*   [Types](#types)\n*   [Compatibility](#compatibility)\n*   [Security](#security)\n*   [Contribute](#contribute)\n*   [License](#license)\n\n## What is this?\n\nThis package is a [unified][] ([rehype][]) plugin to add `rel` (and `target`)\nattributes to external links.\nIt is particularly useful when displaying user content on your reputable site,\nbecause users could link to disreputable sources (spam, scams, etc), as search\nengines and other bots will discredit your site for linking to them (or\nlegitimize their sites).\nIn short: linking to something signals trust, but you can’t trust users.\nThis plugin adds certain `rel` attributes to prevent that from happening.\n\n**unified** is a project that transforms content with abstract syntax trees\n(ASTs).\n**rehype** adds support for HTML to unified.\n**hast** is the HTML AST that rehype uses.\nThis is a rehype plugin that adds `rel` (and `target`) to `<a>`s in the AST.\n\n## When should I use this?\n\nThis project is useful when you want to display user content from authors you\ndon’t trust (such as comments), as they might include links you don’t endorse,\non your website.\n\n## Install\n\nThis package is [ESM only][esm].\nIn Node.js (version 16+), install with [npm][]:\n\n```sh\nnpm install rehype-external-links\n```\n\nIn Deno with [`esm.sh`][esmsh]:\n\n```js\nimport rehypeExternalLinks from 'https://esm.sh/rehype-external-links@3'\n```\n\nIn browsers with [`esm.sh`][esmsh]:\n\n```html\n<script type=\"module\">\n  import rehypeExternalLinks from 'https://esm.sh/rehype-external-links@3?bundle'\n</script>\n```\n\n## Use\n\nSay our module `example.js` contains:\n\n```js\nimport rehypeExternalLinks from 'rehype-external-links'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport rehypeStringify from 'rehype-stringify'\nimport {unified} from 'unified'\n\nconst file = await unified()\n  .use(remarkParse)\n  .use(remarkRehype)\n  .use(rehypeExternalLinks, {rel: ['nofollow']})\n  .use(rehypeStringify)\n  .process('[rehype](https://github.com/rehypejs/rehype)')\n\nconsole.log(String(file))\n```\n\n…then running `node example.js` yields:\n\n```html\n<p><a href=\"https://github.com/rehypejs/rehype\" rel=\"nofollow\">rehype</a></p>\n```\n\n## API\n\nThis package exports no identifiers.\nThe default export is [`rehypeExternalLinks`][api-rehype-external-links].\n\n### `unified().use(rehypeExternalLinks[, options])`\n\nAutomatically add `rel` (and `target`?) to external links.\n\n###### Parameters\n\n*   `options` ([`Options`][api-options], optional)\n    — configuration\n\n###### Returns\n\nTransform ([`Transformer`][unified-transformer]).\n\n###### Notes\n\nYou should [likely not configure `target`][css-tricks].\n\nYou should at least set `rel` to `['nofollow']`.\nWhen using a `target`, add `noopener` and `noreferrer` to avoid exploitation\nof the `window.opener` API.\n\nWhen using a `target`, you should set `content` to adhere to accessibility\nguidelines by [giving users advanced warning when opening a new window][g201].\n\n### `CreateContent`\n\nCreate a target for the element (TypeScript type).\n\n###### Parameters\n\n*   `element` ([`Element`][hast-element])\n    — element to check\n\n###### Returns\n\nContent to add (`Array<Node>` or `Node`, optional).\n\n### `CreateProperties`\n\nCreate properties for an element (TypeScript type).\n\n###### Parameters\n\n*   `element` ([`Element`][hast-element])\n    — element to check\n\n###### Returns\n\nProperties to add ([`Properties`][hast-properties], optional).\n\n### `CreateRel`\n\nCreate a `rel` for the element (TypeScript type).\n\n###### Parameters\n\n*   `element` ([`Element`][hast-element])\n    — element to check\n\n###### Returns\n\n`rel` to use (`Array<string>`, optional).\n\n### `CreateTarget`\n\nCreate a `target` for the element (TypeScript type).\n\n###### Parameters\n\n*   `element` ([`Element`][hast-element])\n    — element to check\n\n###### Returns\n\n`target` to use ([`Target`][api-target], optional).\n\n### `Options`\n\nConfiguration (TypeScript type).\n\n###### Fields\n\n*   `content` (`Array<Node>`, [`CreateContent`][api-create-content], or `Node`,\n    optional)\n    — content to insert at the end of external links; will be inserted in a\n    `<span>` element; useful for improving accessibility by giving users\n    advanced warning when opening a new window\n*   `contentProperties` ([`CreateProperties`][api-create-properties] or\n    [`Properties`][hast-properties], optional)\n    — properties to add to the `span` wrapping `content`\n*   `properties` ([`CreateProperties`][api-create-properties] or\n    [`Properties`][hast-properties], optional)\n    — properties to add to the link itself\n*   `protocols` (`Array<string>`, default: `['http', 'https']`)\n    — protocols to see as external, such as `mailto` or `tel`\n*   `rel` (`Array<string>`, [`CreateRel`][api-create-rel], or `string`,\n    default: `['nofollow']`)\n    — [link types][mdn-rel] to hint about the referenced documents; pass an\n    empty array (`[]`) to not set `rel`s on links; when using a `target`, add `noopener`\n    and `noreferrer` to avoid exploitation of the `window.opener` API\n*   `target` ([`CreateTarget`][api-create-target] or [`Target`][api-target],\n    optional)\n    — how to display referenced documents; the default (nothing) is to not set\n    `target`s on links\n*   `test` ([`Test`][is-test], optional)\n    — extra test to define which external link elements are modified; any test\n    that can be given to `hast-util-is-element` is supported\n\n### `Target`\n\nTarget (TypeScript type).\n\n###### Type\n\n```ts\ntype Target = '_blank' | '_parent' | '_self' | '_top'\n```\n\n## Types\n\nThis package is fully typed with [TypeScript][].\nIt exports the additional types\n[`CreateContent`][api-create-content],\n[`CreateProperties`][api-create-properties],\n[`CreateRel`][api-create-rel],\n[`CreateTarget`][api-create-target],\n[`Options`][api-options], and\n[`Target`][api-target].\n\n## Compatibility\n\nProjects maintained by the unified collective are compatible with maintained\nversions of Node.js.\n\nWhen we cut a new major release, we drop support for unmaintained versions of\nNode.\nThis means we try to keep the current release line, `rehype-external-links@^3`,\ncompatible with Node.js 16.\n\nThis plugin works with `rehype-parse` version 3+, `rehype-stringify` version 3+,\n`rehype` version 4+, and `unified` version 6+.\n\n## Security\n\nImproper use of `rehype-external-links` can open you up to a\n[cross-site scripting (XSS)][xss] attack.\n\nEither do not combine this plugin with user content or use\n[`rehype-sanitize`][rehype-sanitize].\n\n## Contribute\n\nSee [`contributing.md`][contributing] in [`rehypejs/.github`][health] for ways\nto get started.\nSee [`support.md`][support] for ways to get help.\n\nThis project has a [code of conduct][coc].\nBy interacting with this repository, organization, or community you agree to\nabide by its terms.\n\n## License\n\n[MIT][license] © [Titus Wormer][author]\n\n<!-- Definitions -->\n\n[build-badge]: https://github.com/rehypejs/rehype-external-links/workflows/main/badge.svg\n\n[build]: https://github.com/rehypejs/rehype-external-links/actions\n\n[coverage-badge]: https://img.shields.io/codecov/c/github/rehypejs/rehype-external-links.svg\n\n[coverage]: https://codecov.io/github/rehypejs/rehype-external-links\n\n[downloads-badge]: https://img.shields.io/npm/dm/rehype-external-links.svg\n\n[downloads]: https://www.npmjs.com/package/rehype-external-links\n\n[size-badge]: https://img.shields.io/bundlejs/size/rehype-external-links\n\n[size]: https://bundlejs.com/?q=rehype-external-links\n\n[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg\n\n[backers-badge]: https://opencollective.com/unified/backers/badge.svg\n\n[collective]: https://opencollective.com/unified\n\n[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg\n\n[chat]: https://github.com/rehypejs/rehype/discussions\n\n[npm]: https://docs.npmjs.com/cli/install\n\n[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c\n\n[esmsh]: https://esm.sh\n\n[health]: https://github.com/rehypejs/.github\n\n[contributing]: https://github.com/rehypejs/.github/blob/HEAD/contributing.md\n\n[support]: https://github.com/rehypejs/.github/blob/HEAD/support.md\n\n[coc]: https://github.com/rehypejs/.github/blob/HEAD/code-of-conduct.md\n\n[license]: license\n\n[author]: https://wooorm.com\n\n[hast-properties]: https://github.com/syntax-tree/hast#properties\n\n[is-test]: https://github.com/syntax-tree/hast-util-is-element#test\n\n[mdn-rel]: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n\n[rehype]: https://github.com/rehypejs/rehype\n\n[rehype-sanitize]: https://github.com/rehypejs/rehype-sanitize\n\n[typescript]: https://www.typescriptlang.org\n\n[unified]: https://github.com/unifiedjs/unified\n\n[unified-transformer]: https://github.com/unifiedjs/unified#transformer\n\n[xss]: https://en.wikipedia.org/wiki/Cross-site_scripting\n\n[hast-element]: https://github.com/syntax-tree/hast#element\n\n[g201]: https://www.w3.org/WAI/WCAG21/Techniques/general/G201\n\n[css-tricks]: https://css-tricks.com/use-target_blank/\n\n[api-create-content]: #createcontent\n\n[api-create-properties]: #createproperties\n\n[api-create-rel]: #createrel\n\n[api-create-target]: #createtarget\n\n[api-options]: #options\n\n[api-target]: #target\n\n[api-rehype-external-links]: #unifieduserehypeexternallinks-options\n","readmeFilename":"readme.md"}