1.0.3 • Published 2 years ago

markio v1.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Markio

npm dependents install size Downloads NPM Version

run on repl.it

Markio is a custom Markdown rendering package for Express that can handle Markdown input from a file or a block of text in the main file.

Installation

You can install Markio using NPM:

npm install markio

Usage To use Markio in an Express application, first require the package and add the markioMiddleware middleware to your application:

const express = require("express");
const markio = require("markio");

const app = express();

app.use(markio.markioMiddleware);

app.get("/", (req, res) => {
  res.locals.data = "# Hello, world!";
  res.send(markio.renderMarkdown(res.locals.data));
});

app.get("/file", (req, res) => {
  res.locals.data = { filename: "example.md" };
  const markdown = "## " + fs.readFileSync(res.locals.data.filename, "utf8");
  res.send(markio.renderMarkdown(markdown));
});

app.listen(3000, () => {
  console.log("Server listening on port 3000");
});

In this example, we're setting the data variable in res.locals to a Markdown string in the "/" route handler, while in the "/file" route handler, we're setting it to an object with a filename property that points to a Markdown file.

When the markioMiddleware middleware is called for a GET request with the format query parameter set to md, it will check the type of res.locals.data and render the corresponding Markdown input.

API

Markio exports two functions:

renderMarkdown(input: string): string

Renders the given Markdown input string and returns the resulting HTML string.

markioMiddleware(req: Request, res: Response, next: NextFunction): void

Express middleware that checks if the format query parameter is set to md and renders the corresponding Markdown input in the response. If res.locals.data is a string, it is assumed to contain Markdown input. If it is an object with a filename property, the contents of the file with the specified filename are read and assumed to contain Markdown input. If res.locals.data is not a string or an object with a filename property, the next middleware in the chain is called.

License

Markio is released under the ISC License. See LICENSE for details.

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago