{"_id":"ngx-remark","_rev":"26-630375c07197b0fcf8fbbb87af5205ba","name":"ngx-remark","dist-tags":{"ng-14":"0.0.4-ng14","latest":"0.2.2"},"versions":{"0.0.1":{"name":"ngx-remark","version":"0.0.1","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.1","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"fbad0c5b07329a04e72c8660473ba53c5b7fb26f","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.1.tgz","fileCount":21,"integrity":"sha512-9VG8cSQ4vzya10w7p40r+Ps3JD771QS3MgC4kbWdQMIGn1FVP6JClyHDzZAV8G9dBDZ6wx/z3Zsx8WtAeVSniQ==","signatures":[{"sig":"MEUCIBCk2vvlSBN7puamFrzulct2uoE1w4zjtpZLrSol4SIdAiEA/h7g9qIqDeYJl/5qKYbY39+hPSD5oRNGPR16ju4/7UM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76468},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"9d21c53027d86d703292ceac34a2d12a75477704","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^16.1.0","@angular/common":"^16.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.1_1689669536736_0.4112681603740673","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"ngx-remark","version":"0.0.2","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.2","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"9391bfe31c86f97c49f7478c815b863a2cef07eb","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.2.tgz","fileCount":21,"integrity":"sha512-VFpVAyKzIAWcvu6ZpXrOjgHV6KnJ8AtiQq7V3UrbcHytSnNjcGzSyuts9qu2jrAQs3JV+l04UyMwb8LMuO1L8Q==","signatures":[{"sig":"MEQCIHo5FvbCFRcHm367XpFDoIxQD+5DKEBWErIT6RaI1iZmAiAvGadoebJploQlbPHQltVVtuoDZ4vsZZvM56AYyy7smA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76669},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"9574d09094ad3de9b6a3026c4c7ecdd6c731b4c6","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^16.1.0","@angular/common":"^16.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.2_1689671677789_0.6097495633987058","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"ngx-remark","version":"0.0.3","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.3","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"ebe32d522c724b816e0217c266e8d9207f5356c0","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.3.tgz","fileCount":21,"integrity":"sha512-4QMykJGTEaFzBIWJBr8DvRAZF6/iHAPvWVPlVPrczZTjO4g4lKunrv4DZLsXjDPZ7HKwKSumQVtk9WiEywu03g==","signatures":[{"sig":"MEUCIQCt2sVWKf2AQP3+5sTVm4vkvGXOBoruMTJFtyK9BUzQegIgSNbxdKEi2u1CJo02P3/pqmQZuwIcaOFkUk5N3yqxip8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76930},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"bbbb0c9fddcd4c37df57efeb8b69222f5953f8d9","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^16.1.0","@angular/common":"^16.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.3_1689673977622_0.8781856342693222","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"ngx-remark","version":"0.0.4","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.4","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"d94173ca6f66b0d3364c3a9302f7bedf3a3a2378","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.4.tgz","fileCount":21,"integrity":"sha512-G7VqZJHbvCgfot9+8ym6KX5QTxunEgPSEHjUlxO/exvGGLwtHFDwLhz4L5bl/T/y/i02UKZc1GOnlCMWz+vn/A==","signatures":[{"sig":"MEQCIANkpaKMog2RV2SWC3RjWX2xMnmC65wKUWXVjlb6TXc0AiBl499lO/oXRDY+N1sWL/pV+Mv8MHVPvzMUtK7xAZ8tYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76930},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"33fc09c4fb4faca5a5724226c4267b9e689f913c","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^16.1.0","@angular/common":"^16.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.4_1689675618039_0.6814809327336107","host":"s3://npm-registry-packages"}},"0.0.4-ng14":{"name":"ngx-remark","version":"0.0.4-ng14","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.4-ng14","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"44b0ef6f6b322008fa211a59e939dc8477c61fa4","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.4-ng14.tgz","fileCount":23,"integrity":"sha512-b3S2ZTq6aT+A0hLDJJAUkdEopS2ZvKIbAvVpMBQMtaNUeel+2CwyTi2sf1SJDlSphIUrv0oOVKPQan6H02Ks1Q==","signatures":[{"sig":"MEUCIBnJk1GO1dOFyabXeZw/kyVmkpZruNYC2WC56B2I/xjPAiEAg2eiAw+uyL/X3soxupC+Im+EjCp87ipi9HrxFNR//lU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":107858},"es2020":"fesm2020/ngx-remark.mjs","module":"fesm2015/ngx-remark.mjs","esm2020":"esm2020/ngx-remark.mjs","exports":{".":{"node":"./fesm2015/ngx-remark.mjs","types":"./index.d.ts","es2015":"./fesm2015/ngx-remark.mjs","es2020":"./fesm2020/ngx-remark.mjs","default":"./fesm2020/ngx-remark.mjs","esm2020":"./esm2020/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"18ea7dbb5a9a098ee48170582f756aa3f2bdfa7c","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"fesm2015":"fesm2015/ngx-remark.mjs","fesm2020":"fesm2020/ngx-remark.mjs","repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"remark":"^14.0.3","@angular/core":"^14.0.0","@angular/common":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.4-ng14_1689684645425_0.6761661885456176","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"ngx-remark","version":"0.0.5","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.5","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"dee1a901b1cdf89495b5316df00c720b65d10b62","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.5.tgz","fileCount":21,"integrity":"sha512-ngyoPhU9SHlJB0yxKTn/fdVt3R/HQMruEwgxMXLH25/JN5CbybhXQvkuNYUII5Di4KxPsvWLM4S1/QXxYmO0+A==","signatures":[{"sig":"MEQCIQC+AzRhF3qgVNWImzEO/xb3ZXsjWrVt+gPCi/o7Qsz/MQIfZ6MW42dr9wNBbMVtfFfrN3ySyNWgwtV6jPMc5bbBKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77800},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"36c2573c11641172b16d4e0f1383a23ff5794459","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^16.1.0","@angular/common":"^16.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.5_1689763734146_0.8243750248230204","host":"s3://npm-registry-packages"}},"0.0.5-ng14":{"name":"ngx-remark","version":"0.0.5-ng14","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.5-ng14","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"c1fafd53f4883c753ad1f588b111aac9ec515f93","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.5-ng14.tgz","fileCount":23,"integrity":"sha512-uE4c7Prm3GF+RKp/z7OVjA0DRkxSIf1OeG20dKRuIvqMAaa6fdSHAz5AYP06y4pmYXcogUv5WSszfurw4gML8Q==","signatures":[{"sig":"MEYCIQDnayqSNZAP/vZ4na3+CAGYWmts58+K88bDMODV1UOiZgIhAJXMTDjsER5GiemaQQeqFUXRDOjhzea2n7dmMcDPwuRd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109306},"es2020":"fesm2020/ngx-remark.mjs","module":"fesm2015/ngx-remark.mjs","esm2020":"esm2020/ngx-remark.mjs","exports":{".":{"node":"./fesm2015/ngx-remark.mjs","types":"./index.d.ts","es2015":"./fesm2015/ngx-remark.mjs","es2020":"./fesm2020/ngx-remark.mjs","default":"./fesm2020/ngx-remark.mjs","esm2020":"./esm2020/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"e65f4ec9fd22c8f13829beaa3817dfe8078dc5d5","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"fesm2015":"fesm2015/ngx-remark.mjs","fesm2020":"fesm2020/ngx-remark.mjs","repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^14.0.0","@angular/common":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.5-ng14_1689763851513_0.6041738075913219","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"ngx-remark","version":"0.0.6","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.6","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"4049f3324cd5e4d048f06df8030dcd44cd3e45a6","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.6.tgz","fileCount":19,"integrity":"sha512-YWb5F4S4A/h3pYi6IRYCrwP//Hpwjsyq2dSDjpR5t1e1Xsov8XTlrr0EGrwxaQCET23XLvh4aZ1mfgll7LXHLQ==","signatures":[{"sig":"MEQCICArE7j2aE1lDiXrHkQVN8/4XgHyHza4cEURs3A68fD6AiBsvvP1/qS82C1M8wA0yPAjZSId2m1j9wyqonNwUp44vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70579},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"8194fc6e49bb1a9252db19262d4473bf3e92a82b","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^16.1.0","@angular/common":"^16.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.6_1689769446341_0.804771749517446","host":"s3://npm-registry-packages"}},"0.0.6-ng14":{"name":"ngx-remark","version":"0.0.6-ng14","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.6-ng14","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"eb22f2e89228535d9b4d6376a7a3b76ca2e41a48","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.6-ng14.tgz","fileCount":21,"integrity":"sha512-/eesTj+gM7fxfUnrJhzQdfcj++ve/rg/24oF5seRxGrF5F2cSNheiVZdQkUfLcpTOo51/GAF6s83jNtYLIe+cg==","signatures":[{"sig":"MEUCIQCB/Kr3XtK7vNMqSWNSxOIzh4W2rLSoRW9doZkTS7Ol7wIgRKG7dOzXvg9JT7KjZ5x7/wtRqnlkYdcro7Bv0bAzcjQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98941},"es2020":"fesm2020/ngx-remark.mjs","module":"fesm2015/ngx-remark.mjs","esm2020":"esm2020/ngx-remark.mjs","exports":{".":{"node":"./fesm2015/ngx-remark.mjs","types":"./index.d.ts","es2015":"./fesm2015/ngx-remark.mjs","es2020":"./fesm2020/ngx-remark.mjs","default":"./fesm2020/ngx-remark.mjs","esm2020":"./esm2020/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"350339140b047f01675c5e126b2eede26633e625","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"fesm2015":"fesm2015/ngx-remark.mjs","fesm2020":"fesm2020/ngx-remark.mjs","repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"8.19.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^14.0.3","@angular/core":"^14.0.0","@angular/common":"^14.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.6-ng14_1689769709500_0.7186469837756515","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"ngx-remark","version":"0.0.7","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.7","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"cbb671835bc1ce0bccce7940b82d34d094a1694a","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.7.tgz","fileCount":19,"integrity":"sha512-+hxmjYRKUJ5iaGMcxL28H6zsSC7Mchs9gA8sO1a16A7Peb0vpZ1iJY34PTMDYQeasSqP3VP6zwl5eX/BAB6Olg==","signatures":[{"sig":"MEQCIH2yvcO1yVtJ0xxpaY/HhF5KhN2ydlOCU2V0N4g+rRZGAiBWoVNtuxMqlEngMBIvtS24t9VPygpip4bUPm3dLDulxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70771},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"8b6cfff246a74f6520f2b266427057f19f3c929b","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.0","@angular/core":"^17.0.0","@angular/common":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.7_1715088463521_0.8919923877145588","host":"s3://npm-registry-packages"}},"0.0.8-ng16":{"name":"ngx-remark","version":"0.0.8-ng16","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.8-ng16","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"21ba7ca4a1b352b259adfaed8f1d55002bcab68f","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.8-ng16.tgz","fileCount":19,"integrity":"sha512-YWpxu/EbQ7ObE3U9TUMfe1gV3WWrBg0NCHpWuKzf2+s6lFz/sapCA7DC3o6X8w2zrpPyPKx6cZ5RQSwIGSCQ/Q==","signatures":[{"sig":"MEUCIFcSIRz5cyf6PjrY8tnwuvA2+YHB7y9gQnmq1F8icbrGAiEA2KDR09OpimBxqcVrUXA7VLUxC5cQyj1f7AGUu0LPESc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73000},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"9b28295ebf657a2cd1bc8b45e1ea965e7e87f07a","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":"^16.1.0","@angular/common":"^16.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.8-ng16_1724400240694_0.5970540670361419","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"ngx-remark","version":"0.0.8","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.8","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"6450f85c5abde172b4990a0cf7823f3666e3c793","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.8.tgz","fileCount":19,"integrity":"sha512-msZ7mMxGrPdgJwFyfbdxdV0mRhZduQ4rICrU+gAqL3VNqMbcC3+UNUyBpz8oGVxQQ51gWLPqLw6VTVx7sDU7FQ==","signatures":[{"sig":"MEQCIAWjsVIOPlk4CS3zXG//ZwhyI3fu0CAZaY7X8Y4W1G2mAiBeQxkvsGo8F0Q82FbOdjocQhLX828xkyLoxumHFZRYIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72899},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"21dfee43195c97e44512c51b27005400b1c2cba0","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":"^17.0.0","@angular/common":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.8_1724400724012_0.7793246843548591","host":"s3://npm-registry-packages"}},"0.0.9-ng16":{"name":"ngx-remark","version":"0.0.9-ng16","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.9-ng16","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"bba63e75b385967f3c0a7581d10fde9c185b5601","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.9-ng16.tgz","fileCount":19,"integrity":"sha512-98DeuL48zFX9rrBg/klUHJNMsmK+H1R9CHTksJHpI3gowHxX+nXq16KKq5anRmQSWnNKgq0zHAcG/WI5t+JubQ==","signatures":[{"sig":"MEUCIE72Fg+ep7i88fddQJh7qXMxqXuv/weBegm6XMtBt7xRAiEAycw9Wbrotnu0x2UYGa3zRChFYNiZ9b9xScKjq70P4CU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73673},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"5f753ca608cfb33e5f6025d395fe166dd9344e67","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":"^16.2.0","@angular/common":"^16.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.9-ng16_1727864342881_0.13697850014731272","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"ngx-remark","version":"0.0.9","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.9","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"554da3340fc7e9360ffce8192de9791d23b50660","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.9.tgz","fileCount":19,"integrity":"sha512-UjtzhALphKuRlXBXOq9EI3Q0kzb83ms2hjn5isF7UDI89WmzqfyOd8tEHq8ZNLmP71KhdzuDAcXRfrBjd+CR7Q==","signatures":[{"sig":"MEUCIEwcwv4FKrjA0G4KsNYQf1iEkGgTpldKZn3xkpSoolm6AiEAgrE7E8F3g8ucWHTR3DUByXNqC7BBTOTu+BMIBcSfXA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73572},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"a95ae77153f4272f9bf85756d83bb57ef2030791","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":"^17.0.0","@angular/common":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.9_1727865147789_0.035238772789912165","host":"s3://npm-registry-packages"}},"0.0.10-ng16":{"name":"ngx-remark","version":"0.0.10-ng16","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.10-ng16","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"2baf3e527b276a2119e97525b41b8d2d912cb476","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.10-ng16.tgz","fileCount":19,"integrity":"sha512-fwZAvEc7GZNnaOvbjGSjKVH2C58Oyw8+/ob01Svm80aw3SkUS+Hpitlcugv4zEEXMIH/zrcoOauh1Psa0N1saw==","signatures":[{"sig":"MEUCIEYUzSAIU0dPGHJC1c1qHICWFfjIypukNS7n1uNez6oiAiEA2haj+cSTpsNlxXTPc51pQrLxWNt5nyox4E+m5i3xsAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78500},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"23a0bf1cc00bc5a1d4f6e89571ff3d4974c5bc62","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":"^16.2.0","@angular/common":"^16.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.10-ng16_1739273899673_0.7893522794753609","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"ngx-remark","version":"0.0.10","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.10","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"a031ca67c0a8d67d3850147b2f3fdc0c28248378","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.10.tgz","fileCount":19,"integrity":"sha512-F9ZiMAejfW6WM3eBGC9VZhiBGgIX0QiJYOJNih8/f89NKotHHWLU9w/Uc/mO8eIMhvQiGJzDqRIIc/N2IMOLyA==","signatures":[{"sig":"MEUCIHWMsfpEt2rSTmES8zPMi1tmgf7caP7morWSO8hkm8YEAiEA1EpLdXgfS3NmNpu9+DRGtnG2mXnvHF2HKWgYKXuXQm0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78399},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"1f0b8270a5ced2efbd205d98ea8f40aa7900492d","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":"^17.0.0","@angular/common":"^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.10_1739274118436_0.5257486981297514","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"ngx-remark","version":"0.0.11","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.0.11","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"0472df067f3b11a2f5551772e3fb6fb57c47f75a","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.0.11.tgz","fileCount":19,"integrity":"sha512-R3ewjJspCovtxW6tA8nSXmwvKxlgmpgZ4l5M/d7HUBMUTdc/dGgOzSU+snuiAPNiIoqYMIkspPInwLYJTLkK2g==","signatures":[{"sig":"MEYCIQC18ioeA8gpPnHR95wClegjWqgQQYuHyzXio/R7OSwDtgIhAJvOHQ7hyttSwUnMxYvSjY2gWcpdo/bMGt2kXENeRwaH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78401},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"esm":"./esm2022/ngx-remark.mjs","types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs","esm2022":"./esm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"1f0b8270a5ced2efbd205d98ea8f40aa7900492d","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":">=17.0.0","@angular/common":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.0.11_1744788493305_0.12701045697360103","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"ngx-remark","version":"0.1.0","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.1.0","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"d0015c107159cee400bf69170f3b9e5fe83e5546","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.1.0.tgz","fileCount":12,"integrity":"sha512-TG4k7ua4akUbSLRyvzYfXmxKATtfo+OzVtdjMfwCPwL519pIOaUJ9V5scEMKqZJkhuymopPsgBBT0RWUTJ77jg==","signatures":[{"sig":"MEUCICTatepnBW6IeJ78eUPmwQY0/shqHOr0WTJgQm2i2U/cAiEA4r1glxml11Td1Dj5d4lvZzmbbDKnZjsHAIs4wP9hplI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40943},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"e3dca1a8eed96d1c32c664cf53e7ca695f853ca9","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":">=19.0.0","@angular/common":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.1.0_1746561522007_0.9860378142689459","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"ngx-remark","version":"0.1.1","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.1.1","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"2dbc4a30fb137524c899a3845e1d69304b1946b7","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.1.1.tgz","fileCount":12,"integrity":"sha512-UXfmGaLzw1HgDEOPr/TJPbsIiOr7Z9Ot9uynPekRq662tfSjku19JotG/7lD61TdeewXBjz1/M9fFEyqFdFzLg==","signatures":[{"sig":"MEYCIQC8eC2p7yIn+YLLh/RzpPNeIRkdX6fzIBzz3ru7MEE9mQIhAPVTSNsLbqjVoaOc4TP5W8vEqWiYDn3T53UY35BhU/fn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40940},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"885a30d1bd7da28914e40be9b33abe6f286560ff","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.2.3","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.10.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":">=19.0.0","@angular/common":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.1.1_1746823074249_0.22796443557538626","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"ngx-remark","version":"0.1.2","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.1.2","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"07e2a4cf38c5c329e803f0b848ec0e9f1b6f2231","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.1.2.tgz","fileCount":14,"integrity":"sha512-zkXLu3HKCo8pGc9YxvqnNqg4IsVt2KCr+WoVr+RddiudsFO5GGzOrPVhu6+JzpFKPHeTVaByJ3XBM94es/VsAQ==","signatures":[{"sig":"MEQCIGXRaax9S0q0Ftm1nfG0FCi7jAd23BgpXsoU9ddZ3/5IAiBKMekUSy2tQRIIstp5IlCdLCmoqVf/R0/m229KxjWlYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52743},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"a1e72dda0143cba0dd53a6cdd265faf829b81a08","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.8.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","prismjs":"^1.30.0","@angular/core":">=19.0.0","@angular/common":">=19.0.0"},"peerDependenciesMeta":{"prismjs":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.1.2_1748883811409_0.42289665135198207","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"ngx-remark","version":"0.1.3","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.1.3","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"fea5b17c17435fb4c7abc6d8d1968db5ae931351","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.1.3.tgz","fileCount":15,"integrity":"sha512-sUDMGUnUg0FlLFM4g1TkI7rV9HZ0njJZ3gpdxuOsf5lvYhBzRDcZu2H9mSfqyzfhBOElayxm1ELBupAXKZbY7g==","signatures":[{"sig":"MEYCIQC4z4kZYr0sQS37dLXSfIa36WuWL6/2pa3Gvu5ZF16bLQIhAMiJ/SXJwKpEG+kkgV4X8mgPqAVj3rlllmFHkfeUbg+q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59291},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"066fd8205928e3298736221dcb1c4c58d08989da","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.8.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"katex":"^0.16.22","remark":"^15.0.1","prismjs":"^1.30.0","@angular/core":">=19.0.0","@angular/common":">=19.0.0"},"peerDependenciesMeta":{"katex":{"optional":true},"prismjs":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.1.3_1748904517932_0.5867875090895818","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"ngx-remark","version":"0.1.4","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.1.4","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"d7592adc9191aa8563cc9686fb682f664cf66061","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.1.4.tgz","fileCount":16,"integrity":"sha512-hL6p9vaXMXO+2UeGnqfOdGOiOU7QNS+37+pEIY4mL2yqmWI2x7cjYjZi+jfkhmDZPaM37jx0TAz4paOOO4TYbg==","signatures":[{"sig":"MEUCIAp+A7+kgI8mfZUUX8ufU91bXlV50Bv7cuyMprkgvPjMAiEAmguYWInL4i1d/EVIWYSbfuxKVha9QZ68yxWteYbS9Ag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66259},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"a64f77663277d89f6c6becdd0eb7e689f9243556","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.8.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":">=19.0.0","@angular/common":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.1.4_1748945674839_0.5991650370059003","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"ngx-remark","version":"0.1.5","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.1.5","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"2e166ed4d35be61d6ea9c2f7f518362808ea796d","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.1.5.tgz","fileCount":17,"integrity":"sha512-vTtmpm4X3Z0ilm4E6cvtnL/2mN6TLJSEcw7wM/RihxYHJR9Oj2KXeRA3BthsOZKqdEjW2GfqnoHEK8ZrxEujCg==","signatures":[{"sig":"MEYCIQCgzCclgx+yTeu13aILAsd2Kx5vvjQoEayyHKvo9hD+qQIhAKJFtEHLDShQOq49LAiLS8pHVBb6VvoZVxA20z1Y0iHY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97834},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"a1e872d9c15712b0be84ee32744bd08b4d8f0c2d","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"10.8.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":">=19.0.0","@angular/common":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.1.5_1748979759941_0.9480405687921103","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"ngx-remark","version":"0.2.0","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.2.0","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"d66b1f3492f1389a480e376b8b799a87c079881c","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.2.0.tgz","fileCount":6,"integrity":"sha512-9t/1ofH1ywnA8Uu+eAFVqyQfiN1K94KYoQDpbnj5N4FyLggOblL1I4BrAhUCxgrYKgCR31v0M5/elY+odGlUYQ==","signatures":[{"sig":"MEUCIBySkmgxX5ESoTDGzR1p/QV8/o2k/en8+LnwAEsXyb4UAiEAwTaTLpCg2fVzufDQ6kIE03MxZlMHDiQN2nowkJ+PXBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98267},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"f25ca61b8742dbe1d188a8219cedbb0e2b1c76bc","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"11.5.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":">=20.0.0","@angular/common":">=20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.2.0_1758189617265_0.6196351354075706","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"ngx-remark","version":"0.2.1","keywords":["angular","remark","unified","markdown"],"author":{"url":"https://github.com/ericleib","name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com"},"license":"MIT","_id":"ngx-remark@0.2.1","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"homepage":"https://github.com/ericleib/ngx-remark#readme","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"dist":{"shasum":"b327ff0b33a06ef8d371811bd290eb2ec4426aeb","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.2.1.tgz","fileCount":6,"integrity":"sha512-JpsA/4AWYSA7sq8oeBOM8hf2EoIeLBW0EfR9OH7C7VOsSE7GsWWZZwALUhpB9v57kLL3TgpqkTkur/LK/B1fZg==","signatures":[{"sig":"MEQCIFl6kmtlq8vSFYb8YJkSkE7lIuxKqEwYj42tIBGKshVmAiBQMMOnYCsx0WdhqX021UiQiCDPY+eQJOiJfYFHBaQq6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98586},"module":"fesm2022/ngx-remark.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"b9ecab8b7eb9e3a39ce458bfb380a743e3e1353c","typings":"index.d.ts","_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"repository":{"url":"git+https://github.com/ericleib/ngx-remark.git","type":"git"},"_npmVersion":"11.5.2","description":"Angular component for rendering custom markdown using Remark","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"tslib":"^2.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"remark":"^15.0.1","@angular/core":">=20.0.0","@angular/common":">=20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-remark_0.2.1_1763163113818_0.325180932176214","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"ngx-remark","version":"0.2.2","author":{"name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com","url":"https://github.com/ericleib"},"description":"Lightweight Angular component for rendering Markdown using Remark","keywords":["angular","remark","unified","markdown"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ericleib/ngx-remark.git"},"peerDependencies":{"@angular/common":">=20.0.0","@angular/core":">=20.0.0","remark":"^15.0.1"},"dependencies":{"tslib":"^2.6.0"},"sideEffects":false,"module":"fesm2022/ngx-remark.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","default":"./fesm2022/ngx-remark.mjs"}},"_id":"ngx-remark@0.2.2","gitHead":"cfc24b85e768d15605a887d457adbae9b2e34e2e","bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"homepage":"https://github.com/ericleib/ngx-remark#readme","_nodeVersion":"22.17.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-1iWBOhLoQfOe3/Nwzs3vjSpTKwbhuYlFaIjOu0gFqYzorTxvq/jWqPPZekTdFkguji1PXEkK6ecpFQK10wGepQ==","shasum":"2c0ba788d4ed9fcfcc96f4d57785008b175b79bf","tarball":"https://registry.npmjs.org/ngx-remark/-/ngx-remark-0.2.2.tgz","fileCount":6,"unpackedSize":96066,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDmJ4aOFbj8XGRgwq1Kf7HMCrKZLic+52W5/1zHWXS7dgIgZsfx7zC/dxXwSKQWdg76OkDSbWNEkqRk/EJzfAAaCmI="}]},"_npmUser":{"name":"ericleib","email":"eric.leibenguth@gmail.com"},"directories":{},"maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ngx-remark_0.2.2_1772094194084_0.6927696768144682"},"_hasShrinkwrap":false}},"time":{"created":"2023-07-18T08:38:56.736Z","modified":"2026-02-26T08:23:14.349Z","0.0.1":"2023-07-18T08:38:56.920Z","0.0.2":"2023-07-18T09:14:37.978Z","0.0.3":"2023-07-18T09:52:57.854Z","0.0.4":"2023-07-18T10:20:18.189Z","0.0.4-ng14":"2023-07-18T12:50:45.604Z","0.0.5":"2023-07-19T10:48:54.320Z","0.0.5-ng14":"2023-07-19T10:50:51.709Z","0.0.6":"2023-07-19T12:24:06.558Z","0.0.6-ng14":"2023-07-19T12:28:29.685Z","0.0.7":"2024-05-07T13:27:43.679Z","0.0.8-ng16":"2024-08-23T08:04:00.875Z","0.0.8":"2024-08-23T08:12:04.132Z","0.0.9-ng16":"2024-10-02T10:19:03.088Z","0.0.9":"2024-10-02T10:32:28.023Z","0.0.10-ng16":"2025-02-11T11:38:19.898Z","0.0.10":"2025-02-11T11:41:58.653Z","0.0.11":"2025-04-16T07:28:13.501Z","0.1.0":"2025-05-06T19:58:42.225Z","0.1.1":"2025-05-09T20:37:54.434Z","0.1.2":"2025-06-02T17:03:31.633Z","0.1.3":"2025-06-02T22:48:38.112Z","0.1.4":"2025-06-03T10:14:35.011Z","0.1.5":"2025-06-03T19:42:40.152Z","0.2.0":"2025-09-18T10:00:17.436Z","0.2.1":"2025-11-14T23:31:54.044Z","0.2.2":"2026-02-26T08:23:14.228Z"},"bugs":{"url":"https://github.com/ericleib/ngx-remark/issues"},"author":{"name":"Eric Leibenguth","email":"eric.leibenguth@gmail.com","url":"https://github.com/ericleib"},"license":"MIT","homepage":"https://github.com/ericleib/ngx-remark#readme","keywords":["angular","remark","unified","markdown"],"repository":{"type":"git","url":"git+https://github.com/ericleib/ngx-remark.git"},"description":"Lightweight Angular component for rendering Markdown using Remark","maintainers":[{"name":"ericleib","email":"eric.leibenguth@gmail.com"}],"readme":"[![Build project](https://github.com/ericleib/ngx-remark/actions/workflows/build.yml/badge.svg)](https://github.com/ericleib/ngx-remark/actions/workflows/build.yml)\r\n[![npm version](https://badge.fury.io/js/ngx-remark.svg)](https://badge.fury.io/js/ngx-remark)\r\n\r\n# ngx-remark\r\n\r\n**ngx-remark** is a lightweight library that renders Markdown using **native Angular components and templates**.\r\n\r\nMost Markdown libraries for Angular convert the source to HTML and then bind it with `[innerHTML]`. The problem with this approach is that the resulting HTML lives outside Angular's component tree — you cannot use Angular components, directives, pipes, or dependency injection inside it.\r\n\r\n**ngx-remark** takes a different route. It uses [Remark](https://remark.js.org/) to parse Markdown into an AST, then renders that tree with real Angular templates. The `<remark>` component ships with clean default templates for every standard Markdown element, but **you can override any of them** with your own components.\r\n\r\nTypical use cases include:\r\n\r\n- Rendering code blocks with a full-featured editor (e.g. Monaco, CodeMirror)\r\n- Adding interactive tooltips, popovers, or badges on specific elements\r\n- Turning links or buttons into Angular-powered actions (routing, modals, etc.)\r\n- Deep integration with Angular features like the [`Router`](#router-integration), forms, or signals\r\n\r\n## Demo\r\n\r\n- [Playground](https://ericleib.github.io/ngx-remark/)\r\n- [Stackblitz](https://stackblitz.com/edit/stackblitz-starters-gah83vcs?file=src%2Fmain.ts)\r\n\r\n## Installation\r\n\r\nInstall the library with npm:\r\n\r\n```bash\r\nnpm install ngx-remark remark\r\n```\r\n\r\n\r\n## Importing the library\r\n\r\nImport `RemarkModule` in your standalone component or module:\r\n\r\n```typescript\r\nimport { RemarkModule } from 'ngx-remark';\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  templateUrl: './app.component.html',\r\n  imports: [RemarkModule],\r\n})\r\nexport class App { }\r\n```\r\n\r\nNote: `RemarkModule` is a bundle of `RemarkComponent`, `RemarkNodeComponent` and `RemarkTemplateDirective`. You may also import these components individually, but in most cases you will need the three of them together.\r\n\r\n## Usage\r\n\r\nUse the `<remark>` component to render Markdown:\r\n\r\n```html\r\n<remark markdown=\"# Hello World\"/>\r\n```\r\n\r\nThe above renders the HTML will all default templates.\r\n\r\nYou can customize the Remark processing pipeline with the optional `processor` input (the default is `unified().use(remarkParse)`):\r\n\r\n```html\r\n<remark [markdown]=\"markdown\" [processor]=\"processor\"></remark>\r\n```\r\n\r\nAs an example, the following uses the [remark-gfm](https://github.com/remarkjs/remark-gfm) plugin to support GitHub Flavored Markdown:\r\n\r\n```typescript\r\nimport remarkGfm from 'remark-gfm';\r\nimport remarkParse from 'remark-parse';\r\nimport { unified } from 'unified';\r\n\r\nprocessor = unified().use(remarkParse).use(remarkGfm);\r\n```\r\n\r\nYou can override the templates for any node type with the `<ng-template>` element and the `remarkTemplate` directive:\r\n\r\n```html\r\n<remark markdown=\"# Hello World\">\r\n\r\n  <ng-template remarkTemplate=\"heading\" let-node>\r\n    <h1 *ngIf=\"node.depth === 1\" [remarkNode]=\"node\" style=\"color: red;\"></h1>\r\n    <h2 *ngIf=\"node.depth === 2\" [remarkNode]=\"node\"></h2>\r\n    ...\r\n  </ng-template>\r\n\r\n</remark>\r\n```\r\n\r\nIn the above example, note the following:\r\n\r\n- The headings of depth 1 are customized with a red color.\r\n- The `remarkTemplate` attribute must be set to the name of the [MDAST](https://github.com/syntax-tree/mdast) node type.\r\n- The `let-node` attribute is required to make the `node` variable available in the template. The `node` variable is of type `Node` and can be used to access the properties of the node.\r\n- Since the heading node might have children (in particular `text` nodes), the `remarkNode` directive is used to render the children of the node.\r\n\r\nIt is possible to use the structural shorthand syntax for the `remarkTemplate` directive:\r\n\r\n```html\r\n<remark markdown=\"This is a paragraph with [link](https://example.com)\">\r\n\r\n  <span *remarkTemplate=\"'link'; let node\" style=\"color: green;\">\r\n    This is a link: <a [href]=\"node?.url\" [title]=\"node.title ?? ''\" [remarkNode]=\"node\"></a>\r\n  </span>\r\n\r\n</remark>\r\n```\r\n\r\nIf the node type doesn't have children, the `[remarkNode]` directive isn't required:\r\n\r\n```html\r\n<remark [markdown]=\"markdownWithCodeBlocks\">\r\n\r\n  <my-code-editor *remarkTemplate=\"'code'; let node\"\r\n    [code]=\"node.value\"\r\n    [language]=\"node.lang\">\r\n  </my-code-editor>\r\n\r\n</remark>\r\n```\r\n\r\nYou can customize various node types by adding as many templates as needed:\r\n\r\n```html\r\n<remark [markdown]=\"markdownWithCodeBlocks\">\r\n\r\n  <my-code-editor *remarkTemplate=\"'code'; let node\"\r\n    [code]=\"node.value\"\r\n    [language]=\"node.lang\">\r\n  </my-code-editor>\r\n\r\n  <span *remarkTemplate=\"'link'; let node\" style=\"color: green;\">\r\n    This is a link: <a [href]=\"node?.url\" [title]=\"node.title ?? ''\" [remarkNode]=\"node\"></a>\r\n  </span>\r\n\r\n</remark>\r\n```\r\n\r\n## Router integration\r\n\r\nBy default, links in the Markdown document are rendered as non-Angular links, ie.:\r\n\r\n```html\r\n<a href=\"https://google.com\"></a>\r\n```\r\n\r\nA common problem is handling links that point to routes in the Angular application. This is a good use-case for ngx-remark:\r\n\r\n```html\r\n<remark [markdown]=\"markdown\">\r\n  <ng-template [remarkTemplate]=\"'link'\" let-node>\r\n    @if(node.url.startsWith('https://')) {\r\n      <a [href]=\"node.url\" target=\"_blank\" [title]=\"node.title ?? ''\" [remarkNode]=\"node\"></a>\r\n    }\r\n    @else {\r\n      <a [routerLink]=\"node.url\" [title]=\"node.title ?? ''\" [remarkNode]=\"node\"></a>\r\n    }\r\n  </ng-template>\r\n</remark>\r\n```\r\n\r\nNote that we handle 2 types of links:\r\n- External links (starting with `https://`) are rendered with `href` and `target=\"_blank\"`.\r\n- Internal links use the Angular router\r\n\r\n(In practice, the distinction between the 2 types might be more subtle)\r\n\r\n## Cursor symbol\r\n\r\nWhen this component is used to display the output of an LLM in streaming mode, it can be a nice touch to insert a glowing \"cursor\" symbol at the end of the text.\r\n\r\nThis can be achieved in 3 steps:\r\n\r\n1. Create a plugin to insert a custom node after the last `text` node in the AST:\r\n\r\n```ts\r\nprocessor.use(() => this.placeholderPlugin);\r\n\r\nplaceholderPlugin = (tree: Node) => {\r\n  visit(tree, \"text\", (node: Text, index: number, parent: Parent) => {\r\n    parent.children.push({type: \"cursor\"} as any);\r\n    return EXIT;\r\n  }, true);\r\n  return tree;\r\n}\r\n```\r\n\r\n2. Add a template to render this component:\r\n\r\n```html\r\n<span *remarkTemplate=\"'cursor'\" [ngClass]=\"{cursor: streaming}\"></span>\r\n```\r\n\r\n3. Add styles to the `.cursor` class:\r\n\r\n```css\r\n.cursor {\r\n  display: inline-block;\r\n  height: 1rem;\r\n  vertical-align: text-bottom;\r\n  width: 10px;\r\n  animation: cursor-glow 0.3s ease-in-out infinite;\r\n  background: grey;\r\n}\r\n\r\n@keyframes cursor-glow {\r\n  50% {\r\n    opacity: .2;\r\n  }\r\n}\r\n```\r\n\r\n## Plugins\r\n\r\n### Remark plugins\r\n\r\nRemark is a tool that transforms markdown with [plugins](https://github.com/remarkjs/remark/blob/main/doc/plugins.md#list-of-plugins).\r\n\r\nFor example, converting gemoji shortcodes into emoji can be achieved with the [remark-gemoji](https://github.com/remarkjs/remark-gemoji) plugin:\r\n\r\n```typescript\r\nimport { unified } from 'unified';\r\nimport remarkParse from 'remark-parse';\r\nimport remarkGemoji from 'remark-gemoji';\r\n\r\nprocessor = unified()\r\n  .use(remarkParse)\r\n  .use(remarkGemoji);\r\n```\r\n\r\nThis particular plugin works out-of-the-box because it does not introduce a new node type in the syntax tree (emojis are just UTF-8 characters).\r\n\r\nOther plugins (such as [remark-directive](https://github.com/remarkjs/remark-directive) or [remark-sectionize](https://github.com/jake-low/remark-sectionize)) may introduce node types that must be rendered with an Angular template or component.\r\n\r\n\r\n### Code highlighting\r\n\r\nSyntax highlighting for code blocks can be enabled by adding [Prismjs](https://prismjs.com/) to your project.\r\n\r\n#### Install Prism\r\n\r\nThe simplest way to install Prism is by loading stylesheets and scripts from a CDN, for example:\r\n\r\n```html\r\n<head>\r\n  ...\r\n  <link href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/themes/prism-okaidia.min.css\" rel=\"stylesheet\" />\r\n</head>\r\n<body>\r\n  <app-root></app-root>\r\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/prism.min.js\"></script>\r\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.30.0/plugins/autoloader/prism-autoloader.min.js\"></script>\r\n</body>\r\n```\r\n\r\n#### Render code blocks\r\n\r\nWith Prism globally loaded, you can add the `remark-prism` component as a template inside your `remark` component:\r\n\r\n```ts\r\nimport { PrismComponent, RemarkModule } from 'ngx-remark';\r\n\r\n@Component({\r\n  ...\r\n  imports: [..., RemarkModule, PrismComponent]\r\n})\r\n```\r\n\r\n```html\r\n<remark [markdown]=\"markdown\">\r\n  <remark-prism *remarkTemplate=\"'code'; let node\"\r\n    [code]=\"node.value\"\r\n    [language]=\"node.lang\">\r\n  </remark-prism>\r\n</remark>\r\n```\r\n\r\nYou can also nest `remark-prism` inside a more complex component or template (eg. including a \"Copy to clipboard\" button).\r\n\r\nNote that there is no need to customize the `processor`, as the component takes the raw code as an input.\r\n\r\n#### Advanced setup\r\n\r\nYou may also install Prism with `npm i prismjs` and add the scripts and stylesheets to your `angular.json` file.\r\n\r\nYou may want to avoid to avoid loading the stylesheet globally, as it will add styling to any `<code>` element in your app. One way to scope the styling only to this library is use this trick in your SCSS stylesheet:\r\n\r\n```scss\r\n@use \"sass:meta\";\r\n\r\nremark-prism {\r\n  @include meta.load-css(\"node_modules/prismjs/themes/prism-okaidia.css\");\r\n}\r\n```\r\n\r\nIf you need the autoloader plugin to work in this context, you will need to add the languages files to your assets with a glob such as:\r\n\r\n```json\r\n{\r\n  \"input\": \"node_modules/prismjs/components/\",\r\n  \"glob\": \"prism-*.min.js\",\r\n  \"output\": \"components/\"\r\n}\r\n```\r\n\r\nThis will add all the ~300 language files to your assets so they can be loaded when needed.\r\n\r\n### Headings with anchor links\r\n\r\nYou can render headings with an anchor link with the provided component `remark-heading`:\r\n\r\n```ts\r\nimport { RemarkModule, HeadingComponent } from 'ngx-remark';\r\n\r\n@Component({\r\n  ...\r\n  imports: [..., RemarkModule, HeadingComponent]\r\n})\r\n```\r\n\r\nand\r\n\r\n```html\r\n<remark [markdown]=\"markdown\">\r\n  <remark-heading *remarkTemplate=\"'heading'; let node\" [node]=\"node\"></remark-heading>\r\n</remark>\r\n```\r\n\r\nThe `id` is automatically generated from the heading text content.\r\n\r\n### Math expressions\r\n\r\nMath expressions can be rendered with [KaTeX](https://katex.org/).\r\n\r\nThis requires four steps:\r\n- Install KaTeX in your project. Either:\r\n  - Load it from a CDN.\r\n  - Install it with `npm i katex remark-math` and make it available globally with `(window as any)['katex'] = katex;` (note: the ngx-remark library does not import the katex module to avoid making it a hard dependency).\r\n- Import the KaTeX stylesheet into your styles (or simply load it from a CDN)\r\n- Add the `remark-math` plugin to your processor with `processor.use(remarkMath)`\r\n- Render math expressions with the provided `remark-katex` component:\r\n\r\n```ts\r\nimport { RemarkModule, KatexComponent } from 'ngx-remark';\r\n\r\n@Component({\r\n  ...\r\n  imports: [RemarkModule, KatexComponent]\r\n})\r\n```\r\n\r\n```html\r\n<remark [markdown]=\"markdown\" [processor]=\"processor\">\r\n  <remark-katex *remarkTemplate=\"'math'; let node\" [expr]=\"node.value\"></remark-katex>\r\n  <remark-katex *remarkTemplate=\"'inlineMath'; let node\" [expr]=\"node.value\"></remark-katex>\r\n</remark>\r\n```\r\n\r\nIn the example above, we make no difference between `math` and `inlineMath` elements, but in practice they might require minor styling differences.\r\n\r\n### Mermaid diagrams\r\n\r\n[Mermaid](https://mermaid.js.org) is a JavaScript based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams.\r\n\r\n#### Install Mermaid\r\n\r\nThe simplest way to install Mermaid is to load the library from a CDN:\r\n\r\n```html\r\n<script src=\"https://cdn.jsdelivr.net/npm/mermaid@11.6.0/dist/mermaid.min.js\"></script>\r\n```\r\n\r\n#### Render mermaid code blocks\r\n\r\nAdd the provided `remark-mermaid` component inside your `remark` component. Mermaid diagrams are typically rendered within code blocks, so your Angular template might look like this:\r\n\r\n```html\r\n<remark [markdown]=\"markdown\">\r\n  <ng-template [remarkTemplate]=\"'code'\" let-node>\r\n    @if(node.lang === 'mermaid') {\r\n      <remark-mermaid [code]=\"node.value\"/>\r\n    }\r\n    @else {\r\n      <remark-prism [code]=\"node.value\" [language]=\"node.lang\"/>\r\n    }\r\n  </ng-template>\r\n</remark>\r\n```\r\n\r\nNote that there is no need to customize the `processor`, as the component takes the raw mermaid code as an input.\r\n\r\n## Custom Markdown syntax\r\n\r\nRendering custom Markdown syntax requires 2 steps:\r\n- Parsing the Markdown with a custom [Remark](https://remark.js.org/) processor. The abstract syntax tree (AST) will contain nodes with a custom type (let's say `my-type`). \r\n- Rendering the custom nodes with an Angular template, such as: `<span *remarkTemplate=\"'my-type'; let node\">{{node.value}}</span>`.\r\n\r\n### Example\r\n\r\nWe want to support a custom block such as:\r\n\r\n```\r\n:::dropdown  \r\nOption 1\r\nOption 2\r\nOption 3  \r\n:::\r\n```\r\n\r\nFirst, we create a custom processor that finds this syntax within the AST:\r\n\r\n```typescript\r\nprocessor = unified()\r\n  .use(remarkParse)\r\n  .use(() => this.plugin);\r\n\r\nplugin = (tree: Node) => {\r\n  visit(tree, 'paragraph', (node: Paragraph, index: number, parent: Parent) => {\r\n    const firstChild = node.children[0];\r\n    const lastChild = node.children.at(-1)!;\r\n    if (\r\n      firstChild.type === 'text' &&\r\n      lastChild.type === 'text' &&\r\n      firstChild.value.startsWith(':::dropdown') &&\r\n      lastChild.value.trimEnd().endsWith(':::')\r\n    ) {\r\n      parent.children[index] = {\r\n        type: 'dropdown',\r\n        options: node.children\r\n          .flatMap((child) =>\r\n            (child as Text).value\r\n              .replace(':::dropdown', '')\r\n              .replace(':::', '')\r\n              .split('\\n')\r\n          )\r\n          .filter((c) => c),\r\n      } as any;\r\n    }\r\n    return CONTINUE;\r\n  });\r\n};\r\n```\r\n\r\nThis custom processor searches for and replaces nodes such as:\r\n\r\n```json\r\n{\r\n  \"type\": \"paragraph\",\r\n  \"children\": [\r\n    {\r\n      \"type\": \"text\",\r\n      \"value\": \":::dropdown\\nOption 1\\nOption 2\\nOption 3\\n:::\"\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\nwith:\r\n\r\n```json\r\n{\r\n  \"type\": \"dropdown\",\r\n  \"options\": [\r\n    \"Option 1\",\r\n    \"Option 2\",\r\n    \"Option 3\"\r\n  ]\r\n}\r\n```\r\n\r\nThen, in our Angular application we can render the dropdown with:\r\n\r\n```html\r\n<remark [markdown]=\"markdown\" [processor]=\"processor\">\r\n  <ng-template [remarkTemplate]=\"'dropdown'\" let-node>\r\n    <select>\r\n      @for(option of node.options; track $index) {\r\n      <option>{{ option }}</option>\r\n      }\r\n    </select>\r\n  </ng-template>\r\n</remark>\r\n```\r\n\r\nHere's a working example: https://stackblitz.com/edit/stackblitz-starters-emzbbhj4?file=src%2Fmain.ts\r\n\r\n\r\n","readmeFilename":"README.md"}