├── .gitignore
├── .DS_Store
├── cli.js
├── package.json
├── index.js
└── readme.md
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/max-mapper/packify/HEAD/.DS_Store
--------------------------------------------------------------------------------
/cli.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var fs = require('fs')
4 | var packer = require('./')
5 |
6 | var args = process.argv.slice(2)
7 | var file = args.slice(0, 1)[0]
8 |
9 | var opts = {
10 | html: fs.readFileSync(file)
11 | }
12 |
13 | opts.args = args.slice(1)
14 |
15 | packer(opts, function(err, packed) {
16 | console.log(packed.toString())
17 | })
18 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "packify",
3 | "version": "1.1.2",
4 | "description": "packs up browserify apps by inlining all assets into one html file",
5 | "main": "index.js",
6 | "bin": "cli.js",
7 | "author": "max ogden",
8 | "license": "BSD",
9 | "dependencies": {
10 | "brfs": "^1.1.1",
11 | "inline-images": "^1.0.1",
12 | "inline-styles": "^1.0.0",
13 | "scriptify": "^0.2.0",
14 | "concat-stream": "^1.4.6"
15 | },
16 | "devDependencies": {},
17 | "repository": {
18 | "type": "git",
19 | "url": "https://github.com/maxogden/packify.git"
20 | },
21 | "bugs": {
22 | "url": "https://github.com/maxogden/packify/issues"
23 | },
24 | "homepage": "https://github.com/maxogden/packify"
25 | }
26 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | var scriptify = require('scriptify')
2 | var styleInliner = require('inline-styles')
3 | var imageInliner = require('inline-images')
4 | var concat = require('concat-stream')
5 | var path = require('path')
6 | var fs = require('fs')
7 | var url = require('url')
8 |
9 | module.exports = function(opts, cb) {
10 | // inline
tags
11 | var html = imageInliner(opts.html)
12 |
13 | // inline `
19 | - `background-image { url(foo.png) }` -> `background-image { url('data:...') }`
20 |
21 | all transformations are handled by dependencies: [inline-images](http://npmjs.org/inline-images), [inline-styles](http://npmjs.org/inline-styles), [imageinliner](https://www.npmjs.org/package/imageinliner) and [scriptify](http://npmjs.org/scriptify)
22 |
23 | notes:
24 |
25 | - `url(foo.png)` inside stylesheets will also get converted to inline data-uris
26 | - only relative URIs will be transformed, e.g. `