diff --git a/CONTRIBUTIONS/md2html_YAML.pl b/CONTRIBUTIONS/md2html_YAML.pl
new file mode 100644
index 00000000..0313068d
--- /dev/null
+++ b/CONTRIBUTIONS/md2html_YAML.pl
@@ -0,0 +1,86 @@
+#!/usr/bin/perl
+
+my $src = "";
+my $id = "";
+my $title = "";
+my $section = "";
+my $section_id = "";
+my $is_list = 0;
+my $topic = "";
+my $current_level = 0;
+my $prev_level = 0;
+
+$src = $ARGV[0];
+$id = $src;
+$id =~ s/\.md$//;
+
+open(IN, ${src}) || die "${src}: $!\n";
+while () {
+ chomp;
+ s/</g;
+ s/>/>/g;
+ s/\r$//;
+
+ while ($_ =~ /\[.*\]\(.*\)/g) {
+ $_ =~ s/\[(.*)\]\((.*)\)/$1<\/a>/;
+ }
+
+ if (/^## Title: (.*)$/) {
+ $current_level = 2;
+ ${title} = $1;
+ print "\n";
+ print "${title}
\n";
+ print "\n";
+ $is_list = 0;
+
+ } elsif (/^### (.*)$/) {
+ $current_level = 3;
+ ${section} = $1;
+ ${section} =~ s/:([\s]+|)$//;
+
+ ${section_id} = $section;
+ ${section_id} =~ s/\(s\)//;
+ ${section_id} =~ tr/A-Z/a-z/;
+
+ ${id} =~ tr/A-Z/a-z/;
+
+ if ($prev_level >= $current_level) {
+ print "<\/dd>\n";
+ }
+ print "- ${section}
\n";
+ print "- \n";
+ $prev_level = $current_level;
+ $is_list = 0;
+
+ } elsif (/^#### (.*)$/) {
+ print "
$_
\n";
+ $is_list = 0;
+
+ } elsif (/^(\-|\*) (.*)$/) {
+ ${topic} = $2;
+ if ($is_list eq 0) {
+ print "\n";
+ }
+ print "- ${topic}
\n";
+ $is_list = 1;
+
+ } else {
+ if (($is_list eq 1) && (/^$/)) {
+ print "
\n";
+ $is_list = 0;
+ }
+ if (/^```/) {
+ print "\n";
+ }
+ if (/^```json/ && /^```js/) {
+ print "\n";
+ } else {
+ print "$_\n";
+ }
+ }
+}
+
+print "<\/dd>\n";
+print "<\/dl>\n";
+print "<\/section>\n";
+close(IN);