Daniel
Daniel

Reputation: 6039

Visualizing README.md files in my website

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?

Upvotes: 14

Views: 38337

Answers (3)

Also, as this post describes, you can use the zero-md library and easily plug a Markdown file into your HTML document.

<head>
  ...
  <!-- Import element definition -->
  <script
    type="module"
    src="https://cdn.jsdelivr.net/gh/zerodevx/zero-md@2/dist/zero-md.min.js"
  ></script>
  ...
</head>
<body>
  ...
  <!-- Profit! -->
  <zero-md src="/YOUR_MARKDOWN_FILE.md"></zero-md>
  ...
</body>

Remember that the YOUR_MARKDOWN_FILE.md must be also present (hosted) on your server!

Upvotes: 0

yourcomputergenius
yourcomputergenius

Reputation: 333

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]

Upvotes: 2

wbeckler
wbeckler

Reputation: 81

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>

Upvotes: 7

Related Questions