https://github.com/daichirata/vue-sanitize
Whitelist-based HTML sanitizer (sanitize-html) for Vue.js apps.
https://github.com/daichirata/vue-sanitize
sanitize vue vue-plugin vuejs
Last synced: 5 months ago
JSON representation
Whitelist-based HTML sanitizer (sanitize-html) for Vue.js apps.
- Host: GitHub
- URL: https://github.com/daichirata/vue-sanitize
- Owner: daichirata
- License: mit
- Created: 2017-10-30T07:04:17.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-10-06T18:31:41.000Z (over 1 year ago)
- Last Synced: 2024-11-07T18:56:41.734Z (6 months ago)
- Topics: sanitize, vue, vue-plugin, vuejs
- Language: JavaScript
- Homepage:
- Size: 411 KB
- Stars: 35
- Watchers: 1
- Forks: 9
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# vue-sanitize
Whitelist-based HTML sanitizer (sanitize-html) for Vue.js apps.
## Note
We should always sanitize user input values on the server. Do sanitize with Vue only for necessary cases (e.g markdown preview).
## Install
```
npm install --save vue-sanitize
```or
```
yarn add vue-sanitize
```## Usage
Register the plugin
``` js
import VueSanitize from "vue-sanitize";
Vue.use(VueSanitize);
```You can pass default options too:
``` js
defaultOptions = {
allowedTags: ['a', 'b'],
allowedAttributes: {
'a': [ 'href' ]
}
};
Vue.use(VueSanitize, defaultOptions);
```Use it in your components:
``` js
export default {
methods: {
sanitize(event) {
event.preventDefault();
const html = this.$sanitize(event.clipboardData.getData('text/html'));
//or
//const html = this.$sanitize(
// event.clipboardData.getData('text/html'),
// {
// allowedTags: ['b', 'br']
// }
//);
document.execCommand('insertHTML', false, (html));
}
},
}```
## API
### `Vue.use(VueSanitize[, defaultOptions])`
#### options
* Type: `Object`
This plugin is dependent on [sanitize-html](https://github.com/punkave/sanitize-html). For details, see here https://github.com/punkave/sanitize-html#readme.
### `this.$sanitize(diarty[, options])`
#### diarty
* Type: `String`
* Required: `true`#### options
* Type: `Object`
If you don't pass an options, the default options will be used.
#### `VueSanitize.defaults`
Return `sanitizeHtml.defaults`.
## Change log
Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.
## Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.