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

@prioritysupport.mobi/psmdoc

v1.0.5

Published

Generate documents, websites, mobile apps (offline), and PDFs from psmdoc structured files, adding support for multiple versions and languages to keep them updated and maintained from a single source. (DEVELOPMENT STATUS).

Downloads

5

Readme

PSMDOC

Warning

This project is under development and is not ready for production use. The documentation is incomplete and the features are not fully implemented.

TODO

  • [ ] Build mobile app command

  • [ ] Internationalization support (Partial implemented)

  • [ ] Search indexing

  • [ ] Search functionality

Prority Support Mobi DOCs

Priority support provide a easy versioned documentation system to be accessed and maintained by the support teams trough mobile devices and desktops applications.

Features

  • Versioned documentation
  • Easy to use
  • Mobile friendly, (Generate mobile app to read documentation offline)
  • Desktop friendly (Generate desktop app to read documentation offline)
  • Easy to maintain and update
  • Easy to deploy and share

How to use

Create a new folder for your documentation and add a MyPsmDoc.json file with the following structure:

{
    "title": "My Documentation",
    "description": "This is a sample documentation",
    "keywords": "documentation, sample, example",
    "author": "John Doe",
    "robots": "index, follow",
    "auto-index": "true",
    "font": "https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap",
    "style": {
        "background": "#f5f5f5",
        "color": "#333",
        "font-family": "Roboto, sans-serif",
        "font-size": "16px",
        "line-height": "1.5",
        "text-align": "left"        
    },
    "languages": ["en", "fr", "de"],
    "version": "1.0.0"
}

Inital folder structure:

.
├── docs
│   ├── MyPsmDoc.json

The root folder will contain the documentation files and folders.

.
├── docs
│   ├── MyPsmDoc.json
│   ├── Home.psmdoc
│   ├── GettingStarted
│   │   ├── Introduction.psmdoc
│   │   ├── Installation.psmdoc
│   │   ├── Configuration.psmdoc
│   ├── UserGuide
│   │   ├── Login.psmdoc
│   │   ├── Dashboard.psmdoc
│   │   ├── Profile.psmdoc
│   ├── AdminGuide
│   │   ├── Users.psmdoc
│   │   ├── Roles.psmdoc
│   │   ├── Permissions.psmdoc
│   ├── DeveloperGuide
│   │   ├── Architecture.psmdoc
│   │   ├── Modules.psmdoc
│   ├── Support
│   │   ├── Contact.psmdoc

Add your documentation files with the .psmdoc extension. Use Folder names to create sections and sub-sections.

.psmdoc file structure

All configurations and attributes are optional, a .psmdoc file can be as simple as a single line of text.

Hello World!

Files are parsed in blocks, each block is separated by a blank line. Blocks can contain new lines inside them. The following example shows a document with two blocks.

Hello World!

This is a new block
that contains multiple lines
in it.

Block attributes

Heading

Headings are defined by a single hash and the header level. The following example shows a document with three headings.

#H1 Introduction

#H2 Getting Started
with PSMDOC

#H3 Installation

In the previous example, H2 constains many lines of text, but the parser will consider it as a single block. This is because the block is separated by a blank line. And usefull to create content in mobile devices for better reading.

Bold text

Bold text is defined by asterisks. The following example shows a document with bold text.

*This is a bold text*

#H1 My Document is *awesome*

will render as:

This is a bold text

Italic text

Italic text is defined by underscores. The following example shows a document with italic text.

_This is an italic text_

#H1 My Document is _awesome_

will render as:

This is an italic text

Lists

Lists are defined by a dash. The following example shows a document with a list.

- Item 1
- Item 2
- Item *3*

will render as:

  • Item 1
  • Item 2
  • Item 3

Links

Are two types of links, internal and external links.

Internal links are lines that start with #IL followed by the link text and the file name. The file name must be the same as the file name.

#IL /GettingStarted/Introduction.psmdoc "Getting Started" target="_blank"

External links are lines that start with #EL followed by the link text and the URL.

#EL https://www.google.com Google target="_blank"
Inline links

Inline links inside other blocks (text, headings, lists, etc) are added in new lines with the following syntax:


This is a link inside a text block to
#EL https://www.google.com Google target="_blank"
 main page.

- Item 1
- Item 2 link to
#EL https://www.google.com Google target="_blank"
page.
- Item 3

Images

Images are lines that start with #IMG followed by the image URL and the alt text.

#IMG https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png "Google Logo" width="100" height="100" fit="cover"

Code

Code is defined by three backticks. The following example shows a document with code.

function helloWorld() { console.log("Hello World!"); }

Tables

Tables are defined by a first line with #table Caption, and following lines with the table headers and rows.

#table My Table
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Row 1    | Row 1    | Row 1    |
| Row 2    | Row 2    | Row 2    |
| Row 3    | Row 3    | Row 3    |

Quotes

Quotes are defined by a #QUOTE tag. The following example shows a document with a quote.

#QUOTE This is a quote

Multiple levels are not supported yet.

Set document attributes in the header of the file. If the first line starts with double hash ##, the parser will consider it as the header of the file.

## title="Introduction to my documentation" label="Introduction"

Installation

Requirements

  • Node.js
  • NPM

Install

npm install -g @prioritysupport.mobi/psmdoc

Usage


psmdoc mydoc_settings.json

License

MIT