summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorclsr <clsr@clsr.net>2017-08-18 14:08:04 +0200
committerclsr <clsr@clsr.net>2017-08-18 14:08:04 +0200
commit1c15fe67c72b4591feaceeffec0951e34a6c2e46 (patch)
treec22393533916300e73799b9fe630c392a48a1c6b /templates
downloadcn-http-1c15fe67c72b4591feaceeffec0951e34a6c2e46.tar.gz
cn-http-1c15fe67c72b4591feaceeffec0951e34a6c2e46.zip
Initial commitv0.1.0
Diffstat (limited to 'templates')
-rw-r--r--templates/content.html97
-rw-r--r--templates/page.html112
2 files changed, 209 insertions, 0 deletions
diff --git a/templates/content.html b/templates/content.html
new file mode 100644
index 0000000..73f18c7
--- /dev/null
+++ b/templates/content.html
@@ -0,0 +1,97 @@
+{{- if eq .Name "section" "content" -}}
+{{- if .Title}}
+<section class="cnm-section"><details open>
+ {{- inc .Title -}}
+ <summary>
+ {{- with .Title -}}
+ {{- if $l := lanchor -}}
+ <h{{depth}}>{{.}}<a class="sec-link" id="/{{$l}}" href="#/{{$l}}">ΒΆ</a>
+ {{- if $s := sanchor}}{{if ne $s $l}}<a id="#{{$s}}"></a>{{end}}{{end -}}
+ </h{{depth}}>
+ {{- end -}}
+ {{- end -}}
+ </summary>
+ {{- range .Children -}}
+ {{- template "content.html" . -}}
+ {{- end -}}
+ {{- dec -}}
+</details></section>
+{{else -}}
+{{- range .Children -}}
+ {{- template "content.html" . -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{- if eq .Name "list" -}}
+{{if .Ordered}}<ol{{else}}<ul{{end}} class="cnm-list">
+ {{- range .Children -}}
+ {{- if eq .Name "list" -}}
+ {{- template "content.html" . -}}
+ {{- else -}}
+ <li>{{- template "content.html" . -}}</li>
+ {{- end -}}
+ {{- end -}}
+{{- if .Ordered}}</ol>{{else}}</ul>{{end -}}
+{{- end -}}
+
+{{- if eq .Name "table" -}}
+<table class="cnm-table">
+ {{- range .Rows -}}
+ {{- template "content.html" . -}}
+ {{- end -}}
+</table>
+{{- end -}}
+
+{{- if eq .Name "header" -}}
+<tr class="cnm-header">
+ {{- range .Children -}}
+ <th>{{template "content.html" .}}</th>
+ {{- end -}}
+</tr>
+{{- end -}}
+
+{{- if eq .Name "row" -}}
+<tr class="cnm-row">
+ {{- range .Children -}}
+ <td>{{template "content.html" .}}</td>
+ {{- end -}}
+</tr>
+{{- end -}}
+
+{{- if eq .Name "embed" -}}
+<figure class="cnm-embed">
+ {{- if eq .Type "image/png" "image/jpeg" "image/webp" "image/*" -}}
+ <a href="{{tourl .URL}}"><img src="{{tourl .URL}}" alt="{{with .Description}}{{.}}{{else}}embedded {{.Type}}{{end}}" {{with .Description}}title="{{.}}" {{end}}/></a>
+ {{- end -}}
+ {{- if eq .Type "video/mp4" "video/webm" "video/*" -}}
+ <video src="{{tourl .URL}}" controls{{with .Description}} title="{{.}}"{{end}}>
+ Video content: <a href="{{tourl .URL}}">{{.URL}}</a>
+ </video>
+ {{- end -}}
+ {{- if not (eq .Type "image/png" "image/jpeg" "image/webp" "image/*" "video/mp4" "video/webm" "video/*") -}}
+ <p>
+ Embedded <code>{{.Type}}</code> content: <a href="{{tourl .URL}}"{{with .Description}} title="{{.}}"{{end}}>{{.URL}}</a>
+ </p>
+ {{- end -}}
+ {{- with .Description}}<figcaption>{{.}}</figcaption>{{end -}}
+</figure>
+{{- end -}}
+
+{{- if eq .Name "text" -}}
+ {{- if eq .Format "" "plain"}}{{range .Contents.Paragraphs -}}
+<p class="cnm-text">{{.}}</p>
+ {{- end}}{{end -}}
+ {{- if eq .Format "fmt" -}}
+ {{- range .Contents.Paragraphs -}}
+ {{- cnmfmt . -}}
+ {{- end -}}
+ {{- end -}}
+ {{- if not (eq .Format "" "plain" "fmt") -}}
+<pre class="cnm-text cnm-text-pre">{{.Contents.Text}}</pre>
+ {{- end -}}
+{{- end -}}
+
+{{- if eq .Name "raw" -}}
+<pre class="cnm-raw"><code class="cnm-raw-{{lang .Syntax}}">{{.Contents}}</code></pre>
+{{- end -}}
diff --git a/templates/page.html b/templates/page.html
new file mode 100644
index 0000000..0f89e2d
--- /dev/null
+++ b/templates/page.html
@@ -0,0 +1,112 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>{{with .Doc.Title}}{{.}}{{else}}&nbsp;{{end}}</title>
+ <link rel="stylesheet" href="/static/style.css" />
+ <style>main p,main summary,h1,h2,h3,h4,h5,h6{white-space: pre-wrap;}</style>
+ <script async src="/static/script.js"></script>
+ {{if .Highlight}}<link rel="stylesheet" href="/static/highlight/style.css" />{{end}}
+ </head>
+ <body>
+ <header>
+ {{if .Browser -}}
+ <form id="browser" action="/" method="post">
+ <input type="text" name="url" placeholder="cnp://example.com/" value="{{if ne .URL "cnp:///"}}{{.URL}}{{end}}" />
+ <input type="submit" value="Go" />
+ </form>
+ {{- end}}
+
+ {{with .Doc.Title}}<h1>{{.}}</h1>{{end -}}
+
+ {{with .Doc.Links -}}
+ <nav>
+ <details open>
+ <summary><b>Links</b></summary>
+ <ul>
+ {{- range .}}
+ <li><a href="{{tourl .URL}}"{{with .Description}} title="{{.}}"{{end}}>{{with .Name}}{{.}}{{else}}{{.URL}}{{end}}</a></li>
+ {{- end}}
+ </ul>
+ </details>
+ </nav>
+ {{- end -}}
+
+ {{with .Site -}}
+ <nav>
+ <details>
+ <summary><b>Sitemap</b></summary>
+ {{- block "site" . -}}
+ <ul>
+ {{- range . -}}
+ <li>
+ <a href="{{tourl .Path}}">{{.Name}}</a>
+ {{- template "site" .Children -}}
+ </li>
+ {{- end -}}
+ </ul>
+ {{- end -}}
+ </details>
+ </nav>
+ {{- end -}}
+
+ {{if .Toc.Children -}}
+ <nav>
+ <details>
+ <summary><b>Table of Contents</b></summary>
+ <ul>
+ {{- range .Toc.Children -}}
+ {{- block "toc" . -}}
+ {{- inc .Title -}}
+ <li>
+ <a href="#/{{anchor}}">{{.Title}}</a>
+ {{- with .Children -}}
+ <ul>
+ {{- range . -}}
+ {{- template "toc" . -}}
+ {{- end -}}
+ </ul>
+ {{- end -}}
+ </li>
+ {{- dec -}}
+ {{- end -}}
+ {{- end -}}
+ </ul>
+ </details>
+ </nav>
+ {{- end}}
+ </header>
+
+ <main>
+ {{- with .Doc.Content}}
+ {{- range .Children}}
+ {{- template "content.html" .}}
+ {{- end}}{{end}}
+ </main>
+
+ <footer>
+ <p>This is a <a href="https://contnet.org/">ContNet</a> <code>text/cnm</code> page retrieved over CNP from <a {{href .URL}}>{{.URL}}</a>
+ -
+ <a href="?req&amp;resp">See request/response</a>
+ -
+ <a href="?raw">Raw CNM document</a>
+ </p>
+ <details>
+ <summary>CNP request header (<a href="?req">try</a>)</summary>
+ <pre><code class="lang-{{lang "text/cnp"}}">{{.Req}}</code></pre>
+ </details>
+ <details>
+ <summary>CNP response header (<a href="?hdr">try</a>)</summary>
+ <pre><code class="lang-{{lang "text/cnp"}}">{{.Resp}}</code></pre>
+ </details>
+ <details>
+ <summary>Try with <a href="https://en.wikipedia.org/wiki/Netcat">Netcat</a></summary>
+ <pre><code class="lang-{{lang "application/x-sh"}}">{{.Netcat}}</code></pre>
+ </details>
+ </footer>
+
+ {{if .Highlight}}<script src="/static/highlight/highlight.pack.js"></script>
+ <script src="/static/hlraw.js"></script>{{end}}
+ </body>
+</html>