grunt-wp-replace

0.1.1 • Public • Published

To better make use of this plugin, please refer grunt-wordpress for how to make Grunt work for Wordpress development.

为了更好的了解这个插件的功能,请参考grunt-wordpress一文。

grunt-wp-replace

Replace revved or concated filename for Wordpress source file.

This plugin depends on another plugin grunt-filerev which generates a global accesscible object grunt.filerev.summary.

Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-wp-replace --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-wp-replace');

How to use

File structure(Before)

Before running any grunt task, here's how your file structure looks like:

|
+- your_theme_name
|   +- header-src.php
|   +- footer-src.php
|   +- style-src.css
|   +- js
|      +- all your js files
|   +- css
|      +- all your css files

Note: pay attention to -src suffix for those .php file, it's required to name your file like this.

In your .php file, you should reference assets in relative path.

<link rel="stylesheet" type="text/css" href="css/mycss.css" />
<script type="text/javascript" src="js/myjs.js"></script>

Run grunt task

To use the wpreplace task, you should run filerev or/and concat first in order to generate new filenames. It's recommended to generate these asstes in new folders like js-dist or css-dist other than in original folder.

File structure(After)

|
+- your_theme_name
|   +- header-src.php
|   +- header.php
|   +- footer-src.php
|   +- footer.php
|   +- style-src.css
|   +- style.css (if your minified or revved, it might be `style.min.a2312abe.css`)
|   +- js
|      +- all your js files
|   +- css
|      +- all your css files
|   +- js-dist
|      +- all your js files that are minified and revved
|   +- css-dist
|      +- all your css files that are minified and revved

Running wpreplace task will replace static assets reference in all *-src.php.

<link rel="stylesheet" type="text/css" href="/wp-content/themes/your_theme_name/css-dist/mycss.min.ac2de23a.css" />
<script type="text/javascript" src="/wp-content/themes/your_theme_name/js-dist/myjs.min.bde2ac21.js"></script>

All ready to go, have fun!

The "wpreplace" task

Overview

In your project's Gruntfile, add a section named wpreplace to the data object passed into grunt.initConfig().

grunt.initConfig({
  wpreplace: {
    options: {
      templatePath: '/wp-content/themes/your-theme/',
      jsPath: 'js-dist',
      cssPath: 'css-dist',
      concat: [{
        src: ['a.js', 'b.js'],
        dest: ['concated.js']
      }]
    },
    your_target: {
      src: ['header-src.php', 'footer-src.php']
    }
  },
});

Options

options.templatePath

Type: String Default value: ''

The template path of your wordpress theme

options.jsPath

Type: String Default value: ''

The path which javascript files located in your wordpress theme, relative to templatePath

options.cssPath

Type: String Default value: ''

The path which css files located in your wordpress theme, relative to templatePath

options.concat

Type: Array Default value: []

If you concat any files, define them in order to replace their replace, see the Overview part for format

your_target.src

Type: Array Default value: []

Array of Wordpress source file named with -src suffix, eg. footer-src.php or header-src.php. The plugin will then generate footer.php and header.php with assets filename replaced.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2014-01-22   v0.1.0   Dirty, ugly but working code.
  • 2014-03-12 v0.1.0 Fix a bug when concat not specified

Package Sidebar

Install

npm i grunt-wp-replace

Weekly Downloads

1

Version

0.1.1

License

none

Last publish

Collaborators

  • jasonslyvia