Skip to content

mithray/smd-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. Provide parsers and an interface to send rules. Let the software apply those rules.
  2. Human Readable.
  3. Low language redundancy. 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
      • h1-h6: left side atx headings
      • h1-h6: two side atx headings
      • h1-h6: setext style headings
    • ul
    • li
    • ol
    • phrasing
      • em
      • strong
      • sub
      • sup
    • [/] Code
      • inline code
      • block code
      • testing
  • Meta
    • Wrapping with HTML boilerplate
    • Including css styles
  • Critic
    • insert
    • delete
    • mark
    • comment
  • Links
    • Inline links
    • Reference links
    • Schema ontology links
  • Interpreters
    • Mathjs
      • Math expression toTex
      • Evaluate inline Math
      • testing
    • inline javascript
    • chart.js (charts)
    • mermaid.js (uml digrams)
    • abcjs (music)
    • open street map with leaflet
  • Language and Syntax Tools
    • Browser Inline Dictionary lookup
    • readeasy suggestions on compilation
  • Front Matter
  • 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.

  • Initial Custom Rulesets
    • smd-naked: gfm, vfmd or something simple.
    • smd-extended: Consistend with a simple form of markdown, but with extensions.
    • smd-elite: Full featured but with redesigned syntax. Efficient, but against convention.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published