diff options
-rw-r--r-- | doc-tool/resources/_layouts/blog.html | 28 | ||||
-rw-r--r-- | doc-tool/resources/css/dottydoc.css | 25 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/staticsite/DefaultParams.scala | 5 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala | 4 |
4 files changed, 58 insertions, 4 deletions
diff --git a/doc-tool/resources/_layouts/blog.html b/doc-tool/resources/_layouts/blog.html index 2125440e9..d7a08414a 100644 --- a/doc-tool/resources/_layouts/blog.html +++ b/doc-tool/resources/_layouts/blog.html @@ -1,4 +1,28 @@ --- -layout: doc-page +layout: doc --- -{{ content }} + +<div id="post-title"> + <h3 id="post-date"> + {{ page.date | date: '%B %d, %Y' }} + </h3> + <h1 id="main-title">{{ page.title }}</h1> + {% if page.subTitle %} + <h2 id="sub-title">{{ page.subTitle }}</h2> + {% endif %} +</div> + +<div id="blog-post-container"> + {{ content }} +</div> + +{% if page.author %} +<div id="post-footer"> + {% if page.authorImg %} + <img id="author-image" src="{{ site.baseurl }}/{{ page.authorImg }}"> + {% endif %} + <span id="post-author"> + {% if page.authorImg == null %}- {% endif %}{{ page.author }} + </span> +</div> +{% endif %} diff --git a/doc-tool/resources/css/dottydoc.css b/doc-tool/resources/css/dottydoc.css index 754d3b3f7..71f3d88c7 100644 --- a/doc-tool/resources/css/dottydoc.css +++ b/doc-tool/resources/css/dottydoc.css @@ -123,11 +123,25 @@ ul.toc > li > a:hover { background-color: rgba(0, 0, 0, 0.2); } +div#post-title, +div#post-footer, h1#doc-page-title { margin-left: 20px; margin-top: 10px; } +div#post-title > h2#sub-title { + font-weight: 100; + font-size: 24px; +} + +div#post-title > h3#post-date { + font-weight: 100; + font-size: 20px; + margin-bottom: 2px; +} + +div#blog-post-container, div#doc-page-container { background-color: #fff; padding: 10px; @@ -140,6 +154,17 @@ div#doc-page-container > p + h1 { margin-bottom: 40px; } +div#post-footer > img#author-image { + width: 100px; + height: auto; + border-radius: 50%; +} + +div#post-footer > span#post-author { + margin-left: 10px; + font-weight: 100; +} + pre { padding: 0; font-size: 13px; diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/DefaultParams.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/DefaultParams.scala index ce57dc805..bb28b7a54 100644 --- a/doc-tool/src/dotty/tools/dottydoc/staticsite/DefaultParams.scala +++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/DefaultParams.scala @@ -19,6 +19,7 @@ case class DefaultParams( "page" -> Map( "url" -> page.url, + "date" -> page.date, "path" -> page.path ), @@ -37,9 +38,11 @@ case class DefaultParams( copy(page = PageInfo(url)) def withEntity(e: model.Entity) = copy(entity = e) + + def withDate(d: String) = copy(page = PageInfo(page.url, d)) } -case class PageInfo(url: String) { +case class PageInfo(url: String, date: String = "") { val path: Array[String] = url.split('/').reverse.drop(1) } diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala index ecc076ba3..d190eea88 100644 --- a/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala +++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala @@ -178,11 +178,13 @@ case class Site(val root: JFile, val documentation: Map[String, Package]) extend blogposts.foreach { file => val BlogPost.extract(year, month, day, name, ext) = file.getName val fileContents = Source.fromFile(file).mkString - val params = defaultParams(file, 2).withPosts(blogInfo).toMap + val date = s"$year-$month-$day 00:00:00" + val params = defaultParams(file, 2).withPosts(blogInfo).withDate(date).toMap val page = if (ext == "md") new MarkdownPage(fileContents, params, includes) else new HtmlPage(fileContents, params, includes) + val source = new ByteArrayInputStream(render(page).getBytes(StandardCharsets.UTF_8)) val target = mkdirs(fs.getPath(outDir.getAbsolutePath, "blog", year, month, day, name + ".html")) Files.copy(source, target, REPLACE_EXISTING) |