aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc-tool/resources/_layouts/blog.html28
-rw-r--r--doc-tool/resources/css/dottydoc.css25
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/staticsite/DefaultParams.scala5
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala4
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)