src/Pure/Admin/news.scala
author wenzelm
Sat, 06 May 2017 12:59:16 +0200
changeset 65742 b9e0f25ba16a
parent 65089 1d219d76873b
child 65988 8040d2563593
permissions -rw-r--r--
tuned messages;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64369
6a9816764b37 proper Admin tool;
wenzelm
parents: 62114
diff changeset
     1
/*  Title:      Pure/Admin/news.scala
62114
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     2
    Author:     Makarius
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     3
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     4
Support for the NEWS file.
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     5
*/
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     6
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     7
package isabelle
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     8
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
     9
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    10
object NEWS
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    11
{
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    12
  /* generate HTML version */
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    13
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    14
  def generate_html()
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    15
  {
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    16
    val target = Path.explode("~~/doc")
65089
1d219d76873b clarified fonts;
wenzelm
parents: 65083
diff changeset
    17
    val target_fonts = target + Path.explode("fonts")
1d219d76873b clarified fonts;
wenzelm
parents: 65083
diff changeset
    18
    Isabelle_System.mkdirs(target_fonts)
62114
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    19
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    20
    File.write(target + Path.explode("NEWS.html"),
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    21
      HTML.begin_document("NEWS") +
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    22
      "\n<div class=\"source\">\n<pre class=\"source\">" +
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    23
      HTML.output(Symbol.decode(File.read(Path.explode("~~/NEWS")))) +
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    24
      "</pre>\n" +
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    25
      HTML.end_document)
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    26
65089
1d219d76873b clarified fonts;
wenzelm
parents: 65083
diff changeset
    27
1d219d76873b clarified fonts;
wenzelm
parents: 65083
diff changeset
    28
    for (font <- Isabelle_System.fonts(html = true))
1d219d76873b clarified fonts;
wenzelm
parents: 65083
diff changeset
    29
      File.copy(font, target_fonts)
62114
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    30
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    31
    File.copy(Path.explode("~~/etc/isabelle.css"), target)
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    32
  }
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    33
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    34
64369
6a9816764b37 proper Admin tool;
wenzelm
parents: 62114
diff changeset
    35
  /* Isabelle tool wrapper */
62114
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    36
64369
6a9816764b37 proper Admin tool;
wenzelm
parents: 62114
diff changeset
    37
  val isabelle_tool =
64372
wenzelm
parents: 64369
diff changeset
    38
    Isabelle_Tool("news", "generate HTML version of the NEWS file",
wenzelm
parents: 64369
diff changeset
    39
      _ => generate_html(), admin = true)
62114
a7cf464933f7 generate HTML version of NEWS, with proper symbol rendering;
wenzelm
parents:
diff changeset
    40
}