mirror of
https://github.com/showdownjs/showdown.git
synced 2024-03-22 13:30:55 +08:00
fix(ghCompatibleHeaderId): improve the number of removed chars
This commit is contained in:
parent
150a5cd3ff
commit
d499feb2aa
|
@ -189,7 +189,7 @@ var defaultOptions = showdown.getDefaultOptions();
|
||||||
|
|
||||||
* **noHeaderId**: (boolean) [default false] Disable the automatic generation of header ids. Setting to true overrides **prefixHeaderId**
|
* **noHeaderId**: (boolean) [default false] Disable the automatic generation of header ids. Setting to true overrides **prefixHeaderId**
|
||||||
|
|
||||||
* **ghCompatibleHeaderId**: (boolean) [default false] Generate header ids compatible with github style (spaces are replaced with dashes, ][&~$!@#*()=:/,;?+'.%\ chars are removed) (since v1.5.5)
|
* **ghCompatibleHeaderId**: (boolean) [default false] Generate header ids compatible with github style (spaces are replaced with dashes and a bunch of non alphanumeric chars are removed) (since v1.5.5)
|
||||||
|
|
||||||
* **prefixHeaderId**: (string/boolean) [default false] Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to `true` will add a generic 'section' prefix.
|
* **prefixHeaderId**: (string/boolean) [default false] Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to `true` will add a generic 'section' prefix.
|
||||||
|
|
||||||
|
|
BIN
dist/showdown.js
vendored
BIN
dist/showdown.js
vendored
Binary file not shown.
BIN
dist/showdown.js.map
vendored
BIN
dist/showdown.js.map
vendored
Binary file not shown.
BIN
dist/showdown.min.js
vendored
BIN
dist/showdown.min.js
vendored
Binary file not shown.
BIN
dist/showdown.min.js.map
vendored
BIN
dist/showdown.min.js.map
vendored
Binary file not shown.
|
@ -23,7 +23,7 @@ function getDefaultOpts(simple) {
|
||||||
},
|
},
|
||||||
ghCompatibleHeaderId: {
|
ghCompatibleHeaderId: {
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
describe: 'Generate header ids compatible with github style (spaces are replaced with dashes, &~$!@#*()=:/,;?+%\\\'. chars are removed)',
|
describe: 'Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)',
|
||||||
type: 'string'
|
type: 'string'
|
||||||
},
|
},
|
||||||
headerLevelStart: {
|
headerLevelStart: {
|
||||||
|
|
|
@ -63,7 +63,8 @@ showdown.subParser('headers', function (text, options, globals) {
|
||||||
.replace(/~T/g, '')
|
.replace(/~T/g, '')
|
||||||
.replace(/~D/g, '')
|
.replace(/~D/g, '')
|
||||||
//replace rest of the chars (&~$ are repeated as they might have been escaped)
|
//replace rest of the chars (&~$ are repeated as they might have been escaped)
|
||||||
.replace(/[&~$!@#*()=:/,;?+'.%\\]/g, '')
|
// borrowed from github's redcarpet (some they should produce similar results)
|
||||||
|
.replace(/[&+$,\/:;=?@"#{}|^~\[\]`\\*)(%.!'<>]/g, '')
|
||||||
.toLowerCase();
|
.toLowerCase();
|
||||||
} else {
|
} else {
|
||||||
escapedId = m.replace(/[^\w]/g, '').toLowerCase();
|
escapedId = m.replace(/[^\w]/g, '').toLowerCase();
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
<h1 id="some-header">some header</h1>
|
<h1 id="some-header">some header</h1>
|
||||||
<h1 id="some-header-with--chars">some header with ~!@#$&*()=:/,;?+'.\ chars</h1>
|
<h1 id="some-header-with--chars">some header with &+$,/:;=?@\"#{}|^~[]`\*()%.!' chars</h1>
|
||||||
|
<h1 id="another-header--with--chars">another header > with < chars</h1>
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
# some header
|
# some header
|
||||||
|
|
||||||
# some header with ~!@#$&*()=:/,;?+'.\ chars
|
# some header with &+$,/:;=?@\"#{}|^~[]`\\*()%.!' chars
|
||||||
|
|
||||||
|
# another header > with < chars
|
||||||
|
|
Loading…
Reference in New Issue
Block a user