novolis-documents / README.md
novolis-documents docs
One-column pages to Skia PDF
dotnetpdfdocumentsnovolis
Semantic document island for Novolis: immutable sections → layout plan → SkiaSharp PDF.
| Doc | What it covers |
|---|---|
| getting-started.md | Install, first PDF, dogfood samples, build/test |
| design.md | Package stack, goals, non-goals, page lifecycle |
| authoring.md | Fluent Document.Create DSL (P1 spine) |
| model.md | Document, semantic sections, meta, page setup, typography |
| blocks.md | Compatibility block catalog and semantic equivalents |
| header-footer.md | Header / footer includes, templates, chapter title, watermark |
| layout-and-pdf.md | SectionPaginator, PagePlan, DocumentPdf |
| mappers.md | Mapping external formats into Document |
| faq.md | Common questions |
| release.md | CalVer / publish |
Packages
| Package | Role |
|---|---|
| `Novolis.Documents` | Model + fluent builders |
| `Novolis.Documents.Layout` | Pagination |
| `Novolis.Documents.Skia` | PDF paint |
Mental model
Document.Create(title)
.Meta(…)
.Page(p => p.Header(…).Footer(…))
.Watermark(…) // optional
.FirstPage(p => p.Section(…))
.Section(s => s.Heading(…).Text(…))
.Table(t => t.Header(…).Row(…))
.LastPage(p => p.Section(…))
.Build()
│
▼
Document (immutable)
│
▼
SectionPaginator.Paginate → PagePlan
│
▼
DocumentPdf.Write / ToBytes → PDF