0.0.1 • Published 8 years ago
remark-encrypted-block v0.0.1
remark-encrypted-block
This plugin parses custom Markdown syntax to create an encrypted block that gets rendered into an script tag.
Usage is pretty basic, just add a link pointing to #!encrypt and everything after will
be encrypted using node-rsa and rendered to base64.
Syntax
This will not be encrypted.
[\#!encrypt]()
This will be encrypted.
Also this.produces:
<p>This will not be encrypted</p>
<script type="application/base64" integrity="sha256-${cyphertext hash}">
...base64 cyphertext...
</script>You need to configure by setting a public key string (format pkcs1-public-pem)
under the configuration object key named key.
{
key: '-----BEGIN RSA PUBLIC KEY-----${pubKey}-----END RSA PUBLIC KEY-----'
}Installation
npm:
npm install --save remark-encrypted-blockUsage
Dependencies:
const unified = require('unified')
const remarkParse = require('remark-parse')
const stringify = require('rehype-stringify')
const remark2rehype = require('remark-rehype')
const remarkCustomBlocks = require('remark-custom-blocks')Usage:
unified()
.use(remarkParse)
.use(remarkEncryptedBlock, {
key: '-----BEGIN RSA PUBLIC KEY-----${pubKey}-----END RSA PUBLIC KEY-----'
})
.use(remark2rehype)
.use(stringify)The sample configuration provided above would have the following effect:
Allows you to use the following Markdown syntax to define the beginning of the encrypted block:
This will not be encrypted. [\#!encrypt]() This will be encrypted. Also this.This Remark plugin would create a mdast node for the encrypted block, this node would be of type:
encryptedBlock
If you're using rehype, you will end up with a
scriptlike this:
<script type="application/base64" integrity="sha256-${cyphertext hash}">
...base64 cyphertext...
</script>License
ISC
Links
0.0.1
8 years ago