Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- var style = `
- .admonition {
- margin: .75em 0;
- padding: .6rem;
- overflow: hidden;
- font-size: 12px;
- page-break-inside: avoid;
- border-left: .3rem solid #42b983;
- border-radius: .3rem;
- box-shadow: 0 0.1rem 0.4rem rgba(0,0,0,.05), 0 0 0.05rem rgba(0,0,0,.1);
- }
- .admonition > p {
- margin: 0px 0px !important;
- }
- .admonition.info, .admonition.todo {
- border-color: #00b8d4;
- background-color: rgba(14, 107, 122, .25);
- }
- .admonition.warning, .admonition.attention, .admonition.caution {
- border-color: #ff9100;
- background-color: rgba(255, 145, 0, .15);
- }
- .admonition.failure, .admonition.missing, .admonition.fail, .admonition.error {
- border-color: #ff5252;
- }
- .admonition>:last-child {
- margin-bottom: 0 !important;
- }
- `
- var md = require('marked').marked;
- hexo.extend.filter.register('before_post_render', function(data) {
- let regex = />\s?(ℹ️|⚠️)((.|\n)*?)(?=\n\n|$)/gs;
- data.content = data.content.replace(regex, (match, p1, p2) => {
- let content = p2.replace(/^>\s?/gm, '').trim();
- let type = p1.trim() === 'ℹ️' ? 'info' : 'warning';
- return `<style>${style}</style><div class="admonition ${type}">${md.parse(content)}</div>`;
- });
- return data;
- }, 10);
Advertisement
Add Comment
Please, Sign In to add comment