ptfmiller / concept-md

1 stars 1 forks source link

A solution for writing visually with ease

It's not difficult to find sources claiming that visual argument can convey a point more clearly, efficiently, and convincingly than freeform text. The reason is straightforward:

Visual content reaches an individual’s brain in a faster and more understandable way than textual information. Or, more accurately, a person’s brain is hardwired to recognize and make sense of visual information more efficiently.

One presenter laid out a spectrum of textual->visual like this:

Markdown has given us a simple system for creating documents that contain everything up to bullet points, and also supports image imports. There is also a great deal of development going on right now to make graphical formats easier to produce. However, there is no solution that makes expressing ideas in tabular format simple yet powerful. Enter concept-markdown.

Goals of concept-markdown

2 minutes to learn

This is really the main point. What makes markdown wonderful is that it took me ~5 minutes to copy others' work and learn how markdown works and from that point on I could easily create documents that were elegant but seemed like they would be hard to make.

Tables are simple yet powerful

Concept-markdown minimizes the unecessary bells and whistles. You can do so much with html, but we only want to do a very small range of things. However, we need to end up creating tables that pack all the punch of any table out there.

Plaintext looks fine on its own

This is what markdown is all about. You can easily read a markdown file without converting it to html and get all the same content. With tables it requires purposeful whitespace but other than that we should be able to do it.

Capture the fundamental purposes of tables

Tabular format allows us to perform these essential tasks:

Make your own formats

Concept-markdown is appropriate for blogs, consulting materials, ebooks, emails, marketing materials, and article/social media comments. Different parties may want to apply their own brand to the tables, and that should be easy to perform by allowing them to import some of their own style elements. This will, however, require extensive security controls.

Usage

There are three features that concept-md adds to tables:

The following table

|>===========>|>===========>|>===========>|
|     2016    |     2017    |     2018    |
|-------------|-------------|-------------|
| 2016 item 1 | 2017 item 1 | 2018 item 1 |
|-------------|-------------|-------------|
| 2016 item 2 | 2017 item 2 | 2018 item 2 |
|~~~~~~~~~~~~~X~~~~~~~~~~~~~X~~~~~~~~~~~~~|
|          Concluding statement           |
|https://raw.githubusercontent.com/ptfmiller/concept-md/master/concept-md.css|

Is rendered as: (insert screenshot)

Here's a more complex table showing more of the capabilities:

|--------------------------|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
|                          |        Column title 1         |            Column title 2                   |
|=========================>|---------------------------  ->|---------------------------------------------|
|      A 3-row arrow       |      This item leads to       |  *This bold item* (use markdown internally) |
|XXXXXXXXXXXXXXXXXXXXXXXXXX|-------------------------------X---------------------------------------------|
|                          |  These two columns are joined together and use escape to print a pipe: \|   |
|XXXXXXXXXXXXXXXXXXXXXXXXXX|^-----------------------------:|:---^---------------------------------------:|
|                          | Aligned right and pointing up | Justified and pointing up with a long arrow |
|_________________________>|>=============================>|>============================================|
| De-emphasized arrow item | Emphasized continuation item  |       Emphasized receiving item             |
|------------https://raw.githubusercontent.com/ptfmiller/concept-md/master/concept-md.css----------------|

This renders to: (insert screenshot)

The structure of the markdown is pairs of lines. The first line specifies structure of the cells and the second specifies the contents. The bottom row is optional and allows the author to specify a style file to replace the defaults.

The structure rows consist of delimiters X or | separated by cell styling information =, _, +, -, XX, :, >, <, V, and ^. All other characters are ignored.

The content rows consist of the text that will occupy the cells, separated by | delimiters.

Delimiters

Cell styling

Remaining challenges

Approach for getting the engine integrated into mainstream services

Find a good implementation host for the meantime

Nail down the name

Some alternatives:

See the issues