Commit Graph

346 Commits

Author SHA1 Message Date
Estevao Soares dos Santos
10fb1cf451 refactor: use ¨ instead of ~ as escape character 2017-01-29 00:07:19 +00:00
Estevao Soares dos Santos
24d47d7c68 fix(strikethrough): allow escapinging tilde char
Since tilde is now used as a magic markdown character,
in strikethrough syntax, we need to enable escaping it.

Closes #331
2017-01-28 23:54:28 +00:00
Estevao Soares dos Santos
a4c24c9805 feat(ghMentionsLink): add ability to define the generated url in @mentions
This option enables users to define the generated links in @mentions.
For instance,  with ghMentionsOption set to `//mysite.com/{u}/profile`
this text
`@tivie`
will result in this link
`<a href="//mysite.com/tivie/profile">@tivie</a>`
2017-01-28 04:28:50 +00:00
Estevao Soares dos Santos
bfcc0e44f0 fix(escapeSpecialCharsWithinTagAttributes): add ~ and = to escaped chars 2017-01-28 03:02:27 +00:00
Estevao Soares dos Santos
0c9ebd4e24 refactor: some minor performance improvements 2017-01-28 02:46:34 +00:00
Estevao Soares dos Santos
4613260cdf refactor: create horizontal rules own subParser 2017-01-28 02:17:19 +00:00
Estevao Soares dos Santos
fea64bdd3c test: add tests for helper functions
Closes #167
2017-01-28 01:19:07 +00:00
Estevao Soares dos Santos
5190b6a41f fix(simplifiedAutoLink): fix missing spaces before and after email addresses
Space char before and after the linked email address is no longer dropped
with "simplifiedAutoLink" option enabled.

Closes #330
2017-01-27 19:25:46 +00:00
Estevao Soares dos Santos
90c52b83e7 feat(encodeEmail): add option to enable/disable mail obfuscation
Prior to version 1.6.1, emails would always be obfuscated through dec and hex encoding.
This option makes it possible to disable this.
2017-01-27 19:03:37 +00:00
Estevao Soares dos Santos
f3b86f06cc feat(CLI): add -q (quiet) and -m (mute) mode to CLI
-q supresses all normal messages from the output, but still reports errors.
-m mutes all messages, even errors.
2017-01-09 02:26:24 +00:00
Estevao Soares dos Santos
4d78633c4d refactor(CLI): bump to include breaking change notice
BREAKING CHANGE:

CLI tool now uses the same option defaults as showdown main library. This mean
the default flavor is vanilla and ghCodeBlocks options is enabled by default.

