Obsidian CLI adalah antarmuka baris perintah yang memungkinkan Anda mengontrol Obsidian dari terminal untuk keperluan skrip, otomatisasi, dan integrasi dengan perangkat eksternal.
Apa pun yang bisa Anda lakukan di Obsidian, bisa Anda lakukan dari baris perintah. Obsidian CLI bahkan menyertakan [[#Perintah pengembang|perintah pengembang]] untuk mengakses perangkat pengembang, menginspeksi elemen, mengambil tangkapan layar, memuat ulang plugin, dan lainnya.
![[obsidian-cli.mp4#interface]]
> [!warning] Memerlukan penginstal Obsidian 1.12
> Menggunakan CLI memerlukan penginstal Obsidian 1.12. Lihat [[Perbarui Obsidian#Pembaruan penginstal|panduan pembaruan versi penginstal]].
## Pasang Obsidian CLI
Tingkatkan ke [[Perbarui Obsidian|versi penginstal Obsidian]] terbaru (1.12.7+).
Aktifkan Obsidian CLI di Obsidian:
1. Buka **Pengaturan** → **Umum**.
2. Aktifkan **Antarmuka baris perintah**.
3. Ikuti petunjuk untuk mendaftarkan Obsidian CLI.
Jika Anda mengalami masalah saat memasang Obsidian CLI, lihat [[#Pemecahan masalah]].
## Mulai
Obsidian CLI mendukung perintah tunggal dan antarmuka pengguna terminal (TUI) dengan bantuan interaktif dan lengkapi otomatis.
> [!info] Aplikasi Obsidian harus berjalan
> Obsidian CLI memerlukan aplikasi Obsidian untuk berjalan. Jika Obsidian tidak berjalan, perintah pertama yang Anda jalankan akan meluncurkan Obsidian.
>
> Ingin menyinkronkan tanpa aplikasi desktop? Lihat [[Obsidian Headless|Obsidian Headless]].
### Jalankan perintah
Jalankan perintah individual tanpa membuka TUI:
```shell
# Jalankan perintah help
obsidian help
```
### Gunakan antarmuka terminal
Gunakan TUI dengan memasukkan `obsidian`. Perintah selanjutnya bisa dimasukkan tanpa `obsidian`.
```shell
# Buka TUI, lalu jalankan help
obsidian
help
```
TUI mendukung lengkapi otomatis, riwayat perintah, dan pencarian mundur. Gunakan `Ctrl+R` untuk mencari riwayat perintah Anda. Lihat [[#Pintasan keyboard]] untuk semua pintasan yang tersedia.
## Contoh
Berikut beberapa contoh apa yang bisa dilakukan Obsidian CLI.
### Penggunaan sehari-hari
```shell
# Buka catatan harian hari ini
obsidian daily
# Tambahkan tugas ke catatan harian Anda
obsidian daily:append content="- [ ] Beli bahan makanan"
# Cari di brankas Anda
obsidian search query="catatan rapat"
# Baca file aktif
obsidian read
# Daftar semua tugas dari catatan harian Anda
obsidian tasks daily
# Buat catatan baru dari templat
obsidian create name="Perjalanan ke Paris" template=Travel
# Daftar semua tag di brankas Anda dengan jumlah
obsidian tags counts
# Bandingkan dua versi file
obsidian diff file=README from=1 to=3
```
### Untuk pengembang
Banyak [[#Perintah pengembang]] tersedia untuk pengembangan plugin dan tema. Perintah-perintah ini memungkinkan perangkat coding agentik untuk menguji dan melakukan debug secara otomatis.
```shell
# Buka perangkat pengembang
obsidian devtools
# Muat ulang plugin komunitas yang sedang Anda kembangkan
obsidian plugin:reload id=my-plugin
# Ambil tangkapan layar aplikasi
obsidian dev:screenshot path=screenshot.png
# Jalankan JavaScript di konsol aplikasi
obsidian eval code="app.vault.getFiles().length"
```
## Cara menggunakan
### Gunakan parameter dan flag
Perintah bisa menggunakan **parameter** dan **flag**. Kebanyakan perintah tidak memerlukan parameter atau flag. Parameter yang wajib ditandai sebagai `required`. Contohnya:
```shell
# Buat catatan baru menggunakan nama bawaan "Tanpa judul"
obsidian create
```
Sebuah **parameter** menerima nilai, ditulis sebagai `parameter=value`. Jika nilai mengandung spasi, bungkus dengan tanda kutip:
```shell
# Buat catatan baru bernama "Note" dengan konten "Hello world"
obsidian create name=Note content="Hello world"
```
Sebuah **flag** adalah saklar boolean tanpa nilai. Sertakan untuk mengaktifkannya, misalnya `open` dan `overwrite` adalah flag:
```shell
# Buat catatan dan buka
obsidian create name=Note content="Hello" open overwrite
```
Untuk konten multibaris gunakan `\n` untuk baris baru. Gunakan `\t` untuk tab.
```bash
obsidian create name=Note content="# Judul\n\nTeks isi"
```
### Menargetkan brankas
Jika direktori kerja saat ini dari terminal Anda adalah folder brankas, brankas tersebut digunakan secara bawaan. Jika tidak, brankas yang sedang aktif yang digunakan.
Gunakan `vault=<name>` atau `vault=<id>` untuk menargetkan brankas tertentu. Ini harus menjadi parameter pertama sebelum perintah Anda:
```shell
obsidian vault=Notes daily
obsidian vault="My Vault" search query="test"
```
Di TUI, gunakan `vault:open <name>` atau `<id>` untuk beralih ke brankas berbeda.
### Menargetkan file
Banyak perintah menerima parameter `file` dan `path` untuk menargetkan file tertentu. Jika keduanya tidak diberikan, perintah secara bawaan menggunakan file aktif.
- `file=<name>` menyelesaikan file menggunakan resolusi tautan yang sama seperti [[Tautan internal|tautan wiki]], mencocokkan berdasarkan nama file tanpa memerlukan path lengkap atau ekstensi.
- `path=<path>` memerlukan path tepat dari root brankas, contoh `folder/note.md`.
```shell
# Ini setara jika "Recipe.md" adalah satu-satunya file dengan nama tersebut
obsidian read file=Recipe
obsidian read path="Templates/Recipe.md"
```
### Salin output
Tambahkan `--copy` ke perintah apa pun untuk menyalin output ke papan klip:
```shell
read --copy
search query="TODO" --copy
```
## Perintah umum
### `help`
Tampilkan daftar semua perintah yang tersedia.
| Parameter | Deskripsi |
| ----------- | ---------------------------------------- |
| `<command>` | Tampilkan bantuan untuk perintah tertentu. |
### `version`
Tampilkan versi Obsidian.
### `reload`
Muat ulang jendela aplikasi.
### `restart`
Mulai ulang aplikasi.
## Basis
Perintah untuk [[Pengenalan Basis|Basis]].
### `bases`
Daftar semua file `.base` di brankas.
### `base:views`
Daftar tampilan di file basis saat ini.
### `base:create`
Buat item baru di basis. Secara bawaan menggunakan tampilan basis aktif jika tidak ada file yang ditentukan.
```bash
file=<name> # nama file basis
path=<path> # path file basis
view=<name> # nama tampilan
name=<name> # nama file baru
content=<text> # konten awal
open # buka file setelah membuat
newtab # buka di tab baru
```
### `base:query`
Kueri basis dan kembalikan hasil.
```bash
file=<name> # nama file basis
path=<path> # path file basis
view=<name> # nama tampilan untuk dikueri
format=json|csv|tsv|md|paths # format output (bawaan: json)
```
## Penanda
Perintah untuk [[Penanda]].
### `bookmarks`
Daftar penanda.
```bash
total # kembalikan jumlah penanda
verbose # sertakan tipe penanda
format=json|tsv|csv # format output (bawaan: tsv)
```
### `bookmark`
Tambahkan penanda.
```bash
file=<path> # file untuk ditandai
subpath=<subpath> # subpath (judul atau blok) dalam file
folder=<path> # folder untuk ditandai
search=<query> # kueri pencarian untuk ditandai
url=<url> # URL untuk ditandai
title=<title> # judul penanda
```
## Palet perintah
Perintah untuk [[Palet perintah]] dan [[Pintasan]]. Ini mencakup semua perintah yang didaftarkan oleh plugin.
### `commands`
Daftar ID perintah yang tersedia.
```bash
filter=<prefix> # filter berdasarkan awalan ID
```
### `command`
Jalankan perintah Obsidian.
```bash
id=<command-id> # (required) ID perintah untuk dijalankan
```
### `hotkeys`
Daftar pintasan keyboard untuk semua perintah.
```bash
total # kembalikan jumlah pintasan keyboard
verbose # tampilkan apakah pintasan keyboard kustom
format=json|tsv|csv # format output (bawaan: tsv)
```
### `hotkey`
Dapatkan pintasan keyboard untuk sebuah perintah.
```bash
id=<command-id> # (required) ID perintah
verbose # tampilkan apakah kustom atau bawaan
```
## Catatan harian
Perintah untuk [[Catatan harian]].
### `daily`
Buka catatan harian.
```bash
paneType=tab|split|window # tipe panel untuk dibuka
```
### `daily:path`
Dapatkan path catatan harian. Mengembalikan path yang diharapkan meskipun file belum dibuat.
### `daily:read`
Baca konten catatan harian.
### `daily:append`
Tambahkan konten di akhir catatan harian.
```bash
content=<text> # (required) konten untuk ditambahkan
paneType=tab|split|window # tipe panel untuk dibuka
inline # tambahkan tanpa baris baru
open # buka file setelah menambahkan
```
### `daily:prepend`
Tambahkan konten di awal catatan harian.
```bash
content=<text> # (required) konten untuk ditambahkan di awal
paneType=tab|split|window # tipe panel untuk dibuka
inline # tambahkan di awal tanpa baris baru
open # buka file setelah menambahkan
```
## Riwayat file
### `diff`
Daftar atau bandingkan versi dari [[Pemulih berkas|Pemulihan file]] lokal dan [[Pengantar Obsidian Sync|Sync]]. Versi dinomori dari terbaru ke terlama.
```bash
file=<name> # nama file
path=<path> # path file
from=<n> # nomor versi untuk membandingkan dari
to=<n> # nomor versi untuk membandingkan ke
filter=local|sync # filter berdasarkan sumber versi
```
**Contoh:**
```shell
# Daftar semua versi file aktif
diff
# Daftar semua versi file tertentu
diff file=Recipe
# Bandingkan versi terbaru dengan file saat ini
diff file=Recipe from=1
# Bandingkan dua versi
diff file=Recipe from=2 to=1
# Hanya tampilkan versi Sync
diff filter=sync
```
### `history`
Daftar versi dari [[Pemulih berkas]] saja. Lihat [[#Sync|sync:history]] untuk perintah Sync yang setara.
```bash
file=<name> # nama file
path=<path> # path file
```
### `history:list`
Daftar semua file dengan riwayat lokal.
### `history:read`
Baca versi riwayat lokal.
```bash
file=<name> # nama file
path=<path> # path file
version=<n> # nomor versi (bawaan: 1)
```
### `history:restore`
Pulihkan versi riwayat lokal.
```bash
file=<name> # nama file
path=<path> # path file
version=<n> # (required) nomor versi
```
### `history:open`
Buka pemulihan file.
```bash
file=<name> # nama file
path=<path> # path file
```
## File dan folder
### `file`
Tampilkan info file (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
```
Contoh:
```
path Notes/Recipe.md
name Recipe
extension md
size 1024
created 1700000000000
modified 1700001000000
```
### `files`
Daftar file di brankas.
```bash
folder=<path> # filter berdasarkan folder
ext=<extension> # filter berdasarkan ekstensi
total # kembalikan jumlah file
```
### `folder`
Tampilkan info folder.
```bash
path=<path> # (required) path folder
info=files|folders|size # kembalikan info tertentu saja
```
### `folders`
Daftar folder di brankas.
```bash
folder=<path> # filter berdasarkan folder induk
total # kembalikan jumlah folder
```
### `open`
Buka file.
```bash
file=<name> # nama file
path=<path> # path file
newtab # buka di tab baru
```
### `create`
Buat atau timpa file.
```bash
name=<name> # nama file
path=<path> # path file
content=<text> # konten awal
template=<name> # templat yang digunakan
overwrite # timpa jika file sudah ada
open # buka file setelah membuat
newtab # buka di tab baru
```
### `read`
Baca konten file (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
```
### `append`
Tambahkan konten di akhir file (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
content=<text> # (required) konten untuk ditambahkan
inline # tambahkan tanpa baris baru
```
### `prepend`
Tambahkan konten di awal setelah metadata awal (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
content=<text> # (required) konten untuk ditambahkan di awal
inline # tambahkan di awal tanpa baris baru
```
### `move`
Pindahkan atau ganti nama file (bawaan: file aktif). Ini akan secara otomatis memperbarui [[Tautan internal|tautan internal]] jika diaktifkan di [[Pengaturan#Secara otomatis perbarui tautan internal|pengaturan brankas]] Anda.
```bash
file=<name> # nama file
path=<path> # path file
to=<path> # (required) folder atau path tujuan
```
### `rename`
Ganti nama file (bawaan: file aktif). Ekstensi file dipertahankan secara otomatis jika dihilangkan dari nama baru. Gunakan [[#`move`|move]] untuk mengganti nama dan memindahkan file sekaligus. Ini akan secara otomatis memperbarui [[Tautan internal|tautan internal]] jika diaktifkan di [[Pengaturan#Secara otomatis perbarui tautan internal|pengaturan brankas]] Anda.
```bash
file=<name> # nama file
path=<path> # path file
name=<name> # (required) nama file baru
```
### `delete`
Hapus file (bawaan: file aktif, tempat sampah secara bawaan).
```bash
file=<name> # nama file
path=<path> # path file
permanent # lewati tempat sampah, hapus permanen
```
## Tautan
Perintah untuk [[Backlink]] dan [[Tautan Keluar]].
### `backlinks`
Daftar tautan balik ke file (bawaan: file aktif).
```bash
file=<name> # nama file target
path=<path> # path file target
counts # sertakan jumlah tautan
total # kembalikan jumlah tautan balik
format=json|tsv|csv # format output (bawaan: tsv)
```
### `links`
Daftar tautan keluar dari file (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
total # kembalikan jumlah tautan
```
### `unresolved`
Daftar tautan yang belum terselesaikan di brankas.
```bash
total # kembalikan jumlah tautan belum terselesaikan
counts # sertakan jumlah tautan
verbose # sertakan file sumber
format=json|tsv|csv # format output (bawaan: tsv)
```
### `orphans`
Daftar file tanpa tautan masuk.
```bash
total # kembalikan jumlah file tanpa induk
```
### `deadends`
Daftar file tanpa tautan keluar.
```bash
total # kembalikan jumlah file tanpa tautan keluar
```
## Kerangka
Perintah untuk [[Kerangka]].
### `outline`
Tampilkan judul untuk file saat ini.
```bash
file=<name> # nama file
path=<path> # path file
format=tree|md|json # format output (bawaan: tree)
total # kembalikan jumlah judul
```
## Plugin
Perintah untuk [[Plugin inti]] dan [[Plugin komunitas]].
### `plugins`
Daftar plugin yang terpasang.
```bash
filter=core|community # filter berdasarkan tipe plugin
versions # sertakan nomor versi
format=json|tsv|csv # format output (bawaan: tsv)
```
### `plugins:enabled`
Daftar plugin yang diaktifkan.
```bash
filter=core|community # filter berdasarkan tipe plugin
versions # sertakan nomor versi
format=json|tsv|csv # format output (bawaan: tsv)
```
### `plugins:restrict`
Alihkan atau periksa mode terbatas.
```bash
on # aktifkan mode terbatas
off # matikan mode terbatas
```
### `plugin`
Dapatkan info plugin.
```bash
id=<plugin-id> # (required) ID plugin
```
### `plugin:enable`
Aktifkan plugin.
```bash
id=<id> # (required) ID plugin
filter=core|community # tipe plugin
```
### `plugin:disable`
Matikan plugin.
```bash
id=<id> # (required) ID plugin
filter=core|community # tipe plugin
```
### `plugin:install`
Pasang plugin komunitas.
```bash
id=<id> # (required) ID plugin
enable # aktifkan setelah memasang
```
### `plugin:uninstall`
Hapus pemasangan plugin komunitas.
```bash
id=<id> # (required) ID plugin
```
### `plugin:reload`
Muat ulang plugin (untuk pengembang).
```bash
id=<id> # (required) ID plugin
```
## Properti
Perintah terkait [[Properti]].
### `aliases`
Daftar alias di brankas. Gunakan `active` atau `file`/`path` untuk menampilkan alias file tertentu.
```bash
file=<name> # nama file
path=<path> # path file
total # kembalikan jumlah alias
verbose # sertakan path file
active # tampilkan alias untuk file aktif
```
### `properties`
Daftar properti di brankas. Gunakan `active` atau `file`/`path` untuk menampilkan properti file tertentu.
```bash
file=<name> # tampilkan properti untuk file
path=<path> # tampilkan properti untuk path
name=<name> # dapatkan jumlah properti tertentu
sort=count # urutkan berdasarkan jumlah (bawaan: name)
format=yaml|json|tsv # format output (bawaan: yaml)
total # kembalikan jumlah properti
counts # sertakan jumlah kemunculan
active # tampilkan properti untuk file aktif
```
### `property:set`
Atur properti pada file (bawaan: file aktif).
```bash
name=<name> # (required) nama properti
value=<value> # (required) nilai properti
type=text|list|number|checkbox|date|datetime # tipe properti
file=<name> # nama file
path=<path> # path file
```
### `property:remove`
Hapus properti dari file (bawaan: file aktif).
```bash
name=<name> # (required) nama properti
file=<name> # nama file
path=<path> # path file
```
### `property:read`
Baca nilai properti dari file (bawaan: file aktif).
```bash
name=<name> # (required) nama properti
file=<name> # nama file
path=<path> # path file
```
## Publish
Perintah untuk [[Pengantar Obsidian Publish|Obsidian Publish]].
### `publish:site`
Tampilkan info situs publish (slug, URL).
### `publish:list`
Daftar file yang terpublikasikan.
```bash
total # kembalikan jumlah file terpublikasikan
```
### `publish:status`
Daftar perubahan publish.
```bash
total # kembalikan jumlah perubahan
new # tampilkan file baru saja
changed # tampilkan file yang berubah saja
deleted # tampilkan file yang terhapus saja
```
### `publish:add`
Publikasikan file atau semua file yang berubah (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
changed # publikasikan semua file yang berubah
```
### `publish:remove`
Batalkan publikasi file (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
```
### `publish:open`
Buka file di situs yang terpublikasikan (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
```
## Catatan acak
Perintah untuk [[Catatan acak]].
### `random`
Buka catatan acak.
```bash
folder=<path> # batasi ke folder
newtab # buka di tab baru
```
### `random:read`
Baca catatan acak (menyertakan path).
```bash
folder=<path> # batasi ke folder
```
## Pencarian
Perintah untuk [[Cari]].
### `search`
Cari teks di brankas. Mengembalikan path file yang cocok.
```bash
query=<text> # (required) kueri pencarian
path=<folder> # batasi ke folder
limit=<n> # maks file
format=text|json # format output (bawaan: text)
total # kembalikan jumlah kecocokan
case # peka huruf besar/kecil
```
### `search:context`
Cari dengan konteks baris yang cocok. Mengembalikan output bergaya grep `path:line: text`.
```bash
query=<text> # (required) kueri pencarian
path=<folder> # batasi ke folder
limit=<n> # maks file
format=text|json # format output (bawaan: text)
case # peka huruf besar/kecil
```
### `search:open`
Buka tampilan pencarian.
```bash
query=<text> # kueri pencarian awal
```
## Sync
Perintah untuk [[Pengantar Obsidian Sync|Obsidian Sync]].
> [!tip] Sinkronisasi tanpa aplikasi desktop
> Perintah-perintah ini mengontrol Sync dalam aplikasi Obsidian yang sedang berjalan. Untuk menyinkronkan brankas dari baris perintah tanpa aplikasi desktop, lihat [[Headless Sync]].
### `sync`
Jeda atau lanjutkan sync.
```bash
on # lanjutkan sync
off # jeda sync
```
### `sync:status`
Tampilkan status dan penggunaan sync.
### `sync:history`
Daftar riwayat versi sync untuk file (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
total # kembalikan jumlah versi
```
### `sync:read`
Baca versi sync (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
version=<n> # (required) nomor versi
```
### `sync:restore`
Pulihkan versi sync (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
version=<n> # (required) nomor versi
```
### `sync:open`
Buka riwayat sync (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
```
### `sync:deleted`
Daftar file yang dihapus di sync.
```bash
total # kembalikan jumlah file terhapus
```
## Tag
Perintah untuk [[Tag]].
### `tags`
Daftar tag di brankas. Gunakan `active` atau `file`/`path` untuk menampilkan tag file tertentu.
```bash
file=<name> # nama file
path=<path> # path file
sort=count # urutkan berdasarkan jumlah (bawaan: name)
total # kembalikan jumlah tag
counts # sertakan jumlah tag
format=json|tsv|csv # format output (bawaan: tsv)
active # tampilkan tag untuk file aktif
```
### `tag`
Dapatkan info tag.
```bash
name=<tag> # (required) nama tag
total # kembalikan jumlah kemunculan
verbose # sertakan daftar file dan jumlah
```
## Tugas
Perintah untuk manajemen tugas.
### `tasks`
Daftar tugas di brankas. Gunakan `active` atau `file`/`path` untuk menampilkan tugas file tertentu.
```bash
file=<name> # filter berdasarkan nama file
path=<path> # filter berdasarkan path file
status="<char>" # filter berdasarkan karakter status
total # kembalikan jumlah tugas
done # tampilkan tugas yang selesai
todo # tampilkan tugas yang belum selesai
verbose # kelompokkan berdasarkan file dengan nomor baris
format=json|tsv|csv # format output (bawaan: text)
active # tampilkan tugas untuk file aktif
daily # tampilkan tugas dari catatan harian
```
**Contoh:**
```bash
# Daftar semua tugas di brankas
tasks
# Daftar tugas yang belum selesai di brankas
tasks todo
# Daftar tugas yang selesai dari file tertentu
tasks file=Recipe done
# Daftar tugas dari catatan harian hari ini
tasks daily
# Hitung tugas di catatan harian
tasks daily total
# Daftar tugas dengan path file dan nomor baris
tasks verbose
# Filter berdasarkan status kustom (kutip karakter khusus)
tasks 'status=?'
```
### `task`
Tampilkan atau perbarui tugas.
```bash
ref=<path:line> # referensi tugas (path:line)
file=<name> # nama file
path=<path> # path file
line=<n> # nomor baris
status="<char>" # atur karakter status
toggle # alihkan status tugas
daily # catatan harian
done # tandai selesai
todo # tandai belum selesai
```
**Contoh:**
```bash
# Tampilkan info tugas
task file=Recipe line=8
task ref="Recipe.md:8"
# Alihkan penyelesaian tugas
task ref="Recipe.md:8" toggle
# Alihkan tugas di catatan harian
task daily line=3 toggle
# Atur status tugas
task file=Recipe line=8 done # → [x]
task file=Recipe line=8 todo # → [ ]
task file=Recipe line=8 status=- # → [-]
task daily line=3 done # Tandai tugas catatan harian selesai
```
## Template
Perintah untuk [[Template|Template]].
### `templates`
Daftar templat.
```bash
total # kembalikan jumlah templat
```
### `template:read`
Baca konten templat.
```bash
name=<template> # (required) nama templat
title=<title> # judul untuk resolusi variabel
resolve # selesaikan variabel templat
```
### `template:insert`
Sisipkan templat ke file aktif.
```bash
name=<template> # (required) nama templat
```
**Catatan:**
- Opsi `resolve` memproses variabel `{{date}}`, `{{time}}`, `{{title}}`
- Gunakan `create path=<path> template=<name>` untuk membuat file dengan templat
## Tema dan cuplikan
Perintah untuk [[Tema]] dan [[Cuplikan CSS]].
### `themes`
Daftar tema yang terpasang.
```bash
versions # sertakan nomor versi
```
### `theme`
Tampilkan tema aktif atau dapatkan info.
```bash
name=<name> # nama tema untuk detail
```
### `theme:set`
Atur tema aktif.
```bash
name=<name> # (required) nama tema (kosong untuk bawaan)
```
### `theme:install`
Pasang tema komunitas.
```bash
name=<name> # (required) nama tema
enable # aktifkan setelah memasang
```
### `theme:uninstall`
Hapus pemasangan tema.
```bash
name=<name> # (required) nama tema
```
### `snippets`
Daftar cuplikan CSS yang terpasang.
### `snippets:enabled`
Daftar cuplikan CSS yang diaktifkan.
### `snippet:enable`
Aktifkan cuplikan CSS.
```bash
name=<name> # (required) nama cuplikan
```
### `snippet:disable`
Matikan cuplikan CSS.
```bash
name=<name> # (required) nama cuplikan
```
## Catatan unik
Perintah untuk [[Pembuat catatan unik]].
### `unique`
Buat catatan unik.
```bash
name=<text> # nama catatan
content=<text> # konten awal
paneType=tab|split|window # tipe panel untuk dibuka
open # buka file setelah membuat
```
## Brankas
### `vault`
Tampilkan info brankas.
```bash
info=name|path|files|folders|size # kembalikan info tertentu saja
```
### `vaults`
Daftar brankas yang dikenal.
```bash
total # kembalikan jumlah brankas
verbose # sertakan path brankas
```
### `vault:open`
Beralih ke brankas berbeda (TUI saja).
```bash
name=<name> # (required) nama brankas
```
## Penampil web
Perintah untuk [[Penampil web]].
### `web`
Buka URL di penampil web.
```bash
url=<url> # (required) URL untuk dibuka
newtab # buka di tab baru
```
## Penghitung kata
Perintah untuk [[Penghitung kata]].
### `wordcount`
Hitung kata dan karakter (bawaan: file aktif).
```bash
file=<name> # nama file
path=<path> # path file
words # kembalikan jumlah kata saja
characters # kembalikan jumlah karakter saja
```
## Ruang kerja
Perintah untuk [[Ruang kerja]] dan plugin [[Ruang kerja]].
### `workspace`
Tampilkan pohon ruang kerja.
```bash
ids # sertakan ID item ruang kerja
```
### `workspaces`
Daftar ruang kerja yang tersimpan.
```bash
total # kembalikan jumlah ruang kerja
```
### `workspace:save`
Simpan tata letak saat ini sebagai ruang kerja.
```bash
name=<name> # nama ruang kerja
```
### `workspace:load`
Muat ruang kerja yang tersimpan.
```bash
name=<name> # (required) nama ruang kerja
```
### `workspace:delete`
Hapus ruang kerja yang tersimpan.
```bash
name=<name> # (required) nama ruang kerja
```
### `tabs`
Daftar tab yang terbuka.
```bash
ids # sertakan ID tab
```
### `tab:open`
Buka tab baru.
```bash
group=<id> # ID grup tab
file=<path> # file untuk dibuka
view=<type> # tipe tampilan untuk dibuka
```
### `recents`
Daftar file yang baru dibuka.
```bash
total # kembalikan jumlah file terbaru
```
## Perintah pengembang
Perintah untuk membantu Anda mengembangkan [[Plugin komunitas]] dan [[Tema]]. Pelajari lebih lanjut dengan mengunjungi [Dokumentasi Pengembang Obsidian](https://docs.obsidian.md).
### `devtools`
Alihkan perangkat pengembang Electron.
### `dev:debug`
Pasang/lepas debugger Chrome DevTools Protocol.
```bash
on # pasang debugger
off # lepas debugger
```
### `dev:cdp`
Jalankan perintah Chrome DevTools Protocol.
```bash
method=<CDP.method> # (required) metode CDP untuk dipanggil
params=<json> # parameter metode sebagai JSON
```
### `dev:errors`
Tampilkan kesalahan JavaScript yang tertangkap.
```bash
clear # hapus buffer kesalahan
```
### `dev:screenshot`
Ambil tangkapan layar (mengembalikan PNG base64).
```bash
path=<filename> # path file output
```
### `dev:console`
Tampilkan pesan konsol yang tertangkap.
```bash
limit=<n> # maks pesan untuk ditampilkan (bawaan 50)
level=log|warn|error|info|debug # filter berdasarkan level log
clear # hapus buffer konsol
```
### `dev:css`
Inspeksi CSS dengan lokasi sumber.
```bash
selector=<css> # (required) selektor CSS
prop=<name> # filter berdasarkan nama properti
```
### `dev:dom`
Kueri elemen DOM.
```bash
selector=<css> # (required) selektor CSS
attr=<name> # dapatkan nilai atribut
css=<prop> # dapatkan nilai properti CSS
total # kembalikan jumlah elemen
text # kembalikan konten teks
inner # kembalikan innerHTML alih-alih outerHTML
all # kembalikan semua kecocokan alih-alih yang pertama
```
### `dev:mobile`
Alihkan emulasi seluler.
```bash
on # aktifkan emulasi seluler
off # matikan emulasi seluler
```
### `eval`
Jalankan JavaScript dan kembalikan hasil.
```bash
code=<javascript> # (required) kode JavaScript untuk dijalankan
```
## Pintasan keyboard
Pintasan ini tersedia di [[#Gunakan antarmuka terminal|TUI]].
### Navigasi
| Aksi | Pintasan |
| ------------------------------------------------------------ | --------------- |
| Gerakkan kursor ke kiri | `←` / `Ctrl+B` |
| Gerakkan kursor ke kanan (terima saran di akhir baris) | `→` / `Ctrl+F` |
| Lompat ke awal baris | `Ctrl+A` |
| Lompat ke akhir baris | `Ctrl+E` |
| Mundur satu kata | `Alt+B` |
| Maju satu kata | `Alt+F` |
### Pengeditan
| Aksi | Pintasan |
| ----------------------------- | -------------------------- |
| Hapus ke awal baris | `Ctrl+U` |
| Hapus ke akhir baris | `Ctrl+K` |
| Hapus kata sebelumnya | `Ctrl+W` / `Alt+Backspace` |
### Lengkapi otomatis
| Aksi | Pintasan |
| ------------------------------------------------------- | ----------- |
| Masuk mode saran / terima saran yang dipilih | `Tab` |
| Keluar mode saran | `Shift+Tab` |
| Masuk mode saran (dari input baru) | `↓` |
| Terima saran pertama/yang dipilih (di akhir baris) | `→` |
### Riwayat
| Aksi | Pintasan |
| --------------------------------------------------------------------- | --------------- |
| Entri riwayat sebelumnya / navigasi saran ke atas | `↑` / `Ctrl+P` |
| Entri riwayat berikutnya / navigasi saran ke bawah | `↓` / `Ctrl+N` |
| Pencarian riwayat mundur (ketik untuk filter, `Ctrl+R` untuk siklus) | `Ctrl+R` |
### Lainnya
| Aksi | Pintasan |
| ------------------------------------------------------------- | ------------------- |
| Jalankan perintah atau terima saran | `Enter` |
| Urungkan lengkapi otomatis / keluar mode saran / hapus input | `Escape` |
| Bersihkan layar | `Ctrl+L` |
| Keluar | `Ctrl+C` / `Ctrl+D` |
## Pemecahan masalah
Jika Anda mengalami kesulitan menjalankan Obsidian CLI:
- Pastikan Anda menggunakan [[Perbarui Obsidian|versi penginstal Obsidian]] terbaru (1.12.7 atau lebih baru).
- Jika Anda baru saja memperbarui Obsidian dari versi sebelumnya, matikan pengaturan CLI lalu aktifkan kembali, kemudian izinkan Obsidian melakukan pendaftaran PATH otomatis.
- Mulai ulang terminal Anda setelah mendaftarkan CLI agar perubahan PATH berlaku.
- Obsidian harus berjalan. CLI terhubung ke instance Obsidian yang sedang berjalan.
### Windows
Obsidian CLI di Windows memerlukan penginstal Obsidian 1.12.7+. Lihat [[Perbarui Obsidian|Pembaruan versi penginstal]].
Windows menggunakan redirector terminal yang menghubungkan Obsidian ke stdin/stdout dengan benar. Ini diperlukan karena Obsidian biasanya berjalan sebagai aplikasi GUI yang tidak kompatibel dengan output terminal di Windows. Ketika Anda memasang Obsidian 1.12.7+, redirector terminal `Obsidian.com` akan ditambahkan di folder tempat Anda memasang file `Obsidian.exe`.
Pendaftaran CLI menambahkan Obsidian ke variabel PATH pengguna Anda, yang hanya berlaku setelah Anda memulai ulang terminal.
### macOS
Pendaftaran CLI membuat symlink di `/usr/local/bin/obsidian` yang menunjuk ke biner CLI yang dibundel di dalam aplikasi. Ini memerlukan hak administrator — Anda akan diminta melalui dialog sistem.
Periksa bahwa symlink ada dan menunjuk ke biner yang benar:
```
ls -l /usr/local/bin/obsidian
```
Jika symlink tidak ada, buat secara manual:
```
sudo ln -sf /Applications/Obsidian.app/Contents/MacOS/obsidian-cli /usr/local/bin/obsidian
```
> [!note] Jika Anda sebelumnya mendaftarkan CLI dengan versi Obsidian yang lebih lama, Anda mungkin memiliki entri PATH yang tersisa di `~/.zprofile`. Proses pendaftaran baru menghapus ini secara otomatis, tetapi jika masih ada, Anda bisa dengan aman menghapus baris yang dimulai dengan `# Added by Obsidian` dari `~/.zprofile`.
### Linux
Pendaftaran CLI menyalin biner CLI ke `~/.local/bin/obsidian`. Ini dilakukan karena beberapa metode instalasi Linux berjalan dari direktori sementara yang tidak bisa di-symlink secara persisten.
Pastikan `~/.local/bin` ada di PATH Anda. Tambahkan yang berikut ke `~/.bashrc` atau `~/.zshrc` Anda jika belum ada:
```
export PATH="$PATH:$HOME/.local/bin"
```
Periksa bahwa biner ada:
```
ls -l ~/.local/bin/obsidian
```
Jika biner tidak ada, salin secara manual dari direktori instalasi Obsidian:
```
cp /path/to/Obsidian/obsidian-cli ~/.local/bin/obsidian
chmod 755 ~/.local/bin/obsidian
```