Markdeep – plain text documents with diagrams, equations, and Markdown syntax
casual-effects.com
casual-effects.com
I love markdown. It's an elegant tool for many situations. My own workflow depends on using Kiwi and Noteplan on my phone with a common dropbox directory for their files, which is a project directory for Sublime on my notebook and desktop. All of my organization is a centralized set of markdown'd text documents, be it my calendar or my knowledge base, sync'd across all of my devices and super-easily edited, searched, or converted to web pages.
But there is a point where using a simple and elegant tool stops being simple and elegant - it can only be tortured so far outside its intended use-case before it stops being useful.
Benefits:
Fairly easy to learn syntax, and powerful enough for most technical documentation needs.
Easy to edit, easy to consume. No launching some heavy desktop app, no worrying about keeping PNG+source files up to date. (I do often use liveuml.com for editing any non-trivial diagrams though.)
Works with version control
Consistent style even when different people are working on diagrams
Drawbacks:
Not that pretty. Someone even mildly proficient at PowerPoint can make better-looking diagrams (though it takes longer). If you're doing internal or technical docs this isn't worth it, but for marketing/end-user facing stuff, maybe. I'll often just give my plantuml diagram to marketing and let them have a graphic designer pretty it up.
Less intuitive. The learning curve is a bit of a barrier for people that have spent years doing stuff in PowerPoint, and haven't yet bought into the other benefits. Especially for a simple diagram, it's hard to convince them to spend a couple hours so they can learn how to build it in 5-10 minutes with plantuml, vs just spending 10 minutes in PowerPoint. I think this is exacerbated by the fact a lot of the benefits come later when trying to edit and it gets more complex.
https://github.com/asciidoctor/asciidoctor/issues/1087
I love all the features of asciidoc but it bothers me they can't get the actual HTML generation right.
![Figure [graph]: A more complex graph example](http://g.gravizo.com/svg?
digraph G {
main -> parse -> execute;
main -> init;
main -> cleanup;
execute -> make_string;
execute -> printf
init -> make_string;
main -> printf;
execute -> compare;
})For the particular offerings of these libraries, a higher quality, professional looking output is generated in a shorter time than powerpoint.
And most importantly, one can version control it, as the source is plain text
An alternative tool I've begun to like is TeXMe: https://github.com/susam/texme. It is like Markdeep but minimal--does not support any fancy features. Just plain Markdown and Latex. Very useful for note taking in a file that can publish itself. I don't think I can draw fancy diagrams while taking notes live so I don't need diagrams. So this simple tool serves me well.
Bonus points if it renders to Markdeep (or an equivalent) to be re-rendered as SVGs or whatever later on.
Edit: Here we go - http://asciiflow.com/
Boxes made out of asterisks, dashes, and slashes appeal to me about as much as cutlery made out of recycled tin cans and coat hangers; it's the worst of both worlds, too ugly to qualify as real graphics and too distracting to be useful as text. Weirdly, the look worse than 'graphics' on the Commodore PET or TRS-80 (whose 'graphic' characters were helpfully printed on the keys and accessible through combination button presses).
https://www.thegeekstuff.com/2009/12/how-to-create-ascii-dra...
https://github.com/vim-scripts/DrawIt
Pretty easy to create comments for code that need a drawing for clear expositions.
Documentation embedded in code docstrings. Yes, I could link to an external SVG but if you did that it wouldn't look great if I have to query the documentation via REPL.
Makefile
all: example.html
example.html: example.md example.png
pandoc $< -o $@
example.png: example.dot
dot -Tpng $< -o $@
example.dot digraph G {
foo -> bar;
}
example.md # Example
Or just use zim ( https://zim-wiki.org/ ) which allows you to embed graphviz diagrams in any 'page', and many other features.
I would be interested in a solution that can take graphviz files and output markdown-friendly diagrams, which can then be compiled back into vector diagrams.
https://codeyarns.com/2017/10/21/how-to-convert-dot-graph-to...
How do you visualise the diff of a diagram? How do you integrate it with git? That seems hard.
the "magic" of this would also make me uncomfortable. if i draw a diagram and the rendered output doesn't look the way i want it, i wouldn't know how to fix it.
Maybe something very simple: A->B<-C similar to the syntax described for causal diagrams in Judea Pearl’s “The Book of Why”
Yes, I do. I spend my time in a terminal all day and ASCII art is way more useful than an image reference which will never be able to load.
Show me a tool to export that powerpoint to ASCII and I'll be happy.
iTerm2, as one example, can display images just fine.
Images are fine as long as they don't fuck with line counts or column counts.
I disagree. Linux kernel documentation and many manpages contain ascii diagrams that proved extremity useful for helping me understanding the them.
I really hope to see diagrams adopted into the markdown standard (CommonMark).
TeXMe on GitHub: https://github.com/susam/texme
TeXMe Demo: https://opendocs.github.io/texme/examples/demo.html
Detailed comparison between TeXMe and Markdeep: https://news.ycombinator.com/item?id=18314175
I used to be a wizzard operating in this mode and many of my school-mates reached out for me to get their homework assignment properly formatted.
Somehow this WP5.5 format reminds me of that Markdown extension. Thankfully markdown is much richer in semantics.
When she says she doesn't understand what I do for a living, I tell her that I work with Reveal Codes, all day. It's more right than wrong.
But, I don't.
And can you use it to write a play script (see any copy of Hamlet) and/or a film script?
https://www.troff.org/prog.html#dformat
https://en.wikipedia.org/wiki/Pic_language
$ <<EOF nroff -p | col -b
> .PS
> lineht = lineht / 2
>
> box "\fIletter.tr\fP"
> arrow
> circle "tbl"
> arrow
> Eqn: circle "eqn"
> arrow
> Troff: circle "troff"
> arc cw
> line down
> arc cw
> left
> arrow
> circle "grops"
> arrow
> box "\fIletter.ps\fP"
>
> up
> line <- from Troff.n
> arc
> line
> box "\fItmac.m\fP"
> .PE
>
──────
tmac.m
│
letter.tr──── tbl ───── eqn ─────troff
│
───── ─────
letter.ps gropsWhy javascript projects tend to be this way?
1 - https://github.com/morgan3d/markdeep/blob/master/1.09/markde...
I did and it's not there. The repo in my link _is_ the source, unfortunately.
Because "you don't need $LIBRARY" / "bundling is crap" / "Vanilla JS is better". Some combination of those three.
(Bear with me, posting this from mobile)
The name "markdown" conveys styling in the opposite direction of the "markup" tag syntax. Markdown beautifies text without explicit tags, based on common practices from ASCII e-mail and plain-text documents.
"Markdeep" is farther "down" from "markdown" on the autostyling and beautification path. Markdeep combines an easy-to-use and browser-friendly packaging with new unique features such as diagrams.It's a fairly established common format that can be translated into text, HTML, markdown, man pages, etc.
=begin HTML
=end HTML
Is pretty broadly supported for output formats that can support it.
It should probably be done server-side with a static site generator.
This has support for mermaid, slides etc.
I'd like to be storing design docs and specs in git instead of confluence with draw.io diagrams, but so far haven't found any WYSIWYG round-trip-able integrated-into-intellij tools.
Intellij supports plantuml and doubtless a few other schemes, but do any of them have the equiv of a draw.io editor integrated?
https://db.inf.uni-tuebingen.de/staticfiles/publications/com...
BTW, I use MarkdownPad with live side—by-side preview. Love it.
I wish there was something of similar quality for linux (or web generated).
No asciiflow doesn't come close.
I have also been trying to use mermaidjs, but asset quality is not close to monodraw
particularly for applications like wikipedia, where a lot of graphs are pasted images and the original data is gone
styling them and dealing with different chart types will be tricky in the same way every charting tool out there is tricky to use (d3, matplotlib, everything that doesn't restrict to a small set of chart types & push default style)
<meta http-equiv="refresh" content="5" >For the kind of diagrams I typically want to include in a Markdown document (a quick DB ERD, a class diagram, a deployment diagram, state charts, or sequence diagrams), those things can be described in a simple descriptive form and then drawn from that. I don't want to draw.
I think a good tool for that is Mermaid.JS (see the parent link).
However, what I think the Markdeep approach has over the Mermaid approach is that Markdeep fits the general ethos of Markdown much better: start with a readable doc. I would agree that an ASCII art picture is more readable than Mermaid.JS.
It'd be nice to see approaches like Mermaid with a bit more energy into making the markdown behind the diagrams a bit more readable relative to where they are now, so that consumers of the raw markdown have an easier time.