To update, add `--ghCodeBlocks="false"` to the command.
2017-01-09 02:23:09 +00:00
Estevao Soares dos Santos
e3521bd8fa refactor(CLI): refactoring of CLI code 2017-01-09 02:08:23 +00:00
Estevao Soares dos Santos
2d6cd1e908 feat(CLI:flavor): add flavor option to CLI
Add the option to pass a flavor preset to CLI. Ex:
`showdown makehtml --flavor="github"`
2017-01-08 20:02:42 +00:00
Estevao Soares dos Santos
0eaf1050c7 feat(getFlavor): add getFlavor method to showdown and Converter
With this new method, you can check what type of base flavor showdown is currently set
to run as.
2017-01-08 19:09:12 +00:00
Estevao Soares dos Santos
a58674e597 chore: improve ghMentions 2017-01-06 04:58:28 +00:00
Estevao Soares dos Santos
f2671c0cc7 feat(ghMentions): add support for github's @mentions
Closes #51
2017-01-06 04:33:12 +00:00
Estevao Soares dos Santos
561dc5f155 fix(IE8): fix for IE8 error on using isUndefined function
Using isUndefined on console object in IE8 will throw an error.
This reverts to using `typeof console === 'undefined'.

Closes #280
2017-01-06 04:00:30 +00:00
Estevao Soares dos Santos
b1c458a762 fix(simpleLineBreaks): fix simpleLineBreaks option not working with non-ASCII chars and markdown delimiters
The option simpleLineBreaks was not working with non-ASCII characters such as chinese characters and
when lines started or ended with markdown delimiters such as `*` or `~`

Closes #318, #323
2017-01-06 03:51:12 +00:00
Estevao Soares dos Santos
de7c37eaea fix(options): fix ghCompatibleHeaderId that was set as string instead of boolean 2017-01-06 02:42:47 +00:00
Estevao Soares dos Santos
d499feb2aa fix(ghCompatibleHeaderId): improve the number of removed chars 2016-12-30 19:46:46 +00:00
Estevao Soares dos Santos
3102615ec2 fix(ghCompatibleHeaderId): add % as an escaped char 2016-12-30 19:21:03 +00:00
Estevao Soares dos Santos
db97a90d5b feat(ghCompatibleHeaderId): generate header ids compatible with github
style

Github replaces spaces with dashes and removes a bunch of characters
from generated header ids ][&~$!@#*()=:/,;?+'.\
This feature implements this.

Closes # 320, closes #321
2016-12-30 19:01:44 +00:00
Estevao Soares dos Santos
43ff0b643e test: add performance tests 2016-12-23 09:29:58 +00:00
Estevao Soares dos Santos
ed4c33fe4e fix(simpleLineBreaks): fix simpleLineBreak option breaking lists html
When option was enabled, `<br />` tags where being added wrongfully
between `<li>` tags, which resulted in malformed html. This commit
prevents this behavior.

Closes #316
2016-12-20 23:57:10 +00:00
Estevao Soares dos Santos
113f5f64b1 fix(horizontal rule): revert backwards incompatibility change
Horizontal rule syntax allows up to 3 spaces preceding dashes or
asterisks. Commit da8fb53 wrongfully removed that. This commit
puts that back.

Closes #317
2016-12-20 22:08:33 +00:00
Estevao Soares dos Santos
cf2a9075ae chore: small blockGamut regex fix 2016-12-20 21:44:15 +00:00
Estevao Soares dos Santos
d532dea8f0 Merge branch 'master' into develop 2016-12-19 12:16:22 +00:00
Estevao Soares dos Santos
da8fb535c9 fix: parser slowness with certain inputs
A bad desinged regex was causing the parser to become extremelly slow
when given some inputs.

Closes #315
2016-12-19 12:13:30 +00:00
Estevao Soares dos Santos
5d19877590 feat(requireSpaceBeforeHeadingText): option to make space between # and header text mandatory
Credit: @nikz [Nik Wakelin](https://github.com/nikz)

Closes #277
2016-12-17 06:01:15 +00:00
Estevao Soares dos Santos
6e90f7c5ad fix(nbsp): nbsp are replaced with simple spaces 2016-12-17 05:26:15 +00:00
Estevao Soares dos Santos
10b3410934 fix: lines with mutiple dashes being parsed as multilists
This input: `- - - a` causes trouble for the parser,
since it interprets it as multiple sublists, where it should
only interpert it as a list with a single list item.
This commit fixes this behavior.

Closes #312
2016-12-17 05:20:23 +00:00
Estevao Soares dos Santos
0a856d5394 refactor(hr): speed up hr parsing
speed up horizontal rule parsing by simplifying the regex
2016-12-17 03:29:53 +00:00
Estevao Soares dos Santos
f0d25b7bd5 fix(listeners): fix listeners typo
Closes #290
2016-12-01 15:48:30 +00:00
Estevao Soares dos Santos
d2fc2a0c5c feature(excludeTrailingPunctuationFromURLs): excludes trailing punctuation from auto linked URLs
Closes #266, #308
2016-12-01 15:25:46 +00:00
Estevao Soares dos Santos
0942b5e87d feature(simpleLineBreaks): parse linebreaks as <br />
This option enables linebreaks to always be treated as `<br />` tags
without needing to add spaces in front of the line, the same way GitHub does.

Closes #206
2016-11-30 18:04:17 +00:00
Estevao Soares dos Santos
0be39bccae feat(disableForced4SpacesIndentedSublists): option that disables the requirement of indenting nested sublists by 4 spaces 2016-11-11 08:15:24 +00:00
Estevao Soares dos Santos
1a232e8717 chore: fix small typo in options description 2016-11-11 07:57:56 +00:00
Estevao Soares dos Santos
d51be6e0b4 fix(lists): enforce 4 space indentation in sublists
Acording to the spec, multi paragraph (or block) list item requires subblocks
to be indented 4 spaces (or 1 tab). Although, this is mentioned in the documentation,
Showdown didn't enforce this rule in sublists because other implementations,
such as GFM also didn't. However, in some edge cases, this led to inconsistent behavior,
as shown in issue #299. This commit makes 4 space indentation in sublists
mandatory.

BREAKING CHANGE: syntax for sublists is more restrictive. Before, sublists SHOULD be
indented by 4 spaces, but indenting 2 spaces would work. Now, sublists MUST be
indented 4 spaces or they won't work.

With this input:
```md
* one
  * two
    * three
```

Before (ouput):
```html
<ul>
  <li>one
    <ul>
      <li>two
        <ul><li>three</li></ul>
      <li>
    </ul>
  </li>
<ul>
```

After (output):
```html
<ul>
  <li>one</li>
  <li>two
    <ul><li>three</li></ul>
  </li>
</ul>
```

To migrate either fix source md files or activate the option `disableForced4SpacesIndentedSublists` (coming in v1.5.0):

```md
showdown.setOption('disableForced4SpacesIndentedSublists', true);
```
2016-11-11 07:56:29 +00:00
Estevao Soares dos Santos
9cfe8b1412 fix(lists): fix sublists inconsistent behavior
Nested ul and ol lists behave inconsistently in the requirement
of having 3 spaces to be considered a nested list.
This fix changes the requirement to only one space in
both cases.

Closes #299
2016-11-09 02:54:18 +00:00
Estevao Soares dos Santos
2b813cd3fb fix(lists linebreaks): fix lists linebreaks in html output
Closes #291
2016-09-29 01:12:27 +01:00
Estevao Soares dos Santos
f97e072bc4 fix(double linebreaks): fix double linebreaks in html output
Closes #291
2016-09-29 00:50:58 +01:00
Estevao Soares dos Santos
b7e7560f87 fix: make some regexes a bit faster and make tab char equivalent to 4 spaces 2016-08-30 06:24:19 +01:00
Estevao Soares dos Santos
799abea767 fix(parser): fix issue with comments inside nested code blocks
Code blocks containing comments are now converted correctly when nested in list items.

Closes #288
2016-08-30 06:07:57 +01:00
Estevao Soares dos Santos
0cc55b07ee fix(simplifiedAutoLink): fix simplified autolink to match GFM behavior
Using the simplifiedAutoLink option does not return the expected GFM behaviour when parsing links without a http prefix.
Previously, `www.google.com` would be parsed into `<a href="www.google.com">www.google.com</a>`.
With this fix, showdown behaves like GFM, and the result is `<a href="http://www.google.com">www.google.com</a>`

Closes #284, closes #285
2016-08-19 19:12:25 +01:00
Estevao Soares dos Santos
984942e239 fix(ie8 compatibility): Improve ie8 compatibility
Several fixes to improve compatibility with Internet Explorer 8

Closes #275, Closes #271
2016-07-20 22:26:15 +01:00
Estevao Soares dos Santos
740f580f11 Merge branch 'master' of https://github.com/showdownjs/showdown
# Conflicts:
#	dist/showdown.js
#	dist/showdown.js.map
#	dist/showdown.min.js
#	dist/showdown.min.js.map
2016-07-20 22:07:49 +01:00
Estevao Soares dos Santos
238726ca91 fix(comments): Fix html comment parser
When an html comment was followed by a a long line of dashes, it would
freeze the parser as the lookahead in the html comment parser regex was
very slow. The regex was modified and simplified, so no lookahead is
needed anymore.

Closes #276
2016-07-20 22:01:10 +01:00
Butch Marshall
682bbbeca4 Fixed IE8 regex compatability 2016-06-27 15:43:51 +00:00
Estevao Soares dos Santos
8591ec8196 Merge branch 'develop' into feature/source_indentation_auto_removal 2016-06-21 01:42:50 +01:00
Estevão Soares dos Santos
73206b07fb fix(image-parser): fix ref style imgs after inline style imgs not parsing correctly
When reference style and inline style are mixed together, in the same line, it produces weird parsing bugs. This commit fixes this

Closes #261
2016-06-08 17:16:49 +01:00
Estevão Soares dos Santos
261f127f7e feat(smart-indent-fix): fix for es6 identation problems
Closes #259
2016-06-07 01:23:52 +01:00
Stewart McKee
6e30a48890 added check for undefined on text due to failing to parse tables 2016-05-24 10:26:59 +01:00
Estevão Soares dos Santos
ddaacfc41a fix(tables): fix table heading separators requiring 3 dashes instead of 2
Closes #256
2016-05-17 21:27:40 +01:00
Estevão Soares dos Santos
77007181d8 Merge branch 'master' into develop 2016-04-26 19:19:00 +01:00
Sam Bottoni
656aa98305 Support for case-insensitive checkboxes for render. [x] == [X] 2016-04-26 09:08:50 -05:00
Estevão Soares dos Santos
e0726a6e42 feature(evt_listeners): make globals var accessible to listeners 2016-03-20 17:08:44 +00:00
Estevão Soares dos Santos
6e5073d977 chore: remove html beautify from tests 2016-02-02 00:29:06 +00:00
Estevão Soares dos Santos
f58f014bc3 fix(tables): fix tables to match github's md spec
Now Leading and trailing pipes (|) are optional in tables

Closes #230
2016-01-25 05:24:54 +00:00
Estevão Soares dos Santos
71a5873902 fix(HTMLParser): fix code tags parsing
Closes #231
2016-01-25 03:01:54 +00:00
Estevão Soares dos Santos
4c68452999 chore: remove stray console.log 2016-01-25 01:16:51 +00:00
Estevão Soares dos Santos
7d0436d210 fix(HTMLParser): fix ghCodeBlocks being parsed inside code tags
When using html pre/code tags to wrap github's fenced code block syntax,
showdown would parsed them instead of treating them like plain code.

Closes #229
2016-01-25 01:04:06 +00:00
Estevão Soares dos Santos
e8852a83bb refactor: clean regex helper functions 2016-01-02 01:16:40 +00:00
Estevão Soares dos Santos
c97f1dc6b1 feat(markdown="1"): enable parsing markdown inside HTML blocks
Enable parsing markdown inside HTML blocks if those blocks have an attribute called markdown="1".
This feature is EXPERIMENTAL! As such, the behavior might change on future releases.

Closes #178
2016-01-02 01:08:17 +00:00
Estevão Soares dos Santos
2746949d7d fix(hashHTMLBlock): fix issue with html breaking markdown parsing
Closes #220
2016-01-01 23:33:33 +00:00
Adam Carr
74470ededa removing define module name as it breaks aliasing the module name 2015-12-22 20:24:53 -08:00
Estevão Soares dos Santos
5669317fe4 fix(strikethrough): Fix strikethrough issue with escaped chars
Closes #214
2015-10-30 01:00:30 +00:00
Estevão Soares dos Santos
f4cb29e05a Merge branch 'develop' into feature/event_mediator
Conflicts:
	dist/showdown.js
	dist/showdown.js.map
	dist/showdown.min.js
	dist/showdown.min.js.map
	src/converter.js
	src/subParsers/blockGamut.js
	src/subParsers/codeSpans.js
2015-10-19 03:20:20 +01:00
Estevão Soares dos Santos
e86aea8183 fix(literalMidWordUnderscores): fix different behavior with asterisks
Closes #198
2015-10-19 03:09:50 +01:00
Estevão Soares dos Santos
3097bd45c2 feat(hashHTMLSpans): Add support for hashing span elements
This feature enables hashing span elements that should not be touched by
showdown. For instance, `<code>` tags in markdown source should not be
parsed by showdown, so the text inside them remains unchanged.
This is made possible by a new exciting internal feature,
matchRecursiveRegExp.

Closes #196, Closes #175, Partially reverts 5f043ca
2015-10-19 01:55:35 +01:00
Estevão Soares dos Santos
8ebb25e486 fix(simpleautolink): fix mail simpleAutoLink to ignore urls with @ symbol
Urls with @ symbol will not be incorrectly converted to mail addressed

Closes #204
2015-10-07 04:46:28 +01:00
Estevão Soares dos Santos
50256233eb fix(tables): fix md tables being parsed inside indented code blocks.
Closes #193
2015-08-27 03:41:59 +01:00
Estevão Soares dos Santos
ed2cf595b0 fix(blockQuote): fix 'github style codeblocks' not being parsed inside 'blockquote'
Closes #192
2015-08-25 21:10:49 +01:00
Estevão Soares dos Santos
e754668814 Merge branch 'hotfix/#191' into develop 2015-08-23 03:12:43 +01:00
Estevão Soares dos Santos
3df706248f fix(blockGamut): fix for headings inside blockquotes
The spec states that you can be lazy and only put the `>` before the first line of a hard-wrapped paragraph.
It also states that blocquotes can contain any other md element inside.
This means headings and horizontal rules should be included in the blockquote but, right now, are treated as
independent entities

Closes #191
2015-08-23 03:11:11 +01:00
Estevão Soares dos Santos
b6c8b497db docs(lists.js): fix missing jsdoc parameter 2015-08-23 02:46:04 +01:00
Estevão Soares dos Santos
636fd5959d docs(converter.js): fix return type of Converter function 2015-08-23 02:21:00 +01:00
Estevão Soares dos Santos
7dc3fb1d25 fix(simpleAutoLinks): fix emails being treated as simple urls
Closes #187
2015-08-11 05:58:54 +01:00
Estevão Soares dos Santos
2734326e19 feat(eventDispatcher): add an event dispatcher to converter 2015-08-03 03:47:49 +01:00
Estevão Soares dos Santos
7720c88bfc fix(lists): fix github code blocks not being parsed inside lists
Fix ghCodeBlocks not being correctly parsed inside lists. Also, as a side
effect, fixes issues with consecutive lists and extra paragraphs being
added into lists.

Closes #142, Closes #183, Closes #184
2015-08-01 21:05:28 +01:00
Estevão Soares dos Santos
eeccee7038 Merge branch 'develop' 2015-07-22 18:29:00 +01:00
Estevão Soares dos Santos
789dc1806a feat(subParser/tables.js): add support for md span elements in table headers
+ tests

Closes #179
2015-07-22 18:21:20 +01:00
Estevão Soares dos Santos
9ab2af0e89 build 2015-07-14 21:17:27 +01:00
Estevão Soares dos Santos
c9e85f1294 fix(subParsers/italicsAndBold): fix underscores not being correctly parsed when used in conjunction with literalMidWordsUnderscores option 2015-07-14 20:51:22 +01:00
Estevão Soares dos Santos
542194e916 fix(subParsers/images): fix alt attribute not being escaped correctly 2015-07-14 20:49:46 +01:00
Estevão Soares dos Santos
5f043ca46d fix(subParsers/codeSpans): Fix issue with code html tags not being correctly escaped 2015-07-14 20:49:04 +01:00
Estevão Soares dos Santos
62ba3733cd feat(smoothLivePreview): fix weird effects due to parsing incomplete input 2015-07-14 17:10:52 +01:00
Estevão Soares dos Santos
7ee2017c56 fix(subParsers/italicsAndBold.js): fix broken em/strong tags when used with literalMidWordUnderscores
When literalMidWordUnderscoresis set to true, em and strong tags that start or end a paragraph don't get parsed as such.
This fixes this issue.

Closes #174
2015-07-14 16:51:26 +01:00
Estevão Soares dos Santos
b7f5e32e1a feat(subParsers/githubCodeBlock): add extra language class to conform to html5 spec 2015-07-14 00:41:59 +01:00
Estevão Soares dos Santos
6176977558 fix(subParser/tables): fix undefined error in malformed tables
Cannot read property 'trim' of undefined happens when the parser is fed a malformed table.
This happens in live previews (for instance, when using Angularjs).
2015-07-14 00:37:53 +01:00
Estevão Soares dos Santos
f6a33e402c feat(CLI): add a simple cli tool 2015-07-13 05:09:03 +01:00
Estevão Soares dos Santos
ba7eb7ebaf Merge branch 'cli' of https://github.com/rheber/showdown into feature/cli 2015-07-12 02:36:33 +01:00
Estevão Soares dos Santos
7e55bceb0e feat(flavours): add markdown presets/flavors
This feature enables users to select a preset/flavor.
A flavor is just a preset of options, a shortcut so users don't have to set each option one by one.

Closes #164
2015-07-12 02:15:35 +01:00
Estevão Soares dos Santos
20ca099f56 chore: add class to tasklist items 2015-07-11 23:09:47 +01:00
Estevão Soares dos Santos
dc72403acc feat(tasklists): add support for GFM tasklists
Github Flavored Markdown supports tasklist by `[x]` or `[ ]` after list item marker.
This commit adds this feature to showdown through an option called "tasklists".

Related to #164
2015-07-11 23:02:02 +01:00
Estevão Soares dos Santos
c33f98884b feat(ghCodeBlocks): add option to disable GH codeblocks
GFM support fenced codeblocks. Showdown, since very early, adopted this too.
It is now possible to disable GFM codeblocks with the option "ghCodeBlocks" set to false.
It is enabled by default
2015-07-11 20:33:11 +01:00
Estevão Soares dos Santos
5ec75c459b fix(subparsers/tables.js): fix parser order so that tables include all spanGamut elements 2015-07-11 19:50:26 +01:00
Estevão Soares dos Santos
1c8c928d0a feat(subParsers/table): support for table alignment
Credits to [torcellite (Karthik Balakrishnan)](https://github.com/torcellite)
2015-07-11 18:21:43 +01:00
Estevão Soares dos Santos
3a924e3c7e feat(tables): add support for GFM tables
Github Flavored Markdown supports a specific table syntax. Table support was already available as an extension.
With this commit, the feature was moved to core, adding this feature to showdown through an option called "tables".

Related to #164
2015-07-11 16:44:24 +01:00
Estevão Soares dos Santos
43e9448d6e feat(strikethrough): add support for GFM strikethrough
Github Flavored Markdown supports strikethrough (`<del>`) syntax using double tilde `~~` delimiters.
This commit adds this feature to showdown through an option called "strikethrough".

Related to #164
2015-07-11 15:59:06 +01:00
Estevão Soares dos Santos
0c0cd7db99 feat(literalMidWordUnderscores): add support for GFM literal midword underscores
Github Flavored Markdown does not parse underscores in the middle of a word as emphasis/bold.
This commit adds this feature to showdown through an option called "literalMidWordUnderscores".

Related to #164
2015-07-11 15:45:58 +01:00
Estevão Soares dos Santos
cff0237299 feat(simplifiedAutoLink): add support for GFM autolinks
Github Flavored Markdown detects urls and mails embeded in the text without any extra markup or delimiter.
This commit adds this feature to showdown through an option called "simplifiedAutoLink".
Related to #164
2015-07-11 02:42:53 +01:00
Estevão Soares dos Santos
b84ac67dac feat(headerLevelStart): add support for setting the header starting level
Closes #69
2015-06-17 02:19:44 +01:00
Estevão Soares dos Santos
1d149c8806 chore: fix jshint 2015-06-17 01:26:50 +01:00
Estevão Soares dos Santos
af82c2b616 feat(image dimensions): add support for setting image dimensions within markdown syntax
This feature allows users to define the image dimensions using markdown syntax:
```
![my image](img.jpg =100x80 "image title")
```
To enable this feature, use the option `parseImgDimensions`.

Closes #143
2015-06-17 01:22:05 +01:00
Estevão Soares dos Santos
2de53a7d03 feat(showdown.getDefaultOptions): add method to retrieve default global options key->values
Showdown default options are now retrievable through `showdown.getDefaultOptions()` function
2015-06-15 14:49:26 +01:00
Estevao Soares dos Santos
0bdd02b2cc fix(subParsers/lists.js): partial fix for odd behavior on multiple consecutive lists
Consecutive lists we're previously being condensed into one unique list, with odd paragraph output.
This fix correctly splits lists, but does not change the weird paragraph output

closes #142
2015-06-13 14:59:14 +01:00
Estevao Soares dos Santos
42240ba82c test: add karlcow's testsuite
Also refactor tests to improve maintainability
2015-06-11 01:29:42 +01:00
Estevao Soares dos Santos
9a2411b05f fix(subParsers/stripLinkDefinitions): fix title attribute in link definitions
According to spec, the title attribute in link definitions can be wrapped in single quotes. Previously, showdown didn't support this.
Now the title attribute can be wrapped in single quotes.
2015-06-08 04:16:58 +01:00
Estevao Soares dos Santos
e27e16bdc5 fix(subParsers/images.js): fix empty title attribute in img tags
This big was introduced on purpose to mimic markdown.pl. Since we no longer match our development with that library,
it makes no sense to keep it.
2015-06-08 03:57:18 +01:00
Estevao Soares dos Santos
3a71b66d24 fix(subParsers/headers); fix bug introduced with noHeaderId option 2015-06-08 03:51:43 +01:00
Estevao Soares dos Santos
7ac893e93b feat(noHeaderId): add option to suppress automatic generation of ids in headers
Passing the option `noHeaderId; true` to showdown or showdown converter removes the automatic generation of header ids
2015-06-08 03:41:14 +01:00
Estevao Soares dos Santos
4ebd0caa27 feature(extensionLoading): add support to legacy extensions in the new extension mechanism
Old extensions that register themselves in `showdown.extensions` can be loaded and validated using the new extension loading mechanism.
However, a warn is issued, alerting users and developers that the extension should be updated to use the new mechanism

BREAKING CHANGE: Deprecates `showdown.extensions` property. To migrate, you should use the new method `showdown.extension(<ext name>, <extension>)` to register the extension.
2015-06-07 19:02:45 +01:00
Estevao Soares dos Santos
e7cb15f1e9 style(converter.js): fix missing semi colon 2015-06-03 02:50:57 +01:00
Estevao Soares dos Santos
d86ed450a8 fix(converter.js): add error if the passed argument is not an object 2015-06-03 01:29:44 +01:00
Estevão Soares dos Santos
33f64f60c9 feature(extensionLoading): refactor extension loading mechanism 2015-05-31 20:56:28 +01:00
Estevão Soares dos Santos
678348d060 chore(helpers.js): add console polyfill so we can trigger warnings reliably 2015-05-31 13:08:15 +01:00
Estevão Soares dos Santos
6492e74c5b docs(showdown.options): fix jsdocs for methods setOption, getOption and getOptions 2015-05-27 01:43:08 +01:00
Estevão Soares dos Santos
db6f79b08d feat(Converter.options): add getOption(), setOption() and getOptions() to Converter object
Provides a way to get and set options directly in a Converter object
2015-05-27 01:37:01 +01:00
Estevão Soares dos Santos
e6f40e190c fix(options.omitExtraWLInCodeBlocks): fix for options.omitExtraWLInCodeBlocks only applying in gitHub flavoured code blocks 2015-05-26 19:57:36 +01:00
Estevão Soares dos Santos
ddd6011df2 fix(showdown): fix for options merging into globalOptions
Passing an option to a specific converter affects other instances of the converter since options are merged into showdown's global options.
This commit fixes that.

Closes #153
2015-05-26 19:46:07 +01:00
Estevão Soares dos Santos
3ecf9c4f8e chore(): remove angular from core package 2015-05-13 22:36:25 +01:00
Estevão Soares dos Santos
fb3e0ba3bc fix(subParsers/hashHTMLBlocks.js): fix rendering problems with html5 block elements.
Some HTML5 block elements were not being properly ignored. This caused problems in rendering markdown as showdown would add additional <br /> to some block elements.
This commit should fix this issue.

Closes #90, closes #140, closes #147
2015-04-23 21:51:32 +01:00
Estevão Soares dos Santos
95ed7c682e fix(extensions): support for old extension loading mechanism 2015-04-23 00:15:54 +01:00
Estevão Soares dos Santos
a38c76d236 fix(showdown.js): fix showdown extension loader 2015-04-22 16:58:07 +01:00
Estevão Soares dos Santos
d996b4438d partial(showdown.js): enabled output modifiers 2015-04-22 14:51:57 +01:00
Hannah Wolfe
36daa99339 Add missing block elements
fixes #90
2015-03-16 16:27:16 +00:00
Estevão Soares dos Santos
0fd10cb56a Added new extension registering method 2015-03-01 18:15:32 +00:00
rheber
4c529f83f0 support for stdin 2015-02-01 11:56:32 +11:00
Estevão Soares dos Santos
8ee87ead9f doc(showdown.js): add source documentation for showdown's api 2015-01-19 16:28:14 +00:00
Estevão Soares dos Santos
18ba4e756f fix(helpers): fix wrong function call 'escapeCharacters' due to old strayed code 2015-01-19 15:42:20 +00:00
Estevão Soares dos Santos
0da9626408 chore(): code fix to pass jscs linter 2015-01-19 14:57:43 +00:00
Estevão Soares dos Santos
79829dbbf1 chore(): code style fix and tests fix due to code style changes 2015-01-19 12:04:22 +00:00
Estevão Soares dos Santos
8b000b134a chore(all): code style change 2015-01-19 11:37:21 +00:00
Estevão Soares dos Santos
c367a4b9a1 feat(uniqueHeaderId): add unique id prefix and suffix to headers
If two headers have similar texts, the generated id could be equal. In order to prevent id clash:
  - A unique suffix is added if a header id already exists
  - Option to add a prefix to header id
  - Update of correspondent tests
  - (credits to nicovalencia)

Closes #81, closes #82
2015-01-18 02:12:32 +00:00
Estevão Soares dos Santos
c9de4b6b1f Revert "feat(allowBlockIndents): Indented inline block elements can be parsed as markdown"
This reverts commit f6326b84e4.
2015-01-17 00:13:12 +00:00
Estevão Soares dos Santos
f6326b84e4 feat(allowBlockIndents): Indented inline block elements can be parsed as markdown
When the text is pulled from indented HTML elements, ex:
```
 <body>
    <div>
        ## Content to be converted
    </div>
 </body>
```
it no longer becomes wrapped in code/pre tags. A new option is also available (allowBlockIndents) that when set to false, reverts to the previous behavior
2015-01-16 23:39:20 +00:00
rheber
b433d7cd50 very basic cli tool 2015-01-16 14:53:20 +11:00
Estevão Soares dos Santos
eae5f0e01f Major code refactoring 2015-01-15 21:21:33 +00:00
Alessandro Vermeulen
3dbc6ffcfb Added fix to prevent table rendering to be broken by alignment character ":". 2015-01-09 21:32:05 +01:00
Estevão Soares dos Santos
548becfd58 renamed showdown to showdown legacy 2015-01-06 16:38:22 +00:00
Estevão Soares dos Santos
e4d96c4fd8 Bugfix: Fixes #128 Fixes issue where compressed/concatenated file breaks if angular is not present. 2015-01-06 16:06:00 +00:00
Estevão Soares dos Santos
24716d3520 Fixed undefined typo 2015-01-04 21:53:40 +00:00
Estevão Soares dos Santos
3cad130b9b Merge branch 'feature/Angular_Integration' into develop 2015-01-04 21:36:22 +00:00
Estevão Soares dos Santos
c210613812 Merge branch 'hotfix/double_tables' into develop 2014-11-14 18:19:48 +00:00
Estevão Soares dos Santos
71b572a077 Code style fix 2014-11-14 18:16:25 +00:00
Estevão Soares dos Santos
b3c056ea65 Fixes #93 2014-11-11 22:18:35 +00:00
Estevão Soares dos Santos
930302463a SetOption and LoadExtension now return the object itself 2014-11-11 22:12:45 +00:00
Estevão Soares dos Santos
a1c0d8f7dd Initial commit of AngularJS Integration Module 2014-11-05 03:10:02 +00:00
Pascal Deschenes
8c5ae8ef8f add re-entering support for table content 2012-11-01 16:16:34 -04:00
Pascal Deschenes
0440ef313e fix bug with this scope handling and extension converter argument
* `this` scope is captured as `self`, so that it can be properly passed to `Showdown.forEach(plugin(self)` otherwise,
  extension plugin will end up with converter pointing to global scope.
* because Showdown is not using proper prototype chain (i.e. references to yet to be defined functions), I had to
   move the extension handling below makeHtml so that it is defined and available within the plugin itself
2012-11-01 16:12:32 -04:00
Pascal Deschenes
dc28410a3b Merge branch 'master' into feature-table-extension
Conflicts:
	README.md
	src/showdown.js
2012-11-01 14:21:39 -04:00
Pascal Deschenes
ddec23684f fix prettify naming (client side error) 2012-11-01 14:07:53 -04:00
Corey Innis
7c28d3752c [#36] iterate with Showdown.forEach
* browser support: [].forEach is not always available.
* also using Showdown.forEach in the test suite, to set the pattern.
2012-11-01 00:50:03 -07:00
Corey Innis
d6d7f807ea [#14] add initial github-flavored extension
simply handles strike-through for now.
2012-10-31 03:38:46 -07:00
Corey Innis
b8c979653e post-merge (abackstrom) remove extraneous var declaration. 2012-10-31 01:18:06 -07:00
Corey Innis
8a8820634e Merge remote-tracking branch 'abackstrom/striplinkdefinitions-endstring' 2012-10-31 01:16:05 -07:00
Corey Innis
9075cdc080 Merge remote-tracking branch 'unwiredben/master' 2012-10-31 00:30:23 -07:00
Pascal Deschenes
caa98a8dde bug fixes:
+ fix bug with forEach extensions within client-side handling (browser)
+ update README to specify extension as array for client-side usage (same as server)
2012-10-30 16:55:18 -04:00
Pascal Deschenes
aa76deec74 add basic table support 2012-10-30 14:39:34 -04:00
Adam Backstrom
6645ca173b Apply sentinel fixes to _StripLinkDefinitions 2012-10-19 11:55:49 -04:00
unwiredben
9b297fa877 Remove unnecessary "match anything" test that caused excessive run time on some mixed content
Update HTML5 structural tags test to also verify correctness this regexp and the previous one.

Signed-off-by: unwiredben <combee@techwood.org>
2012-09-08 14:17:52 -05:00
Titus
0e4c052373 Merge branch 'master' into syntax-extensions 2012-08-09 20:19:17 -06:00
Pavel Lang
8d5a284272 Code cleanup
* Arrays used as hashes replaced by object initializer `{}` and Array
constructor calls replaced with array literal `[]`

* `function char2hex(ch)` used in email obfuscation replaced with inline
call `ch.charCodeAt(0).toString(16)`

* **For clarity I edited only src/showdown.js script. There are also
copy of file in `example` directory and minified version in
`compressed` directory.**
2012-08-09 20:15:55 -06:00
Titus
e6526026ec Fixed #26 -- Urls which contained matched parenthesis are now supported 2012-08-09 20:06:58 -06:00
Titus
35abe36946 Merge branch 'syntax-extensions' of github.com:tstone/showdown into syntax-extensions 2012-08-09 19:51:43 -06:00
Joe Martin
32db258511 Added AMD friendly piece of code. 2012-08-09 19:51:13 -06:00
Joe Martin
2d80b3af04 Added AMD friendly piece of code. 2012-08-09 19:49:54 -06:00
Pavel Lang
a67421ba2a Extension autoloading fix 2012-08-10 02:35:20 +02:00
Pavel Lang
483bb8604c Merge remote branch 'tstone/syntax-extensions' into syntax-extensions 2012-08-10 02:28:10 +02:00
Pavel Lang
8b96a42fbc Code cleanup
* Arrays used as hashes replaced by object initializer `{}` and Array
constructor calls replaced with array literal `[]`

* `function char2hex(ch)` used in email obfuscation replaced with inline
call `ch.charCodeAt(0).toString(16)`

* **For clarity I edited only src/showdown.js script. There are also
copy of file in `example` directory and minified version in
`compressed` directory.**
2012-08-10 02:01:00 +02:00
Titus
05453b5042 A string name (only) can now be given for bundled extensions 2012-06-20 21:17:58 -06:00
Titus
0218913efa Standardized naming for bundled extensions 2012-06-20 21:11:43 -06:00
Titus
e924b04aa2 Extensions within /src are now automatically loaded to the Showdown namespace when server-side 2012-06-20 20:59:50 -06:00
Titus
bfa99b3af5 Added header to twitter extension 2012-06-20 17:30:15 -06:00
Titus
10f9c153a3 Added Google Prettify extension (output modification extension test) 2012-06-20 17:16:40 -06:00
Titus
7db254fcb2 Re-factored @roberocity 's twitter autolinks into extension format 2012-06-20 17:03:23 -06:00
Titus
4234de3a91 Simplified extensions implementation 2012-06-20 17:02:53 -06:00
Titus
644fb7b983 A first pass at syntax extensions 2012-06-20 15:56:56 -06:00
Titus
994d338eec Switched to correct exporting syntax 2012-06-15 12:46:06 -06:00
Titus
bab6b888ef Added support for new HTML5 structural tags to "pass through" without being wrapped in a <p> 2012-06-14 00:52:20 -06:00
Titus
3e00e5a2d1 Fixed #11 -- <style> tags are now not wrapped in <p>'s + test case for this 2012-06-14 00:42:15 -06:00
Titus
cb7192d2cc Revert "Fixed a handful of linting errors"
This reverts commit 80a8880aaa.
2012-06-14 00:32:35 -06:00
Titus
80a8880aaa Fixed a handful of linting errors 2012-06-14 00:26:49 -06:00
Titus
bcf2bafc44 Fixed #17 -- Github style codeblocks now escape HTML properly 2012-06-14 00:18:04 -06:00
Titus
f3f928084e Fixed #21 -- Github codeblocks can now contain back ticks 2012-06-14 00:09:58 -06:00
Titus
fa38885994 Added test case for github codeblock at start of string 2012-06-14 00:08:49 -06:00
Titus
6515742ea9 Added quotes around language class attribute on github style codeblock 2012-06-14 00:03:28 -06:00
Titus
9a0492a7ac Fixed #20 -- Github style codeblocks can now start the parsed string 2012-06-14 00:02:14 -06:00
Titus
29e2f1a039 Fixed #18 -- class= isn't added if the language is not specified 2012-06-13 23:43:13 -06:00
Titus
c5ead005b1 Updated exports syntax to work like README demonstrates 2012-06-13 20:26:42 -06:00
Corey Innis
319ccbcdc0 exports the converter instead of Markdown
per https://github.com/coreyti/showdown/pull/7 but done manually as that change included DOS-style carriage returns on every line.
2012-05-27 15:17:20 -07:00
Roger Braun
a589a987d4 Support for github-style code blocks 2011-10-20 19:07:30 +02:00
Corey Innis
55d2f65350 Extend remy's addition of heading id attributes to apply to Setext-style headings as well. 2010-10-31 11:10:22 -07:00
remy
3d3207142f added ids to headings 2010-10-31 14:56:59 +00:00
remy
cf876fe2de commonjsified 2010-10-30 16:21:15 +01:00
Corey Innis
33e6d67096 initial commit 2008-11-13 13:40:18 -08:00