highlight.js
যেহেতু html টেমপ্লেটে শো করবে তাই html এ নিচের লাইন যোগ করতে হবে।
<link
rel="stylesheet"
href="https://unpkg.com/@highlightjs/cdn-assets@11.7.0/styles/default.min.css"
/>
<script src="https://unpkg.com/@highlightjs/cdn-assets@11.7.0/highlight.min.js"></script>
<!-- and it's easy to individually load additional languages -->
<script src="https://unpkg.com/@highlightjs/cdn-assets@11.7.0/languages/javascript.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('pre code').forEach(function(block) {
hljs.highlightBlock(block);
});
});
</script>
প্রি কোডে কপি নামে একটি বাটন যোগ হবে বাটনে ক্লিক করলে কোড কপি হবে
<script>
function addCopyButtonToCodeBlock(codeBlock) {
// Create a button element
const copyButton = document.createElement('button');
copyButton.className = 'copy-button';
copyButton.textContent = 'Copy';
copyButton.onclick = function () {
copyToClipboard(codeBlock.textContent);
};
// Insert the button after the code block
codeBlock.parentNode.insertBefore(copyButton, codeBlock.nextSibling);
}
function copyToClipboard(text) {
const textarea = document.createElement('textarea');
textarea.value = text;
document.body.appendChild(textarea);
textarea.select();
document.execCommand('copy');
document.body.removeChild(textarea);
// Change button text momentarily to indicate successful copy
const buttons = document.querySelectorAll('.copy-button');
buttons.forEach(function (button) {
if (button.textContent !== 'Copied!') {
button.textContent = 'Copied!';
setTimeout(function () {
button.textContent = 'Copy';
}, 1000);
}
});
}
document.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('pre code').forEach(function (block) {
addCopyButtonToCodeBlock(block);
});
hljs.highlightAll();
});
</script>
style.css
<style>
pre {
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 5px;
padding: 1rem;
overflow-x: auto;
}
code {
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
}
/*!
Theme: GitHub Dark
Description: Dark theme as seen on github.com
Author: github.com
Maintainer: @Hirse
Updated: 2021-05-15
Outdated base version: https://github.com/primer/github-syntax-dark
Current colors taken from GitHub's CSS
*/
pre {
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 5px;
padding: 1rem;
overflow-x: auto; /* This enables horizontal scrolling */
}
code {
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
}
.hljs {
color: #c9d1d9;
background: #0d1117;
}
.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
/* prettylights-syntax-keyword */
color: #ff7b72;
}
.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
/* prettylights-syntax-entity */
color: #d2a8ff;
}
.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-variable,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id {
/* prettylights-syntax-constant */
color: #79c0ff;
}
.hljs-regexp,
.hljs-string,
.hljs-meta .hljs-string {
/* prettylights-syntax-string */
color: #a5d6ff;
}
.hljs-built_in,
.hljs-symbol {
/* prettylights-syntax-variable */
color: #ffa657;
}
.hljs-comment,
.hljs-code,
.hljs-formula {
/* prettylights-syntax-comment */
color: #8b949e;
}
.hljs-name,
.hljs-quote,
.hljs-selector-tag,
.hljs-selector-pseudo {
/* prettylights-syntax-entity-tag */
color: #7ee787;
}
.hljs-subst {
/* prettylights-syntax-storage-modifier-import */
color: #c9d1d9;
}
.hljs-section {
/* prettylights-syntax-markup-heading */
color: #1f6feb;
font-weight: bold;
}
.hljs-bullet {
/* prettylights-syntax-markup-list */
color: #f2cc60;
}
.hljs-emphasis {
/* prettylights-syntax-markup-italic */
color: #c9d1d9;
font-style: italic;
}
.hljs-strong {
/* prettylights-syntax-markup-bold */
color: #c9d1d9;
font-weight: bold;
}
.hljs-addition {
/* prettylights-syntax-markup-inserted */
color: #aff5b4;
background-color: #033a16;
}
.hljs-deletion {
/* prettylights-syntax-markup-deleted */
color: #ffdcd7;
background-color: #67060c;
}
.hljs-char.escape_,
.hljs-link,
.hljs-params,
.hljs-property,
.hljs-punctuation,
.hljs-tag {
/* purposely ignored */
}
</style>
Last updated