How to add Syntax Code Box with Copy and File Button in Blogger Website

Rate this post

Hi friends, you are welcome in this new post of Tech Shreyansh, today I will tell you how you can put syntax copy highlighter code in your blogger website, that too with view button. 

Syntax Highlighter code which is like a text editor, which highlights our markup codes on web pages, which becomes easier for our visitors and users. To see and understand the code, which is from its color code and structure font. 

We use this syntax highlighter code more often on our website pages, online forms and blogs, which makes it easier for our users to understand HTML, CSS and JavaScript markup code, and a few different types. To understand programming language. If we talk in easy language, this syntax highlighter turns our words and letters on many color variants, like markup code, but in today’s tutorial, I will show you a kind of color and css. How to make it using If you want to install it, to follow all the steps given by me, how to install it in your blogger’s websites.



You must have seen, in some blogs where such boxes have been seen, you are given code in such a box. But there was no option in Blogger to copy to clipboard, due to which you had to use WordPress. Because there are a lot of plugins available there, with the help of which you can add a code box with copy to the keyboard button in your post, which is also very good to see. 

But in today’s article, I will tell you how to add this type of code box with copy to clipboard button in your blogger website. Because if any visitor comes to our website and clicks on the copy button, then the code is copied in 1 click. 

There are many ways to create syntax highlighter code in blogger website. With this, you will definitely like this tutorial. If you follow this tutorial, you can also create such a code box.

Untitled 1


Point It! It is important to remember that if you already have a syntax highlighter and an already coded CSS on .post-body pre and .post-body precode, you should first delete it. So it won’t bother you if you add a new syntax highlighter code.


