Guest User

Untitled

a guest
Jun 6th, 2024
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. 'use strict';
  2.  
  3. var style = `
  4. .admonition {
  5. margin: .75em 0;
  6. padding: .6rem;
  7. overflow: hidden;
  8. font-size: 12px;
  9. page-break-inside: avoid;
  10. border-left: .3rem solid #42b983;
  11. border-radius: .3rem;
  12. box-shadow: 0 0.1rem 0.4rem rgba(0,0,0,.05), 0 0 0.05rem rgba(0,0,0,.1);
  13. }
  14.  
  15. .admonition > p {
  16. margin: 0px 0px !important;
  17. }
  18.  
  19. .admonition.info, .admonition.todo {
  20. border-color: #00b8d4;
  21. background-color: rgba(14, 107, 122, .25);
  22. }
  23.  
  24. .admonition.warning, .admonition.attention, .admonition.caution {
  25. border-color: #ff9100;
  26. background-color: rgba(255, 145, 0, .15);
  27. }
  28.  
  29. .admonition.failure, .admonition.missing, .admonition.fail, .admonition.error {
  30. border-color: #ff5252;
  31. }
  32.  
  33. .admonition>:last-child {
  34. margin-bottom: 0 !important;
  35. }
  36. `
  37.  
  38. var md = require('marked').marked;
  39.  
  40. hexo.extend.filter.register('before_post_render', function(data) {
  41. let regex = />\s?(ℹ️|⚠️)((.|\n)*?)(?=\n\n|$)/gs;
  42. data.content = data.content.replace(regex, (match, p1, p2) => {
  43. let content = p2.replace(/^>\s?/gm, '').trim();
  44. let type = p1.trim() === 'ℹ️' ? 'info' : 'warning';
  45. return `<style>${style}</style><div class="admonition ${type}">${md.parse(content)}</div>`;
  46. });
  47. return data;
  48. }, 10);
Advertisement
Add Comment
Please, Sign In to add comment