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

slate-node

v2.0.2

Published

Slate documentation generator ported to node.js

Downloads

5

Readme

Slate with node.js

A port of the documentation generator Slate to node.js, that can optionally be built in the browser. See it in action!

The major difference is the use of marked for parsing the .md, highlight for syntax highlighting, and Handlebars for templating.

Building

Node.js

git clone https://github.com/jmanek/slate_node.git
npm install
# This outputs to the build directory
# Replace source/slate.md with your own markdown to use that instead
npm run build

Browser

Alternatively, you can directly serve the source directory from a webhost and the documentation will be built at runtime.

cd source
python3 -m http.server
# Docs are now viewable at http://0.0.0.0:8000/

Any changes to source/slate.md will now be incorporated into index.html when it is reloaded. There is now no need to have node.js installed on the machine. This way you don't have to worry about incorpoting Slate into your current build process or creating an entirely new toolchain for it. It is a completely "static" version of Slate. This is inherently slower than the node.js pre-built version, but it is completely independent of operating system or platform. You will not be able to view the documentation until deploying it to a server.

Code Highlighting

Numerous themes for highlight.js are available in source/stylesheets/highlight. You can switch between them by changing this line in source/index.html

<link href="stylesheets/highlight/solarized-dark.css" rel="stylesheet" type="text/css" />

Includes

Includes are handled as described in the Slate Wiki. The filename must have an underscore prepended to it, which is not included in the markdown file description.

Todo/Bugs

  • Package it in a more modular way (Grunt?)
  • marked seems to be handling tables a bit differently, if there's too many em-dashes it's failing
  • highlight.js might have some differences in language detection than Rouge; at the very least 'shell' becomes 'bash'. Ideally this repo should be compatible with any markdown made for Ruby Slate.
  • Cleanup how marked parses the top-level settings. Right now they are manually being parsed.
  • Actually build the scss/js