กลับไปที่ BookField

BookField รูปแบบแพ็กเกจ

wbpkg

Package ที่ BookField ตรวจสอบ ติดตั้ง และอ่านได้

สแนปช็อตเวอร์ชัน

workbook.toml
schema_version = 4
.wbpkg/manifest.json
schemaVersion = 5
reader_manifest.json
schemaVersion = 3
reader.rdoc
schemaVersion = 3
Reader SQLite schema
db_schema_version = 17

ภาพรวมย่อ

Package ที่ BookField ตรวจสอบ ติดตั้ง และอ่านได้

เป็นขอบเขตการติดตั้งเดียวสำหรับ work หนึ่งรายการและ edition หนึ่งชุด manifest.json คือ contract สาธารณะที่ BookField อ่านก่อน import. Legacy packageKind และ presentation fields ไม่อยู่ใน package shape ปัจจุบัน

คอนเทนเนอร์ที่ติดตั้งได้

เป็นขอบเขตการติดตั้งเดียวสำหรับ work หนึ่งรายการและ edition หนึ่งชุด

Manifest v5

manifest.json คือ contract สาธารณะที่ BookField อ่านก่อน import. Legacy packageKind และ presentation fields ไม่อยู่ใน package shape ปัจจุบัน

ReaderDoc v3

ReaderDoc content เตรียมไว้สำหรับ import แล้ว ดังนั้น reader ไม่ต้อง parse EPUB, HTML หรือ CSS ใน runtime

โครงสร้างนำทาง

navigationTree กำหนด entry point และสารบัญระดับ package ของ reader

ดัชนี locator

เมื่อ canonical docs หรือ schema files เปลี่ยน ให้อัปเดต source ก่อน แล้วจึงรีเฟรช public snapshot และคำอธิบายนี้

แผนการเรียน

Authored study plans อยู่ใน manifest.json เฉพาะเมื่อ package มี schedule data

โครงสร้าง package

ไฟล์ canonical ภายใน wbpkg

Package paths เป็น POSIX paths ที่อ้างอิงจาก root ของ package. Text packages มี ReaderDoc files ใต้ reader/ ส่วน image, audio หรือ video only packages อาจไม่มี reader/.

.wbpkg
manifest.json
reader/{assetId}/reader_manifest.json
reader/{assetId}/reader.rdoc
images/{assetId}.{ext}
images/{assetId}-thumb.{ext}
media/{assetId}.{ext}
locator/{profileId}.json

สัญญา manifest

Manifest v5 กำหนด install contract

manifest.json คือ contract สาธารณะที่ BookField อ่านก่อน import. Legacy packageKind และ presentation fields ไม่อยู่ใน package shape ปัจจุบัน

packageId / packageVersion

manifest.json คือ contract สาธารณะที่ BookField อ่านก่อน import. Legacy packageKind และ presentation fields ไม่อยู่ใน package shape ปัจจุบัน

work / edition

เป็นขอบเขตการติดตั้งเดียวสำหรับ work หนึ่งรายการและ edition หนึ่งชุด

assets

Package paths เป็น POSIX paths ที่อ้างอิงจาก root ของ package. Text packages มี ReaderDoc files ใต้ reader/ ส่วน image, audio หรือ video only packages อาจไม่มี reader/.

navigationTree

navigationTree กำหนด entry point และสารบัญระดับ package ของ reader

studyPlans

Authored study plans อยู่ใน manifest.json เฉพาะเมื่อ package มี schedule data

bindings

เมื่อ canonical docs หรือ schema files เปลี่ยน ให้อัปเดต source ก่อน แล้วจึงรีเฟรช public snapshot และคำอธิบายนี้

การสร้าง package

แยก production tooling ออกจากขอบเขต package สาธารณะ

  1. 1

    เตรียม source content

    เตรียม source content, metadata, media และ authored schedules หรือ references

  2. 2

    สร้าง wbpkg

    สร้าง installable package พร้อม manifest metadata, ReaderDoc content, media, navigation และ locator files

  3. 3

    ตรวจสอบก่อนแชร์

    ตรวจสอบ package structure และ schema compatibility ก่อน distribution

Reader import

BookField อ่าน installed package ในเครื่อง

  1. 1

    ตรวจสอบ

    BookField ตรวจสอบ package shape และปฏิเสธ unsupported หรือ malformed packages

  2. 2

    แตกไฟล์

    Supported package assets ถูก unpack ไปยัง app-owned local storage

  3. 3

    Import เข้า SQLite

    ReaderDoc payloads, navigation, locator indexes, search records และ schedules ถูกลงทะเบียนสำหรับ offline use

ความเข้ากันได้

กฎที่ทำให้ packages คาดเดาได้

  • ปฏิเสธ legacy packageKind values.
  • ปฏิเสธ legacy presentation fields.
  • ปฏิเสธ non-canonical package paths.
  • ปฏิเสธ malformed structured references.
  • อย่าใส่ source EPUB files ใน installable wbpkg

Canonical references

นโยบายการอัปเดต

หน้านี้เป็น implementation-facing overview ไม่ใช่ canonical schema source. Canonical docs และ schema files อยู่กับ BookField source materials

Source docs และ schema files

  • 00-spec-index.md

    หน้านี้เป็น implementation-facing overview ไม่ใช่ canonical schema source. Canonical docs และ schema files อยู่กับ BookField source materials

  • 04-manifest-json-schema.md

    manifest.json คือ contract สาธารณะที่ BookField อ่านก่อน import. Legacy packageKind และ presentation fields ไม่อยู่ใน package shape ปัจจุบัน

  • 08-reader-app-design.md

    BookField อ่าน installed package ในเครื่อง

  • schemas/manifest-v5.schema.json / readerdoc-v3.schema.json

    หน้านี้เป็น implementation-facing overview ไม่ใช่ canonical schema source. Canonical docs และ schema files อยู่กับ BookField source materials

เมื่อ canonical docs หรือ schema files เปลี่ยน ให้อัปเดต source ก่อน แล้วจึงรีเฟรช public snapshot และคำอธิบายนี้

วางแผน BookField package distribution

กลับไปยัง product overview หรือพูดคุยว่า wbpkg distribution flow เหมาะกับ content model ของคุณหรือไม่