All Projects β†’ markserv β†’ Markserv

markserv / Markserv

Licence: mit
🏁 serve markdown as html (GitHub style), index directories, live-reload as you edit

Projects that are alternatives of or similar to Markserv

Hads
πŸ“š Markdown superpowered documentation for Node.js
Stars: ✭ 147 (-51.64%)
Mutual labels:  markdown, server, gfm
Remarkable
Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one. Gulp and metalsmith plugins available. Used by Facebook, Docusaurus and many others! Use https://github.com/breakdance/breakdance for HTML-to-markdown conversion. Use https://github.com/jonschlinkert/markdown-toc to generate a table of contents.
Stars: ✭ 5,252 (+1627.63%)
Mutual labels:  markdown, gfm, md
Sublime Markdown Extended
Top 100 Sublime Text plugin! Markdown syntax highlighter for Sublime Text, with extended support for GFM fenced code blocks, with language-specific syntax highlighting. YAML Front Matter. Works with ST2/ST3. Goes great with Assemble.
Stars: ✭ 645 (+112.17%)
Mutual labels:  markdown, syntax, gfm
Pervane
Plain text file based note taking and knowledge base building tool, markdown editor, simple browser IDE.
Stars: ✭ 159 (-47.7%)
Mutual labels:  markdown, server, md
Vditor
♏ δΈ€ζ¬Ύζ΅θ§ˆε™¨η«―ηš„ Markdown ηΌ–θΎ‘ε™¨οΌŒζ”―ζŒζ‰€θ§ε³ζ‰€εΎ—οΌˆε―Œζ–‡ζœ¬οΌ‰γ€ε³ζ—ΆζΈ²ζŸ“οΌˆη±»δΌΌ TyporaοΌ‰ε’Œεˆ†ε±ι’„θ§ˆζ¨‘εΌγ€‚An In-browser Markdown editor, support WYSIWYG (Rich Text), Instant Rendering (Typora-like) and Split View modes.
Stars: ✭ 3,773 (+1141.12%)
Mutual labels:  markdown, gfm, md
Md To Pdf
Hackable CLI tool for converting Markdown files to PDF using Node.js and headless Chrome.
Stars: ✭ 374 (+23.03%)
Mutual labels:  cli, markdown, md
Lute
🎼 δΈ€ζ¬Ύε―ΉδΈ­ζ–‡θ―­ε’ƒδΌ˜εŒ–ηš„ Markdown εΌ•ζ“ŽοΌŒζ”―ζŒ Go ε’Œ JavaScript。A structured Markdown engine that supports Go and JavaScript.
Stars: ✭ 222 (-26.97%)
Mutual labels:  markdown, gfm, md
Backslide
πŸ’¦ CLI tool for making HTML presentations with Remark.js using Markdown
Stars: ✭ 679 (+123.36%)
Mutual labels:  cli, markdown, server
Go Termd
Package termd provides terminal markdown rendering, with code block syntax highlighting support.
Stars: ✭ 223 (-26.64%)
Mutual labels:  cli, markdown
Scaffdog
🐢 scaffdog is Markdown driven scaffolding tool.
Stars: ✭ 237 (-22.04%)
Mutual labels:  cli, markdown
Cpx
A cli tool to watch and copy file globs.
Stars: ✭ 394 (+29.61%)
Mutual labels:  directory, cli
Reveal Ck
Create slides with ruby (and usually in markdown)
Stars: ✭ 202 (-33.55%)
Mutual labels:  cli, markdown
Miniserve
🌟 For when you really just want to serve some files over HTTP right now!
Stars: ✭ 2,894 (+851.97%)
Mutual labels:  cli, server
Gosora
Gosora is an ultra-fast and secure forum software written in Go that balances usability with functionality.
Stars: ✭ 131 (-56.91%)
Mutual labels:  livereload, markdown
Tslide
Terminal SlideDeck, supporting markdown.
Stars: ✭ 198 (-34.87%)
Mutual labels:  cli, markdown
colocat
Fegeya Colocat, Colorized 'cat' implementation. Written in C++17.
Stars: ✭ 14 (-95.39%)
Mutual labels:  syntax, highlighting
KodeEditor
A simple code editor with syntax highlighting and pinch to zoom
Stars: ✭ 60 (-80.26%)
Mutual labels:  syntax, highlighting
Cgx
πŸ’»πŸ”₯CLI to generate the recommended documentation/files to improve contribution (Github, Gitlab, CodeCommit and Bitbucket)
Stars: ✭ 190 (-37.5%)
Mutual labels:  cli, markdown
Tree Node Cli
🌲 Node.js library to list the contents of directories in a tree-like format, similar to the Linux tree command
Stars: ✭ 102 (-66.45%)
Mutual labels:  directory, cli
splash
🌊 Highlight source code embedded in HTML with a splash of color
Stars: ✭ 19 (-93.75%)
Mutual labels:  syntax, highlighting

