Repository: showdownjs/showdown (js)

Issue:
Strip more international punctuation characters from header ids in `ghCompatibleHeaderId` mode
GitHub currently strips the following extended punctuation characters when creating headers in markdown files, but Showdown does not.

- Inverted exclamation and question marks (`¡` and `¿`) - [used in Spanish](https://en.wikipedia.org/wiki/Inverted_question_and_exclamation_marks)
- Various full width punctuation marks (e.g. `？`, `：`...etc) - [used a lot in Japanese](https://en.wikipedia.org/wiki/Japanese_punctuation)

Evidence in this gist: https://gist.github.com/tunetheweb/ecbfed99663425a668748770568bdafb#some-header-with--chars

Seems an easy enough fix to add these so will submit a PR.



Pull request description:
fix(subParsers): strip international punctuation from github headers
Fixes #949 

Patch:
diff --git a/src/subParsers/makehtml/heading.js b/src/subParsers/makehtml/heading.js
index 9ca040e..a4910b3 100644
--- a/src/subParsers/makehtml/heading.js
+++ b/src/subParsers/makehtml/heading.js
@@ -140,7 +140,7 @@ showdown.subParser('makehtml.heading.id', function (m, options, globals) {
       .replace(/¨D/g, '')
       // replace rest of the chars (&~$ are repeated as they might have been escaped)
       // borrowed from github's redcarpet (so they should produce similar results)
-      .replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g, '')
+      .replace(/[&+$,\/:;=?@"#{}|^¨¿？：~\[\]`、゠＝…‥『』〝〟「」゠＝…‥\\*()｛｝（）［］【】%.。，¡!！'<>]/g, '')
       .toLowerCase();
   } else if (options.rawHeaderId) {
     title = title


Test patch:
diff --git a/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.html b/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.html
index ed34b7b..a63809a 100644
--- a/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.html
+++ b/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.html
@@ -1,3 +1,3 @@
 <h1 id="some-header">some header</h1>
-<h1 id="some-header-with--chars">some header with &amp;+$,/:;=?@\"#{}|^~[]`\*()%.!' chars</h1>
+<h1 id="some-header-with--chars">some header with &amp;+$,/:;=?@\"#{}|^¨¿？：~[]`゠＝…‥『』〝〟「」\*()｛｝（）［］【】%.。，¡!！' chars</h1>
 <h1 id="another-header--with--chars">another header &gt; with &lt; chars</h1>
diff --git a/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.md b/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.md
index d547f42..773a5d6 100644
--- a/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.md
+++ b/test/functional/makehtml/cases/features/#320.github-compatible-generated-header-id.md
@@ -1,5 +1,5 @@
 # some header
 
-# some header with &+$,/:;=?@\"#{}|^~[]`\\*()%.!' chars
+# some header with &+$,/:;=?@\"#{}|^¨¿？：~[]`゠＝…‥『』〝〟「」\\*()｛｝（）［］【】%.。，¡!！' chars
 
 # another header > with < chars