New extension: strike through with two tildes [jgm/peg-markdown]
See https://github.com/jgm/peg-markdown/commit/7cc5b73
This commit is contained in:
parent
765928916d
commit
13604f76a7
@ -212,6 +212,8 @@ func (w *htmlOut) elem(elt *element) *htmlOut {
|
||||
w.inline("<em>", elt)
|
||||
case STRONG:
|
||||
w.inline("<strong>", elt)
|
||||
case STRIKE:
|
||||
w.inline("<del>", elt)
|
||||
case LIST:
|
||||
w.children(elt)
|
||||
case RAW:
|
||||
|
15
parser.leg
15
parser.leg
@ -71,6 +71,7 @@ const (
|
||||
HTML
|
||||
EMPH
|
||||
STRONG
|
||||
STRIKE
|
||||
PLAIN
|
||||
PARA
|
||||
LISTITEM
|
||||
@ -480,6 +481,7 @@ Inline = Str
|
||||
| Space
|
||||
| Strong
|
||||
| Emph
|
||||
| Strike
|
||||
| Image
|
||||
| Link
|
||||
| NoteReference
|
||||
@ -532,6 +534,7 @@ Symbol = < SpecialChar >
|
||||
UlOrStarLine = (UlLine | StarLine) { $$ = p.mkString(yytext) }
|
||||
StarLine = < "****" '*'* > | < Spacechar '*'+ &Spacechar >
|
||||
UlLine = < "____" '_'* > | < Spacechar '_'+ &Spacechar >
|
||||
TildeLine = < "~~~~" '~'* > | < Spacechar '~'+ &Spacechar >
|
||||
|
||||
Emph = EmphStar | EmphUl
|
||||
|
||||
@ -567,6 +570,15 @@ StrongUl = "__" !Whitespace
|
||||
"__"
|
||||
{ $$ = p.mkList(STRONG, a) }
|
||||
|
||||
TwoTildeOpen = !TildeLine "~~" !Spacechar !Newline
|
||||
TwoTildeClose = !Spacechar !Newline a:Inline "~~" { $$ = a; }
|
||||
|
||||
Strike = TwoTildeOpen
|
||||
a:StartList
|
||||
( !TwoTildeClose Inline { a = cons($$, a) } )*
|
||||
TwoTildeClose { a = cons($$, a) }
|
||||
{ $$ = p.mkList(STRIKE, a) }
|
||||
|
||||
Image = '!' ( ExplicitLink | ReferenceLink )
|
||||
{ if $$.key == LINK {
|
||||
$$.key = IMAGE
|
||||
@ -702,7 +714,7 @@ Nonspacechar = !Spacechar !Newline .
|
||||
Newline = '\n' | '\r' '\n'?
|
||||
Sp = Spacechar*
|
||||
Spnl = Sp (Newline Sp)?
|
||||
SpecialChar = '*' | '_' | '`' | '&' | '[' | ']' | '(' | ')' | '<' | '!' | '#' | '\\' | '\'' | '"' | ExtendedSpecialChar
|
||||
SpecialChar = '~' | '*' | '_' | '`' | '&' | '[' | ']' | '(' | ')' | '<' | '!' | '#' | '\\' | '\'' | '"' | ExtendedSpecialChar
|
||||
NormalChar = !( SpecialChar | Spacechar | Newline ) .
|
||||
Alphanumeric = [0-9A-Za-z] | '\200' | '\201' | '\202' | '\203' | '\204' | '\205' | '\206' | '\207' | '\210' | '\211' | '\212' | '\213' | '\214' | '\215' | '\216' | '\217' | '\220' | '\221' | '\222' | '\223' | '\224' | '\225' | '\226' | '\227' | '\230' | '\231' | '\232' | '\233' | '\234' | '\235' | '\236' | '\237' | '\240' | '\241' | '\242' | '\243' | '\244' | '\245' | '\246' | '\247' | '\250' | '\251' | '\252' | '\253' | '\254' | '\255' | '\256' | '\257' | '\260' | '\261' | '\262' | '\263' | '\264' | '\265' | '\266' | '\267' | '\270' | '\271' | '\272' | '\273' | '\274' | '\275' | '\276' | '\277' | '\300' | '\301' | '\302' | '\303' | '\304' | '\305' | '\306' | '\307' | '\310' | '\311' | '\312' | '\313' | '\314' | '\315' | '\316' | '\317' | '\320' | '\321' | '\322' | '\323' | '\324' | '\325' | '\326' | '\327' | '\330' | '\331' | '\332' | '\333' | '\334' | '\335' | '\336' | '\337' | '\340' | '\341' | '\342' | '\343' | '\344' | '\345' | '\346' | '\347' | '\350' | '\351' | '\352' | '\353' | '\354' | '\355' | '\356' | '\357' | '\360' | '\361' | '\362' | '\363' | '\364' | '\365' | '\366' | '\367' | '\370' | '\371' | '\372' | '\373' | '\374' | '\375' | '\376' | '\377'
|
||||
AlphanumericAscii = [A-Za-z0-9]
|
||||
@ -1032,6 +1044,7 @@ var keynames = [numVAL]string{
|
||||
HTML: "HTML",
|
||||
EMPH: "EMPH",
|
||||
STRONG: "STRONG",
|
||||
STRIKE: "STRIKE",
|
||||
PLAIN: "PLAIN",
|
||||
PARA: "PARA",
|
||||
LISTITEM: "LISTITEM",
|
||||
|
Loading…
Reference in New Issue
Block a user