Skip to content

Commit

Permalink
Add a simple doc generation tool.
Browse files Browse the repository at this point in the history
And website upload tool.
  • Loading branch information
ry committed Nov 15, 2018
1 parent fbaa40f commit 765863e
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 2 deletions.
26 changes: 26 additions & 0 deletions tools/docs.py
@@ -0,0 +1,26 @@
#!/usr/bin/env python
# Copyright 2018 the Deno authors. All rights reserved. MIT license.
import os
import tempfile
from util import run, root_path

target_path = os.path.join(root_path, "target/")

os.chdir(root_path)

# Builds into target/doc
run(["cargo", "doc", "--no-deps", "-vv"])

# 'deno --types' is stored in target/debug/gen/lib/lib.deno_runtime.d.ts
# We want to run typedoc on that declaration file only.
os.chdir(os.path.join(target_path, "debug/gen/lib/"))

# You must have typedoc installed seprately.
# TODO Replace typedoc with something else ASAP. It's very awful.
run([
"typedoc", "lib.deno_runtime.d.ts", "--out",
os.path.join(target_path, "typedoc"), "--entryPoint", "\"deno\"",
"--ignoreCompilerErrors", "--includeDeclarations", "--excludeExternals",
"--excludePrivate", "--excludeProtected", "--mode", "file", "--name",
"deno", "--theme", "minimal", "--readme", "none"
])
18 changes: 18 additions & 0 deletions tools/upload_website.py
@@ -0,0 +1,18 @@
#!/usr/bin/env python
# Copyright 2018 the Deno authors. All rights reserved. MIT license.
import os
import tempfile
from util import run, root_path

# Probably run tools/docs.py first.
# AWS CLI must be installed separately.

os.chdir(os.path.join(root_path, "website"))

# Invalidate the cache.
run([
"aws", "cloudfront", "create-invalidation", "--distribution-id",
"E3NZSZMS5TZ0OU", "--paths", "/*"
])

run(["aws", "s3", "sync", ".", "s3://deno.land/"])
7 changes: 7 additions & 0 deletions website/app.js
Expand Up @@ -182,6 +182,13 @@ function formatSecsAsMins(t) {
* @param dataUrl The url of benchramk data json.
*/
export function drawCharts(dataUrl) {
// TODO Using window["location"]["hostname"] instead of
// window.location.hostname because when deno runs app_test.js it gets a type
// error here, not knowing about window.location. Ideally Deno would skip
// type check entirely on JS files.
if (window["location"]["hostname"] != "deno.github.io") {
dataUrl = "https://denoland.github.io/deno/" + dataUrl;
}
drawChartsFromBenchmarkData(dataUrl);
drawChartsFromTravisData();
}
Expand Down
7 changes: 5 additions & 2 deletions website/index.html
Expand Up @@ -13,7 +13,9 @@ <h1>deno</h1>

<p> <a href="https://github.com/denoland/deno">github.com/denoland/deno</a>

<p> <a href="https://github.com/denoland/deno/blob/master/Docs.md">Docs</a>
<p> <a href="https://github.com/denoland/deno/blob/master/Docs.md">Intro</a>
<p> <a href="typedoc/index.html">TypeScript API</a>
<p> <a href="rustdoc/deno/index.html">Rust API</a>

<h2>Execution time</h2>
This shows how much time total it takes to run a few simple deno programs:
Expand Down Expand Up @@ -58,7 +60,8 @@ <h2>References</h2>

<script type="module">
import { drawCharts } from "./app.js";
drawCharts("./recent.json");

drawCharts("recent.json");
</script>
</body>
</html>
Expand Down
1 change: 1 addition & 0 deletions website/rustdoc
1 change: 1 addition & 0 deletions website/typedoc

0 comments on commit 765863e

Please sign in to comment.