showdownjs / ng-showdown

Angular integration for Showdown
BSD 3-Clause "New" or "Revised" License
106 stars 33 forks source link

ng-showdown

Angular integration for Showdown

How to use it

  1. Install it

    a. via bower:

    bower install --save ng-showdown

    b. via npm

    npm install --save ng-showdown
  2. Include 'ng-showdown' in your module dependencies
  3. Use it
    <p markdown-to-html="vm.mymarkdown"></p>

Dependencies

ng-showdown depends on the ngSanitize module. Don't forget to include it:

<script src="https://github.com/showdownjs/ng-showdown/raw/master/angular.js"></script>
<script src="https://github.com/showdownjs/ng-showdown/raw/master/angular-sanitize.js"></script>

API

$showdown

$showdown.makeHtml(markdown) - Converts a markdown text into HTML

Input: string - markdown to be parsed

Output: string - html output from showdown

$showdown.stripHtml - Strips a text of it's HTML tags. See http://stackoverflow.com/questions/17289448/angularjs-to-output-plain-text-instead-of-html

Input: string - html to be stripped

Output: string - string without <html> tags

markdownToHtml directive

Example usage:

 <p markdown-to-html="vm.mymarkdown"></p>

Input: string - markdown to be parsed

Output: string - html output from showdown

stripHtml filter

Example usage:

 <p ng-bind="vm.someText | stripHtml"></p>

Input: string - Input to be stripped of html

Output: string - stripped html

Configuration

You can configure the options and extensions passed to showdown by using the $showdownProvider. To see these options, visit the Showdown page.

$showdownProvider.setOption(key, value) - sets the passed in option as a configuration option in showdown

$showdownProvider.getOption(key) - get the option as determined by the passed in key.

$showdownProvider.loadExtension(extensionName) - loads the extension into showdown as determined by the passed in extension name