Show HN: Dumbdown – A dumb alternative to Markdown
github.com
github.com
I agree with those, and I wouldn't reach for dumbdown either.
But maybe more interesting is the tree notation thing that this is meant to be a use case of. So far as I can tell, the tree-notation thing is a declarative DSL for grammars and textual "compilers", like maybe a very simplified ANTLR? Dumbdown is a ~100 line example, so even if it's not useful as a "real" format, it does seem illustrative of the tooling. And that tooling makes me think ... maybe we would have been better off if markdown (and extensions like GH-flavored markdown) had been implemented and shared as declarations in a language-description DSL.
Usually, creating a new DSL is a complex programming task; yet with Tree Notation, a domain expert may tweak an existing DSL or even build a simple one from scratch. As you say, maybe the markdown ecosystem would benefit from this approach.
I call the concept "Type the World" (https://breckyunits.com/type-the-world.html)
Here's an early hacky prototype called "World Wide Types" (WWT): https://jtree.treenotation.org/designer/#standard%20wwt
Are images [img.jpg(alt text)] or (img.jpg[alt text])? I forgot. <img src="img.jpg" alt="text"> is way easier to remember. Is it ''bold'' '''italic''' or "bold" 'italic' or 'bold' ''italic''? <b>bold</b> <i>italic</i> is MUCH more intuitive.
Dumbdown doesn't. That's reason enough why this is not for me. Also I find the markup not hard to remember at all. It's fairly straightfoward and second nature to me by now.
Dumbdown is designed with future editors in mind.
I've added an FAQ to try and explain that a bit.
https://github.com/treenotation/dumbdown/blob/master/README....
I mean there isn't a lot of symbols to remember, and between symbols and words, I find symbols better to read when dealing with plaintext while words would get in the way.
Personally - I'm always blindsided by paragraph and newline behaviour - and bullet/numbered lists seem to never work intuitively. I know the internal logic is consistent but it's never made sense to me and I can never recall it.
Implementation details still have to be implemented. Someone else might come along and figure that different documents may want to interpret "emphasis" differently, and while we're at it, why not make it composable? They may design a DSL for that, and give it a cool name too, like "cascading style sheets".
From the glorious https://en.wikipedia.org/wiki/DocBook :
<chapter xml:id="chapter_1">
<title>Chapter 1</title>
<para>Hello world!</para>
<para>I hope that your day is proceeding <emphasis>splendidly</emphasis>!</para>
</chapter>Dumbdown is designed with future editors in mind that would always have autocomplete. Added that to the FAQ.
https://github.com/treenotation/dumbdown/blob/master/README....
As far as I know, Markdown isn't well specified so maybe that's a place to contribute instead.
But if Dumbdown works for you, that's great. I don't want to discourage you from working on it if you're enjoying it. Just know that based on its current goals, it's going to be quite niche.
While I like the abstraction of using English when programming I would like to keep it out of my text.
Yes. You could translate. But...
If memory serves, early 90's era document editors might not have used them in their file formats, but did have a display mode that used them (so you could figure out why that word keeps being bold after you've told it five times to cut it out)
Dumbdown is more keystrokes and the formatting gets in the way of readability.
I try to be positive in all Show HN posts - but I'm having trouble finding something good to say about this.
Inline HTML is great for internal usage and pure peer relationships.
It's a nonstarter when you're in a situation where you have contributions who are only partially invested or only pretending to be. In a work environment, the threat of ostracism has many more teeth and they are far sharper. Upload spyware or exploits, lose your job.
The Elixir Markdown implementation doesn't even have an option to turn it off :/
People were writing valid Markdown before it was invented. It doesn't easier than that.
No one ever has intuitively written Dumbdown.
Personally I really dislike Markdown, and this project does what I thought was impossible: it not only removes any & all advantages Markdown has over markup (brevity, human-readability), but it also somehow manages to make the bad things about Markdown (complex parsing, bad spec.) even worse again. Which is a truly impressive feat tbh.
Full marks for ingenuity.
In a word, no. Esoteric seems a stretch as a characterization of Markdown.
The one thing you have to learn is the bracket notation for anchors, and that's because it's needed to render the html anchor. Nothing stops you from pasting a plain link (and a lot of markdown parsers turn it into an anchor for you even)
I may be in the minority here, but I wish HN supported just a bit more formatting (such as bolding/strong) than it currently does.
I also wish the current formatting was a bit more aggressive in recovering from obvious errors, for example emphasis should probably be closed at the end of a block like a paragraph, rather than making the whole rest of a comment emphasized when someone forgets to add or accidentally deletes a closing asterisk.
In any case, double-asterisks is bold in my mind, even if Slack seems to think otherwise.
> breck7 is currently the BDFL: Benevolent Dummy For Life. But if you feel like you can be a better Dummy, please either fork this project and prove it, or just get involved and stage a peaceful coup. Breck would happily relinguish the BDFL title if a better Dummy comes along.
BECAUSE IF SO I HAVE ONE TOO! =>> https://github.com/TimDaub/daemybenscrypt
Maybe HN isn't the right demographic, but for someone that works with people that aren't super tech savvy, this seems like it will have a good place with them.
I clicked through to treenotation.org too and I really like the direction the treenotation ecosystem is heading in. Looking forward to more of what's to come. Kudos.
This is a "Yes, And..." tool. Dumbdown compliments existing solutions.
TDLR: Dictation, transcription of voice input.
First use case I thought of is voice transcription. Dictating HTML, markup, misc sucks. Dumbdown could make it practical.
Better dictation has been on my mind a lot recently. Once I got a dog, I got A LOT more interested in audio & voice. Podcasts, audiobooks, voice commands.
Now diving into using Siri Shortcuts for transcribing my Quantified Self stuff. eg I speak my weight and blood pressure, which creates entries in Health.app. Neat, right?
Well, dictation of text messages truly sucks. No editing mode. There's no vi style out of band meta language to munge stuff afterwards. At least none that I've found.
And Siri's auto carrot truly pisses me off. Not the mistakes, that's tolerable. What I can't handle is editing and correcting pops me out of whatever task I'm doing.
For my Night Shift style ramblings, I now just use the voice recorder. Basically sending voice mails / memos to my future self. I feel stupid doing it. Always reminds me of a boss (Peter) who'd do this. Very clever strategy. But omg his messages made us worker bees howl. He'd call his home phone and say something "Hi, this is Peter, remember to buy milk. Bye bye." Like he wouldn't know it was himself calling. Gods, I still crack up thinking about it.
Any way...
I do not feel this makes voice input much easier though, that lack of good meta language means editing will still suck.
People who are bad enough at tech that it's genuinely easier for them to type "paragraph" rather than hit enter twice every time they want a new paragraph were never the target audience for Markdown in the first place. They simply...use regular old rich text editors.
Might take a tech savvy person 5 seconds and a less tech savvy person 5 weeks, but for some, they might never get it without something like dumbdown to help pave their neural network.
Plus to me brackets, asterisks and other symbols are not an obscure tech thing. It's literally how tons of sites and apps do their rich text formatting - Reddit and many other forums for one, messaging apps like Whatsapp and Discord for another. From observation on e.g. Reddit, picking it up is a fairly straightforward process:
- someone does fancy formatting trick - "whoa how did you get your comment to come out like that?" - "it's easy, you put blah blah [in front of/around] your text and it does blah" - [tries it out] "neat! thanks"
I don't really see how having people type out "paragraph", "title", "list", etc helps with that process.
Okay joke’s out the way now, back to serious.
I don’t get why having to memorize “title” instead of “#” is any different. What if the word were “header” instead, its just another arbitrary keyword at the end of the day.
After writing that out, it seems using words instead of symbols is actually more difficult, because of ambiguity (title vs header, which was it again?)
Regardless, kudos to author for putting together and releasing something they believe in. I hope they are able to take the criticism constructively and learn from it too :)
About the syntax and tooling - if you target typical user who already knows Word or Markdown, you should also try out to resemble the "actions" they typically would do. I mean, if I would need to create a list item, I think I will support the hyphens or star notation. They are kind of an idiom of a list item already. The same fact is that you can think out of competing with LaTeX in terms of typesetting, pdf rendering, ease of embedding graphs or being a Jupyter notebook/orgmode competitor in terms of running inlined code (i.e. code block), out-of-the-box layout formatting (report, 2-columns, article) etc. etc.
AsciiDoc wasn't in the running for the same use-cases at the time Markdown was conceived. It really wasn't in use except in a few niches like O'Reilly's internal book production toolchain.
To the extent that Markdown is a reaction to any other format, ReStructuredText is probably it rather than AsciiDoc, and RST was mostly used for longform documentation for Python projects.
Markdown's origin story as a format that more-or-less formalized existing ad-hoc conventions used in emails and forums and adding a few more to broaden the utility beyond blog comments is the real story, there wasn't an alternative in use it was competing against.
But good to think about how to process text better.
Questions regarding inline have come up a lot. Just started an FAQ with a more in-depth answer to the inline question:
https://github.com/treenotation/dumbdown/blob/master/README....
Now it's got it's own repo and fully intend on turning this into a real thing once we've come up with a good spec.
Bit of an aside: why are the links in markdown poorly designed? The rest of the language is really intuitive so it surprises me that links are not. Using two types of bracket is an obviously bad idea.
One man can dream, right?
That's all you need.
[link][footnote]
[footnote]: https://example.com
You can also use footnotes without other text, and the text that you would probably expect rendered is the footnote text. Click the [link] to learn more.
[link]: https://example.comThis is how my original prototype worked.
I changed it to just target HTML directly. I forget why. Probably because it was just a prototype and I wanted to make it simpler.
But super easy to have markdown as a target as well.
Edit: Added this answer to the FAQ https://github.com/treenotation/dumbdown/blob/master/README....
Sure, the symbols are gone and replaced with words, but does that make the special word required in a given situation any easier to memorize? The symbols in markdown were chosen to match the way people already write informal text online, so it is not like they are just pulled from space.
And yes, it's true that with this syntax, you don't need to remember which order the brackets go in for links. But you still need to remember in which order to put the URL versus the link text, so the problem there is not fully eliminated either.
And the subheading is crystal clear in its perfect accuracy.
Unclear why we need any comments when that’s so well synthesized already.
Kaufman is still alive!
It is about as easy as it gets.
But inline links, bolds, italics, et cetera are super duper simple.
Tree Languages concatenate.
markdown
Someone can define a markdown
node type and then you can just use markdown
like you normally would *embed* _markdown_.
emojiDown
And this whole sentence would be bold if you added
your own mini language, "emojiDown", which
defined your own node typeshttps://github.com/treenotation/dumbdown/blob/master/README....