711 words
4 minutes

Contoh Blok Kode Firefly

Bagaimana tampilan blok kode di Markdown menggunakan Expressive Code di Firefly.

Di sini, kita akan menjelajahi cara menampilkan blok kode menggunakan Expressive Code. Contoh yang diberikan didasarkan pada dokumentasi resmi, yang dapat Anda rujuk untuk detail lebih lanjut.

Expressive Code#

Penyorotan Sintaks#

Penyorotan Sintaks

Penyorotan Sintaks Biasa#

console.log('Kode ini memiliki penyorotan sintaks!')

Merender Urutan Escape ANSI#

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

Kerangka Editor dan Terminal#

Kerangka Editor dan Terminal

Kerangka Editor Kode#

file-tes-saya.js
console.log('Contoh atribut judul')

src/content/index.html
<div>Contoh komentar nama file</div>

Kerangka Terminal#

Terminal window
echo "Kerangka terminal ini tidak memiliki judul"

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

Mengganti Jenis Kerangka#

echo "Lihat, tidak ada kerangka!"

PowerShell Profile.ps1
# Jika tidak diganti, ini akan menjadi kerangka 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 - ditargetkan oleh nomor baris
// Baris 2
// Baris 3
// Baris 4 - ditargetkan oleh nomor baris
// Baris 5
// Baris 6
// Baris 7 - ditargetkan oleh rentang "7-8"
// Baris 8 - ditargetkan oleh rentang "7-8"

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

penanda-baris.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 jenis penanda default netral'
}

Menambahkan Label ke Penanda Baris#

penanda-baris-berlabel.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#

penanda-baris-berlabel.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 biasa

--- 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 Penyorotan Sintaks dan Sintaks Mirip Diff#

function iniAdalahJavaScript() {
// Seluruh blok akan disorot sebagai JavaScript,
// dan kita masih bisa menambahkan penanda diff ke dalamnya!
console.log('kode lama untuk dihapus')
console.log('kode baru yang mengkilap!')
}

Menandai Teks Terpisah di Dalam Baris#

function demo() {
// Menandai setiap teks yang diberikan di dalam baris
return 'Mendukung beberapa kecocokan dari teks yang diberikan';
}

Ekspresi Reguler#

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

Melepaskan Garis Miring#

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

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

function demo() {
console.log('Ini adalah jenis penanda sisipan dan hapus');
// Pernyataan return menggunakan jenis penanda default
return true;
}

Bungkus Kata Otomatis#

Bungkus Kata Otomatis

Mengkonfigurasi Bungkus Kata untuk Setiap Blok#

// Contoh dengan bungkus kata diaktifkan
function getLongString() {
return 'Ini adalah string yang sangat panjang yang kemungkinan besar tidak akan muat di ruang yang tersedia kecuali wadahnya sangat lebar'
}

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

Mengkonfigurasi Indentasi Bungkus Kata#

// 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 wadahnya sangat lebar'
}

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

Bagian yang Dapat Dilipat#

Bagian yang Dapat Dilipat

5 collapsed lines
// Semua kode 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 dapat 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 lagi
engine.closeConnection()
engine.freeMemory()
engine.shutdown({ reason: 'Kode boilerplate contoh berakhir' })

Nomor Baris#

Nomor Baris

Menampilkan Nomor Baris untuk Setiap Blok#

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

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

Mengubah Nomor Baris Awal#

console.log('Salam dari baris 5!')
console.log('Saya di baris 6')
Last updated on 2025-08-20๏ผŒ246 days ago

Some content may be outdated

Site Stats
Articles
14
Categories
3
Tag
21
Total Words
32.013
Site Age
0 days
Last Update
0 days ago