Mar 2, 2017

Membuat Kotak Script Pada Blog Dengan Prism Syntax Highlighter

Tags

Membuat Kotak Script Pada Blog Dengan Prism Syntax Highlighter
Membuat Kotak Script Pada Blog Dengan Prism Syntax Highlighter - Biasanya dalam posting kita memerlukan sebuah kotak atau box untuk menempatkan script agar bisa mudah dicopy oleh pembaca. Saya pernah membahas sebelumnya tentang cara membuat kotak script ini pada artikel Membuat Kotak Script Sederhana Pada Posting Blogger. Pada artikel kali ini saya akan membahas kembali tentang cara pembuatan kotak script. Jika dalam artikel tentang kotak script saya sebelumnya membuat kotak script yang sederhana, artikel ini akan mencoba memberikan tutorial tentang membuat kotak script dengan tampilan yang cukup menarik. Saya pribadi telah menerapkan otak script ini pada beberapa artikel terakhir saya setelah membaca tutorial dari Arlina Design. Setelah coba tutorial tersebut dan berhasil saya ingin coba share dengan membuat artikelnya. Perlu diketahui juga bahwa blog ini juga menggunakan template versi gratisan dari Arlina Design, jadi bagi anda yang tertarik dengan model template yang saya pakai bisa coba kunjungi webnya mbak Arlina (linknya ada di Footer hi hi hi).

Ok lanjut tentang cara membuat kotak script yang menarik tadi. Sebenarnya kotak script yang menarik ini ada namanya yakni Prism Syntax Highlighter. Selain tampilannya yang bagus, menggunakan kotak script dengan Prism Syntax Highlighter ini juga memudahkan untuk mengcopy kode atau tulisan didalamnya hanya dengan double clik. Berikut langkah untuk membuat kotak script dengan prism syntax highlighter.

1. Login pada akun anda dan plih menu Template > Edit HTML

Pada tutorial ini saya akan membahas pemasangan kotak script pada blogger, untuk yang menggunakan CMS lain atau untuk website buatan sendiri bisa menyesuaikan. pada blogger anda silahkan Login dan masuk pada menu Template > Edit HTML.

2. Salin kode CSS berikut dan letakkan tempat sebelum kode </style>

 

/* CSS Prism Syntax Highlighter */
pre {
    padding: 50px 10px 10px 10px;
    margin: .5em 0;
    white-space: pre;
    word-wrap: break-word;
    overflow: auto;
    background-color: #2c323c;
    position: relative;
    border-radius: 4px;
    max-height: 500px;
}

pre::before {
    font-size: 16px;
    content: attr(title);
    position: absolute;
    top: 0;
    background-color: #eee;
    padding: 10px;
    left: 0;
    right: 0;
    color: #fff;
    text-transform: uppercase;
    display: block;
    margin: 0 0 15px 0;
    font-weight: bold;
}

pre::after {
    content: 'Double click to selection';
    padding: 2px 10px;
    width: auto;
    height: auto;
    position: absolute;
    right: 8px;
    top: 8px;
    color: #fff;
    line-height: 20px;
    transition: all 0.3s ease-in-out;
}

pre:hover::after {
    opacity: 0;
    top: -8px;
    visibility: visible;
}

code {
    font-family: Consolas,Monaco,'
    Andale Mono','Courier New',Courier,Monospace;
    line-height: 16px;
    color: #88a9ad;
    background-color: transparent;
    padding: 1px 2px;
    font-size: 12px;
}

pre code {
    display: block;
    background: none;
    border: none;
    color: #e9e9e9;
    direction: ltr;
    text-align: left;
    word-spacing: normal;
    padding: 0 0;
    font-weight: bold;
}

code .token.punctuation {
    color: #ccc;
}

pre code .token.punctuation {
    color: #fafafa;
}

code .token.comment,code .token.prolog,code .token.doctype,code .token.cdata {
    color: #777;
}

code .namespace {
    opacity: .8;
}

code .token.property,code .token.tag,code .token.boolean,code .token.number {
    color: #e5dc56;
}

code .token.selector,code .token.attr-name,code .token.string {
    color: #88a9ad;
}

pre code .token.selector,pre code .token.attr-name {
    color: #fafafa;
}

pre code .token.string {
    color: #40ee46;
}

code .token.entity,code .token.url,pre .language-css .token.string,pre .style .token.string {
    color: #ccc;
}

code .token.operator {
    color: #1887dd;
}

code .token.atrule,code .token.attr-value {
    color: #009999;
}

pre code .token.atrule,pre code .token.attr-value {
    color: #1baeb0;
}

code .token.keyword {
    color: #e13200;
    font-style: italic;
}

code .token.comment {
    font-style: italic;
}

code .token.regex {
    color: #ccc;
}

