BookField로 돌아가기

BookField package 형식

wbpkg

BookField가 validate, install, read할 수 있는 package

버전 snapshot

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

한눈에 보기

BookField가 validate, install, read할 수 있는 package

하나의 work와 하나의 edition을 위한 단일 installable boundary입니다. manifest.json은 BookField가 import 전에 읽는 public contract입니다. Legacy packageKind와 presentation fields는 현재 package shape에 포함되지 않습니다.

설치 가능한 container

하나의 work와 하나의 edition을 위한 단일 installable boundary입니다.

Manifest v5

manifest.json은 BookField가 import 전에 읽는 public contract입니다. Legacy packageKind와 presentation fields는 현재 package shape에 포함되지 않습니다.

ReaderDoc v3

ReaderDoc content import용으로 준비되어 reader가 runtime에서 EPUB, HTML 또는 CSS를 parse하지 않습니다.

Navigation tree

navigationTree entry point와 reader의 package-level 목차를 결정합니다.

Locator indexes

canonical docs 또는 schema files가 바뀌면 먼저 source를 업데이트한 뒤 이 public snapshot과 설명을 refresh합니다.

Study plans

Authored study plans package에 schedule data가 있을 때만 manifest.json에 있습니다.

Package layout

wbpkg 안의 canonical files

Package paths는 package-root-relative POSIX paths입니다. Text packages는 reader/ 아래 ReaderDoc files를 포함하고, 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 contract

Manifest v5가 install contract를 정의합니다

manifest.json은 BookField가 import 전에 읽는 public contract입니다. Legacy packageKind와 presentation fields는 현재 package shape에 포함되지 않습니다.

packageId / packageVersion

manifest.json은 BookField가 import 전에 읽는 public contract입니다. Legacy packageKind와 presentation fields는 현재 package shape에 포함되지 않습니다.

work / edition

하나의 work와 하나의 edition을 위한 단일 installable boundary입니다.

assets

Package paths는 package-root-relative POSIX paths입니다. Text packages는 reader/ 아래 ReaderDoc files를 포함하고, image, audio 또는 video only packages는 reader/를 생략할 수 있습니다.

navigationTree

navigationTree entry point와 reader의 package-level 목차를 결정합니다.

studyPlans

Authored study plans package에 schedule data가 있을 때만 manifest.json에 있습니다.

bindings

canonical docs 또는 schema files가 바뀌면 먼저 source를 업데이트한 뒤 이 public snapshot과 설명을 refresh합니다.

Package creation

Production tooling을 public package boundary와 분리합니다

  1. 1

    Source content 준비

    source content, metadata, media와 authored schedules 또는 references를 준비합니다.

  2. 2

    wbpkg 생성

    manifest metadata, ReaderDoc content, media, navigation, locator files를 가진 installable package를 만듭니다.

  3. 3

    공유 전 검증

    distribution 전에 package structure와 schema compatibility를 확인합니다.

Reader import

BookField는 installed package를 local에서 읽습니다

  1. 1

    Validate

    BookField는 package shape를 확인하고 unsupported 또는 malformed packages를 reject합니다.

  2. 2

    Unpack

    Supported package assets는 app-owned local storage로 unpack됩니다.

  3. 3

    SQLite로 import

    ReaderDoc payloads, navigation, locator indexes, search records, schedules가 offline use용으로 register됩니다.

Compatibility

Packages를 predictable하게 유지하는 rules

  • Reject: legacy packageKind values.
  • Reject: legacy presentation fields.
  • Reject: non-canonical package paths.
  • Reject: malformed structured references.
  • installable wbpkg에 source EPUB files를 포함하지 마세요.

Canonical references

Update policy

이 public page는 implementation-facing overview이며 canonical schema source가 아닙니다. Canonical docs와 schema files는 BookField source materials와 함께 있습니다.

Source docs 및 schema files

  • 00-spec-index.md

    이 public page는 implementation-facing overview이며 canonical schema source가 아닙니다. Canonical docs와 schema files는 BookField source materials와 함께 있습니다.

  • 04-manifest-json-schema.md

    manifest.json은 BookField가 import 전에 읽는 public contract입니다. Legacy packageKind와 presentation fields는 현재 package shape에 포함되지 않습니다.

  • 08-reader-app-design.md

    BookField는 installed package를 local에서 읽습니다

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

    이 public page는 implementation-facing overview이며 canonical schema source가 아닙니다. Canonical docs와 schema files는 BookField source materials와 함께 있습니다.

canonical docs 또는 schema files가 바뀌면 먼저 source를 업데이트한 뒤 이 public snapshot과 설명을 refresh합니다.

BookField package distribution 계획

product overview로 돌아가거나 wbpkg distribution flow가 content model에 맞는지 논의하세요.