4.1.0 • Published 3 years ago

datauri v4.1.0

Weekly downloads
310,200
License
MIT
Repository
github
Last release
3 years ago

Node.js Module and CLI to generate Data URI scheme.

The data URI scheme is a uniform resource identifier (URI) scheme that provides a way to include data in-line in web pages as if they were external resources.

from: Wikipedia

MODULE Build Status

npm install datauri

Getting started

By default, datauri module returns a promise, which is resolved with data:uri string or rejected with read file error:

const datauri = require('datauri');

const content = await datauri('test/myfile.png');

console.log(content);
//=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

Callback style and meta data

const datauri = require('datauri');

datauri('test/myfile.png', (err, content, meta) => {
  if (err) {
    throw err;
  }

  console.log(content); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

  console.log(meta.mimetype); //=> "image/png"
  console.log(meta.base64); //=> "iVBORw0KGgoAAAANSUhEUgAA..."
  console.log(meta.buffer); //=> file buffer
});

CSS parser

const datauriCSS = require('datauri/css');

await datauriCSS('test/myfile.png');
//=> "\n.case {\n    background-image: url('data:image/png; base64,iVBORw..."

await datauriCSS('test/myfile.png', {
  className: 'myClass',
  width: true,
  height: true
});
//=> adds image width and height and custom class name

Synchronous calls

const Datauri = require('datauri/sync');
const meta = Datauri('test/myfile.png');

console.log(meta.content); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
console.log(meta.mimetype); //=> "image/png"
console.log(meta.base64); //=> "iVBORw0KGgoAAAANSUhEUgAA..."
console.log(meta.buffer); //=> file buffer

From a Buffer

If you already have a file Buffer, that's the way to go:

const DatauriParser = require('datauri/parser');
const parser = new DatauriParser();

const buffer = fs.readFileSync('./hello');

parser.format('.png', buffer); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

From a string

const DatauriParser = require('datauri/parser');
const parser = new DatauriParser();

parser.format('.png', 'xkcd'); //=> "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."

Contribute

$ npm install

To run test specs

$ npm test

ChangeLog

Requirements

Node.js 10+

Previous Node versions and deprecated features:

Node.js 8 npm install --save datauri@3 docs: https://github.com/data-uri/datauri/blob/v3.0.0/docs/datauri.md

Node.js 4+ npm install --save datauri@2 docs: https://github.com/data-uri/datauri/blob/v2.0.0/docs/datauri.md

License

MIT License

(c) Data-URI.js

(c) Helder Santana

@regesta/generator-fiori-toolsnative-stream-wa-automatephaser-servergrunt-data-uri-advencedyeoman-ui@mayahq/wabornnetcentric-website-4-febuild@ndpnt/open-terms-archiveopen-terms-archivemetakey-libemojisensethe-raw-outdoors-api@everything-registry/sub-chunk-1447github-wikito-convertergitbook-plugin-mermaid-newfacegitbook-plugin-mermaid-wnewgitbook-plugin-mermaid-yuchengraphviz-exec-loaderjstransformer-dataurijsonify-csskenya-huduma-id-readerlearnlabilimedocs-wiki-converterhaozigulp-image-inlinegrunt-html-imgbase64gulp-embed2gulp-inline-imagegulp-sprite-dataurigrunt-inlinegrunt-inline-altgrunt-inline-fabulousgrunt-inline-imgbase64grunt-inline2grunt-mo-inlinegulp-generate-image-data-urigulp-css-image64grunt-data-urigrunt-data-uri-advancedgrunt-dataurigrunt-datauri-variablesgrunt-dataurijsgrunt-imwebgulp-fed-inlinegrunt-css-dataurigrunt-css-encodegrunt-static-inlinegrunt-xhxxac-inlinegrunt-workspacehdm-card-eventsintrovertimgbiincreazyinline-htmlinline-assetsipsamveljs-yaml-type-datajs-yaml-type-includeiaunn-card-readernjs-wa-autonode-codesandboxnode-js-compassnode-red-contrib-data-urinodecapwiki2pdfwebshot-streamwebpack-image-placeholder-loaderwebpack-stats-graphyoung-yang217-vscode-mta-toolszaipaaswa-frikzpuppeteer-instaquotepico-s3polypackposthtml-inline-faviconphaser-game-serverpapikospasteypdfkit-fresh-resumephantomflowpwa-srcset-loaderswish-qrsvgpacksvg-inplace-rasterizethai-id-card-readeroma-bundleoditdictaqr-stringreact-native-share-instagram-storyreact-readmeremark-embed-images-continuedrepngreplapi-itresource-uploaderrhythmmeisterresize-image-loaderrgba-to-dataurirework-base64robopaint-mode-comic
4.1.0

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

3.0.0

4 years ago

2.0.0

5 years ago

1.1.0

6 years ago

1.0.5

7 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

1.0.0-alpha.5

9 years ago

1.0.0-alpha.4

9 years ago

1.0.0-alpha.3

9 years ago

1.0.0-alpha.2

9 years ago

1.0.0-alpha.1

9 years ago

0.8.0

9 years ago

0.7.1

9 years ago

0.7.0

9 years ago

0.6.0

9 years ago

0.5.5

10 years ago

0.5.4

10 years ago

0.5.3

10 years ago

0.5.2

10 years ago

0.5.1

10 years ago

0.5.0

10 years ago

0.4.1

10 years ago

0.4.0

10 years ago

0.3.2

10 years ago

0.3.1

11 years ago

0.3.0

11 years ago

0.2.1

11 years ago

0.2.0

11 years ago

0.1.1

12 years ago

0.1.0

12 years ago

0.0.1

12 years ago