colbyfayock / html-webpack-partials-plugin

🛠 Easy HTML partials for Webpack without a custom index!
MIT License
68 stars 20 forks source link

Feature: Support for Nested Partials #38

Open vincenttaglia opened 3 years ago

vincenttaglia commented 3 years ago

With this PR I have implemented support for nested partials.

I got this to work by passing child partial information in the options object, and iterating through all nested partials, before injecting the partial in the top level template.

This is an example plugin configuration for webpack.config.js:

new HtmlWebpackPlugin({
    title: "Index",
    template: path.join(__dirname, "./src/templates/index.html"),
    filename: "index.html",
    minify: false,
    inject: false,
}),
new HtmlWebpackPartialsPlugin({
    path: path.join(__dirname, './src/partials/partial.html'),
    location: 'partial',
    template_filename: "index.html",
    options: {
        subPartials: [
            {
                path: path.join(__dirname, './src/partials/nested_partial.html'),
                location: 'nested-partial',
                options: { },
            },
        ]
    },
}),

And you can keep nesting more partials in the options of other nested partials!

colbyfayock commented 3 years ago

hey @vincenttaglia to start off, similar to the other one, can we add an example and test?

colbyfayock commented 3 years ago

hey @vincenttaglia did you still want to move forward on this? if so can you add an example and tests like your last one?