A markdown-it-plugin that copy code and others.
npm install markdown-it-copy[![NPM version][npm-image]][npm-url]
[![download][downloads-image]][github-url]
[![NPM][nodei-image]][npm-url]
> A markdown-it-plugin that copy code and others.
* [ ] 复制内容尾部增加版权说明
``bash`
npm install markdown-it-copy -S
`js
const options = {
btnText: String, // 'copy' | button text
failText: String, // 'copy fail' | copy-fail text
successText: String, // 'copy success' | copy-success text
successTextDelay: Number, // 2000 | successText show time [ms]
extraHtmlBeforeBtn: String, // '' | a html-fragment before
const md = require('markdown-it')()
.use(require('markdown-it-copy'), options);
md.render(${mdText});
// Tips: you may need to highlight your code, as follow:
const hljs = require('highlight.js');
const hlOpts = {
highlight(str, lang) {
if (lang && hljs.getLanguage(lang)) {
try {
return hljs.highlight(lang, str).value;
} catch (__) {
console.log(__);
}
}
return '';
},
};
require('markdown-it')(hlOpts);
`
Normal-theme:
* css: default.css
* stylus: default.styl
also, you can write style by yourself.
the html structure and class as follow:
`html`
${codeLang}
${extraHtmlBeforeBtn}
${successText}
${btnText}
${extraHtmlAfterBtn}
#### 1.0.0、1.0.1
* [new function]
* Support basic copy function
#### 1.1.0
* [new function]
* Support show code-language before btn or extraHtmlBeforeBtn
#### 1.1.1
* [fix bug]
* Compatible with a variety of templates
*
*
*
* etc.#### 1.1.2
* [fix bug]
*
Single quotes encode
* error: ' -> '
* ok: ' -> \'`$3
#### 1.2.0
* [new function]
* Support append text behind to copy content, such as: Copyright info.
[github-url]: https://github.com/ReAlign/markdown-it-copy
[npm-url]: https://www.npmjs.com/package/markdown-it-copy
[npm-image]: https://img.shields.io/npm/v/markdown-it-copy.svg
[downloads-image]: https://img.shields.io/npm/dt/markdown-it-copy.svg
[nodei-image]: https://nodei.co/npm/markdown-it-copy.png?downloads=true&downloadRank=true&stars=true