Is there a package for multimarkdown support (e.g. tables, definition lists)?


#1

I use multimarkdown a lot and (for instance) need tables and definition lists as supported in multimarkdown apps, but the package installer can’t find anything for multimarkdown. Anyone know if there’s one for Atom out there?


Multimarkdown conversion of TextMate bundle - made a start, need help to finish
#2

If there isn’t anything already out there you could use https://atom.io/docs/v1.0.0/hacking-atom-converting-from-textmate#converting-a-textmate-bundle to convert https://github.com/fletcher/markdown.tmbundle into an Atom package.


#3

I ran the following:

apm init --package ~/.atom/packages/language-multimarkdown --convert https://github.com/fletcher/markdown.tmbundle.git

then, on launching Atom:

Atom Version: 1.0.0
System: Mac OS X 10.10.3
Thrown From: language-multimarkdown package, v0.0.0

Stack Trace

Failed to load a language-multimarkdown package grammar

At /Users/admin/.atom/packages/language-multimarkdown/grammars/markdown.cson: unexpected , in /Users/admin/.atom/packages/language-multimarkdown/grammars/markdown.cson

[stdin]:385:20: error: unexpected ,
begin: “\G(#{1,6})(?!#)\s*(?=\S)”
^
at /Users/admin/.atom/packages/language-multimarkdown/grammars/markdown.cson:1:1

[…]

Config

language-multimarkdown, v0.0.0
markdown-format, v2.5.1

#4

I tried it, and it failed with the same error. Replacing that line (line 385) with the following fixed it:

    begin: "\G(\#{1,6})(?!#)\s*(?=\S)"

This is the first time I opened a grammar file, so I really don’t know what I’m talking about… But it seems to work, so hey :smile:


#5

I took a look through others grammar files and none of the hash symbols are escaped \#, yet the converted files contains escaped-escaped hash symbols \\# (I guess because the original language was Ruby).

But the grammar fails to do anything, although I can now at least choose it under grammars. So no real progress yet, And no idea myself how to go forward yet!

At least I tried to pick apart the regex as far as I’m able:

\G(\#{1,6})(?!#)\s*(?=\S)
\G        start of string/end of previous match
(\#{1,6}) capture between 1-6 hash symbols
(?!#)     capture 0-1 of anything not a hash symbol, if present
\s*       none or as many space characters as exist
(?=\S)    look ahead and confirm that what follows is not a space

And now even Markdown doesn’t seem to preview ((sigh)). Look like another post is required…


#6

Actually, the (?!#) means: match the previous only if it isn’t followed by a #. Don’t know why in that one case the # needs a preceding \ and in the other case it doesn’t.

Anyway, after patching the converted bundle, it seemed to work on my machine. There was little variation in color though, title and link colours differed from the rest of the text, but that was it. I think it needs some tweaking after the conversion, but I can’t help you on that.


#7

I see. I had no colour variation and no preview - which theme are you using?


#8

I was using the duotone-dark-syntax theme when I tested this. The colors were mainly different shades of gray, except for links, they were orange.

If you’re referring to the markdown-preview package, it probably needs to be patched to support other grammars, or you could try using a different package, like preview.


#9

After a second attempt at converting, the Markdown elements are highlighting okay now, but there’s no preview and Multimarkdown elements are ignored. I don’t yet know how to patch the markdown-preview (or any) package, so I guess I’ll have to dig deeper - it’s now a question on StackOverflow. Thanks for your help.