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

wiki10

v0.1.0-beta.0

Published

Static wiki generation

Downloads

10

Readme

Welcome to wiki10, a wiki-like tool that allows creating a knowledge base by rendering static markdown files to HTML. No server is needed!

Just create a new project, write down your markdown files, build the HTML files and you are ready to open the generated HTML files in your browser.

Features

  • Static generation: no web server required
  • Pages as markdown files: no database required
  • No sitemap: don't worry about where to put your pages in the tree
  • Aliases: give a page aliases so it can be found under different titles
  • Graphs and more: plantuml, mermaid, chartjs, lilypond support

Creating a new project

$ npx wiki10 init path/to/wiki

Project structure

A project has the following structure:

  • public/ - the generated files
    • pages/ - the actual HTML files you open in your browser
  • source/
    • layout/ - the layout HTML, CSS etc.
    • media/ - images and other files you include in your pages
    • pages/ - directory where you write your markdown documents
      • Meta/ - special pages such as list of all files

Building

In order to build a project, i.e. creating the HTML files from the Markdown source files, run:

$ npx wiki10 build path/to/wiki

This command will rebuild all pages that were modified since the last run and copy the media files into the public folder.

Options

--verbose, -v

Enable verbose logging

-vv

Enable debug logging

--rebuild-pages

Rebuild all pages

--rebuild-assets

Rebuild all assets (graphs etc.) of modified files

External dependencies

  • plantuml for rendering plantuml graphs
  • lilypond and inkscape for rendering lilypond sheet music
  • fluidsynth and ffmpeg for rendering lilypond music for ogg music files

Generating internal docs

Run the following command to generate internal documentation in the docs folder:

$ npm run docs
# or:
$ yarn docs

Contributing

git commit messages

The format for git messages is based on Conventional Commits:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

<type> is one of:

  • Fix: patching a bug
  • Docs: documentation
  • Chore: update dependencies
  • Other

<description> is a short title that describes the applied changes in present tense, for example Add files to package.json.

Exception to the message format are tagged version updates (see below).

Bumping version number

After all code targeting the next version is committed, the version number (e.g. in package.json) can be updated. For this, use the commands npm version major|minor|patch or yarn version --major|--minor|--patch:

  • Use patch, if bugs were patched or documentation was updated
  • Use minor, if new features were introduced
  • Use major, if breaking changes were introduced

After the version has been bumped, publish the new package version using npm|yarn publish.

Running wiki10 during development

Using the npx wiki10 ... commands will fetch the latest published version from the npm registry to run. If you are currently developing on wiki10 itself and want to run some commands, use npm start ... or yarn start ... instead.