For AI agents: use /llms.txt for the Nakafa content index.
Markdown adalah bahasa markup ringan untuk menyatakan struktur dokumen dalam teks biasa. Judul, daftar, tautan, blok kode, dan tabel tetap mudah dibaca di sumber serta dapat dirender menjadi HTML atau format lain.
Sumber yang mudah dibaca itulah keunggulan utama Markdown. Kamu dapat meninjau perubahan baris demi baris, menyimpannya di Git, dan membiarkan renderer menentukan tipografi akhir tanpa menyembunyikan dokumen di balik tombol pemformatan.
Contoh berikut mengumpulkan sintaks umum dalam satu file. Tanda pagar membuka judul, sedangkan penanda di sekeliling teks menyatakan penekanan, tautan, kode, dan struktur lain:
# Heading Level 1
## Heading Level Dua
### Heading Level Tiga
**Bold text**
*Italic text*
~~Strikethrough text~~
> Blockquote untuk kutipan penting
1. Ordered list item pertama
2. Ordered list item kedua
3. Ordered list item ketiga
- Unordered list item
- Item lainnya
- Item terakhir
[Link text](https://example.com)

`inline code`
```python
# Code block
def hello_world():
print("Hello, World!")
```
---
| Kolom 1 | Kolom 2 | Kolom 3 |
|---------|---------|---------|
| Data A | Data B | Data C |
| Data D | Data E | Data F |Pertahankan file sumber sebagai artefak yang ditinjau dan perlakukan file hasil render sebagai keluaran yang dapat dibuat ulang. Alurnya cukup singkat: buat, sunting, validasi, konversi, lalu pratinjau.
Buat file berekstensi .md, tulis isinya, lalu konversi dengan alat terpasang seperti Pandoc. Keluaran HTML berdiri sendiri ketika memakai --standalone. Keluaran PDF juga memerlukan mesin PDF yang kompatibel di perangkatmu.
# Membuat file markdown baru
touch document.md
# Edit dengan text editor
nano document.md
# Konversi ke HTML menggunakan pandoc
pandoc document.md -o document.html
# Konversi ke PDF jika mesin PDF yang didukung telah terpasang
pandoc document.md -o document.pdf
# Pratinjau di macOS; desktop Linux umumnya memakai xdg-open
open document.htmlAntarmuka baris perintah atau CLI menerima perintah teks melalui shell. Setiap perintah memiliki nama program, flag opsional, dan argumen seperti path.
CLI berguna karena perintah dapat diperiksa, diulang, dijadikan skrip, dan ditinjau. Kekuatan itu juga membuat path yang tepat dan flag destruktif sangat penting: shell menjalankan yang kamu tulis, bukan yang kamu maksud.
Sebelum mengubah file, pastikan direktori aktif, periksa isinya, lalu berpindahlah dengan path yang eksplisit:
# Menampilkan direktori kerja saat ini
pwd
# Melihat isi direktori
ls
ls -l # format detail
ls -la # termasuk file tersembunyi
# Berpindah direktori
cd "$HOME/documents"
cd .. # naik satu level
cd ~ # ke home directory
cd - # kembali ke direktori sebelumnya
# Membuat direktori baru
mkdir new_project
mkdir -p project/src/components # buat hierarki direktoriPerintah file langsung bekerja pada path nyata. Periksa target sebelum menghapus, kutip path yang mungkin memuat spasi, dan hindari flag force rekursif kecuali direktori tepatnya sudah terbukti boleh dibuang.
# Menyalin file
cp source.txt destination.txt
cp -r source_folder/ destination_folder/
# Memindahkan atau mengganti nama file
mv old_name.txt new_name.txt
mv file.txt /path/to/new/location/
# Periksa sebelum menghapus
pwd
ls -la unwanted_folder
rm unwanted_file.txt
rm -r unwanted_folder # rekursif dan tidak dapat dibatalkan; verifikasi path ini dahulu
# Melihat isi file
cat file.txt # tampilkan seluruh isi
head -10 file.txt # 10 baris pertama
tail -10 file.txt # 10 baris terakhir
less file.txt # view dengan navigasiSkrip build kecil membuat konversi dapat diulang. Skrip harus gagal ketika sebuah perintah gagal, membuat direktori keluarannya sendiri, mengutip setiap path, dan menangani keadaan tanpa file sumber:
# Setup proyek markdown
mkdir my-documentation
cd my-documentation
# Struktur direktori
mkdir -p {src,build,images,assets}
# Buat file markdown
touch src/index.md src/getting-started.md src/api-reference.md
# Otomatisasi build dengan script
cat << 'EOF' > build.sh
#!/bin/bash
set -eu
echo "Building documentation..."
mkdir -p build
# Konversi semua file .md ke .html
for file in src/*.md; do
[ -e "$file" ] || continue
basename=$(basename "$file" .md)
pandoc "$file" -o "build/$basename.html" --standalone
echo "Converted: $file -> build/$basename.html"
done
echo "Build completed!"
EOF
# Buat script executable
chmod +x build.sh
# Jalankan build
./build.shGunakan kanal pemasangan resmi setiap alat, lalu verifikasi perintah yang terpasang sebelum mengandalkannya di dalam skrip. Pandoc mengonversi dokumen, sedangkan linter Markdown memeriksa konvensi sumber:
# Verifikasi alat yang diperlukan
command -v pandoc
command -v markdownlint
# Periksa sumber Markdown
markdownlint "docs/**/*.md"
# Konversi Markdown ke berbagai format
pandoc input.md -o output.pdf
pandoc input.md -o output.docx
pandoc input.md -o output.epub
# Dengan template custom
pandoc input.md -o output.html --template=custom.htmlSimpan Markdown sumber di version control, validasi sebelum konversi, buat hasil di direktori keluaran yang dapat diganti, dan tinjau diff sebelum commit:
# Build dokumentasi lokal yang dapat diulang
cat << 'EOF' > update-docs.sh
#!/bin/bash
set -eu
SOURCE_DIR="docs"
OUTPUT_DIR="site"
STAGING_DIR=$(mktemp -d)
trap 'rm -rf "$STAGING_DIR"' EXIT
mapfile -d '' source_files < <(find "$SOURCE_DIR" -type f -name "*.md" -print0)
if [ "${#source_files[@]}" -eq 0 ]; then
echo "Tidak ada sumber Markdown" >&2
exit 1
fi
markdownlint "${source_files[@]}"
for file in "${source_files[@]}"; do
relative_path=${file#"$SOURCE_DIR"/}
output_file="$STAGING_DIR/${relative_path%.md}.html"
mkdir -p "$(dirname "$output_file")"
pandoc "$file" -o "$output_file" --standalone
done
[ ! -e "$OUTPUT_DIR" ] || rm -r -- "$OUTPUT_DIR"
mv "$STAGING_DIR" "$OUTPUT_DIR"
trap - EXIT
EOF
chmod +x update-docs.sh
./update-docs.sh
# Tinjau perubahan sumber sebelum commit
git diff --check
git diff -- docsContoh terakhir membuat empat halaman sumber dan menggabungkannya menjadi satu dokumen HTML mandiri. Setiap path masukan ditulis eksplisit, sehingga halaman yang hilang menggagalkan build dan tidak terlewat diam-diam:
# Setup project structure
mkdir ai-project-docs
cd ai-project-docs
# Membuat struktur direktori
mkdir -p docs/api docs/tutorials docs/guides scripts build
# Create main documentation files
cat << 'EOF' > docs/README.md
# AI Project Documentation
## Overview
Dokumentasi lengkap untuk proyek AI programming.
## Structure
- [API Reference](api/README.md)
- [Tutorials](tutorials/README.md)
- [User Guides](guides/README.md)
EOF
# Membuat halaman yang dirujuk
cat << 'EOF' > docs/api/README.md
# Referensi API
Jelaskan setiap antarmuka publik dan sertakan satu contoh yang telah diverifikasi.
EOF
cat << 'EOF' > docs/tutorials/README.md
# Tutorial
Pandu pembaca menyelesaikan satu tugas secara utuh.
EOF
cat << 'EOF' > docs/guides/README.md
# Panduan Pengguna
Jelaskan alur kerja berulang beserta batas keamanannya.
EOF
# Create automated build script
cat << 'EOF' > scripts/build-docs.sh
#!/bin/bash
set -eu
mkdir -p build
pandoc docs/README.md docs/api/README.md docs/tutorials/README.md docs/guides/README.md --standalone --output build/index.html
echo "Documentation build completed!"
EOF
chmod +x scripts/build-docs.sh
# Run the build
./scripts/build-docs.shMarkdown menjaga struktur dokumen tetap terbaca di source control, sedangkan CLI membuat validasi dan konversi dapat diulang. Alur kerja yang dapat dipercaya mempertahankan batas itu: sunting sumber, verifikasi perintah dan path, buat ulang keluaran, lalu tinjau perubahannya.