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

balmung

v0.3.7

Published

Web tools for optimizing images

Downloads

17

Readme

Balmung

Balmung is tool for generating compressed and responsive images.

This app is under development

Features

  • Web UI
  • Resize images for various pixel ratio
  • Compress images
  • Flexible compression settings per directory, file and size
  • Export custom settings for grunt tasks (grunt-balmung)
  • Automatic update of git or svn repository

Compression tools

  • png
    • pngquant
    • optipng
    • zopfli
  • jpg
    • jpegtran
  • gif
    • gifsicle

Quickstart

Server should have installed ImageMagick before starting.

Install balmung

npm install -g balmung

To start balmung server, run

balmung

Access http://127.0.0.1:7700 with your web browser after launching.

Command line options

  • config: path of the config file
  • port: port number to listen web

To execute with your customized configuration, run

balmung --config /etc/balmung.js --port 8080

Configuration

You can customize balmung with simple javascript file.

module.exports = {

  // Working directory
  datadir: './content',
  // Settings to be written
  settings: './content/balmung-settings.json',

  /* Repository settings to get contents from VCS
  repository: {
    type: 'git', // git or svn
    url: 'https://github.com/xyz/xyz.git', // URL of the repository
    update: 60000 // update interval (millisec)
  },
  */

  // resize default
  resize: {
    // ratio list to be generated
    ratio: [1.0, 1.3, 1.5, 2.0, 3.0],
    // base ratio of images in source directory
    base: 3.0,
    // unsharp option after resizing
    unsharp: '2x1.4+0.5+0',
    // resizing concurrency
    concurrency: 4,
    // Replace patterns of directory and file name.
    // {dirname} - base directory name
    // {ratio} - pixel ratio
    // {ratiox10} - pixel ratio * 10
    // {basename} - base name of the file. ex) example.png -> example
    // {extname} - extension name of the file. ex) example.png -> .png
    dirname: '{dirname}',
    filename: '{basename}_{ratiox10}{extname}'
  },

  // optimizer
  optimize: {
    // optimizing concurrency
    concurrency: 2,
    // Default image filter to be used
    tools: {
      jpg: ['jpegtran'],
      png: ['pngquant', 'optipng', 'zopfli'],
      gif: ['gifsicle']
    }
  },

  // pngquant
  pngquant: {
    color: 256,
    speed: 3
  },

  // optipng
  optipng: {
    level: 3
  },

  // zopfli
  zopfli: {
  },

  // jpegtran
  jpegtran: {
    optimize: true,
    copy: 'none'
  },

  // gifsicle
  gifsicle: {
    level: 3
  },

  logger: {
    appenders: {
      console: { type: 'console' }
    }
  }
  
};

Grunt

grunt-balmung is a grunt task which optimize images with same options of balmung server.

npm install grunt-balmung --save-dev

grunt task

{
  balmung: {
    ..
  }
}

Author

Suguru Namura

License

MIT