mdx-js / mdx

Markdown for the component era
https://mdxjs.com
MIT License
17.7k stars 1.14k forks source link

📝 Editor support #119

Closed vjpr closed 3 years ago

vjpr commented 6 years ago

For tracking which editors support MDX.

Flaque commented 6 years ago

Should editors add MDX highlighting for .md files? Or .jsx files? Or should there be a .mdx file?

timneutkens commented 6 years ago

.mdx seems the safest choice to me.

Flaque commented 6 years ago

I can take a crack at it for VSCode. Is there a .tmLanguage somewhere? If not I can make one.

timneutkens commented 6 years ago

@Flaque not atm, but I guess you can copy the .md one, and then copy import and export from javascript, and change the regex for inline html to match uppercase too, since it seems that is disregarded now.

Flaque commented 6 years ago

Sounds good, that’s my plan!

pedronauck commented 6 years ago

I agree with @timneutkens, .mdx can be the better choice and will be awesome, is really bad write mdx without editor support... I'll try to make for vscode, but unfortunelly i'm kind out of time now due to other project that use mdx too 😢

timneutkens commented 6 years ago

Added an item for prettier to the initial list, even though it's not an editor it falls under the same thing.

wilomgfx commented 6 years ago

Any updates on this ? I can work on vscode too @Flaque

macklinu commented 6 years ago

I would love Prettier support for MDX. Not sure what's involved, but glad to help if I can. I'm thinking there would be a prettier-plugin-mdx after looking at the Prettier plugins documentation. Any other thoughts on how to integrate MDX and Prettier?

Flaque commented 6 years ago

@wilomgfx take a shot at it, I got caught up in other things and likely won't finish it sorry 😅

wilomgfx commented 6 years ago

@Flaque did you have anything good already done that i can start from or im better off starting from scratch :)?

Flaque commented 6 years ago

Most of it was on a computer that bombed, which is kind of how I stopped working on it and then got distracted by other stuff. Sorry 😅

On Jun 23, 2018, 9:59 AM -0700, William Cantin notifications@github.com, wrote:

@Flaquehttps://github.com/Flaque did you have anything good already done that i can start from or im better off starting from scratch :)?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/mdx-js/mdx/issues/119#issuecomment-399693099, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFqt8VJggIrZg-CRGRSfosxcRCIKptlGks5t_nP7gaJpZM4Ttiuu.

flippidippi commented 6 years ago

Anyone good at Vim plugins? 😄

jxnblk commented 6 years ago

I've literally never tried to write a Vim syntax before, but threw this together for my own use. If anyone wants to help out, that'd be great https://github.com/jxnblk/vim-mdx-js – cc @flipxfx

silvenon commented 6 years ago

I just published vscode-mdx!

kentcdodds commented 6 years ago

I've opened an issue for prettier support on the prettier repository: https://github.com/prettier/prettier/issues/4960

sibelius commented 6 years ago

this works great https://github.com/jxnblk/ok-mdx

would be cool to have an online version of it

trevordmiller commented 6 years ago

@jxnblk nice work on the vim plugin! Perhaps you could get it included in vim-polyglot as the mdx language pack?


UPDATE: requested in https://github.com/sheerun/vim-polyglot/issues/342.

hsribei commented 6 years ago

Spacemacs user here! My elisp is practically non-existing, but it'd be cool to add Emacs to the initial todo list in case someone comes along with the chops to work on it :)

ChristopherBiscardi commented 6 years ago

For emacs markdown-mode is probably the place to start, but it's already pretty OK from my perspective (despite not having "real support" for mdx). Biggest missing pieces are all the niceties that markdown-mode provides for inserting different elements. Indirect editing support for JSX blocks would be nice too (like the indirect editing support already available to code blocks) and seems mostly like a matter of propertizing jsx/import/export blocks.

screen shot 2018-08-29 at 10 02 16 am

jonsuh commented 6 years ago

I put something together for Sublime Text 3 support: https://github.com/jonsuh/mdx-sublime

I submitted a PR https://github.com/wbond/package_control_channel/pull/7312 to get it on Package Control.

It isn’t perfect, but it’s better than no syntax highlighting at all. I’ve never written language syntax before, so could use and would appreciate any help to improve it!

image

silvenon commented 6 years ago

@jonsuh great! ⭐️ It was my first time with VS Code as well, grammars are complicated and feel inherently hacky. 😅

ryee-dev commented 6 years ago

