Merubah Blockquote Tag Menjadi Pre Code Tag Dengan Jquery

Merubah Blockquote Tag Menjadi Pre Code Tag
Merubah Blockquote Tag Menjadi Pre Code Tag Dengan Jquery - Ketika baru belajar membuat postingan tentang tutorial Blogger yang menyertakan kode-kode CSS, HTML, ataupun Javascript, saya menggunakan blockquote tag. Blockquote digunakan untuk menampilkan kode-kode HTML dan lainnya ini dengan alasan karena blockquote tag sudah tersedia di dalam editor postingan dengan tanda kutip pada menu editor postingan.

Padahal untuk menampilkan kode-kode HTML dan lain-lain di dalam postingan blog akan lebih baik jika menggunakan PRE tag. Namun sayangnya Blogger tidak/belum menambahkan menu pre tag ini ke dalam menu editor postingan. Sehingga yang baru belajar membuat postingan tutorial Blogger seperti saya banyak yang menggunakan fasilitas yang sudah ada yaitu blockquote.

Seiring berjalannya waktu, kini banyak mengenal cara penulisan kode HTML dan lainnya di dalam postingan, seperti penggunaan syntax highlighter yang tidak hanya menggunakan pre tag namun dengan menggunakan pre code tag. Kita mengenal Prism, Highlight, dan lain-lain yang membuat penulisan kode-kode di postingan menjadi lebih baik dengan berbagai variasi tampilan.

Namun bagaimana jika kita kini menggunakan syntax highlighter dan sedangkan postingan yang menggunakan blockquote untuk menampilkan kode sudah banyak? Apakah kita harus mengedit postingannya satu per satu?

Jika kita memiliki banyak waktu, mungkin kita bisa mengeditnya satu per satu (hehehe paling-paling bikin keriting pada jari...). Namun jangan khawatir, dengan bantuan jquery kita bisa merubah blockquote tag menjadi pre tag bahkan menjadi pre code tag agar bisa otomatis memiliki tampilan syntax highlighter yang kita gunakan sekarang.

Dan rekomendasi saya, coba gunakan Highlight.js untuk syntax highlighter di postingan karena ini tidak memerlukan tambahan class pada pre code tag-nya.

Sebagai contoh, misalnya sebelumnya kita membuat blockquote pada postingan untuk menampilkan kode seperti berikut ini.


<blockquote>
<h3 class='date-header'><span class='author'><b:if cond='data:top.showAuthor'><data:top.authorLabel/></b:if> : <a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
         <span class='post-author vcard'>
            <span class='fn'><data:post.author/></span>
            </span></a> </span>
            <span class='clock'> Posted on <data:post.dateHeader/> - <a class='updated' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='updated' expr:title='data:post.timestampISO8601'> <data:post.timestamp/></abbr></a> <b:if cond='data:post.allowComments'> with <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick' title='Comments'><b:if cond='data:post.numComments == 0'>No comments</b:if><b:if cond='data:post.numComments == 1'>1 comment</b:if><b:if cond='data:post.numComments &gt;= 2'><data:post.numComments/> comments</b:if></a></b:if></span></h3>
</blockquote>


Dan kini kita akan merubah tampilannya dengan menggunakan Highlighter.js tanpa merubah <blockquote></blockquote> secara langsung, namun menggunakan jquery untuk merubahnya menjadi <pre><code></code></pre> dengan syarat kita sudah menyimpan kode-kode Highlighter.js syntax highlighter di dalam template blog kita.

Silahkan gunakan jquery di bawah ini:


   var $span = $("blockquote");
$span.replaceWith(function () {
    return $('<code/>', {
        html: this.innerHTML
    });
});
    $( "code" ).wrap( "<pre/>" );

Perhatikan kode berikut:


   var $span = $("blockquote");
$span.replaceWith(function () {
    return $('<code/>', {
        html: this.innerHTML
    });
});

Adalah mengganti blockquote dengan code, dengan elemen yang tetap seperti sebelumnya (isi blockquote tidak dihilangkan dengan kode ini html: this.innerHTML)

$( "code" ).wrap( "<pre/>" );

Adalah pre tag membungkus code tag. Setelah blockquote diganti menjadi code, maka selanjutnya code dibungkus dengan pre sehingga jika dilihat dengan inspect element maka blockquote di atas tadi akan berubah menjadi seperti berikut.


<pre><code>
<h3 class='date-header'><span class='author'><b:if cond='data:top.showAuthor'><data:top.authorLabel/></b:if> : <a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
         <span class='post-author vcard'>
            <span class='fn'><data:post.author/></span>
            </span></a> </span>
            <span class='clock'> Posted on <data:post.dateHeader/> - <a class='updated' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='updated' expr:title='data:post.timestampISO8601'> <data:post.timestamp/></abbr></a> <b:if cond='data:post.allowComments'> with <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick' title='Comments'><b:if cond='data:post.numComments == 0'>No comments</b:if><b:if cond='data:post.numComments == 1'>1 comment</b:if><b:if cond='data:post.numComments &gt;= 2'><data:post.numComments/> comments</b:if></a></b:if></span></h3>
</code></pre>


Dengan begitu maka secara otomatis tampilannya akan berubah dari blockquote menjadi Hightlight.js syntax highlighter karena berubah menjadi <pre><code></code></pre>.

You Might Also Like:

How to style text in Disqus comments:
  • To write a bold letter please use <strong></strong> or <b></b>.
  • To write a italic letter please use <em></em> or <i></i>.
  • To write a underline letter please use <u></u>.
  • To write a strikethrought letter please use <strike></strike>.
  • To write HTML code, please use <code></code> or <pre></pre> or <pre><code></code></pre>.
    And use parse tool below to easy get the style.
Show Parser Hide Parser
Disqus Comments