diff --git a/_includes/bugify.html b/_includes/bugify.html
new file mode 100644
index 0000000000000000000000000000000000000000..6a02bd23ec0c894c354d69f215b3b8093d9dbf15
--- /dev/null
+++ b/_includes/bugify.html
@@ -0,0 +1,42 @@
+{%- comment -%}
+Usage: {% include bugify.html content=text %},
+where content is a string that contains a bug reference name and id.
+e.g. Bootstrap#19984
+{%- endcomment -%}
+
+{%- assign words = include.content | split: " " -%}
+
+{%- for word in words -%}
+  {% if word contains "#" %}
+    {% if word contains "," %}{% assign separator = true %}{% else %}{% assign separator = false %}{% endif %}
+    {%- assign data = word | split: "#" -%}
+    {%- assign bug_cat = data[0] | strip_newlines -%}
+    {%- assign bug_id  = data[1] | strip_newlines | remove: "," -%}
+
+    {%- case bug_cat -%}
+    {%- when "Bootstrap" -%}
+      <a href="https://github.com/twbs/bootstrap/issues/{{ bug_id }}">#{{ bug_id }}</a>
+    {%- when "Edge" -%}
+      <a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/{{ bug_id }}">Edge issue #{{ bug_id }}</a>
+    {%- when "A11yUserVoice" -%}
+      <a href="https://microsoftaccessibility.uservoice.com/forums/307429-microsoft-accessibility-feedback/suggestions/{{ bug_id }}">Microsoft A11y UserVoice idea #{{ bug_id }}</a>
+    {%- when "UserVoice" -%}
+      <a href="https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/{{ bug_id }}">Edge UserVoice idea #{{ bug_id }}</a>
+    {%- when "Mozilla" -%}
+      <a href="https://bugzilla.mozilla.org/show_bug.cgi?id={{ bug_id }}">Mozilla bug #{{ bug_id }}</a>
+    {%- when "Chromium" -%}
+      <a href="https://bugs.chromium.org/p/chromium/issues/detail?id={{ bug_id }}">Chromium issue #{{ bug_id }}</a>
+    {%- when "WebKit" -%}
+      <a href="https://bugs.webkit.org/show_bug.cgi?id={{ bug_id }}">WebKit bug #{{ bug_id }}</a>
+    {%- when "Safari" -%}
+      <a href="https://openradar.appspot.com/{{ bug_id }}">Apple Safari Radar #{{ bug_id }}</a>
+    {%- when "Normalize" -%}
+      <a href="https://github.com/necolas/normalize.css/issues/{{ bug_id }}">Normalize #{{ bug_id }}</a>
+    {%- else -%}
+      <strong>parse error</strong>
+    {%- endcase -%}{% if separator %}, {% endif %}
+
+  {% else %}
+    {{ word }}
+  {%- endif -%}
+{%- endfor -%}
diff --git a/_plugins/bugify.rb b/_plugins/bugify.rb
deleted file mode 100644
index 0f910718becf61651e8091f0eeeb8db23de9d26f..0000000000000000000000000000000000000000
--- a/_plugins/bugify.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-module Jekyll
-  module BugFilter
-    def bugify(input)
-      upstream_map = {
-        "Bootstrap" => "https://github.com/twbs/bootstrap/issues/",
-        "Edge" => ["https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/", "Edge issue"],
-        "A11yUserVoice" => ["https://microsoftaccessibility.uservoice.com/forums/307429-microsoft-accessibility-feedback/suggestions/", "Microsoft A11y UserVoice idea"],
-        "UserVoice" => ["https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/", "Edge UserVoice idea"],
-        "Mozilla" => ["https://bugzilla.mozilla.org/show_bug.cgi?id=", "Mozilla bug"],
-        "Chromium" => ["https://bugs.chromium.org/p/chromium/issues/detail?id=", "Chromium issue"],
-        "WebKit" => ["https://bugs.webkit.org/show_bug.cgi?id=", "WebKit bug"],
-        "Safari" => ["https://openradar.appspot.com/", "Apple Safari Radar"],
-        "Normalize" => ["https://github.com/necolas/normalize.css/issues/", "Normalize"]
-      }
-
-      upstream_map.each do |key, data|
-        url = data.is_a?(Array) ? data[0] : data
-        label = data.is_a?(Array) ? "#{data[1]} " : ""
-        input = input.gsub(/#{key}#(\d+)/, "<a href=\"#{url}\\1\">#{label}#\\1</a>")
-      end
-
-      return input
-    end
-  end
-end
-
-Liquid::Template.register_filter(Jekyll::BugFilter)
diff --git a/docs/4.0/browser-bugs.md b/docs/4.0/browser-bugs.md
index 0fb6f8505efa887296c22d989833363d343986a9..d6d911562013762869a8548e8f4891524ee432d1 100644
--- a/docs/4.0/browser-bugs.md
+++ b/docs/4.0/browser-bugs.md
@@ -28,9 +28,9 @@ See also:
     {% for bug in site.data.browser-bugs %}
     <tr>
       <td>{{ bug.browser }}</td>
-      <td>{{ bug.summary | markdownify | bugify }}</td>
-      <td>{{ bug.upstream_bug | bugify }}</td>
-      <td>{{ bug.origin | bugify }}</td>
+      <td>{{ bug.summary | markdownify }}</td>
+      <td>{% include bugify.html content=bug.upstream_bug %}</td>
+      <td>{% include bugify.html content=bug.origin %}</td>
     </tr>
     {% endfor %}
   </tbody>
@@ -55,9 +55,9 @@ We publicly list these "most wanted" feature requests here, in the hopes of expe
     {% for feat in site.data.browser-features %}
     <tr>
       <td>{{ feat.browser }}</td>
-      <td>{{ feat.summary | markdownify | bugify }}</td>
-      <td>{{ feat.upstream_bug | bugify }}</td>
-      <td>{{ feat.origin | bugify }}</td>
+      <td>{{ feat.summary | markdownify }}</td>
+      <td>{% include bugify.html content=feat.upstream_bug %}</td>
+      <td>{% include bugify.html content=feat.origin %}</td>
     </tr>
     {% endfor %}
   </tbody>