12

I want to visualize README.md files from a project in github, in my website. What is the best way to do this? Like fetch the markdown code and process the mark down locally? Or there is a way to fetch the already processed markdown from github?

Daniel
  • 5,839
  • 9
  • 46
  • 85
  • Possible duplicate of [Javascript to convert Markdown/Textile to HTML (and, ideally, back to Markdown/Textile)](http://stackoverflow.com/questions/1319657/javascript-to-convert-markdown-textile-to-html-and-ideally-back-to-markdown-t) – sergioFC Feb 16 '16 at 20:59
  • One answer suggests using JavaScript, but that leaves out the whole idea of it being a backend server process which could be the most appropriate solution. – yourcomputergenius Aug 23 '18 at 20:40

2 Answers2

7

One possible solution is to use a javascript-based markdown parser, such as https://github.com/evilstreak/markdown-js.

That library can be loaded from the browser and can display the markdown. In this example (taken from the aforementioned site), you would need to fetch and insert the markdown in the output of your site:

<!DOCTYPE html>
<html>
  <body>
    <textarea id="text-input" oninput="this.editor.update()"
              rows="6" cols="60">Insert proxied **Markdown** here.</textarea>
    <div id="preview"> </div>
    <script src="lib/markdown.js"></script>
    <script>
      function Editor(input, preview) {
        this.update = function () {
          preview.innerHTML = markdown.toHTML(input.value);
        };
        input.editor = this;
        this.update();
      }
      var $ = function (id) { return document.getElementById(id); };
      new Editor($("text-input"), $("preview"));
    </script>
  </body>
</html>
MattAllegro
  • 6,455
  • 5
  • 45
  • 52
wbeckler
  • 81
  • 1
  • FYI Markdown-js is no longer maintained. The github page redirects to other projects : Markdown-It, Showdown, Marked – JM Lord Dec 20 '21 at 19:42
2

Here is a much better way to do it that seems to be more in line with the questions and it certainly suited my needs. This implements a server-side, back-end processor that servers up HTML rendered from Markdown on the fly.

Here is an excerpt for PHP, but other languages are supported and documented in the link:

PHP

  1. Download PHP Markdown (or PHP Markdown Extra) and PHP SmartyPants from Michel Fortin.

  2. Put markdown.php and smartypants.php somewhere in PHP's include path (or in the same directory as render.php).

  3. Add an alias in your Apache config:

Alias /markdown/ "/var/www/support/markdown/"

  1. Add rewrite rules. This can be done in the .htaccess file for a specific folder, or in the global Apache config. Some common extensions are included, but you can adjust them to your needs. (You might want to process all text as Markdown by adding "txt".)
# display Markdown as HTML by default 
RewriteEngine on 
RewriteRule .+\.(markdown|mdown|md|mkd)$ /markdown/render.php 
RewriteRule .+\.(markdown|mdown|md|mkd)\-text$ /markdown/render.php [L]
mahyard
  • 1,230
  • 1
  • 13
  • 34