1. metalsmith-renamer
Plugin to take a pattern and rename each matched file
metalsmith-renamer
Package: metalsmith-renamer
Created by: alex-ketch
Last modified: Wed, 04 Jan 2023 20:11:49 GMT
Version: 0.5.217
License: MIT
Downloads: 757
Repository: https://github.com/alex-ketch/metalsmith-renamer

Install

npm install metalsmith-renamer
yarn add metalsmith-renamer

metalsmith-renamer

Test
Release

This is a plugin for Metalsmith which renames files matching a given pattern.

❄️ Project Status

This project is on somewhat of an auto-pilot which means:

  • As I don't use Metalsmith any more, I'm not familiar enough with it to provide support with issues.
  • I will accept fixes and feature PRs only if:

Thanks for your understanding!


Usage

If using the CLI for Metalsmith, metalsmith-renamer can be used like any other plugin by including it in
metalsmith.json. For example:

For Metalscript's JavaScript API, metalsmith-renamer can be used like any other plugin, by attaching it to the function
invocation chain on the Metalscript object. For example:

 import Metalsmith from "metalsmith";
import renamer from "metalsmith-renamer";

Metalsmith(__dirname)
  .use(
    renamer({
      "Markdown Files": { // this name is only used to help organize different settings
        pattern: "folder/**/*.md",
        rename: function (name) {
          return "renamed" + name;
        },
      },
      "HTML Pages": {
        pattern: "folder/about.html",
        rename: "index.html",
      }, // and as many more patterns as you want
    })
  )
  .build();

Options

metalsmith-renamer has two options, both of which must be defined:

  • pattern: option which uses minimatch to find files to rename.
  • rename: which takes a string argument for what you'd like the files to be named, or a function that takes a
    matched file name and returns the new one to be used.

Use cases

  • I use it to simulate metalsmith-permalinks partially by renaming
    certain files index.html, allowing me to link straight to directories and not have to use the filename.
    metalsmith-permalink insists on enclosing files within a structured folder system, whereas I have folder already
    organized manually.

Dependencies

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin