@mithray/smd

0.1.15 • Public • Published

Semantic Markdown (SMD)

Introduction

DON'T USE THIS YET! I RECOMMEND WAITING FOR VERSION 1.0.0

Semantic Markdown is a bit like a custom markdown development environment as well as contains a default implementation in javascript. The default implementation of SMD attempts to make easy marking up web pages with good HTML5 and schema, and contains tools for adding styling, so you can run it on a markdown document and immediately sent to a friend or upload it.

Contents

Purpose

The purpose of this project is to:

  • Help create custom markdown flavors.
  • Translate markdown flavors into each other.
  • Make markdown settings an authoring choice, not a developer choice.
  • Create a powerful, intuitive default implementation with many "bells and whistles".
  • Provide Authoring language suggestions similarly to Grammarly and Readable, but integrated into the development pipeline.
  • Make Semantic HTML and Schema markup easy and fun to create.
  • Making authoring fun.

Design

  1. Hackable.
  2. Human Readable.
  3. Expressive. Low language redundancy. This is similar to Pythons principle of There's Only One Way To Do It
  4. Input and Output Document should look as close as is possible. For example, a plain text file written in SMD should resemble how a browser renders the output HTML.
  5. Sticks as close as possible to the original markdown.

The principles here are given in order of preference. The construction of the default syntax is decided as deductively as possible around these principles. Due to the first principle being "hackable", you can essentially re-order the guiding principles according to your own preference. Eventually, a full specification of a markdown ruleset should be able to translate into any other ruleset. 😄 😀

Roadmap

  • [ ] Base Rules
    • [ ] headings
      • [x] h1-h6: left side atx headings
      • [ ] h1-h6: two side atx headings
      • [ ] h1-h6: setext style headings
    • [x] ul
    • [x] li
    • [ ] ol
    • [x] phrasing
      • [x] em
      • [x] strong
      • [x] sub
      • [x] sup
    • [ ] Code
      • [x] inline code
      • [x] block code
      • [ ] testing
  • [ ] Meta
    • [ ] Wrapping with HTML boilerplate
    • [ ] Including css styles
  • [x] Critic
    • [x] insert
    • [x] delete
    • [x] mark
    • [x] comment
  • [ ] Links
    • [ ] Inline links
    • [ ] Reference links
    • [ ] Schema ontology links
  • [ ] Interpreters
    • [ ] Mathjs
      • [x] Math expression toTex
      • [x] Evaluate inline Math
      • [ ] testing
    • [ ] inline javascript
    • [ ] chart.js (charts)
    • [ ] mermaid.js (uml digrams)
    • [ ] abcjs (music)
  • [ ] Language and Syntax Tools
    • [ ] Browser Inline Dictionary lookup
    • [ ] readeasy suggestions on compilation
  • [ ] Front Matter
  • [ ] Editing of rules using YAML files
  • [ ] Writing yaml rulesets for various markdown flavors
  • [ ] Include Components
    • [ ] Forms
    • [ ] Video
    • [ ] Audio

These are various flavors of markdown, some or all for which I hope to write rulesets using smd interpretable yaml specifications.

Release Notes

Release 0.1.15

  • Tidy README.md

Release 0.1.14

add to readme specs

Release 0.1.13

added keywords to package.json

Release 0.1.12

tidy readme

Release 0.1.8

  • basic functionality
  • headers
  • unordered list

Phrasing Markup

  • em
  • strong
  • sub
  • sup

Critic Markup

  • ins
  • del
  • mark
  • comment

Math

  • mathjax

Package Sidebar

Install

npm i @mithray/smd

Weekly Downloads

220

Version

0.1.15

License

MIT

Unpacked Size

58.4 kB

Total Files

36

Last publish

Collaborators

  • mithray