737 words
4 minutes

Contoh Blok Kode Neko

Di sini, kita akan mengeksplorasi cara menggunakan Expressive Code untuk menampilkan blok kode. Contoh yang disediakan didasarkan pada dokumentasi resmi, Anda dapat merujuk ke sana untuk detail lebih lanjut.

Expressive Code#

Syntax Highlighting#

Syntax Highlighting

Syntax Highlighting Reguler#

console.log('Kode ini memiliki syntax highlighting!')

Render ANSI Escape Sequences#

Terminal window
ANSI colors:
- Regular: Red Green Yellow Blue Magenta Cyan
- Bold: Red Green Yellow Blue Magenta Cyan
- Dimmed: Red Green Yellow Blue Magenta Cyan
256 colors (showing colors 160-177):
160 161 162 163 164 165
166 167 168 169 170 171
172 173 174 175 176 177
Full RGB colors:
ForestGreen - RGB(34, 139, 34)
Text formatting: Bold Dimmed Italic Underline

Editor dan Terminal Frames#

Editor dan Terminal Frames

Frame Editor Kode#

my-test-file.js
console.log('Contoh atribut judul')

<div>Contoh komentar nama file</div>

Frame Terminal#

Terminal window
echo "Frame terminal ini tidak memiliki judul"

Contoh Terminal PowerShell
Write-Output "Yang ini punya judul!"

Mengganti Tipe Frame (Override)#

echo "Lihat, tanpa frame!"

PowerShell Profile.ps1
# Jika tidak di-override, ini akan menjadi frame terminal
function Watch-Tail { Get-Content -Tail 20 -Wait $args }
New-Alias tail Watch-Tail

Penanda Teks dan Baris#

Penanda Teks dan Baris

Menandai Seluruh Baris dan Rentang Baris#

// Baris 1 - Ditandai lewat nomor baris
// Baris 2
// Baris 3
// Baris 4 - Ditandai lewat nomor baris
// Baris 5
// Baris 6
// Baris 7 - Ditandai lewat rentang "7-8"
// Baris 8 - Ditandai lewat rentang "7-8"

Memilih Tipe Penanda Baris (mark, ins, del)#

line-markers.js
function demo() {
console.log('Baris ini ditandai sebagai dihapus')
// Baris ini dan baris berikutnya ditandai sebagai disisipkan
console.log('Ini adalah baris sisipan kedua')
return 'Baris ini menggunakan tipe penanda default netral'
}

Menambahkan Label pada Penanda Baris#

labeled-line-markers.jsx
<button
role="button"
{...props}
value={value}
className={buttonClassName}
disabled={disabled}
active={active}
>
{children &&
!active &&
(typeof children === 'string' ? <span>{children}</span> : children)}
</button>

Menambahkan Label Panjang pada Baris Terpisah#

labeled-line-markers.jsx
<button
role="button"
{...props}
value={value}
className={buttonClassName}
disabled={disabled}
active={active}
>
{children &&
!active &&
(typeof children === 'string' ? <span>{children}</span> : children)}
</button>

Menggunakan Sintaks Mirip Diff#

Baris ini akan ditandai sebagai disisipkan
Baris ini akan ditandai sebagai dihapus
Ini adalah baris reguler

--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
+ini adalah file diff yang sebenarnya
-semua konten akan tetap tidak dimodifikasi
tidak ada spasi putih yang akan dihapus juga

Menggabungkan Syntax Highlighting dan Sintaks Mirip Diff#

function iniAdalahJavaScript() {
// Seluruh blok akan di-highlight sebagai JavaScript,
// dan kita masih bisa menambahkan penanda diff di dalamnya!
console.log('Kode lama yang akan dihapus')
console.log('Kode baru yang berkilau!')
}

Menandai Teks Tertentu dalam Baris#

function demo() {
// Menandai teks tertentu di dalam baris
return 'Mendukung beberapa kecocokan untuk teks tertentu';
}

Regular Expressions (Regex)#

console.log('Kata yes dan yep akan ditandai.')

Meng-escape Garis Miring (Slash)#

Terminal window
echo "Test" > /home/test.txt

Memilih Tipe Penanda Inline (mark, ins, del)#

function demo() {
console.log('Ini adalah tipe penanda disisipkan (inserted) dan dihapus (deleted)');
// statement return menggunakan tipe penanda default
return true;
}

Auto Wrap (Pembungkusan Kata)#

Auto Wrap

Mengonfigurasi Auto Wrap per Blok#

// Contoh mengaktifkan pembungkusan kata (wrap)
function getLongString() {
return 'Ini adalah string yang sangat panjang yang kemungkinan besar tidak akan muat di ruang yang tersedia kecuali kontainernya sangat lebar'
}

// Contoh wrap=false
function getLongString() {
return 'Ini adalah string yang sangat panjang yang kemungkinan besar tidak akan muat di ruang yang tersedia kecuali kontainernya sangat lebar'
}

Mengonfigurasi Indentasi pada Wrap#

// Contoh preserveIndent (diaktifkan secara default)
function getLongString() {
return 'Ini adalah string yang sangat panjang yang kemungkinan besar tidak akan muat di ruang yang tersedia kecuali kontainernya sangat lebar'
}

// Contoh preserveIndent=false
function getLongString() {
return 'Ini adalah string yang sangat panjang yang kemungkinan besar tidak akan muat di ruang yang tersedia kecuali kontainernya sangat lebar'
}

Bagian yang Dapat Dilipat (Collapsible Sections)#

Collapsible Sections

5 collapsed lines
// Semua kode pengaturan boilerplate ini akan dilipat
import { someBoilerplateEngine } from '@example/some-boilerplate'
import { evenMoreBoilerplate } from '@example/even-more-boilerplate'
const engine = someBoilerplateEngine(evenMoreBoilerplate())
// Bagian kode ini terlihat secara default
engine.doSomething(1, 2, 3, calcFn)
function calcFn() {
// Anda dapat memiliki beberapa bagian yang dilipat
3 collapsed lines
const a = 1
const b = 2
const c = a + b
// Ini akan tetap terlihat
console.log(`Hasil perhitungan: ${a} + ${b} = ${c}`)
return c
}
4 collapsed lines
// Semua kode hingga akhir blok akan dilipat kembali
engine.closeConnection()
engine.freeMemory()
engine.shutdown({ reason: 'Akhir dari contoh kode boilerplate' })

Nomor Baris#

Nomor Baris

Menampilkan Nomor Baris per Blok#

// Blok kode ini akan menampilkan nomor baris
console.log('Salam dari baris ke-2!')
console.log('Saya ada di baris ke-3')

// Blok ini menonaktifkan nomor baris
console.log('Halo?')
console.log('Maaf, apakah Anda tahu saya di baris mana?')

Mengubah Nomor Baris Awal#

console.log('Salam dari baris ke-5!')
console.log('Saya ada di baris ke-6')

Support & Share

If this article helped you, please share or support!

Sponsor
Contoh Blok Kode Neko
https://light-kira.vercel.app/posts/code-examples/
Author
Ahmad Abqory
Published at
1970-01-03
License
CC BY-NC-SA 4.0
Last updated on 1970-01-03,20465 days ago

Some content may be outdated

Table of Contents