docs-soap is a small (1.5kb minified/gzipped), simple library that can be used to transform clipboard contents from Google Docs into readable HTML. This library was born from the need to parse clipboard content from Google Docs into a DraftJS Rich Text Editor and fits nicely into Draft's handlePastedText hook.
This project was developed for use in a client-side project. To use in a Node environment, your project will also require jsdom-global.
- Comment are stripped from output. Fixes bug when pasting on Windows.
module.exports = {
default: docsSoap,
docsSoap,
parseHTML
};Tests are written in Mocha, using expect for assertions. npm run test will run all tests in the test/ directory, allowing you to test the entire library's functionality at once. All contributions to the repository are expected to contain accompanying tests.
In the examples/ directory, there's a simple HTML example that, after running npm run build in the project root, can be used to test your changes or just see the library in action.
yarn add docs-soapimport docsSoap from 'docs-soap';yarn add docs-soapconst docsSoap = require('docs-soap').default;<script src="https://unpkg.com/docs-soap@1.2.1/dist/docs-soap.min.js"></script>var docsSoap = window.docsSoap;const html =
'<body id="docs-internal-guid-1234"><b><span style="font-weight:700">bold text</span><span style="font-style:italic">some italic text</span></b></body>';
const clean = docsSoap(html);
console.log(
clean
); /* "<body><strong>some bold text</strong><i>some italic text</i></body>" */