Skip to content
This repository has been archived by the owner on Nov 28, 2022. It is now read-only.

Commit

Permalink
Add missing markdown index. Modify gitignore. No idea how it got to t…
Browse files Browse the repository at this point in the history
…his state ¯\_(ツ)_/¯
  • Loading branch information
Dom Harrington committed Jan 10, 2018
1 parent aaa83de commit b3be8f3
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
2 changes: 1 addition & 1 deletion packages/api-explorer/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
node_modules
coverage
index.js
dist/index.js
.DS_Store
36 changes: 36 additions & 0 deletions packages/api-explorer/src/lib/markdown/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
const marked = require('marked');
const Emoji = require('./emojis.js').emoji;
const syntaxHighlighter = require('@readme/syntax-highlighter');
const sanitizer = require('./sanitizer');
const renderer = require('./renderer');

const emojis = new Emoji();

module.exports = function markdown(text, opts = {}) {
marked.setOptions({
sanitize: true,
preserveNumbering: true,
renderer,
emoji(emojiText) {
const emoji = emojiText.replace(/[^-_+a-zA-Z0-9]/g, '').toLowerCase();
if (emoji.substr(0, 3) === 'fa-') {
return `<i class="fa ${emoji}"></i>`;
}
if (emojis.is(emoji)) {
return `<img src="/img/emojis/${emoji}.png" alt=":${emoji}+:" title=":${emoji}:" class="emoji" align="absmiddle" height="20" width="20">`;
}
return `:${emoji}:`;
},
highlight(code, language) {
if (!language) return undefined;
return syntaxHighlighter(code, language);
},
gfm: true,
breaks: !opts.correctnewlines,
// By default we don't wanna strip any tags
// so we use our sanitizer and not the built in
// which just calls `escape()`
sanitizer: opts.stripHtml ? undefined : sanitizer,
});
return marked(text);
};

0 comments on commit b3be8f3

Please sign in to comment.