version NPM GPL Licence npm downloads gzip-size FOSSA Status
Build Status Build Status Mergify Status codecov Codacy Badge DeepScan grade
MiniValine is a simple and minimalist comment system
Demo | Docs | FAQs | Awesome | CHANGELOG
- High speed.
- Easy to customize.
- Safe by default.
- Compatible.
- Simple and lightweight.
- Lazy loading picture emoji.
- Emoticon category.
- Code highlighting.
- Markdown.
- MathJax.
- Enter live preview.
- Upload pictures pasting or dragging.
- Multiple languages.
- Integrated xCss and DesertsP Style mode.
- Admin Flag.
- Browser and Operating System icon.
- Comment barrage.
Two ways.
- links
<script src="https://cdn.jsdelivr.net/npm/minivaline@latest/dist/MiniValine.min.js"></script>
- npm install
# Install minivaline
npm install minivaline --save// Use import import MiniValine from 'minivaline'; // or Use require const MiniValine = require('minivaline'); new MiniValine({ el:'#vcomments', // other config })
Get App ID/App Key from LeanCloud
Click here to register or login in LeanCloud.
Click here Create new application in LeanCloud, and you will get appId/appKey.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>MiniValine - A simple comment system.</title> <!--Load js and insert it before </ body>--> <script src="https://cdn.jsdelivr.net/npm/minivaline@latest/dist/MiniValine.min.js"></script> </head> <body> <div class="mvcomment"></div> <script> new MiniValine({ el: '.mvcomment', appId: 'Your App ID', appKey: 'Your Key', placeholder: 'Write a Comment O(∩_∩)O~~' }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>MiniValine - A simple comment system based.</title> </head> <body> <div class="mvcomment"></div> <script> function load_minivaline() { setTimeout(function() { var HEAD = document.getElementsByTagName('head')[0] || document.documentElement; var src = 'https://cdn.jsdelivr.net/npm/minivaline@latest/dist/MiniValine.min.js' var script = document.createElement('script') script.setAttribute('type','text/javascript') script.onload = function() { pjax_minivaline() } script.setAttribute('src', src) HEAD.appendChild(script) }, 1); }; function pjax_minivaline() { if(!document.querySelectorAll(".mvcomment")[0])return; new MiniValine({ el: '.mvcomment', appId: 'Your App ID', appKey: 'Your Key', placeholder: 'Write a Comment O(∩_∩)O~~' }); } load_minivaline(); document.addEventListener('pjax:complete', function () { pjax_minivaline(); }); </script> </body> </html>
More Option and Different Version Support here
- Visit the AWESOME MiniValine list to share plugins and tutorials with other users.
- Add or improve translation in few seconds.
- Join our Gitter chats.
- This project is always open source and free(freedom).
- This project does not have any competitive relationship with any other project.
- This project is a collection of inspiration from the Valine family. Thanks to every developer for their inspiration and contribution.
- The project is open source only for sharing, developers are not obliged to provide after-sales service.
We welcome you to join the development of MiniValine. Please see contributing document. 🤗
Also, we welcome PR to MiniValine.
npm i
npm run format
npm run dev
npm run build
This project exists thanks to all the people who contribute.
Tribute to excellent open source! Tribute to excellent sharers!
Tribute to @xCss and @DesertsP!
MiniValine
Copyright (C) 2019-now MiniValine Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.