npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mikser

v7.12.10

Published

Real-time static site generator

Downloads

38

Readme

Mikser is a real-time static site generator

Mikser is designed for rapid web site development. It works equally well for small web sites and for large multi domain, multi language sites with thousands of pages and very complex generation logic.

NPM

  • Multi-threaded cluster rendering with incredible performance
  • LiveReload with real-time preview no matter if the web site has 10 or 10'000 pages
  • Built-in multi-language and multi-domain support
  • Pin-point diagnostics that provide accurate error messages
  • Easy integration with build systems like Grunt and Gulp, CSS pre-processors like Less and Sass or compilators like Browserify, Babel, CoffeeScript, TypeScript or any onther tool that has CLI
  • Support for most of the popular template and markup engines - Pug aka Jade, Eco, Ect, Ejs, Swig, Nunjucks, Twig, Markdown, Textile, YAML, TOML, ArchieML, CSON, JSON5, support for new engines through plug-ins
  • Very easy plug-in system with straight forward interface and hot reload

Installation

Mikser works well on Windows, Linux and OSX. It can be installed both globally and as a local dependency. It comes with all contrib plugins build-in.

  1. Node.js ≥ 4.0
  2. MongoDB ≥ 2.4

Using mikser as a command line tool

  1. Install Mikser with npm install -g mikser
  2. Create a folder for your project, run mikser inside it

Using mikser from inside a script

var mikser = require('mikser');
var express = require('express');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());
mikser({
	workingFolder: '/var/mikser', // Use custom working folder
	app: app, // Use existing Express web server, Default: Mikser will create one
	server: true, // Add Mikser middle-ware. Default: true, if set to false Mikser won't start web server
	watch: false, // Don't watch file system for changes. Default: true
	debug: true, // Enter debug mode. Default: false
	environment: 'dev' // Merge some extra configuration from another config file.
}).run();
  1. Create mikser.js and put these lines inside
  2. Install mikser as local dependency with npm install mikser
  3. Start your first Mikser app with node mikser

First run

After you run Mikser for the first time it will create all the necessary folders inside your project folder and then start watching for changes and auto-generate your web site.

Performance

We have have tried many static site generators, they work well for simple web sites, but in real-life scenarios they degrade performance very fast. Here is what we have found, playing around with some of them.

For a simple web site with around 200 pages DocPad takes about 1 minute, Hexo takes 2 minutes and Mikser takes 6 seconds. For a complex web site with 1000 pages and templates that use blocks and partials, Mikser takes about 20 seconds while DocPad and Hexo take almost 30 minutes. We haven't tried Hugo with the same sites, because it lacks plug-ins and it was very hard to extend and reuse existing templates. From the basic web sites we have implemented with it, we found that it has almost the same performance as Mikser, but when the complexity of the generation logic raises it is much slower.

All static site generators that we have tested perform a full regeneration on every run. Mikser has build-in change tracking and only generates the pages that have been affected by the change. Most of the time Mikser is ready for less than 3 seconds, when DocPad and Hexo take 30 minutes to finish.

Examples

You can check one of our projects Dialog. It has simple structure with four languages in different domains. The project was originally implemented with DocPad. It took us 3 days to convert it to Mikser and we managed to reuse most of the templates with minor changes.

Mikser documentation

Analytics