The Wayback Machine - https://web.archive.org/web/20200925201129/https://github.com/posthtml/posthtml-cache
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

readme.md

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 //.

You can’t perform that action at this time.