There's gfm-mode (which is part of markdown-mode.el). From the commentary in the file:
;;; GitHub Flavored Markdown:
;; A [GitHub Flavored Markdown][GFM] (GFM) mode, `gfm-mode', is also
;; available. The GitHub implementation of differs slightly from
;; standard Markdown. The most important differences are that
;; newlines are significant, triggering ...
Since this writing, it seems that part of the features have been directly implemented in markdown-mode. Check out this comment, and the links therein.
There are two approaches you can take.
You can write a command that compiles the markdown code (using a
shell command) and displays the html in a buffer.
You can make some ...
After a while, I found the answer myself:
In a nutshell: Use a combination of Eww and markdown mode, and configure markdown mode to render markdown with pandoc.
Alas, easier said than done.
Update to Emacs 24.5
Eww is the built-in browser since Emacs 24.5 It can be used to display html output. Eww does not run out of the box in Emacs 24.5 for windows. The ...
A good place to start would be markdown-mode.el which can be downloaded from here.
This mode does not offer org-mode style beautification, but it does offer syntax highlighting and a bevy of customize options.
In order to get this style beautification, someone would need to write an extension to markdown-mode.el implementing font-faces.
Most of org-mode....
I wouldn't use align-regexp but the wonderful orgtbl-mode for this: if you enable this minor mode, it will automatically recognize the table, and change its size as needed (use tab to move around in the table).
As of org-mode 9.2, the org-structure-template system has changed.
Inserting a template is now done via C-c C-,.
To add a shortcut for emacs-lisp in this new system, use the following snippet:
'("se" . "src emacs-lisp"))
Not really an answer to the question directly, but also too much for a ...
If you select a region and run the command markdown-insert-pre (C-c C-s p for me), it will mark the selected region as preformatted text. I am not sure if there is any difference, but for me it seems to indent the region as a code block. You can also start a code block this way if there is no active region.
Also, C-c C-s c will wrap selection in backticks ...
Here's a pretty long but efficient solution.
Install simple-httpd and M-x httpd-start.
Install markdown from your system's package manager.
Open your markdown buffer and run markdown-export. That produces a HTML file in the same directory.
Open that HTML file.
Install impatient-mode and M-x impatient-mode.
Go back to your markdown file.
Finally, evaluate ...
You can get that, more or less, with M-x speedbar. It displays the files in the current directory, and lets you expand the files to see a table of contents. (For source code, it shows a list of functions.)
However, you need to tell Speedbar to show contents for Markdown files, by customizing speedbar-supported-extension-expressions and adding the file ...
To debug performance problems, one approach is to use the built-in profiler:
M-x profiler-start RET RET
<reproduce the slowdown, ideally for a good 10s or so>
M-x profiler-report RET
Then browse the report (C-u RET is an important command there) to see where all that time is spent.
Seeing your profiler report, you'll probably want to file a bug ...
Unfortunately, the format of citations is hard-coded as the latex one in reftex source code (see function reftex-view-crossref in file reftex-dcr.el), so there's no easy way to change it. However, if what you need is just to be able to look up the citation at point, the following does it:
(defun my-reftex-view-pandoc-cite ()
I've found two ways that can be useful:
enable hideshow mode (hs-minor-mode) and use the provided functions
Apparently markdown-mode inherits from outline mode (or at least the functions are available here!) so you can use functions like hide-subtree and show-subtree.
Partly for the purposes of clarification, and partly because it's built-in (to Emacs 24+) and therefore a trivial example, my impression is that you're after something roughly along these lines?
(defun my-html-render-current-buffer ()
"Render HTML in current buffer using `shr-render-buffer'."
markdown-hide-markup needs to be set before markdown mode starts, so the markdown-mode-hook probably doesn't do anything. But it's buffer-local, so I think you need to use setq-default instead of setq.
You set markdown-hide-markup to t, and then you toggle it, which might be turning it off. Not sure.
This works for me:
(use-package markdown-mode :ensure t
The function browse-url-url-encode-chars translates
if used in the following way:
(browse-url-url-encode-chars "https://en.wikipedia.org/wiki/Blue_(disambiguation)" "[\"()$]")
Citation of the doc string of browse-url-...
For markdown, I would strongly recommend
Currently, polymode is distributed with a special mode that will allow you to
edit these regions with the appropriate major mode.
If you're also using use-package you can enable it with:
You can try to implement a function like this:
(defun pandoc-md2html ()
"Compile markdown file to HTML, using pandoc."
(message "Pandoc markdown to HTML compilation...")
" -o "
(concat (file-name-base) ".html")
I've been looking into this as well. The reason your attempt isn't working, is because of evil and the way it binds keys to a higher level keymap (as far as I understand the matter).
Anyways, you can bind directly to the corresponding evil state you want to use the key in.
The following should do the trick:
(evil-define-key 'normal markdown-mode-map
This can be fixed by calling M-x customize-group RET markdown-faces while in Markdown mode. It opens a menu of various font face settings. Under Markdown Code Face, uncheck/delete everything and then save. This will make the code face the same as the default face.
To elaborate on theldoria's comments:
If wc-mode is a major mode then either:
((markdown-mode . ((mode . wc))))
((markdown-mode . ((eval . (wc-mode)))))
If wc-mode is a minor mode, then:
((markdown-mode . ((eval . (wc-mode 1)))))
I have assumed that markdown was an error, and have substituted markdown-mode.
The markdown exported in org is generic: it does not handle the many flavors that are extant. You are probably better off using pandoc to do conversions to markdown:
pandoc -r org -w markdown_github foo.org > foo.md
You can find what formats pandoc supports with the --list-input-formats and --list-output-formats options.
There are a few solutions: http://wikemacs.org/wiki/Markdown#Live_preview_as_you_type
https://github.com/mola-T/flymd This may be the simplest. Install this package with package.el (on MELPA), call the mode with M-x flymd-flyit. It opens a browser window.
https://github.com/skeeto/impatient-mode This one needs a bit more setup (...
The Melpa package archive has markdown-mode. My currently installed version is markdown-mode-20180115.1905.
If you have added melpa to package-archives correctly you can install markdown-mode via M-x package-install.
After installation of markdown-mode files with extension .md are opened in markdown-mode.
If that mode is activated you find the submenu ...