Renderer

A lightweight service for rendering Markdown / Text / JSON into HTML viewer pages.

What It Supports

API Endpoints

Markdown

Text

JSON

Source Param Encoding

GET endpoints that use src require encoded input.

  1. base64Encode(rawUrl)
  2. urlEncode(base64Payload)

Server parse flow:

  1. urlDecode(src)
  2. base64Decode(payload)
  3. validate http/https URL

Example helper:

function encodeSrc(rawUrl: string): string {
  const bytes = new TextEncoder().encode(rawUrl);
  let binary = '';
  for (const byte of bytes) binary += String.fromCharCode(byte);
  return encodeURIComponent(btoa(binary));
}

Viewer Features

Example Description
/test/syntax Markdown syntax playground
/test/error Route 404 page demo
Markdown from GitHub Raw Markdown remote render
Text from GitHub Raw Text remote render
JSON from GitHub Raw JSON remote render

Markdown

Endpoint Purpose
/api/mardown/render/error Markdown error page test
/api/mardown/render/client Markdown client-side viewer test

Text

Endpoint Purpose
/api/text/render/error Text error page test
/api/text/render/test Text viewer demo page

JSON

Endpoint Purpose
/api/json/render/error JSON error page test
/api/json/render/test JSON complex demo page