sig
  type chapter = [ `Kernel | `Plugin of string | `Protocol ]
  type page
  val path : Server_doc.page -> string
  val href : Server_doc.page -> string -> Markdown.href
  val chapter : Server_doc.page -> Server_doc.chapter
  val page :
    Server_doc.chapter ->
    title:string ->
    ?descr:Markdown.elements ->
    ?readme:string -> filename:string -> unit -> Server_doc.page
  val publish :
    page:Server_doc.page ->
    ?name:string ->
    ?index:string list ->
    title:string ->
    ?contents:Markdown.elements ->
    ?generated:(unit -> Markdown.elements) -> unit -> Markdown.href
  val protocole : title:string -> readme:string -> unit
  val package : Package.packageInfo -> unit
  val dump : root:Filepath.Normalized.t -> ?meta:bool -> unit -> unit
end