Any updates on intellij/webstorm support? :(

bradringel commented 5 years ago

I took a stab at this for atom, using @silvenon 's vscode repo as a base, it seems to be working okay but I can't get the end pattern to match properly. If you add a JSX, the content after that tag is closed also has the scope for JSX, instead of the markdown scope. Anyone know what's wrong here?

  "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
  "name": "Markdown React",
  "patterns": [
    { "include": "#jsx" },
    { "include": "#markdown" }
  ],
  "repository": {
    "jsx": {
      "patterns": [
{
              "begin": "^(?=(import|export)\\b)",
              "end": "(\\s*$)",
              "contentName": "source.js.jsx",
              "patterns": [
                { "include": "source.js.jsx" }
              ]
           },
            {
              "begin": "^(?=<([a-z]|[A-Z]))",
              "end": "((\\w|/)>)",
              "contentName": "source.js.jsx",
              "patterns": [
                { "include": "source.js.jsx" }
              ]
            }
      ],
    },
    "markdown": {
      "contentName": "source.gfm",
      "patterns": [
        { "include": "source.gfm" }
      ]
    }
  },
  "scopeName": "source.markdown.jsx",
  "fileTypes": ["mdx"]
}
trevordmiller commented 5 years ago

Note that @jxnblk's vim-mdx-js plugin was added to vim-polyglot in https://github.com/sheerun/vim-polyglot/issues/342, so Vim can be checked off now :)

trevordmiller commented 5 years ago

Could these plugins be documented on https://mdxjs.com?

johno commented 5 years ago

Totally! Will happily accept a PR to add them in!

trevordmiller commented 5 years ago

@johno https://github.com/mdx-js/mdx/pull/436

landsman commented 5 years ago

I really want support of MDX in my Intellij Idea Ultimate please :)

wilomgfx commented 5 years ago

@landsman well that's the good thing about source. Do it 💪

rg1220 commented 5 years ago

+1 for JetBrains IntelliJ/WebStorm support

silvenon commented 5 years ago

Please don't post any more "+1" comments, that is what emoji reactions are for. I understand that this is a highly requested plugin, but AFAIK nobody volunteered yet. As far as I see you'd have to know Java for this, which is not a common skill among people using MDX.

ttasovac commented 5 years ago

I took a stab at an MDX grammar for Atom: https://github.com/BCDH/language-mdxjs

aloenobilis commented 5 years ago
silvenon commented 5 years ago

@ttasovac awesome! ❤️ I added it to the list ✅

bitwhys commented 5 years ago

Not sure if you view this as "full support" but the following is from the JetBrains issue thread and details how to get syntax highlighting in WebStorm. There's no autocomplete as far as I can tell, but correct me if I'm wrong, there isn't any either in vs-code. Either way this works as described.

https://youtrack.jetbrains.com/issue/WEB-32599#focus=streamItem-27-3699900.0-0

TL;DR

  1. Download the source for vscode-mdx
  2. In Webstorm: Settings > TextMateBundles
  3. Click the plus button to add the source code (unzipped)
  4. Apply changes
  5. Enjoy

webstorm-mdx

silvenon commented 5 years ago

@bitwhys cool! I updated the list.

borisdiakur commented 4 years ago

The TextMateBundles “work around” for JetBrains doesn’t work for me 😫. Any ideas anyone?

Screen Shot 2019-12-19 at 10 33 31

UPDATE Just received this comment from JetBrains support:

Support for TextMate grammatics written in JSON (as in this plugin) is only supported starting with version 2019.2.

danon commented 4 years ago

Yes, the vs-code-mdx-master trick works, but PhpStorm/IntelliJ will only display *.md preview window, it won't show preview window for .mdx files now.

christopher-francisco commented 4 years ago

@trevordmiller this is how it looks on my neovim, am I doing something wrong?

Screen Shot 2020-03-10 at 9 00 13 PM

:set ft returns markdown.mdx

dandv commented 4 years ago

Is there an editor for MDX with live preview, similar to StackEdit? I couldn't find one among all the Electron apps.

mtrojanowski commented 4 years ago

There is an IntelliJ plugin for MDX since August 2020: https://plugins.jetbrains.com/plugin/14944-mdx/versions

silvenon commented 4 years ago

Thanks! Updated the list ✅

wooorm commented 3 years ago

going to close this issue, thanks y’all for your work! Please open new issues/prs if you want to add an editor integration!

nyngwang commented 2 years ago

@trevordmiller this is how it looks on my neovim, am I doing something wrong?

Screen Shot 2020-03-10 at 9 00 13 PM

:set ft returns markdown.mdx

Wait, so nobody cares about this?

NeuroNexul commented 7 months ago

Is there any library for MDX language support for ACE editor or Codemirror?

remcohaszing commented 7 months ago

MDX editor support is provided using Volar. To add MDX language support for a web editor, means to add support for Volar.