# A more robust and extended markdown viewer/editor

**URL:** <https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496>\
**Category:** Viewer/VFS Plugins\
**Tags:** viewer\
**Created:** [May 24, 2026, 2:46pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496 "2026-05-24T14:46:52Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [May 24, 2026, 2:46pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/1 "2026-05-24T14:46:52Z")

</div>

Hey all,

Saw a few threads recently about people having issues with markdown in DOpus, and I’d hit the same wall myself. The PowerToys handler kept throwing errors for me too. So I built my own viewer a while back to scratch the itch, and spent today tidying it up to make it a bit more accessible and compatible. Thought I’d share in case it’s useful to anyone else here.

It's WebView2-based and does more than the existing options. Three core modes:

- **Reading** - clean rendered HTML
- **Live** - the formatting stays visible until your cursor enters a line, then the raw markers reveal just for that line
- **Source** - raw markdown, with an optional split pane inside the viewer (source left, live preview right, draggable handle, link/unlink scroll sync)

![hero-forum](https://resource.dopus.com/uploads/default/original/3X/c/8/c8dcfbf6fb8c23790c40001b743d6002ff24bb0e.gif)

**Why it shouldn't randomly quit on you**

It works around the WebView2 DPI bug that trips up the PowerToys handler, and deals with the cases the existing plugin chokes on, so it should stay up.

**Editing**

- Full formatting toolbar: bold, italic, strikethrough, highlight, inline code, link, footnote, a cycling heading button (H1 to H6), bullet / numbered / task lists, indent, quote, code block, image insert
- Reorder or hide toolbar buttons, and set either toolbar to auto-hide (sweep the edge to bring it back)
- Right-click context menu in any mode
- Syntax highlighting in all three modes (js, ts, python, rust, go, c/cpp, sql, json, yaml, shell, powershell and more), with a copy button on every rendered code block
- Word-wrap toggle for long code lines and URLs

**Saving and files**

- Save and Save As, in the viewer pane or popped out into its own window (double-click a .md)
- Conflict-aware auto-save: if another app changed the file underneath you, it backs off instead of clobbering it
- Unsaved-edit persistence: switch to another file with unsaved edits and it holds them, click back to keep them or reload from disk
- Line-ending aware: optional LF / CRLF badge at the end of each line, and your file's endings are preserved on save
- In-app updater: checks the repo for a newer build and installs it, no manual quit / extract / reinstall

**Images**

- Insert popup: pick a file or paste a URL, set alt text, width / height, alignment. URL images download into the document folder (with magic-byte type sniffing) so your markdown stays self-contained
- Remote-image privacy gate (off by default): https image URLs render as a placeholder and make no network request, so the host can't tell you opened the document
- Obsidian-style sizing syntax works, e.g. `![alt|400x300](path)`

**Themes**

- 29 built-in palettes (17 dark, 12 light: Dracula, Nord, Gruvbox, Tokyo Night, Catppuccin, Solarized and so on), or save your own
- The whole UI re-tints to the active palette: toolbars, selection, scrollbars and the syntax highlighting. Code colours can follow the palette automatically, or you can pin a specific syntax theme

**Language and encoding**

- Auto-detects UTF-8 / UTF-16 (LE/BE) via BOM, with a configurable fallback codepage for legacy files
- Renders Arabic, Hebrew, CJK, Devanagari, Thai, Greek and mixed bidi text
- Full GFM-plus extension set: tables, task lists, footnotes (editable in place), definition lists, abbreviations, mark / highlight, sub / sup

Built it because I work with a lot of markdown day to day and didn't want to fire up a separate app for every small edit. The whole point is keeping it inside DOpus. Bear in mind it's a solo thing that I just extended because a few recent comments here made me think others might get some use out of it.

I'll push updates to the repo as I improve it. There are install and uninstall scripts for the pre-built package, in app updater and more info here:

> **[GitHub - HyperWorX/DopusWorX: Document viewer and in-place editor plugin for...](https://github.com/HyperWorX/DopusWorX)**
>
> Document viewer and in-place editor plugin for Directory Opus. Markdown with Reading, Live and Source split preview, Mermaid diagrams, LaTeX/AsciiMath maths, syntax-highlighted code, an editable CSV grid, rendered HTML, and a binary/hex inspector. 30 palettes, atomic saves and private-by-default images. WebView2 + CodeMirror 6 + KaTeX/Temml.

---

<div class="post-metadata">

**Author:** ![Duke999R](https://resource.dopus.com/user_avatar/resource.dopus.com/duke999r/32/32663_2.png) [@Duke999R](https://resource.dopus.com/u/Duke999R)\
**Post date:** [May 25, 2026, 4:33am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/2 "2026-05-25T04:33:20Z")

</div>

So useful. I appreciate your work and thanks for sharing!

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [May 26, 2026, 12:09am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/3 "2026-05-26T00:09:19Z")

</div>

Pleasure! And here is a new release with extra features for you (nice bike btw, see you on the road).

> **[GitHub - HyperWorX/DopusWorX: Document viewer and in-place editor plugin for...](https://github.com/HyperWorX/DopusWorX)**
>
> Document viewer and in-place editor plugin for Directory Opus. Markdown with Reading, Live and Source split preview, Mermaid diagrams, LaTeX/AsciiMath maths, syntax-highlighted code, an editable CSV grid, rendered HTML, and a binary/hex inspector. 30 palettes, atomic saves and private-by-default images. WebView2 + CodeMirror 6 + KaTeX/Temml.

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [May 26, 2026, 1:58pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/4 "2026-05-26T13:58:40Z")

</div>

> **[GitHub - HyperWorX/DopusWorX: Document viewer and in-place editor plugin for...](https://github.com/HyperWorX/DopusWorX)**
>
> Document viewer and in-place editor plugin for Directory Opus. Markdown with Reading, Live and Source split preview, Mermaid diagrams, LaTeX/AsciiMath maths, syntax-highlighted code, an editable CSV grid, rendered HTML, and a binary/hex inspector. 30 palettes, atomic saves and private-by-default images. WebView2 + CodeMirror 6 + KaTeX/Temml.

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [May 26, 2026, 11:27pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/5 "2026-05-26T23:27:09Z")

</div>

> **[GitHub - HyperWorX/DopusWorX: Document viewer and in-place editor plugin for...](https://github.com/HyperWorX/DopusWorX)**
>
> Document viewer and in-place editor plugin for Directory Opus. Markdown with Reading, Live and Source split preview, Mermaid diagrams, LaTeX/AsciiMath maths, syntax-highlighted code, an editable CSV grid, rendered HTML, and a binary/hex inspector. 30 palettes, atomic saves and private-by-default images. WebView2 + CodeMirror 6 + KaTeX/Temml.

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [May 29, 2026, 8:59am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/6 "2026-05-29T08:59:21Z")

</div>

# DopusWorX

![hero-forum](https://resource.dopus.com/uploads/default/original/3X/c/8/c8dcfbf6fb8c23790c40001b743d6002ff24bb0e.gif)

> **[GitHub - HyperWorX/DopusWorX: Document viewer and in-place editor plugin for...](https://github.com/HyperWorX/DopusWorX)**
>
> Document viewer and in-place editor plugin for Directory Opus. Markdown with Reading, Live and Source split preview, Mermaid diagrams, LaTeX/AsciiMath maths, syntax-highlighted code, an editable CSV grid, rendered HTML, and a binary/hex inspector. 30 palettes, atomic saves and private-by-default images. WebView2 + CodeMirror 6 + KaTeX/Temml.

---

<div class="post-metadata">

**Author:** ![jfour18](https://resource.dopus.com/user_avatar/resource.dopus.com/jfour18/32/66032_2.png) [@jfour18](https://resource.dopus.com/u/jfour18)\
**Post date:** [May 30, 2026, 2:58am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/7 "2026-05-30T02:58:22Z")

</div>

Nice work!

It would be cool if this was able to preview normal text files as well.

---

<div class="post-metadata">

**Author:** ![David](https://resource.dopus.com/user_avatar/resource.dopus.com/david/32/51561_2.png) [@David](https://resource.dopus.com/u/David)\
**Post date:** [May 30, 2026, 3:28am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/8 "2026-05-30T03:28:29Z")

</div>

> [@jfour18](#):
>
> Nice work!

I agree !  
It is quite good, but there is much important to it that I don't really understand.  
I have just been waiting and seeing what's next !

> [@jfour18](#):
>
> It would be cool if this was able to preview normal text files as well.

Well, as we begin to discuss these things, at the risk of asking too much too soon,  
a hook or something to render Obsidian md files would be just great.  
My special interest is the community Asciimath plugin, but default Obsidian Latex equations would also be a nice pipe dream come true.

I already can do on the fly source code modifications.  
This plugin is very good and useful so far.

 ![2026-05-29-22-33-35-438x492](https://resource.dopus.com/uploads/default/original/3X/4/b/4b6a7e64be139c425fe766c15685370bd315bcbe.png)

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [June 1, 2026, 10:58am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/9 "2026-06-01T10:58:07Z")

</div>

Cheers, glad it's useful!

Good news on the text files: previewing plain-text and source files with syntax highlighting is already  
working in my dev build, so that one's coming in an update.

Maths is on my radar too. The honest constraint isn't difficulty, it's weight: a maths renderer means  
shipping its stylesheet and fonts with every file, which fights the lightweight, Sumatra-quick feel I want  
to protect. So the plan is to load the maths engine only when a document actually has equations, rather than  
bloating every open. Obsidian-style $$…$$ LaTeX is the straightforward target; AsciiMath (your interest) is  
a different syntax so it needs a bit more plumbing, but it's on the list. Watch this space.

Also glad to see you are using the red theming 😃

---

<div class="post-metadata">

**Author:** ![ped](https://resource.dopus.com/user_avatar/resource.dopus.com/ped/32/55751_2.png) [@ped](https://resource.dopus.com/u/ped)\
**Post date:** [June 3, 2026, 11:19am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/10 "2026-06-03T11:19:57Z")

</div>

Before following your install instructions, I checked that the files were at the right location:

```auto
Viewers\mdWorX.dll
Viewers\mdWorX_assets\

```

Then I was trying to make it work by following your instructions:

1. In DOpus, go to Settings → File Types.  
Ok

2. Edit (or create) the Markdown file type covering md, markdown, mdown, mdwn, mkd, mkdn.  
Ok: I have created a _File Types Groups_ and added all the file extensions to it.

3. Open the Events tab.  
Ok: Events tab is located inside the Commands tab.

4. Select Left double-click, click Edit, and set the command to just Show.  
I choose the _Function: Standard Function (Opus or external)_ and wrote under _Commands_ "Show". And these questions appers: Just "Show"? Where is the link to your PlugIn?

After _left-double-click_ on a _md_-File the file opens in the standard Windows editor.

Help is welcome.

---

<div class="post-metadata">

**Author:** ![Leo](https://resource.dopus.com/user_avatar/resource.dopus.com/leo/32/69732_2.png) [@Leo](https://resource.dopus.com/u/Leo)\
**Post date:** [June 3, 2026, 11:40am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/11 "2026-06-03T11:40:20Z")

</div>

> [@ped](#):
>
> Edit (or create) the Markdown file type covering md, markdown, mdown, mdwn, mkd, mkdn.  
> Ok: I have created a _File Types Groups_ and added all the file extensions to it.

Not sure if it's this, but it says to create a file type, not a file type group.

There may already be a file type that's overriding the file type group.

---

<div class="post-metadata">

**Author:** ![ped](https://resource.dopus.com/user_avatar/resource.dopus.com/ped/32/55751_2.png) [@ped](https://resource.dopus.com/u/ped)\
**Post date:** [June 3, 2026, 12:48pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/12 "2026-06-03T12:48:00Z")

</div>

> Not sure if it's this, but it says to create a file type, not a file type group.

Yes, this is correct. But if I choose _New File Type_ there is no _Event_ tab.

For not so experienced users like me, screenshots would lead to much fewer interpretations.

---

<div class="post-metadata">

**Author:** ![Leo](https://resource.dopus.com/user_avatar/resource.dopus.com/leo/32/69732_2.png) [@Leo](https://resource.dopus.com/u/Leo)\
**Post date:** [June 3, 2026, 1:48pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/13 "2026-06-03T13:48:12Z")

</div>

> [@ped](#):
>
> But if I choose _New File Type_ there is no _Event_ tab.

I think that's a bug on our side. We'll investigate, but if you create the type and then edit it you get the Commands -\> Events tab. It's just missing when first creating the type.

---

<div class="post-metadata">

**Author:** ![ped](https://resource.dopus.com/user_avatar/resource.dopus.com/ped/32/55751_2.png) [@ped](https://resource.dopus.com/u/ped)\
**Post date:** [June 3, 2026, 3:19pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/14 "2026-06-03T15:19:17Z")

</div>

Thank Leo.

I followed the steps, but the result is the same. The file only opened in the same editor as when I opened it from the Windows Explorer. I also restarted DOPUS, but the same result.

 ![Pic01](https://resource.dopus.com/uploads/default/original/3X/3/9/390cc3ceb3c7e497fd6da01b559e26fb9603e411.png)

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [June 3, 2026, 5:16pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/15 "2026-06-03T17:16:22Z")

</div>

I will automate this via the plugin settings as simple button to click. Thanks for raising it. In the mean time....

It's not the dll, just the viewer.exe should work fine. let me know @ped

Quick fix (and delete the file-type Group you made first, you don’'t need it):

1. Settings \> File Types, select/search MD (Markdown), click Edit. \<--- [It will handle the other file type associations automatically]
2. Commands tab \> Actions \> select open \> Edit.
3. Type: Run an application. Application: "C:\Program Files\GPSoftware\Directory Opus\d8viewer.exe"
4. OK out, then double-click a .md file.

_Opus passes the filename automatically. That is my own setup (screenshot attached)._

 ![image](https://resource.dopus.com/uploads/default/original/3X/1/0/1044d77c435cebf600f2c875c23c569335dc3842.png)

 ![image](https://resource.dopus.com/uploads/default/original/3X/6/f/6fa01dd82136d436cf8533feff83724c75537b22.png)

---

<div class="post-metadata">

**Author:** ![ped](https://resource.dopus.com/user_avatar/resource.dopus.com/ped/32/55751_2.png) [@ped](https://resource.dopus.com/u/ped)\
**Post date:** [June 3, 2026, 6:07pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/16 "2026-06-03T18:07:12Z")

</div>

Now it works.

Thanks a lot for the help.

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [June 3, 2026, 6:21pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/17 "2026-06-03T18:21:51Z")

</div>

Apologies for not considering this in the readme earlier. There is a lot to juggle especially with upcoming improvements soon.

---

<div class="post-metadata">

**Author:** ![Renaldostheold](https://resource.dopus.com/letter_avatar_proxy/v4/letter/r/e0b2c6/32.png) [@Renaldostheold](https://resource.dopus.com/u/Renaldostheold)\
**Post date:** [June 4, 2026, 11:36pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/18 "2026-06-04T23:36:19Z")

</div>

This is incredibly useful, thank you!

It would be helpful to have a function that removes all formatting or return a line/block or selection to default text. For example, I found a line in a md file that was a different font and size. A simple one-click button could remove all previous formatting, making it easy to reformat it consistently with the rest of the document.

I notice that copying material from Logseq maintains the underlying formatting like headings but changing them (say h1 to h3) seems to keep extra "#" codes. I am not sure what is happening here.

I also have Typora, and can make changes there, but when I used this extension in DOPUS, it seemed much more convenient. You have exceeded my expectations as you have added more functionality. This is so good it should be a standard part of DOPUS.

---

<div class="post-metadata">

**Author:** ![HyperWorX](https://resource.dopus.com/user_avatar/resource.dopus.com/hyperworx/32/70667_2.png) [@HyperWorX](https://resource.dopus.com/u/HyperWorX)\
**Post date:** [June 5, 2026, 7:27am UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/19 "2026-06-05T07:27:12Z")

</div>

This is actually going to be covered in a pretty big update, which I hope to release soon, so keep your eye out for it. I will release it as a beta for you guys to test and let me know.

And yes, it is turning out to be exceeding even my expectations from when I first had it. I just keep finding things that I can add to it. Luckily, a lot of this stuff I can port from previous work I've done, so I know the method roughly, then it's just working with the nuances of CodeMirror and co.

I'm just lucky that DOpus has made it actually quite easy to integrate on that side, so it's really a big thanks to them for making this available. I just hope there's lots of envious eyes from people who don't have DOpus and wish they could for things like this, which will hopefully convert into revenue for them.

---

<div class="post-metadata">

**Author:** ![averebazmadar](https://resource.dopus.com/letter_avatar_proxy/v4/letter/a/aeb1de/32.png) [@averebazmadar](https://resource.dopus.com/u/averebazmadar)\
**Post date:** [June 18, 2026, 1:04pm UTC](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496/20 "2026-06-18T13:04:30Z")

</div>

This post looks pretty fresh, but the GitHub repo says: "mdWorX is deprecated  
No longer maintained — superseded by DopusWorX."

However, the mentioned repo doesn't seem to exist for me, I can't find anything about it even after searching. Am I the dumb one here?

[Next page](https://resource.dopus.com/t/a-more-robust-and-extended-markdown-viewer-editor/59496.md?page=2)
