0.3.0 • Published 4 years ago

posthtml-cache v0.3.0

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

posthtml-cache

A posthtml plugin for add nanoid to style & script links and you tags...

Travis Build Statusnodenpm versionDependency StatusXO code styleCoveralls status

Why?

Install

npm i -S posthtml posthtml-cache

Note: This project is compatible with node v10+

Usage

import {readFileSync, writeFileSync} from 'fs';
import posthtml from 'posthtml';
import posthtmlCache from 'posthtml-cache';

const html = readFileSync('input.html', 'utf8');

posthtml()
  .use(posthtmlCache(/* options */))
  .process(html)
  .then(result => {
    writeFileSync('output.html', result.html);
  });

Example

input.html

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <img data-src="logo.svg" alt="">
    <script src="script.js"></script>
  </body>
<html>

output.html

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css?v=4f90d13a42">
  </head>
  <body>
    <img data-src="logo.svg?v=VlLqCweTvn_E1g3XXGMtM" alt="">
    <script src="script.js?v=93ce_Ltuub"></script>
  </body>
<html>

will be added nanoid to all the file link

Options

tags

Type: Array Default: ['script', 'link'] Description: You can also expand the list by adding the tags you need...

attributes

Type: Array Default: ['src', 'href'] Description: You can also expand the list by adding the attributes you need...

exclude

Type: Array Default: [] Description: You can also exclude the list by adding the tags you need...

onlyInternal

Type: Array Default: [] Description: If you have external URL-s, some won't work if you add nanoid to them. If this list is empty, all external links are modified. Otherwise, only the URL-s starting with items in the array (case insensitive) will be modified. E.g. ['https://github.com/'] will add nanoid to all local links and only to `https://github.com/. It won't add nanoid to e.g.http://github.com` or https://fonts.google.com. For simplicity, a link is considered external if it starts with a protocol (see is-absolute-url) or with double slash //.*

0.3.0

4 years ago

0.2.3

4 years ago

0.2.2

5 years ago

0.2.1

6 years ago

0.1.3

6 years ago

0.2.0

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.1

6 years ago