|
| 1 | +<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/default.min.css"> |
| 2 | +<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js"></script> |
| 3 | +<!-- and it's easy to individually load additional languages --> |
| 4 | +<script charset="UTF-8" |
| 5 | + src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/languages/go.min.js" |
| 6 | + async></script> |
| 7 | + |
| 8 | +{%- assign name = 'code_badge.enabled' -%} |
| 9 | +{%- include functions.html func='get_value' default='true' -%} |
| 10 | +{%- assign badge_enabled = return -%} |
| 11 | + |
| 12 | +{%- assign name = 'code_badge.color' -%} |
| 13 | +{%- include functions.html func='get_value' default='#fff' -%} |
| 14 | +{%- assign badge_color = return -%} |
| 15 | + |
| 16 | +{%- assign name = 'code_badge.background_color' -%} |
| 17 | +{%- include functions.html func='get_value' default='#ff4e00' -%} |
| 18 | +{%- assign badge_background_color = return -%} |
| 19 | + |
| 20 | +{%- assign name = 'code_badge.text_transform' -%} |
| 21 | +{%- include functions.html func='get_value' default='uppercase' -%} |
| 22 | +{%- assign badge_text_transform = return -%} |
| 23 | + |
| 24 | +<script> |
| 25 | +// Init highlight js |
| 26 | +document.addEventListener('DOMContentLoaded', function(event) { |
| 27 | + var els = document.querySelectorAll('pre code') |
| 28 | + |
| 29 | + function addLangData(block) { |
| 30 | + var outer = block.parentElement.parentElement.parentElement; |
| 31 | + var lang = block.getAttribute('data-lang'); |
| 32 | + for (var i = 0; i < outer.classList.length; i++) { |
| 33 | + var cls = outer.classList[i]; |
| 34 | + if (cls.startsWith('language-')) { |
| 35 | + lang = cls; |
| 36 | + break; |
| 37 | + } |
| 38 | + } |
| 39 | + if (!lang) { |
| 40 | + cls = block.getAttribute('class'); |
| 41 | + lang = cls ? cls.replace('hljs ', '') : ''; |
| 42 | + } |
| 43 | + if (lang.startsWith('language-')) { |
| 44 | + lang = lang.substr(9); |
| 45 | + } |
| 46 | + block.setAttribute('class', 'hljs ' + lang); |
| 47 | + block.parentNode.setAttribute('data-lang', lang); |
| 48 | + } |
| 49 | + |
| 50 | + function addBadge(block) { |
| 51 | + var enabled = ('{{ badge_enabled }}' || 'true').toLowerCase(); |
| 52 | + if (enabled == 'true') { |
| 53 | + var pre = block.parentElement; |
| 54 | + pre.classList.add('badge'); |
| 55 | + } |
| 56 | + } |
| 57 | + |
| 58 | + function handle(block) { |
| 59 | + addLangData(block); |
| 60 | + addBadge(block) |
| 61 | + hljs.highlightBlock(block); |
| 62 | + } |
| 63 | + |
| 64 | + for (var i = 0; i < els.length; i++) { |
| 65 | + var el = els[i]; |
| 66 | + handle(el); |
| 67 | + } |
| 68 | +}); |
| 69 | +</script> |
| 70 | + |
| 71 | +<style> |
| 72 | + /* fix wrong badge display for firefox browser */ |
| 73 | + code > table pre::before { |
| 74 | + display: none; |
| 75 | + } |
| 76 | +</style> |
0 commit comments