0.4.0 • Published 3 years ago

mdast-qrcode v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

mdast-qrcode

convert a URL etc. that contained in Image / Link of mdast by using qrcode package.

Install

npm:

npm install mdast-qrcode

Usage

qrcode: in URL of Image

code:

import fromMarkdown from 'mdast-util-from-markdown';
import toMarkdown from 'mdast-util-to-markdown';
import { toImageDataURL } from './qrcode';

(async () => {
  const tree = fromMarkdown('# title1\n\n![alt1](qrcode:test1)\ntext1');
  await toImageDataURL(tree);
  console.log(toMarkdown(tree));
})();

yield:

# title1

![alt1](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAA ...snip ...=)
text1

qrcode: in alt with filename is mdast-qrcode.*

code:

import fromMarkdown from 'mdast-util-from-markdown';
import toMarkdown from 'mdast-util-to-markdown';
import { toImageDataURL } from './qrcode';

(async () => {
  const tree = fromMarkdown(
    '# title3\n\n![alt3:qrcode:test3](/path/to/mdast-qrcode.png)\ntext3'
  );
  await toImageDataURL(tree);
  console.log(toMarkdown(tree));
})();

yield:

# title3

![alt3](data:image/png;base64,iVBORw0KGgoAAAA ...snip ...=)
text3

The URL of link that surrounds image with filename is mdast-qrcode.*

code:

import fromMarkdown from 'mdast-util-from-markdown';
import toMarkdown from 'mdast-util-to-markdown';
import { toImageDataURL } from './qrcode';

(async () => {
  const tree = fromMarkdown(
    '# title5\n\n[![alt5](/path/to/mdast-qrcode.png)](url5)\ntext5'
  );
  await toImageDataURL(tree);
  console.log(toMarkdown(tree));
})();

yield:

# title5

[![alt5](data:image/png;base64,iVBORw0KGgoAAAAN ...snip ...=)](url5)
text5

Pass options from file name / alt

code:

import fromMarkdown from 'mdast-util-from-markdown';
import toMarkdown from 'mdast-util-to-markdown';
import { toImageDataURL } from './qrcode';

(async () => {
  const tree = fromMarkdown(
    '# title7\n\n![alt7:qrcode:test7](/path/to/mdast-qrcode-width-250.png)\n\ntext7'
  );
  await toImageDataURL(tree);
  console.log(toMarkdown(tree));
})();

yield:

# title7

![alt7](data:image/png;base64,iVBORw0KGgoAAAAN ...snip ...=)
text7

qrcode options:

  • margin: -margin-<number>
  • scale: -scale-<number>
  • width: -width-<number>
  • colorr.light: -color_light-<RRGGBBAA>
  • color.dark: -color_light-<RRGGBBAA>

mdqr format options:

  • type: -format_type-<png | jpeg>
  • quality: -format_quality-<number> (unit: %)

API

toImageDataURL(tree[, options, mdqrOptions])

convert "qrcode:" to dataURL in Image URL of mdast. Images only support root / paragraph / image or root / paragraph / link / image hierarchy.

If image is exist after the QRCode, thatimage will be converted as logo image.

options

Options are passed to QRCode.toDataURL.

mdqrOptions

Options to mdast-qrcode.

format

Options to encode QR code to DataURL.

type

type: png | jpeg

default: png

quality

type: number

default: 0.92

returns

Promise<MdNode>

CLI

$ cat example/qrcode-deck.md  | md-qr > qrcode-embedded-deck.md

In addition to :qrcode convertion, Markdown string are also affected by toMarkdown serialized.

JSON config file

{
  "toMarkdown": { "bullet": "-", "rule": "-" }
}

toMarkdown.bullet / toMarkdown.rule field are pass to toMarkdown.

Live Demo

Live Demo

  1. fork
  2. edit slides/slide-deck.md

License

MIT License

Copyright (c) 2021 hankei6km

The word "QR Code" is registered trademark of: DENSO WAVE INCORPORATED

0.4.0

3 years ago

0.3.0-15

3 years ago

0.3.1

3 years ago

0.3.0-9

3 years ago

0.3.0-12

3 years ago

0.3.0-11

3 years ago

0.3.0-10

3 years ago

0.3.0-13

3 years ago

0.3.0-1

3 years ago

0.3.0-0

3 years ago

0.3.0-3

3 years ago

0.3.0-5

3 years ago

0.3.0-4

3 years ago

0.3.0-7

3 years ago

0.3.0-6

3 years ago

0.3.0-8

3 years ago

0.2.0

3 years ago

0.2.0-0

3 years ago

0.1.0

3 years ago