First of all, you have to log in to your blogger’s dashboard, after that you have to go to the themed section. After that you have to open the theme coding by clicking on Edit Html, you need to do CTRL+F tab and you will get </body> You have to search the tag, after that you have to add the given JavaScript code to your theme. You have to paste the script on it only. You have to copy the code given below and paste it in the theme.

    0<document.querySelectorAll('div.pre.nb').length&&(() => {
    let preD = document.querySelectorAll('div.pre.nb');
    function saveDoc(x, d, n) {
        if (n = typeof n == 'string' ? n : 'text/plain', d = typeof d == 'string' ? d : 'File_' + (new Date).getTime() + '.txt', x) {
            n = new Blob([x], {
                type: n
            if (navigator.msSaveBlob) return navigator.msSaveBlob(n, d); {
                let x = window.URL.createObjectURL(n),
                    c = document.createElement("a");
                c.classList.add('hidden'), c.href = x, = d, document.body.appendChild(c),, c.remove(), window.URL.revokeObjectURL(x)
    for (let r = 0; r < preD.length; r++) {
        let b = preD[r];
        let x = b.dataset.text || 'File_' + (new Date).getTime(),
            e = b.dataset.file || x,
            _ = b.dataset.lang || '.txt',
            m = 'undefined' !== typeof b.dataset.time ? isNaN(Number(b.dataset.time)) ? 'false' === b.dataset.time ? 0 : 15 : Number(b.dataset.time) : 10,
            c = 'undefined' === typeof || == 'true',
            d = 'undefined' === typeof b.dataset.copy || b.dataset.copy == 'true',
            n = 'undefined' === typeof b.dataset.view || b.dataset.view == 'true',
            a = b.querySelector('pre'),
            t = a.innerText;
        b.insertAdjacentHTML('afterbegin', "<div class='preM'><div class='preT'><span class='prTl'>" + (null == x ? '&lt;/&gt;' : x) + "</span><span class='prCd'></span></div><div class='preA'>" + (n ? '\x3C!--[ Prev' + "iew ]--><button class='prVw'><svg viewBox='0 0 24 24'><path d='M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z'/></svg></button>" : "") + (c ? "\x3C!--[ Download ]--><button class='prDl'><svg viewBox='0 0 24 24'><path class='a' d='M8 17V15H16V17H8M16 10L12 14L8 10H10.5V6H13.5V10H16M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z'/><path class='b' d='M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,16.5L7.5,12H11V8H13V12H16.5L12,16.5Z'/><path class='c' d='M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M7,15H17V17H7V15M10.3,11.2L8.4,9.3L7,10.7L10.3,14L17,7.3L15.6,5.9L10.3,11.2Z'/></svg></button>" : "") + (d ? "\x3C!--[ Copy ]--><button class='prCp'><svg viewBox='0 0 24 24'><path class='a' d='M20,16V4H8V16H20M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z'/><path class='b' d='M20,16V10H22V16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H16V4H8V16H20M10.91,7.08L14,10.17L20.59,3.58L22,5L14,13L9.5,8.5L10.91,7.08M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z'/></svg></button>" : "") + '</div></di' + "v>");
        let i = b.querySelector('.prVw'),
            l = b.querySelector('.prDl'),
            f = b.querySelector('.prCp'),
            W = b.querySelector('.prCd');
        null !== i && i.addEventListener('click', () => {
            var x = '#252526';
            x = '<!DOCTYPE html><html><head><title>' + e.replace(/\./g, "").replace(/ /g, "_") + _ + "</title><meta content='width=device-width,initial-scale=1,user-scalable=1,minimum-scale=1,maximum-scale=5' name='viewport'/><meta content='" + x + "' name='theme-color'/><meta content='" + x + "' name='msapplication-navbutton-color'/><meta content='" + x + "' name='apple-mobile-web-app-status-bar-style'/><link rel='shortcut icon' type='image/png' href=''><style>body{min-height:100vh;background:#252526;color:#fff}*{margin:0;padding:0}html{line-height:1em;background:#1d1f21;color:#c5c8c6}pre{white-space:pre-wrap;word-wrap:break-word;word-break:break-all;padding:20px}pre i{font-style:normal}</style></head><body><div class='pre'>" + a.outerHTML + '</div></body></html>';
            x = new Blob([x], {
                type: 'text/html'
            window.navigator.msSaveOrOpenBlob ? window.navigator.msSaveOrOpenBlob(blobObject, fileName) : (x = window.URL.createObjectURL(x),, '_blank'), window.URL.revokeObjectURL(x))
        null !== l && l.addEventListener('click', () => {
            l.disabled = !0;
            let c = m;
            b.classList.add('pnd', 'str'), W.innerHTML = 0 !== m ? 'Please wai' + "t " + c + 's...' : 'Please wai' + 't...';
            let a = setInterval(() => {
                0 !== m && --c, 0 !== m && (W.innerHTML = 'Please wait ' + c + 's...'), c <= 0 && (clearInterval(a), setTimeout(() => {
                    W.innerHTML = 'Downloading...', setTimeout(() => {
                        b.classList.remove('pnd'), b.classList.add('dwn'), saveDoc(t, e.replace(/\./g, "").replace(/ /g, "_") + '_by_Techy_Shreya' + _, 'text/plain'), W.innerHTML = 'Download started...', setTimeout(() => {
                            b.classList.remove('dwn', 'str'), l.disabled = !1
                        }, 3e3)
                    }, 2e3)
                }, 1e3))
            }, 1e3)
        null !== f && f.addEventListener('click', () => {
            var x = getSelection(),
                c = document.createRange();
            c.selectNodeContents(a), x.removeAllRanges(), x.addRange(c), document.execCommand('copy'), x.removeAllRanges(), f.disabled = !0, b.classList.add('cpd'), setTimeout(function() {
                b.classList.remove('cpd'), f.disabled = !1
            }, 3e3)


You have to log in to your blogger’s dashboard again, and you have to come to your themed section. After that you have to open the coding of your theme, by clicking on edit HTML, after that you have to search </head> tag by clicking on CTRL+F, and you will see a code below, you have to copy it And you have to paste it in your theme section.

             /* Code Box by Techy Shreya*/ .pre{background:#f6f6f6;color:#2f3337;direction: ltr;position:relative;border-radius:3px;overflow:hidden;margin:1.7em auto} 
.pre pre{margin:0;color:inherit;background:inherit;display:block;position:relative;font-size:13px;line-height:1.6em;border-radius:3px;padding:30px 20px 20px;-moz-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none; overflow:auto;direction:ltr;white-space:pre} 
.pre:not(.str) .prCd{display:none}
.pre.str .prTl{display:none;}
.pre.adv pre{padding-top:60px}
.preM{position:absolute;top:0;right:0;left:0;width:100%;background: rgba(0,0,0,.04);padding:10px 10px 10px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;z-index:2}
.preT{font-size:12px;font-family: var(--fontC);line-height:1rem;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:10px;}
.preA button{outline:none;border:none;width:30px;height:30px;background:#d9d9d9;padding:0;margin:0;border-radius:50%;transition:border-radius .2s ease;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.preA button:hover{border-radius:40%;}
.preA button >svg{width:18px;height:18px;stroke:none;fill:#2e2e2e;transition: all .5s ease;}
.pre.cpd .prCp svg, .pre.pnd .prDl svg, .pre.dwn .prDl svg{animation: jiggle 1s}
.pre.cpd .prCp svg .a,.pre:not(.cpd) .prCp svg .b{opacity:0}
.pre.dwn .prDl svg .a, .pre.pnd .prDl svg .a,.pre:not(.pnd) .prDl svg .b,.pre:not(.dwn) .prDl svg .c{opacity:0}
@keyframes jiggle{0%{transform:rotate(0)}20%{transform:rotate(26deg)}40%{transform:rotate(-26deg)}60%{transform:rotate(26deg)}80%{transform:rotate(-26deg)}100%{transform:rotate(0)}}
@-webkit-keyframes jiggle{0%{transform:rotate(0)}20%{transform:rotate(26deg)}40%{transform:rotate(-26deg)}60%{transform:rotate(26deg)}80%{transform:rotate(-26deg)}100%{transform:rotate(0)}}


Now if you want to apply Syntax Highlighter in the post of Blogger website, then for this you will need a code, which is in HTML format, you can say <pre> and <code> You can see what I have shown you below. You can use this only in blogger post.

      <div class='pre nb' data-text='typecode' data-file='filename' data-lang='fileformat' data-time='true' data-download='true' data-copy='true' data-view='true'>
        <!-- Code -->

Important Notice! Where you see the typecode, you have to write the name of the language of your code, for example: – HTML, CSS, JS. Now you will see a text with filename, there you have to write the name of your file. Here you will see a text named File Format, in which language your file format is, you have to write it there.


So in today’s article, I have told you how to add Syntax Highlighter to your Blogger website, that too with copy button. I hope you like it, this is the tutorial, this code will work in every blogger theme. If you face any kind of problem or problem, then you can give your comment to us in the comment section and Contact Us in that too.

One Request?

I worked hard on this post to help the blogging community. It would help me a lot if you consider sharing it on social media networks. Because Sharing Is Caring.. ♥️

Sharing Is Caring...

Hello! My name is Tech Shreyansh, and I'm a Youtuber and Content Creator from Azamgarh, India. I have a channel on YouTube called Tech Shreyansh where I upload Tech Video, Also I'm a Professional Web Developer or Designer. I enjoy playing with Codes and making Interesting Things.

Leave a comment