Mermaid URL codec - encodes/decodes
/plugin marketplace add plurigrid/asi/plugin install asi-skills@asi-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
package-lock.jsonpackage.jsonscripts/codec.jsEncode diagrams to shareable URLs, decode URLs back to source.
| Prefix | Source | Method |
|---|---|---|
#base64: | amp CLI | JSON.stringify({code}) → base64 |
#pako: | mermaid.live | pako.deflate(JSON.stringify({code})) → base64 |
# Encode diagram to pako URL (compressed)
node scripts/codec.js encode-pako < diagram.mmd
# Encode to base64 URL (amp style)
node scripts/codec.js encode-base64 < diagram.mmd
# Decode URL to diagram
node scripts/codec.js decode "https://mermaid.live/edit#pako:..."
// Decode
const hash = url.split('#')[1];
if (hash.startsWith('pako:')) {
return JSON.parse(pako.inflate(Buffer.from(hash.slice(5), 'base64'), {to:'string'})).code;
}
if (hash.startsWith('base64:')) {
return JSON.parse(Buffer.from(hash.slice(7), 'base64').toString()).code;
}
// Encode pako
`https://mermaid.live/edit#pako:${Buffer.from(pako.deflate(JSON.stringify({code:diagram}))).toString('base64')}`