382 sessions.map({ case (name, description) => |
382 sessions.map({ case (name, description) => |
383 val descr = Symbol.trim_blank_lines(description) |
383 val descr = Symbol.trim_blank_lines(description) |
384 (List(HTML.link(name + "/index.html", HTML.text(name))), |
384 (List(HTML.link(name + "/index.html", HTML.text(name))), |
385 if (descr == "") Nil |
385 if (descr == "") Nil |
386 else HTML.break ::: List(HTML.pre(HTML.text(descr)))) })))))), |
386 else HTML.break ::: List(HTML.pre(HTML.text(descr)))) })))))), |
387 base = Some(presentation_dir)) |
387 root = Some(presentation_dir)) |
388 } |
388 } |
389 |
389 |
390 def update_root(presentation_dir: Path): Unit = { |
390 def update_root(presentation_dir: Path): Unit = { |
391 Isabelle_System.make_directory(presentation_dir) |
391 Isabelle_System.make_directory(presentation_dir) |
392 HTML.init_fonts(presentation_dir) |
392 HTML.init_fonts(presentation_dir) |
514 node_context(file_name, file_dir).make_html(thy_elements, xml)) |
514 node_context(file_name, file_dir).make_html(thy_elements, xml)) |
515 |
515 |
516 val file_title = "File " + Symbol.cartouche_decoded(blob.src_path.implode_short) |
516 val file_title = "File " + Symbol.cartouche_decoded(blob.src_path.implode_short) |
517 HTML.write_document(file_dir, file_html.file_name, |
517 HTML.write_document(file_dir, file_html.file_name, |
518 List(HTML.title(file_title)), List(html_context.head(file_title), html), |
518 List(HTML.title(file_title)), List(html_context.head(file_title), html), |
519 base = Some(html_context.root_dir)) |
519 root = Some(html_context.root_dir)) |
520 List(HTML.link(html_link, HTML.text(file_title))) |
520 List(HTML.link(html_link, HTML.text(file_title))) |
521 } |
521 } |
522 |
522 |
523 val thy_title = "Theory " + theory.print_short |
523 val thy_title = "Theory " + theory.print_short |
524 HTML.write_document(session_dir, html_context.theory_html(theory).implode, |
524 HTML.write_document(session_dir, html_context.theory_html(theory).implode, |
525 List(HTML.title(thy_title)), List(html_context.head(thy_title), thy_html), |
525 List(HTML.title(thy_title)), List(html_context.head(thy_title), thy_html), |
526 base = Some(html_context.root_dir)) |
526 root = Some(html_context.root_dir)) |
527 |
527 |
528 List(HTML.link(html_context.theory_html(theory), |
528 List(HTML.link(html_context.theory_html(theory), |
529 HTML.text(theory.print_short) ::: |
529 HTML.text(theory.print_short) ::: |
530 (if (files.isEmpty) Nil else List(HTML.itemize(files))))) |
530 (if (files.isEmpty) Nil else List(HTML.itemize(files))))) |
531 } |
531 } |
535 val title = "Session " + session_name |
535 val title = "Session " + session_name |
536 HTML.write_document(session_dir, "index.html", |
536 HTML.write_document(session_dir, "index.html", |
537 List(HTML.title(title + Isabelle_System.isabelle_heading())), |
537 List(HTML.title(title + Isabelle_System.isabelle_heading())), |
538 html_context.head(title, List(HTML.par(document_links))) :: |
538 html_context.head(title, List(HTML.par(document_links))) :: |
539 html_context.contents("Theories", theories), |
539 html_context.contents("Theories", theories), |
540 base = Some(html_context.root_dir)) |
540 root = Some(html_context.root_dir)) |
541 } |
541 } |
542 } |
542 } |