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

quest-log

v3.3.1

Published

A simple NodeJS CLI + Markdown static blog engine that uses standard Jekyll Markdown format, Handlebars for templating, and features convenient command line tools.

Downloads

6

Readme

Quest Log

Quest Log is a simple NodeJS CLI + Markdown static blog engine that uses standard Jekyll Markdown format, Handlebars for templating, and features convenient command line tools.

Availble on NPM: Quest Log

This repo is on: GitLab | GitHub

Quick Start Guide

  • Create a folder for your blog to live in and navigate inside the folder in your terminal.
    Example:
mkdir chilaquiles-are-life-blog
cd chilaquiles-are-life-blog
  • Run this command to install the Quest Log npm module:
npm install quest-log
  • Install Quest Log's folder structure into your project:
npx quest-log-init
  • From here you can generate a post using the npx quest-log-post command:
npx quest-log-post "Chilaquiles are a journey for the soul"

where everything after npx quest-log-post is the title of your new post(in quotes!).

Now you you should see the path of your new post's markdown file in your terminal, ex:

New post markdown file created in: ./src/posts/2019/06/2019-06-09-16.12.27-chilaquiles-are-a-journey-for-the-soul.markdown
  • Now you can open that file in the text editor of your choice and edit the post's content to wahtever you want to post about!
    But before we get posting too much, let's talk about how to view your Quest Log site locally on your computer.

  • Now that we have a post markdown file created you will need to run Quest Log's build command to generate the static html files you can view in a browser.

    You do this with

     npx quest-log-build

    The files will magically appear in the ./dest folder.

To preview it

This part depends a bit on how you want to do things, if you already have a way you like to use to serve static html files locally you can do that. But you can't just open ./dest/index.html because there wll be path issues and your images and other things might wonk out on you.

Even though this is a Node project there is a really simple way to serve a static site locally using Python called SimpleHTTPServer and it is pre-installed on macOS and Ubuntu. Open a new tab in your terminal and run the command (from inside the ./dest folder):

cd dest
python -m SimpleHTTPServer 8000

Getting your new Quest Log site on the web

You need to serve the contents of the ./dest folder. Be sure:

  • to include all the files in that folder
  • the index.html file exists and is in the room of the folder you serve

I will provide some tips on doing this in a later patch.

Changing things and making it your own

Make changes in the ./quest-log-config.json file to make your Quest Log site your own.

title and subtitle are used in both metadata and shown on the site itself. description is your search engine description, and 'google-analytics-id' is optional

"title": "Quest Log",
"subtitle": "NodeJS CLI + Markdown static blog engine",
"description": "Quest Log is a NodeJS CLI + Markdown static blog engine that uses standard Jekyll Markdown format, Handlebars for templating, and features convenient command line tools.‬",
"google-analytics-id": "UA-XXXXXX-XX",

How to add additional pages / links to the nav

Pages example ./quest-log-config.json has a pages area, you can add additional pages like this: Note: One page must have the fileName index.html, this is the first page when people visit your site.

"pages":[
  {
    "name": "Home",
    "file": "index.html"
  },
  {
    "name": "Portfolio",
    "file": "portfolio.html"
  },
  {
    "name": "Blog",
    "file": "blog.html"
  },
  {
    "name": "Contact",
    "file": "contact.html"
  }
],

Each page will require a corresponding Handlebars file of the same name in the ./src/pages/ folder. For example: if you want a portfolio.html page you need to add a portfolio.hbs file in ./src/pages/.

Links can be added using the same method shown above, but you will need to add the "linkOnly": true property. example:

"pages":[
  {
    "name": "Blog",
    "file": "index.html"
  },
  {
    "name": "Games",
    "file": "http://twoscoopgames.com/",
    "linkOnly": true
  },
],

In the example above, "Blog" will be the homepage of the QAuest Log site, and "Games" will link directly to the website specified.


Import from other blog platforms

Current working importers:

  • Tumblr

In the works:

  • Wordpress

TUmblr importer

To import all posts and images from your existing Tumblr blog, navigate to the root of your blog in the terminal and use the command: npx quest-log-import-tumblr https://yourblogname.tumblr.com (be sure to use the full url inclusing 'https://' and be sure not to have a '/' at the end of the url)

Known Bugs

(Help appreciated!)
Check out the 'Bugs' column on the Quest Log Trello Board

Future improvements

(Help appreciated!)
Check out the Quest Log Trello Board