GithubHelp home page GithubHelp logo

numso / grunt-htmlrefs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tactivos/grunt-htmlrefs

0.0 1.0 0.0 73 KB

Replaces (or removes) references to non-optimized scripts or stylesheets on HTML files

grunt-htmlrefs's Introduction

Grunt plugin for replacing (or removing) references to non-optimized scripts or stylesheets on HTML files.

Getting Started

Install this grunt plugin next to your project's gruntfile with: npm install grunt-htmlrefs --save-dev

Then add this line to your project's Gruntfile.js :

grunt.loadNpmTasks('grunt-htmlrefs');

Then specify your config:

  grunt.initConfig({
    htmlrefs: {
      dist: {
        /** @required  - string including grunt glob variables */
        src: './static/views/**/*.html',
        /** @optional  - string directory name*/
        dest: './dist/static/views/',
        /** @optional  - references external files to be included */
        includes: {
            analytics: './ga.inc' // in this case it's google analytics (see sample below)
        },
        /** any other parameter included on the options will be passed for template evaluation */
        options: {
          buildNumber: 47878,
        }
      }
    }
  });

Using the configuration above, consider the following example html to see it in action:

<!DOCTYPE html>
<html>
<head>
    <title>Mural.ly</title>
    <!-- build:css /static/css/compiled.<%= buildNumber %>.css -->
    <link rel="stylesheet" type="text/css" href="/static/css/development.css" />
    <!-- endbuild -->
    <!-- build:inlinecss /static/css/compiled.css -->
    <link rel="stylesheet" type="text/css" href="/static/css/development.css" />
    <!-- endbuild -->    
</head>
<body id="landing-page">
    <!-- build:js /static/js/compiled/murally.js -->
    <script type="text/javascript" src="/static/js/compiled/external.js"></script>
    <script type="text/javascript" src="/static/js/onefile.js"></script>
    <script type="text/javascript" src="/static/js/other_file.js"></script>
    <!-- endbuild -->
    <!-- build:remove -->
    <script type="text/javascript" src="/static/js/not-for-compiler.js?v=1355D6D2D38"></script>
    <!-- endbuild -->

    <script>
      bootstrapLandingPage();
    </script>

    <!-- build:include analytics -->
    <!-- endbuild -->
</body>
</html>

After running the grunt task it will be stored on the dist folder as

<!DOCTYPE html>
<html>
<head>
    <title>Mural.ly</title>
    <link rel="stylesheet" type="text/css" href="/static/css/compiled.47878.css" />
    <style> ... CSS from /static/css/compiled.css ... </style>
</head>
<body id="landing-page">
    <script type="text/javascript" src="/static/js/compiled/murally.js"></script>

    <script>
      bootstrapLandingPage();
    </script>

    <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
    <script>
        var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];
        (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
        g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
        s.parentNode.insertBefore(g,s)}(document,'script'));
    </script>
</body>
</html>

There 4 types of replacements: css, inlinecss, js, include and remove (it will erase the whole block).

Release History

  • 0.4.0 Support Grunt 0.4
  • 0.2.2 BUGFIX: Multiple remove sections (thanks @trongthanh)
  • 0.2.0 Added support for includesu
  • 0.1.0 Initial Release

grunt-htmlrefs's People

Contributors

johnnyhalife avatar krampstudio avatar pephers avatar sindre avatar

Watchers

James Cloos avatar

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.