aboutsummaryrefslogtreecommitdiff
path: root/doc-tool
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-01-24 17:35:53 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-01-31 14:35:42 +0100
commit866e364dde76aa5df42548bf72d2f5c4d200535b (patch)
treea0fe7c27c533e293255471aa6f34b272ef61e9c1 /doc-tool
parente59241a2852eab53bdc0e22ea5b2dd394b231913 (diff)
downloaddotty-866e364dde76aa5df42548bf72d2f5c4d200535b.tar.gz
dotty-866e364dde76aa5df42548bf72d2f5c4d200535b.tar.bz2
dotty-866e364dde76aa5df42548bf72d2f5c4d200535b.zip
Document dottydoc capabilities, add anchored headers
Diffstat (limited to 'doc-tool')
-rw-r--r--doc-tool/resources/_layouts/api-page.html2
-rw-r--r--doc-tool/resources/_layouts/blog-page.html (renamed from doc-tool/resources/_layouts/blog.html)2
-rw-r--r--doc-tool/resources/_layouts/doc-page.html2
-rw-r--r--doc-tool/resources/_layouts/sidebar.html (renamed from doc-tool/resources/_layouts/doc.html)0
-rw-r--r--doc-tool/resources/css/dottydoc.css51
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/staticsite/BlogPost.scala11
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala6
-rw-r--r--doc-tool/test/dotty/tools/dottydoc/staticsite/SiteTests.scala2
8 files changed, 66 insertions, 10 deletions
diff --git a/doc-tool/resources/_layouts/api-page.html b/doc-tool/resources/_layouts/api-page.html
index 0e39f9d91..f45a8bab4 100644
--- a/doc-tool/resources/_layouts/api-page.html
+++ b/doc-tool/resources/_layouts/api-page.html
@@ -1,5 +1,5 @@
---
-layout: doc
+layout: sidebar
extraCSS:
- css/api-page.css
---
diff --git a/doc-tool/resources/_layouts/blog.html b/doc-tool/resources/_layouts/blog-page.html
index d7a08414a..b99a16b9c 100644
--- a/doc-tool/resources/_layouts/blog.html
+++ b/doc-tool/resources/_layouts/blog-page.html
@@ -1,5 +1,5 @@
---
-layout: doc
+layout: sidebar
---
<div id="post-title">
diff --git a/doc-tool/resources/_layouts/doc-page.html b/doc-tool/resources/_layouts/doc-page.html
index 876e90c95..14220aef7 100644
--- a/doc-tool/resources/_layouts/doc-page.html
+++ b/doc-tool/resources/_layouts/doc-page.html
@@ -1,5 +1,5 @@
---
-layout: doc
+layout: sidebar
---
<h1 id="doc-page-title">{{ page.title }}</h1>
diff --git a/doc-tool/resources/_layouts/doc.html b/doc-tool/resources/_layouts/sidebar.html
index b3947c884..b3947c884 100644
--- a/doc-tool/resources/_layouts/doc.html
+++ b/doc-tool/resources/_layouts/sidebar.html
diff --git a/doc-tool/resources/css/dottydoc.css b/doc-tool/resources/css/dottydoc.css
index aa197de07..54f74b66f 100644
--- a/doc-tool/resources/css/dottydoc.css
+++ b/doc-tool/resources/css/dottydoc.css
@@ -26,6 +26,55 @@ div.index-wrapper {
overflow-x: hidden;
}
+div#doc-page-container > h1 {
+ border-bottom: 1px solid #eee;
+ padding-bottom: 0.3em;
+}
+
+div#doc-page-container > h1 {
+ margin: 3rem 0 0.5rem 0;
+}
+
+div#doc-page-container > h3 {
+ font-size: 1.5rem;
+}
+
+div#doc-page-container > h4 {
+ font-size: 1.25rem;
+}
+
+div#doc-page-container > h5 {
+ font-size: 1rem;
+}
+
+div#doc-page-container > h1 > a,
+div#doc-page-container > h2 > a,
+div#doc-page-container > h3 > a,
+div#doc-page-container > h4 > a,
+div#doc-page-container > h5 > a,
+div#doc-page-container > h6 > a {
+ text-decoration: none;
+ color: #373a3c;
+}
+
+div#doc-page-container > h1 > a:hover,
+div#doc-page-container > h2 > a:hover,
+div#doc-page-container > h3 > a:hover,
+div#doc-page-container > h4 > a:hover,
+div#doc-page-container > h5 > a:hover,
+div#doc-page-container > h6 > a:hover {
+ text-decoration: underline;
+}
+
+div#doc-page-container > h1 > a:focus,
+div#doc-page-container > h2 > a:focus,
+div#doc-page-container > h3 > a:focus,
+div#doc-page-container > h4 > a:focus,
+div#doc-page-container > h5 > a:focus,
+div#doc-page-container > h6 > a:focus {
+ outline: none;
+}
+
div#content-body {
border-left: 1px solid #e0e0e0;
box-shadow: -3px 0px 5px -2px rgba(0,0,0,0.14);
@@ -232,7 +281,7 @@ div#doc-page-container {
}
div#doc-page-container > p + h1 {
- margin-bottom: 40px;
+ margin-bottom: 20px;
}
div#post-footer > img#author-image {
diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/BlogPost.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/BlogPost.scala
index 4683ed5f9..f68157e40 100644
--- a/doc-tool/src/dotty/tools/dottydoc/staticsite/BlogPost.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/BlogPost.scala
@@ -9,17 +9,22 @@ import dotc.config.Printers.dottydoc
import MapOperations._
+/**
+ * A `BlogPost` represents the parsed posts from `./blog/_posts/`
+ * each post must be named according to the format
+ * `YYYY-MM-DD-title.{md,html}`
+ */
class BlogPost(
val title: String,
val url: String,
val date: String,
val content: String,
firstParagraph: String,
- val excerptSep: Option[String],
+ val excerpt_separator: Option[String],
val categories: JList[String]
) {
import scala.collection.JavaConverters._
- lazy val excerpt: String = excerptSep match {
+ lazy val excerpt: String = excerpt_separator match {
case Some(str) => content.split(str).head
case _ => firstParagraph
}
@@ -29,7 +34,7 @@ class BlogPost(
"date" -> date,
"url" -> url,
"excerpt" -> excerpt,
- "excerpt_separator" -> excerptSep.getOrElse(""),
+ "excerpt_separator" -> excerpt_separator.getOrElse(""),
"content" -> content,
"categories" -> categories
).asJava
diff --git a/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala b/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala
index ace52725d..895668df2 100644
--- a/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/staticsite/Site.scala
@@ -17,6 +17,7 @@ import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughExtension
import com.vladsch.flexmark.ext.gfm.tasklist.TaskListExtension
import com.vladsch.flexmark.ext.emoji.EmojiExtension
import com.vladsch.flexmark.ext.autolink.AutolinkExtension
+import com.vladsch.flexmark.ext.anchorlink.AnchorLinkExtension
import com.vladsch.flexmark.ext.front.matter.YamlFrontMatterExtension
import com.vladsch.flexmark.util.options.{ DataHolder, MutableDataSet }
@@ -292,10 +293,10 @@ case class Site(val root: JFile, val projectTitle: String, val documentation: Ma
val defaultLayouts: Map[String, String] = Map(
"main" -> "/_layouts/main.html",
- "doc" -> "/_layouts/doc.html",
+ "sidebar" -> "/_layouts/sidebar.html",
"doc-page" -> "/_layouts/doc-page.html",
"api-page" -> "/_layouts/api-page.html",
- "blog" -> "/_layouts/blog.html",
+ "blog-page" -> "/_layouts/blog-page.html",
"index" -> "/_layouts/index.html"
).mapValues(getResource)
@@ -362,6 +363,7 @@ object Site {
TablesExtension.create(),
TaskListExtension.create(),
AutolinkExtension.create(),
+ AnchorLinkExtension.create(),
EmojiExtension.create(),
YamlFrontMatterExtension.create(),
StrikethroughExtension.create()
diff --git a/doc-tool/test/dotty/tools/dottydoc/staticsite/SiteTests.scala b/doc-tool/test/dotty/tools/dottydoc/staticsite/SiteTests.scala
index bb24eb9fb..ba431a5c9 100644
--- a/doc-tool/test/dotty/tools/dottydoc/staticsite/SiteTests.scala
+++ b/doc-tool/test/dotty/tools/dottydoc/staticsite/SiteTests.scala
@@ -19,7 +19,7 @@ class SiteTests extends DottyDocTest {
assert(site.root.exists && site.root.isDirectory,
s"'${site.root.getName}' is not a directory")
- val expectedLayouts = Set("main", "index", "blog", "doc", "doc-page", "api-page")
+ val expectedLayouts = Set("main", "index", "sidebar", "blog-page", "doc-page", "api-page")
assert(site.layouts.keys == expectedLayouts,
s"Incorrect layouts in: ${site.layouts.keys}, expected: $expectedLayouts")
}