@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
12
Maintainers
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 InstallationIn 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 3Images
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 quoteMultiple 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/psmdocUsage
psmdoc mydoc_settings.json
License
MIT
