39

I've installed the Markdown Viewer Firefox addon, but I cannot get it to work on my Ubuntu installation. Firefox is my browser of choice and I am trying to move to Markdown in Vim as my basic text-writing software. Is there a way I can get this to work?

Kazark
  • 3,509

7 Answers7

62

Happy to report that I was able to find a solution that I provided here:

https://github.com/Thiht/markdown-viewer/issues/62#issuecomment-277702230

I've also copied it here for reference:

On Linux, you'll need to create a new MIME type here:

~/.local/share/mime/packages/text-markdown.xml

With the following content:

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="text/plain">
    <glob pattern="*.md"/>
    <glob pattern="*.mkd"/>
    <glob pattern="*.markdown"/>
  </mime-type>
</mime-info>

Then run:

update-mime-database ~/.local/share/mime

tie0ezah
  • 821
11

I had to manually edit my ~/.mozilla/firefox/<PROFILE>/mimeTypes.rdf. This review of the addon says:

For linux users, try to add "md" to .mozilla/*.default/mimeTypes.rdf this line : mdin text/plain section :)

Hmm. I couldn't find a text/plain section, but I found this page is helpful:

If there is not yet an existing RDF node for 'text/plain' add it, and add "md" as a file extension.

<RDF:Description RDF:about="urn:mimetype:text/plain"
       NC:value="text/plain"
       NC:fileExtensions="md"
       NC:description="Text Document">
   <NC:handlerProp RDF:resource="urn:mimetype:handler:text/plain"/>
</RDF:Description>

However, what I ended up doing was:

<RDF:Description RDF:about="urn:mimetype:text/plain; charset=utf8"
               NC:value="text/plain; charset=utf8"
               NC:handleInternal="true"
               NC:description="Markdown Document">
  <NC:fileExtensions>md</NC:fileExtensions>
  <NC:fileExtensions>mkd</NC:fileExtensions>
  <NC:fileExtensions>mdown</NC:fileExtensions>
  <NC:fileExtensions>markdown</NC:fileExtensions>
  <NC:handlerProp RDF:resource="urn:mimetype:handler:text/plain; charset=utf8"/>
</RDF:Description>

It seemed to be the NC:handInternal="true" that did the trick. Interestingly, it seems it does not work with the text/markdown or text/x-markdown MIME types. The charset=utf8 is because I write all my Makefiles in Unicode.

Kazark
  • 3,509
3

I was able to solve the same problem by putting the following line into ~/.mime.types.

text/plain                                   md markdown
ddffnn
  • 191
  • 2
2

Building on the solution provided by @Brad I fixed the problem for all users on an Ubuntu 16.04 machine, not just the current one:

sudo mkdir -p /usr/local/share/mime/packages
sudo gedit /usr/local/share/mime/packages/text-markdown.xml
sudo update-mime-database /usr/local/share/mime

The file I created is the same as in the solution provided by @Brad -

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="text/plain">
    <glob pattern="*.md"/>
    <glob pattern="*.mkd"/>
    <glob pattern="*.markdown"/>
  </mime-type>
</mime-info>

Firefox now renders markdown for all users on the machine, rather than offering to download the files.

I'm sure this will work for other flavors and versions of Linux, but I've only tried it on the one I'm using, Ubuntu 16.04 LTS.

FKEinternet
  • 131
  • 5
1

I tried Kazark's solution with no success. So I restored the mimeTypes.rdf file to the default content and it worked.

To do so:

  • In a terminal: firefox --ProfileManager
  • Create a dummy profile and start Firefox with it
  • Then in ~/.mozilla/firefox/, copy mimeTypes.rdf from *.dummy directory to your profile directory (probably *.default)
  • Restart Firefox and test
Toby Speight
  • 5,213
0

I installed https://addons.mozilla.org/en-us/firefox/addon/markdown-viewer-webext/ right now. It is a signed Add-on from the official Mozilla Add-ons Repository and it is compatible with multiprocess. Cool. :)

0

to simplify run this in terminal

echo "<?xml version=\"1.0\"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type=\"text/markdown\">
    <glob pattern=\"*.md\"/>
    <glob pattern=\"*.mkd\"/>
    <glob pattern=\"*.mkdn\"/>
    <glob pattern=\"*.mdwn\"/>
    <glob pattern=\"*.mdown\"/>
    <glob pattern=\"*.markdown\"/>
  </mime-type>
</mime-info>" > ~/.local/share/mime/packages/text-markdown.xml;
update-mime-database ~/.local/share/mime

and in the extension on advance options, allows the file access

take note, I change

<mime-type type="text/plain">

to

<mime-type type="text/markdown">

so you can associate markdown files to open with firefox separately to other text files