Skip to content

Latest commit

 

History

History
105 lines (82 loc) · 3.06 KB

README.md

File metadata and controls

105 lines (82 loc) · 3.06 KB

Build Status Published on webcomponents.org Polymer2.0 ES6

<sanitize-element>

Element wrapper for the Sanitize.js library (a whitelist-based HTML sanitizer), to use <marked-element>.

Usage

<style>
  .logo { width: 32px; }
</style>

<sanitize-element config='{
   "elements": ["img"],
   "attributes":{"img":["class","src"]},
   "protocols":{"img":{"src":["https"]}}
   }' sanitizer="{{sanitizer}}"></sanitize-element>

<marked-element sanitize sanitizer="[[sanitizer]]">
  <div slot="markdown-html"></div>
  <script type="text/markdown">
Markdown Image link `![image](url)`.

![WebComponents](https://web-components-resources.appspot.com/static/logo.svg)

You can set `class` like `<img class="logo">` and remove other attributes (e.g. onclick).

<img class="logo"
     src="https://web-components-resources.appspot.com/static/logo.svg"
     onclick="alert('WebComponents')">

Source block is escaped.

      <img class="logo"
           src="https://web-components-resources.appspot.com/static/logo.svg"
           onclick="alert('WebComponents')">

  </script>
</marked-element>

Other config like this.

<sanitize-element config='{
  "elements":["a","img"],
  "attributes":{"__ALL__":["class"], "a":["href","title"], "img":["src"]},
  "protocols":{"a":{"href":["http","https"]}}
  }' sanitizer="{{sanitizer}}"></sanitize-element>

<marked-element markdown="[[markdown]]" sanitize sanitizer="[[sanitizer]]">
  <div slot="markdown-html"></div>
</markd-element>

Note: The config attribute must be double quoted JSON.

Install the Polymer-CLI

First, make sure you have the Polymer CLI installed. Then run polymer serve to serve your element locally.

Viewing Your Element

$ polymer serve

Running Tests

$ polymer test

Your application is already set up to be tested via web-component-tester. Run polymer test to run your application's test suite locally.