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

hexo-maxcdn-plugin

v0.0.1

Published

MaxCDNify (http://maxcdn.com) your Hexo

Downloads

24

Readme

hexo-maxcdn-plugin Build Status

Install

# from hexo docs
npm install -g hexo
hexo init blog
cd blog

# this is it
npm install --save hexo-maxcdn-plugin

# Create _maxcdn.yml with you domain, see Configuration below.

Configuration

See file _maxcdn.yml

  • domain: Your MaxCDN domain.
  • enabled: Accepts either an array of NODE_ENV strings, or boolean true for all environments.
  • cachebuster: [optional] custom cachebuster. Will you datestamp of process execution time if not provided.

Basic Usage

Helper Example (in template):

jade
/**
 * path: string
 * attributes: object [optional]
 */

.image_div= maxcdn('/path/to/image.gif', { width: '100px', height: '100px', style: 'border:1px;' })
ejs
<div class="image_div">
    <%- maxcdn('/path/to/image.gif', { width: '100px', height: '100px', style: 'border:1px;' }) %>
</div>

Outputs:

<div class="image_div">
    <img src='//you.maxcdn.com/path/to/image.gif' height='100px' style='border:1px;' width='100px' />
</div>

Note: Attributes will be sorted by name.

Tag Example (in posts):

<!--
 path: string
 attributes: string seperated by spaces [optional]
-->

{% maxcdn /path/to/image.gif width=100px height=100px style='border:1px' %}

Outputs:

<img src='//you.maxcdn.com/path/to/image.gif' height='100px' style='border:1px;' width='100px' />

Supported extensions:

.css    yields   link
.ico    yields   link

.js     yields   script

.bmp    yields   img
.gif    yields   img
.jpg    yields   img
.jpeg   yields   img
.png    yields   img

.pdf    yields   embed
.svg    yields   embed

Default attributes:

css   adds   rel=stylesheet
ico   adds   rel=icon
js    adds   type=text/javascript
svg   adds   type=image/svg+xml

Test Output

Including test output until further documented.

  maxcdn-plugin                                                                                                                               [10/1366]
    helper methods
      processStarted
        + is a string
        + contains only numbers
        + is 13 characters long
        + is always the same (502ms)
      throwError
        + throws an error containing message
      fetch.version
        + pulls from config first
        + pulls from processStarted seconds
      fetch.source
        + pulls from config
        + throws error if config is undefined
      escape
        + escapes &
        + escapes <
        + escapes "
        + escapes '
      attributesFrom
        + creates attributes
        + turns false in to false string
        + allows for empty attributes using null
        + allows for empty attributes using undefined
        + allows for empty attributes using an empty string
    maxcdnify
      + throws error on unkown ext
      + .css yields link tag
      + .ico yields link tag
      + .js yields script tag
      + .bmp yields img tag
      + .gif yields img tag
      + .jpg yields img tag
      + .jpeg yields img tag
      + .png yields img tag
      + .pdf yields embed tag
      + .svg yields embed tag
      + css includes rel=stylesheet by default
      + ico includes rel=icon by default
      + js includes type=text/javascript by default
      + svg includes type=image/svg+xml by default
      + includes customs attrs
    config
      domain
        + includes domain
      enabled
        + accepts true
        + disables
      cachebuster
         includes cachebuster


  38 passing (541ms)

Development

Running Units
npm test
Running Integration
npm run integration