code .token.important {
    font-weight: bold;
}

code .token.entity {
    cursor: help;
}

pre mark {
    background-color: #ea4f4e!important;
    color: #fff!important;
    padding: 2px;
    border-radius: 2px;
}

code mark {
    background-color: #ea4f4e!important;
    color: #fff!important;
    padding: 2px;
    border-radius: 2px;
}

pre code mark {
    background-color: #ea4f4e!important;
    color: #fff!important;
    padding: 2px;
    border-radius: 2px;
}

.comments pre {
    padding: 10px 10px 15px 10px;
    background: #2c323c;
}

.comments pre::before {
    content: 'Code';
    font-size: 13px;
    position: relative;
    top: 0;
    background-color: #f56954;
    padding: 3px 10px;
    left: 0;
    right: 0;
    color: #fff;
    text-transform: uppercase;
    display: inline-block;
    margin: 0 0 10px 0;
    font-weight: bold;
    border-radius: 4px;
    border: none;
}

.comments pre::after {
    font-size: 11px;
}

.comments pre code {
    color: #eee;
}

.comments pre.line-numbers {
    padding-left: 10px;
}

pre.line-numbers {
    position: relative;
    padding-left: 3.0em;
    counter-reset: linenumber;
}

pre.line-numbers > code {
    position: relative;
}

.line-numbers .line-numbers-rows {
    height: 100%;
    position: absolute;
    pointer-events: none;
    top: 0;
    font-size: 100%;
    left: -3.5em;
    width: 3em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    padding: 0;
}

.line-numbers-rows > span {
    pointer-events: none;
    display: block;
    counter-increment: linenumber;
}

.line-numbers-rows > span:before {
    content: counter(linenumber);
    color: #999;
    display: block;
    padding-right: 0.8em;
    text-align: right;
    transition: 350ms;
}

pre[data-codetype='CSSku']:before {
    background-color: #00a1d6;
}

pre[data-codetype='HTMLku']:before {
    background-color: #3cc888;
}

pre[data-codetype='JavaScriptku']:before {
    background-color: #75d6d0;
}

pre[data-codetype='JQueryku']:before {
    background-color: #e5b460;
}


Kemudian simpan kode 3 kode dibawah ini tepat sebelum kode </body>

 

<script src='https://arlina-design.googlecode.com/svn/prism.js' type='text/javascript'/>


 
<script>
$('pre').attr('class', 'line-numbers');
Prism.hooks.add("after-highlight",function(e){var t=e.element.parentNode;if(!t||!/pre/i.test(t.nodeName)||t.className.indexOf("line-numbers")===-1){return}var n=1+e.code.split("\n").length;var r;lines=new Array(n);lines=lines.join("<span></span>");r=document.createElement("span");r.className="line-numbers-rows";r.innerHTML=lines;if(t.hasAttribute("data-start")){t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)}e.element.appendChild(r)})
</script>

 
<script type='text/javascript'>
var pres = document.getElementsByTagName(&quot;pre&quot;);
for (var i = 0; i &lt; pres.length; i++) {
  pres[i].addEventListener(&quot;dblclick&quot;, function () {
    var selection = getSelection();
    var range = document.createRange();
    range.selectNodeContents(this);
    selection.removeAllRanges();
    selection.addRange(range);
  }, false);
}
</script>

Kemudian Simpan Template anda

3. Cara menggunakan pada saat membuat posting

Anda dapat menggunakan kode HTML dibawah ini pada saat anda membuat artikel. Ada 4 jenis kode yakni kotak script untuk HTML, CSSJavaScript dan JQuery. Sesuaikan dengan kebutuhan mana yang ingin anda gunakan.

 
<pre title="HTML" data-codetype ="HTMLku"><code class="language-markup"> ... kode HTML (yang sudah di`escape`) di sini ... </code></pre>
<pre title="CSS" data-codetype ="CSSku"><code class="language-css"> ... kode CSS di sini ... </code></pre>
<pre title="Javascript" data-codetype ="JavaScriptku"><code class="language-javascript"> ... kode JavaScript di sini ... </code></pre>
<pre title="jQuery" data-codetype ="JQueryku"><code class="language-javascript"> ... kode jQuery di sini ... </code></pre>

Perlu diketahui juga sebelum memasukkan kode yang akan ditampilkan pada didalam kotak, anda perlu melakukan yang namanya Escape, anda dapat mengkonversinya di Ads Converter milik Arlina Design atau converter escape lainnya.

Artikel Terkait

2 comments

Wah rumit juga ya cara mengedit script htmlnya, saya ngeblog hanya bermodal hp jadul sob he..he..

dulu saya awal - awal ngeblog pake hp jadul juga mas nokia 6300, kalo mau edit HTML ke warnet saya :D