Markserv Logo

🏁 serve markdown as html (GitHub style), index directories, and live-reload as you edit

Gitter CHANGELOG Build Status Coverage Status All Contributors Npm Version XO code style Known Vulnerabilities

Markserv Demo

✨ Features

  • Markdown content rendered as HTML
  • GitHub flavor CSS and Syntax Highlighting
  • Just in Time Templating: Markdown, HTML & LESS
  • LiveReload as you edit
  • Directory indexes
  • MIME Type file support

Supporting: MathJax, Chinese Characters, Table of Contents, Tables, Heading Anchors

Markserv directory index

πŸ’» Installation

# NPM
$ npm i -g markserv

# Yarn
$ yarn global add markserv

πŸ•Ή Usage

To start Markserv from the CLI

# Open closest README.md
$ readme

# Open file
$ markserv README.md

# Open a directory
$ markserv node_modules

Markserv CLI Splash

Start Markserv and open a file or directory.

# File
$ markserv ./path/to/file.md

# Directory
$ markserv ./

Start Markserv and open the closest README.md file in the browser:

$ readme

⚑️ Live Reload

To see real-time updates as you save your markdown files, you will need to install the LiveReload plugin for your browser:

With the Live Reload plugin installed and turned on, you should see the page reloading as you save your Markdown file.

Markserv Live Reload

πŸ”— Markdown Links

You can link to an external Markdown file in the same way that you use GitHub Wiki links. You can use the example code here to see how external links work.

Example code:

[Skateboarding Dog!](tests/Linked-Markdown-Example.md)

Example link:

Skateboarding Dog!

⏱ Just in Time Templating

Markserv allows you to include nested content. Templates are fetched and rendered when you request them in your browser. The maxDepth of includes is set to 10.

If you would like to look at an example, you can look in the tests/templates directory of this repo.

To see the server output of this templating example:

$ git [email protected]/f1lt3r/markserv.git
$ cd markserv
$ markserv tests/templates/index.html

Include Markdown

Note: Any markdown files that you include will be transformed to HTML.

Where foo/bar/baz/qux.md equals:

## Qux

And Markserv renders the following content:

# Include Markdown
{markdown: foo/bar/baz/qux.md}

The server response will be:

<h1>Include Markdown</h1>
<h2>Foo Bar</h2>

Include HTML

Where foo/bar/baz/qux.html equals:

<h2>Qux</h2>

And Markserv renders the following content:

# Include Markdown
{html: foo/bar/baz/qux.html}

The server response will be:

<h1>Include Markdown</h1>
<h2>Qux</h2>

Include LESS

Note: Any LESS files that you include will be transformed to CSS.

Where foo/bar/baz/qux.css equals:

@link-color: green;
a {color: @link-color}

And Markserv renders the following content:

<style>{less: foo/bar/baz/qux.css}</style>

The server response will be:

<style>
a {
  color: #008000;
}
</style>

🎌 Flags

To list the options/flags for the markserv CLI tool:

$ markserv --help

Changing the HTTP Port

You can change the HTTP Port like this:

markserv -p 80

Making Markserv available to external networks

In some cases localhost might be the address on which the server is listening, in which case it is hard to make the site available to external networks even with the right IP. Use the following as an example to make sure the server is accessible from external networks:

markserv -p 8642 -a 0.0.0.0

Above example runs the server on port 8642 and it can be accessed from external networks using public IP of the machine on which the server is running. If you want the server to keep running in a seperate thread even when you log out, use this:

nohup markserv -p 8642 -a 0.0.0.0 &

This will make the server instance persistent and will be available to access even when you log out or even when your ssh session closes (in case you are accessing a remote machine through ssh to set up markserv server)

πŸ’˜ Credits

Contributors

Thanks goes to these wonderful people (emoji key):


Alistair MacDonald

πŸ’»

ι™³η€›ζ΄²

πŸ’»

Kefei Lu

πŸ’»

Zhenfei You

πŸ’»

Andrew

πŸ’»

Daniel Perez

πŸ’»

Sushruth Shastry

πŸ’»

Patryk RzucidΕ‚o

πŸ’»

EstebanMarin

πŸ’»

Matthew Reishus

πŸ“–

Daniel Wennberg

πŸ’»

Pete Hodgson

πŸ’»

Deleted user

πŸ“–

Liam Dawson

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].