npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

html-webpack-simple-include-plugin

v1.0.6

Published

A simple include plugin for inserting html includes. To be used along with HTML Webpack plugin.

Downloads

79

Readme

[html-webpack-simple-include-plugin]

This is a webpack plugin that provides a way to do simple HTML includes in your html files. The intended purpose is to add common snippets like headers, footers, sidebars, etc. into the html pages. It was originally designed for situations where a multi page website is being generated with webpack.

PLEASE NOTE: This plugin works in conjunjunction with html-webpack-plugin

How to use

First of all, you need both html-webpack-plugin and html-replace-webpack-plugin.

npm install html-webpack-plugin html-webpack-simple-include-plugin

Include Patterns

This plugin is designed to simply replace a search pattern with replacement text. I use fake html tags as the search pattern just in case something goes wrong. That way if the search text is not replaced the search text does not get displayed in the HTML file. For example ''

The plugin is passed an array of objects with tag and content properties. The HTML files get serached for the tag value and if found, get replaced with the content value.

Configure your webpack.config.js file:

NOTE THAT html-replace-webpack-plugin IS PLACED AFTER html-webpack-plugin in Webpack config.

const webpack = require('webpack')
const HtmlWebpackSimpleIncludePlugin = require('html-webpack-simple-include');
const fs = require('fs');

module.exports = {
  // Webpack plugins. NOTE that HtmlWebpackSimpleIncludePlugin comes after HtmlWebpackPlugin
  plugin: [
    new HtmlWebpackPlugin({
      /* configurations */
    }),
    // Replace html contents with string or regex patterns
    new HtmlWebpackSimpleIncludePlugin([
      {
        // this example shows replacing with literal text
        tag: '<include-header />',
        content: '<h1>This is my header</h1>'
      },
      {
        // this example shows replacing with file contents
        tag: '<include-footer />',
        content: fs.readFileSync(path.resolve(__dirname, "src/footer.html"))
      }
      }
    ])
  ]
}

In your source HTML file(s):

<!DOCTYPE html>
<html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>My Web Page</title>
    </head>
    <body>
      <include-header />
      <p>Main COntent</p>
      <include-footer />
    </body>
</html>

Author

Mike Foitzik

License

This project is licensed under the MIT License - see the LICENSE file for details