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?
7 Answers
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
- 821
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.
- 3,509
I was able to solve the same problem by putting the following line into ~/.mime.types.
text/plain md markdown
- 191
- 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.
- 131
- 5
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/, copymimeTypes.rdffrom*.dummydirectory to your profile directory (probably*.default) - Restart Firefox and test
- 5,213
- 11
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. :)
- 221
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