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

serve-local-markdown

v1.0.11

Published

A simple server to serve and render markdown files

Downloads

14

Readme

Serve Local Markdown

Serve Local Markdown is a simple Node.js package that allows you to view your local Markdown files in the browser. This package serves the Markdown files from the current directory and renders them using marked and ejs for better formatting and design.

Features

  • Recursive directory scanning: Automatically detects and serves markdown files from all subdirectories.
  • Base64 encoded paths: File paths are encoded in Base64 to ensure safe URL handling
  • EJS templating: Renders markdown files using EJS templates for a more customizable display.
  • Static file serving: Supports serving static CSS and other assets from a public directory.
  • Use of application in multiple directories: Now you can use this application on different directories. It will not throw any error for already used port.
  • Syntax Highlighting: Added syntax highlighting support for code snippets (includes: JavaScript, PHP, SQL C, C++ etc.)
  • Table of Contents: Table of contents for h2 elements so that it will be easier to read the topic

Installation

To install the package globally, run the following command:

npm install -g serve-local-markdown

Usage

Navigate to the directory containing your Markdown files and run:

serve-local-markdown

You should see the following output:

Markdown server is running at http://localhost:3838

Open your browser and go to http://localhost:3838 to view and navigate your Markdown files.

Directory Structure

Ensure your project directory is structured as follows for optimal usage:

your-markdown-directory/
├── file1.md
├── file2.md
├── subdirectory/
│   └── file3.md

Customization

Static Files and CSS

You can customize the appearance by adding your own CSS files. Place your CSS files in a public directory within the installation path of serve-local-markdown:

serve-local-markdown/
├── public/
│   └── styles.css
├── views/
│   ├── layout.ejs
│   ├── index.ejs
│   └── file.ejs

Layout and Templates

You can modify the ejs templates to customize the layout:

  • views/layout.ejs: The main layout file.
  • views/index.ejs: Template for the file list.
  • views/file.ejs: Template for rendering individual Markdown files.

Contributing

If you would like to contribute, please visit our GitHub repository. Pull requests, issues, and feature requests are welcome.

License

This project is licensed under the MIT License.