Skip to content
This repository has been archived by the owner on Jul 19, 2022. It is now read-only.

mikl/monolith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monolith Build Status

Node.js module to aggregate CSS and JavaScript for inlining them into a single HTML document. Helpful for high-performance HTML5 apps.

Example

First, initialise the Monolith and add your CSS/JS files:

var monolith = require('monolith').init();

// Add our CSS.
monolith.addCSSFile(path.join("path", "to", "typography.css"));
monolith.addCSSFile(path.join("path", "to", "layout.css"));

// Add JavaScript.
monolith.addScriptFile(path.join("path", "to", "jquery-1.7.1.js"));
monolith.addScriptFile(require.resolve('underscore'));
monolith.addScriptFile(require.resolve('backbone'));

Then add them to your template rendering logic (the following will vary greatly depending on what sort of template rendering you use):

template.render({
  css: monolith.getCSS(),
  script: monolith.getScript()
};

Then, in the template, add the CSS and styles to the page (this examply uses Underscore templates, the syntax should be easy to figure out):

<head>
  <meta charset="utf-8">

  <title>Demo</title>

  <% _.each(css, function (code) { %>
  <style><%= code %></style>
  <% }); %>

  <% _.each(script, function (code) { %>
  <script><%= code %></script>
  <% }); %>
</head>

And you're done.

About

Node.js module to aggregate CSS, JavaScript and images for inlining them into a single HTML document. Helpful for high-performance HTML apps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published