Lewati ke konten
aithordev.my.id

Halaman

Membuat, membaca, menyimpan, menerbitkan, dan menghapus halaman dokumentasi.

Di halaman ini

GET /pages/{id}

Mengembalikan seluruh data yang dibutuhkan editor. Bila ada perubahan yang belum diterbitkan, nilai yang dikembalikan adalah salinan kerja, bukan versi publik.

Bash
curl -u "$USER:$APP_PASSWORD" https://situs.id/wp-json/gitdocs/v1/pages/42
JSON
{
    "id": 42,
    "title": "Instalasi",
    "slug": "instalasi",
    "markdown": "## Persyaratan\n\n| Komponen | Versi |\n…",
    "description": "Persyaratan server dan cara memasang tema.",
    "icon": "πŸ“¦",
    "isGroup": false,
    "coverId": 0,
    "coverUrl": "",
    "thumbnailId": 0,
    "hideToc": false,
    "hidePagination": false,
    "status": "publish",
    "parent": 12,
    "order": 1,
    "space": 2,
    "permalink": "https://situs.id/docs/panduan/memulai/instalasi/",
    "liveUrl": "https://situs.id/docs/panduan/memulai/instalasi/",
    "previewUrl": "https://situs.id/?gitdocs_preview=42&_gdnonce=…",
    "hasDraft": false,
    "draft": null,
    "updated": 1758300000,
    "modified": "2026-09-19T18:20:00",
    "author": "Rina",
    "lock": null,
    "feedback": { "up": 12, "down": 1 },
    "revisions": { "count": 8, "url": "https://situs.id/wp-admin/revision.php?revision=91" },
    "can": { "publish": true, "delete": true }
}

Permintaan GET juga mengambil kunci edit bila halaman sedang tidak dikunci orang lain β€” sama seperti membuka layar edit WordPress.

POST /pages

Membuat halaman baru. Halaman baru selalu berstatus draf kecuali status diisi publish.

Parameter Tipe Keterangan
title string Judul halaman
markdown string Isi awal
description string Deskripsi singkat
icon string Emoji atau icon:nama
parent int Id halaman induk (0 = tingkat teratas)
space int Id space; diabaikan bila parent diisi
isGroup bool Jadikan judul grup
status draft | publish Status awal
Bash
curl -u "$USER:$APP_PASSWORD" -H "Content-Type: application/json" \
  -X POST https://situs.id/wp-json/gitdocs/v1/pages \
  -d '{"title":"Panduan Migrasi","space":2,"markdown":"## Ringkasan\n"}'

Responsnya berisi page (payload seperti di atas) dan nodes (pohon terbaru), sehingga klien tidak perlu memuat ulang pohon.

POST /pages/{id}

Satu endpoint untuk tiga mode:

mode Yang terjadi
autosave Menyimpan salinan kerja privat; halaman publik tidak berubah
save Halaman draf β†’ tersimpan langsung. Halaman terbit β†’ tersimpan sebagai perubahan belum terbit
publish Merender Markdown, memperbarui halaman, menerbitkan, lalu menghapus salinan kerja
Bash
curl -u "$USER:$APP_PASSWORD" -H "Content-Type: application/json" \
  -X POST https://situs.id/wp-json/gitdocs/v1/pages/42 \
  -d '{"mode":"publish","markdown":"## Persyaratan\n\nPHP 8.0+\n","title":"Instalasi"}'

Kolom yang dapat dikirim: title, slug, markdown, description, icon, isGroup, coverId, thumbnailId, hideToc, hidePagination. Kolom yang tidak dikirim tidak diubah.

Bila halaman sedang dikunci pengguna lain, endpoint menjawab 409 gitdocs_locked. Kirim ulang dengan "force": true β€” atau panggil /pages/{id}/lock lebih dulu β€” hanya jika Anda memang ingin mengambil alih.

Yang dilakukan saat publish

  1. Render

    Markdown diubah menjadi HTML oleh Parsedown + komponen GitDocs, lalu disanitasi sesuai kapabilitas penulisnya.

  2. Simpan

    post_content (HTML), post_excerpt (deskripsi), meta gitdocs_markdown, daftar isi, dan potongan pencarian diperbarui. WordPress membuat revisi yang ikut membawa sumber Markdown.

  3. Segarkan

    Cache pohon dibersihkan dan indeks pencarian dibangun ulang di akhir permintaan.

Tindakan lain

Bash
# Ganti judul (langsung berlaku, juga untuk halaman terbit)
curl … -X POST …/pages/42/rename -d '{"title":"Instalasi & Pembaruan"}'

# Ubah ikon atau jadikan judul grup
curl … -X POST …/pages/42/props  -d '{"icon":"icon:rocket","isGroup":false}'

# Buang perubahan yang belum diterbitkan
curl … -X POST …/pages/42/discard

# Kembalikan halaman terbit menjadi draf
curl … -X POST …/pages/42/unpublish

# Pindahkan halaman (beserta subhalamannya) ke space lain
curl … -X POST …/pages/42/space -d '{"space":3}'

DELETE /pages/{id}

Memindahkan halaman dan seluruh subhalamannya ke tempat sampah. Responsnya memuat jumlah halaman yang dipindahkan.

JSON
{ "trashed": 4, "nodes": [ … ] }

Menghapus berarti memindahkan ke tempat sampah WordPress β€” masih bisa dipulihkan dari Dokumentasi β†’ Semua Halaman β†’ Tempat Sampah.

POST /render

Merender Markdown tanpa menyimpan apa pun. Inilah yang menggerakkan pratinjau langsung.

Bash
curl … -X POST …/render -d '{"markdown":"## Judul\n\nIsi.","post":42}'
JSON
{
    "html": "<div class=\"gd-heading gd-heading--h2\"><h2 id=\"judul\">Judul</h2>…",
    "toc": [ { "level": 2, "id": "judul", "text": "Judul" } ],
    "words": 2
}

Cari dokumentasi

    Ketik untuk mulai mencari.