An open API service indexing awesome lists of open source software.

https://github.com/posthtml/posthtml-cache

Add a nanoid to links in you tags
https://github.com/posthtml/posthtml-cache

cache html link nanoid posthtml posthtml-cache

Last synced: 10 months ago
JSON representation

Add a nanoid to links in you tags

Awesome Lists containing this project

README

          

# posthtml-cache

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

[![Travis Build Status](https://img.shields.io/travis/posthtml/posthtml-cache.svg?style=flat-square&label=unix)](https://travis-ci.org/posthtml/posthtml-cache)[![node](https://img.shields.io/node/v/posthtml-cache.svg?style=flat-square)]()[![npm version](https://img.shields.io/npm/v/posthtml-cache.svg?style=flat-square)](https://www.npmjs.com/package/posthtml-cache)[![Dependency Status](https://david-dm.org/posthtml/posthtml-cache.svg?style=flat-square)](https://david-dm.org/posthtml/posthtml-cache)[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg?style=flat-square)](https://github.com/sindresorhus/xo)[![Coveralls status](https://img.shields.io/coveralls/posthtml/posthtml-cache.svg?style=flat-square)](https://coveralls.io/r/posthtml/posthtml-cache)

## Why?

## Install

```bash
npm i -S posthtml posthtml-cache
```

> **Note:** This project is compatible with node v10+

## Usage

```js
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
```html







```

output.html
```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](https://www.npmjs.com/package/is-absolute-url)) or with double slash `//`.*