Code Monkey home page Code Monkey logo

grunt-httpcopy's Introduction

grunt-httpcopy

Copy files from one directory to another, but instead of a standard file copy, download the files from a http server.

Getting Started

This plugin requires Grunt ~0.4.0

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-httpcopy --save-dev

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

grunt.loadNpmTasks('grunt-httpcopy');

The "httpcopy" task

Overview

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

grunt.initConfig({
  httpcopy: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
})

Options

options.serverUrl

Type: String Default value: http://localhost/

Use this option to specify the server URL to download the files from.

options.urlMapper

Type: Function (serverUrl, relativeFilePath) Default value: function (serverUrl, relativeFilePath) { return serverUrl + relativeFilePath; }

Use this option if the file paths do not match 1:1 with the server url paths.

For example, if a file is located at src/templates/index.html, and the http server is serving the file at http://localhost/templates/index.html, u could use the following configuration to strip off the src/ part:

grunt.initConfig({
  httpcopy: {
    options: {
      serverUrl: 'http://localhost/',
      urlMapper: function (serverUrl, filePath) {
        return serverUrl + filePath.replace(/^src\//, '');
      }
    },
    dist: {
      files: [
        { expand: true, cwd: 'src/', src: ['**/*.html'], dest: 'build/' }
      ]
    }
  }
})

Usage Example

grunt.initConfig({
  httpcopy: {
    dist: {
      files: [
        { expand: true, cwd: 'src/', src: ['**/*.html'], dest: 'build/' }
      ]
    }
  }
})

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

  • 04/23/2013 - 0.1.0 - Initial release.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.