Copy and Paste Minimal Dependencies

Derek McDaniel
1 min readApr 10, 2020

--

Sometimes less is more

Dependency management is one of the most complex and onerous parts of programming. One issue that makes it complex, is that all the different dependencies will have different versions, and each has their own process for releasing new versions, etc. Sometimes these updates are critical, like security threats.

Another option is to simply minimize dependencies altogether. That was my goal with this project: Simple Markdown Example

Sometimes you don’t actually need to do as much as you think you do. Minimalism works very well if your goals are more abstract than concrete.

<html><head>
<script>
var md_subs = [
/\n(\s*)[\*\-](.*)/g, '\n<ul><li>$2</li></ul>',
/\n+\n(?=[^#\n])/g, "\n\n<p>", /\n+\n/g, "\n",
/(\n|^)# (.*)/g, "\n<h1 id=\"$2\">$2</h1><hr>",
/(\n|^)## (.*)/g, "\n<h1 id=\"$2\">$2</h2>",
/(\n|^)### (.*)/g, "\n<h2 id=\"$2\">$2</h3>",
/(\n|^)#### (.*)/g, "\n<h3 id=\"$2\">$2</h3>", /(\n|^)##### (.*)/g, "\n<h4 id=\"$2\">$2</h4>",
/(\n|^)###### (.*)/g, "\n<h5 id=\"$2\">$2</h5>", /__([^_\n]*)__/g, "<b>$1</b>",
/\*\*([^_\n]*)\*\*/g, "<b>$1</b>",
/_([^_\n]*)_/g, "<i>$1</i>", /\*([^_\n]*)\*/g, "<i>$1</i>", /\[([^\]\n]*)\]\(([^\)\n]*)\)/g, "<a href=\"$2\">$1</a>", ]; window.addEventListener("load", browser_init); function markdown(text){ for(var i=0; i<md_subs.length-1; i += 2){ var search = md_subs[i]; var replace = md_subs[i+1]; text = text.replace(search, replace); } return text; } function browser_init(){ var elems = document.getElementsByClassName("markdown-text"); for(var i=0; i<elems.length; ++i){ var elem = elems[i]; elem.innerHTML = markdown(elem.innerHTML); } } </script></head><body class="markdown-text"># Standalone Markdown## Example This is a standalone markdown example</body></html>

--

--

Derek McDaniel
Derek McDaniel

Written by Derek McDaniel

Technology, programming, and social economy.

No responses yet