portable-text-conversion
oleh sanity-io
Konversi konten HTML dan Markdown menjadi blok Portable Text untuk Sanity. Gunakan saat memigrasi konten dari CMS lama, mengimpor HTML atau Markdown ke Sanity,…
npx skills add https://github.com/sanity-io/agent-toolkit --skill portable-text-conversionPortable Text Conversion
Convert external content (HTML, Markdown) into Portable Text for Sanity. Three main approaches:
markdownToPortableText— Convert Markdown directly using@portabletext/markdown(recommended for Markdown)htmlToBlocks— Parse HTML into PT blocks using@portabletext/block-tools(for HTML migration)- Manual construction — Build PT blocks directly from any source (APIs, databases, etc.)
Portable Text Specification
Understand the target format before converting. PT is an array of blocks:
[
{
"_type": "block",
"_key": "abc123",
"style": "normal",
"children": [
{"_type": "span", "_key": "def456", "text": "Hello ", "marks": []},
{"_type": "span", "_key": "ghi789", "text": "world", "marks": ["strong"]}
],
"markDefs": []
},
{
"_type": "block",
"_key": "jkl012",
"style": "h2",
"children": [
{"_type": "span", "_key": "mno345", "text": "A heading", "marks": []}
],
"markDefs": []
},
{
"_type": "image",
"_key": "pqr678",
"asset": {"_type": "reference", "_ref": "image-abc-200x200-png"}
}
]
Key rules:
- Every block and span needs
_key(unique within the array) _type: "block"is for text blocks; custom types use their own_typemarkDefsholds annotation data;markson spans referencemarkDefs[*]._keyor are decorator strings- Lists use
listItem("bullet" | "number") andlevel(1, 2, 3...) on regular blocks
Conversion Rules
Read the rule file matching your source format:
- Markdown → Portable Text:
rules/markdown-to-pt.md—@portabletext/markdownwithmarkdownToPortableText(recommended) - HTML → Portable Text:
rules/html-to-pt.md—@portabletext/block-toolswithhtmlToBlocks - Manual PT Construction:
rules/manual-construction.md— build blocks programmatically from any source
Note:
@sanity/block-toolsis the legacy package name. Always use@portabletext/block-toolsfor new projects. The API is the same.
Lebih banyak skill dari sanity-io
sanity-migration
sanity-io
Merencanakan, mengimplementasikan, dan meninjau migrasi dari CMS lain serta sistem konten ke Sanity. Gunakan saat melakukan migrasi atau replatforming ke Sanity dari AEM, Adobe Experience Manager, Contentful, Strapi, Webflow, WordPress, Payload, Drupal, file Markdown/MDX/frontmatter, ekspor WXR/XML, API CMS, dump database, HTML statis, atau saat merancang alur kerja ekstraksi, transformasi, konversi Portable Text, migrasi aset, pengalihan, validasi, dan cutover.
officialdevelopmentdatabase
create-agent-with-sanity-context
sanity-io
Bangun agen AI dengan akses terstruktur ke konten Sanity melalui Agent Context. Gunakan saat menyiapkan chatbot bertenaga Sanity, menghubungkan asisten AI ke Sanity…
official
dial-your-context
sanity-io
Sesi interaktif untuk membuat konten kolom Instruksi bagi Sanity Agent Context MCP. Gunakan skill ini setiap kali pengguna menyebutkan penyesuaian konteks agen, meningkatkan…
official
optimize-agent-prompt
sanity-io
Sesuaikan agen Konteks Agen Sanity Anda melalui percakapan terpandu. Mengubah data eksplorasi menjadi instruksi siap produksi dan menyusun prompt sistem…
official
shape-your-agent
sanity-io
Sesi interaktif untuk menyusun prompt sistem bagi agen AI yang didukung oleh Sanity Agent Context MCP. Gunakan keterampilan ini ketika pengguna ingin mendefinisikan kepribadian agen,…
official
content-experimentation-best-practices
sanity-io
Panduan terstruktur untuk merancang, menjalankan, dan menganalisis eksperimen konten guna meningkatkan konversi dan keterlibatan. Mencakup kerangka hipotesis, pemilihan metrik, perhitungan ukuran sampel, dan pengujian signifikansi statistik dalam eksperimen A/B dan multivariat. Menyertakan sumber daya terperinci tentang nilai-p, interval kepercayaan, analisis kekuatan, dan metode Bayesian untuk menafsirkan hasil. Menyediakan pola integrasi CMS untuk mengelola varian di tingkat bidang dan menghubungkan eksternal...
official
content-modeling-best-practices
sanity-io
Panduan pemodelan konten terstruktur untuk desain skema, penggunaan ulang, dan pengiriman multi-saluran. Mencakup prinsip inti: memperlakukan konten sebagai data, bukan halaman, mempertahankan sumber kebenaran tunggal, mendesain untuk saluran masa depan, dan mengoptimalkan alur kerja editor. Termasuk kerangka keputusan untuk referensi versus objek tersemat, pemisahan perhatian, dan pola penggunaan ulang konten. Memberikan panduan taksonomi dan klasifikasi untuk pendekatan datar, hierarkis, dan faset. Berlaku untuk...
official
portable-text-serialization
sanity-io
Render dan serialisasi Portable Text ke React, Svelte, Vue, Astro, HTML, Markdown, dan teks biasa. Gunakan saat mengimplementasikan rendering Portable Text di frontend mana pun…
official