marcus 0.1.2

An experimental Markdown parser written in Rust
Documentation
// Convert characters into HTML entities (source: https://www.freeformatter.com/html-entities.html)
pub fn ascii(email: &str) -> String {
  let mut result: String = String::new();
  for letter in email.split("") {
    result.push_str(match letter {
      " " => " ", // Space
      "!" => "!", // Exclamation mark
     "\"" => """, // Quotation mark
      "#" => "#", // Number sign
      "$" => "$", // Dollar sign
      "%" => "%", // Percent sign
      "&" => "&", // Ampersand
      "'" => "'", // Apostrophe
      "(" => "(", // Opening/Left Parenthesis
      ")" => ")", // Closing/Right Parenthesis
      "*" => "*", // Asterisk
      "+" => "+", // Plus sign
      "," => ",", // Comma
      "-" => "-", // Hyphen
      "." => ".", // Period
      "/" => "/", // Slash
      "0" => "0", // Digit 0
      "1" => "1", // Digit 1
      "2" => "2", // Digit 2
      "3" => "3", // Digit 3
      "4" => "4", // Digit 4
      "5" => "5", // Digit 5
      "6" => "6", // Digit 6
      "7" => "7", // Digit 7
      "8" => "8", // Digit 8
      "9" => "9", // Digit 9
      ":" => ":", // Colon
      ";" => "&#59;", // Semicolon
      "<" => "&#60;", // Less-than
      "=" => "&#61;", // Equals sign
      ">" => "&#62;", // Greater than
      "?" => "&#63;", // Question mark
      "@" => "&#64;", // At sign
      "A" => "&#65;", // Uppercase A
      "B" => "&#66;", // Uppercase B
      "C" => "&#67;", // Uppercase C
      "D" => "&#68;", // Uppercase D
      "E" => "&#69;", // Uppercase E
      "F" => "&#70;", // Uppercase F
      "G" => "&#71;", // Uppercase G
      "H" => "&#72;", // Uppercase H
      "I" => "&#73;", // Uppercase I
      "J" => "&#74;", // Uppercase J
      "K" => "&#75;", // Uppercase K
      "L" => "&#76;", // Uppercase L
      "M" => "&#77;", // Uppercase M
      "N" => "&#78;", // Uppercase N
      "O" => "&#79;", // Uppercase O
      "P" => "&#80;", // Uppercase P
      "Q" => "&#81;", // Uppercase Q
      "R" => "&#82;", // Uppercase R
      "S" => "&#83;", // Uppercase S
      "T" => "&#84;", // Uppercase T
      "U" => "&#85;", // Uppercase U
      "V" => "&#86;", // Uppercase V
      "W" => "&#87;", // Uppercase W
      "X" => "&#88;", // Uppercase X
      "Y" => "&#89;", // Uppercase Y
      "Z" => "&#90;", // Uppercase Z
      "[" => "&#91;", // Opening/Left square bracket
     "\\" => "&#92;", // Backslash
      "]" => "&#93;", // Closing/Right square bracket
      "^" => "&#94;", // Caret
      "_" => "&#95;", // Underscore
      "`" => "&#96;", // Grave accent
      "a" => "&#97;", // Lowercase a
      "b" => "&#98;", // Lowercase b
      "c" => "&#99;", // Lowercase c
      "d" => "&#100;", // Lowercase d
      "e" => "&#101;", // Lowercase e
      "f" => "&#102;", // Lowercase f
      "g" => "&#103;", // Lowercase g
      "h" => "&#104;", // Lowercase h
      "i" => "&#105;", // Lowercase i
      "j" => "&#106;", // Lowercase j
      "k" => "&#107;", // Lowercase k
      "l" => "&#108;", // Lowercase l
      "m" => "&#109;", // Lowercase m
      "n" => "&#110;", // Lowercase n
      "o" => "&#111;", // Lowercase o
      "p" => "&#112;", // Lowercase p
      "q" => "&#113;", // Lowercase q
      "r" => "&#114;", // Lowercase r
      "s" => "&#115;", // Lowercase s
      "t" => "&#116;", // Lowercase t
      "u" => "&#117;", // Lowercase u
      "v" => "&#118;", // Lowercase v
      "w" => "&#119;", // Lowercase w
      "x" => "&#120;", // Lowercase x
      "y" => "&#121;", // Lowercase y
      "z" => "&#122;", // Lowercase z
      "{" => "&#123;", // Opening/Left curly brace
      "|" => "&#124;", // Vertical bar
      "}" => "&#125;", // Closing/Right curly brace
      "~" => "&#126;", // Tilde
       _  => letter    // Default (Ignore)
    });
  }
  result
}