index.md

Flexible CLI that creates HTMLs from your Markdown files.

Usage no npm install needed!

<script type="module">
  import indexMd from 'https://cdn.skypack.dev/index.md';
</script>

README

index.md

Version

Flexible CLI that creates HTMLs from your Markdown files.

Screenshot

Screenshot 2

Installation

You can install it from npm.

> npm install -g index.md

Usage

The main command converts and with init it generates a config file.

Run

Convert all the .md files to .html files.

> index.md

If the command doesn't work for you and your OS treats it as a file instead of an executable, try this:

> index-md

Options

Here are all the options or configurations for index.md:

  • version Must be set, do not edit this.
  • source Relative path to read your .md files (default is ".").
  • output Relative path to save your converted .html files (default is ".").
  • template Use an HTML template for standard web page (default is true).
  • baseTemplate Relative path to your base HTML template (default is null).
  • nameAsTitle Use MD file name as HTML title (default is false).
  • firstLineAsTitle Use first line of MD file as HTML title (default is true).
  • cssVariables CSS3 Theming of default base template.
    • --primary
    • --body-color
    • --body-bg
    • --heading-color
    • --content-bg
  • extraHead List of custom HTML head elements.
  • headingsId Add IDs to headings.
  • headingsIdSlugify Slugify the heading IDs.

Arguments

Here are all the args or parameters when running index.md command:

  • init Creates the config file with default values for each option.
  • help Prints out this README file.
  • version Prints out the current version.

Custom Base HTML Template

If you don't want the default base HTML template/theme you can make your own. All you need to do is to include certain variables so index.md can use it.

Variables

You need these exact characters in the template, so they work.

  • <!-- TITLE --> (required)
  • <!-- PAGE --> (required)
  • <!-- EXTRA_HEAD --> (optional)
  • <!-- CSS_VARIABLES --> (optional)

Starter Template

Here's a starter template for you base HTML template:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <!-- EXTRA_HEAD -->
  <title><!-- TITLE --></title>
  <style>
    /* CSS_VARIABLES */
  </style>
</head>
<body>
  <!-- PAGE -->
</body>
</html>

Development

Here are the commands for development:

  • npm run build Compile the TS files to JS.
  • npm run start Run the app.js.
  • npm run lint Check code quality.