Sitedata format, revision 1

Sitedata root

{
  title: string,
  defaultPage: PageId,
  notFound: PageDescription,
  pages: {
    PageId: PageDescription
  }
}

PageDescription

Inline document

{
  title: string,
  type: 'document',
  data: string
}

Embedded document

{
  title: string,
  type: 'document',
  src: Url
}

Feed/catalog

{
  title: string,
  type: 'feed'|'catalog',
  data: [
    PostDescription
  ]
}

PostDescription

Inline post

{
    id: PostId,
    title: string,
    type: 'document',
    date: string,
    data: string
}

Embedded post

{
    id: PostId,
    title: string,
    type: 'document',
    date: string,
    src: Url
}