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

giles

v0.5.9

Published

a next-gen language watcher/compiler for pre-processed languages

Downloads

57

Readme

Into every generation a project is born. One project in all the world, a Chosen One. One born with the strength and skill to fight the vampires, to stop the spread of their evil and swell of their numbers.

Giles wants you to stop writing HTML, CSS, and JS. Whether you are working on a legacy app supporting ie6, a nodejs server, or you are writing the next hottest html5 app, giles can help.

Giles is a project watcher and builder for a variety of useful markup languages. Use Giles to develop with nextgen web tools and increase project momentum.

##Giles supports

  • CoffeeScript - Incredible javascript compiler. Everything just seems to work better with coffeescript.
  • Stylus - Fantastic css compiler. The variable/mixin support is extremely powerful.
  • Jade - Cool HAML-like alternative to writing html.
  • Your favorite language. Add it and issue a pull request.

###Giles is a command line tool and API for:

  • Developing. Watch a directory and build output files when source files change.
  • Releasing. Building static assets for deployment

The goal of Giles is not to advocate a specific framework, rather to provide developers and designers functionality in the languages of their choice.

###To install run sudo npm install -g giles npm is available by installing nodejs

###To get help giles -h If you ever need to run this, file a bug with me.

###To watch the current directory, recursively giles -w Handles new files too. It will work even if you re-arrange your whole project.

###To watch a specific directory, recursively giles directory -w This compiles to the same directory as the asset.

###To ignore a directory, or multiple(will match recursively) giles . --ignore vendor,bin ignore defaults to node_modules,.git

#API These examples are in coffeescript.

Building with .js and giles (works with Jake)

srcDir = PATH_TO_SOURCE
options = 
  #output : __dirname+"/build",#The directory to output to,
  #locals : {} #variables exposed to all compilers which support variables

giles = require('giles')
giles.build(srcDir, options)

To watch with giles using local variables

giles = require('giles')
giles.watch(srcDir, options)

To add a compiler to giles

coffee = false
giles.addCompiler ['.coffee', '.cs'], '.js', (contents, filename, output) ->
  coffee = require 'coffee-script' unless coffee
  output(coffee.compile(contents, {}))

Or for stylus

giles.addCompiler [".styl", ".stylus"], '.css', (contents, filename, output) ->
stylus = require 'stylus' unless stylus
stylus.render contents, {filename: filename}, (err, css) ->
  if err
    console.error "Could not render stylus file: "+filename
    console.error err
  else
    output(css)

Both of these compilers are already in giles and listed here for illustration purposes.

###License Giles is available under the MIT license. We hope you find it useful. Please let us at 255 BITS know if you use it for something cool.