You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@steve.apache.org by gs...@apache.org on 2022/04/04 05:40:45 UTC

[steve] branch trunk updated: First pass at Pelican building of the site.

This is an automated email from the ASF dual-hosted git repository.

gstein pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/steve.git


The following commit(s) were added to refs/heads/trunk by this push:
     new fceb534  First pass at Pelican building of the site.
fceb534 is described below

commit fceb534bb9cf812ccd21cd74b9989e6b4deef3c2
Author: Greg Stein <gs...@gmail.com>
AuthorDate: Mon Apr 4 00:35:30 2022 -0500

    First pass at Pelican building of the site.
    
    Using pelicanconf.yaml (as .py is deprecated).
    NOTE: we are missing a feature or two, but that will be fixed shortly.
    
    Using branch:asf-site-build: css, images, and templates were populated
    into the site/ subdirectory.
    
    The templates had s/theme// on the css and images, as they are now
    generated directory to (eg.) steve.a.o/css/
    
    pages/downloads.md came from branch:asf-site-build
    pages/support.md came from oldsvn:support.mdtext
    
    test-build.sh will use pelican to build the site to /tmp, given enough
    preconditions. This provides for testing locally, rather than using
    buildbot.
    Note: some buildsite.py changes may be necessary to support this, but
      should be fixed shortly.
---
 pelicanconf.yaml                |  13 ++++++
 site/css/steve.css              |  80 ++++++++++++++++++++++++++++++++++
 site/images/front-splash.png    | Bin 0 -> 270221 bytes
 site/images/logo-bright.png     | Bin 0 -> 15205 bytes
 site/images/logo.svg            |  92 ++++++++++++++++++++++++++++++++++++++++
 site/images/steve.png           | Bin 0 -> 6302 bytes
 site/images/tat.png             | Bin 0 -> 14503 bytes
 site/js/empty                   |   0
 site/pages/downloads.md         |   3 ++
 site/pages/support.md           |  83 ++++++++++++++++++++++++++++++++++++
 site/test-build.sh              |  23 ++++++++++
 site/theme/templates/index.html |  38 +++++++++++++++++
 site/theme/templates/page.html  |  41 ++++++++++++++++++
 13 files changed, 373 insertions(+)

diff --git a/pelicanconf.yaml b/pelicanconf.yaml
new file mode 100644
index 0000000..8aa816c
--- /dev/null
+++ b/pelicanconf.yaml
@@ -0,0 +1,13 @@
+site:
+  name: Apache STeVe
+  description: Apache STeVe
+  domain: steve.apache.org
+  logo: images/logo.png
+  repository: https://github.com/apache/steve/blob/trunk/site
+  trademarks: Apache, the Apache feather logo, and "Project" are trademarks or registered trademarks
+
+theme: theme
+
+setup:
+  ignore:
+    - none-yet
diff --git a/site/css/steve.css b/site/css/steve.css
new file mode 100644
index 0000000..8b22715
--- /dev/null
+++ b/site/css/steve.css
@@ -0,0 +1,80 @@
+html, body {
+    margin: 0;
+    background-color: #F4F4F4;
+    font-family: sans-serif;
+    height: 100%;
+    min-height: 100%;
+}
+
+#main_splash {
+    width: 1200px;
+    background-image: url(../images/front-splash.png);
+    background-position-y: 48px;
+    background-repeat: no-repeat;
+    margin: 0 auto;
+    background-color: #FFF;
+    box-shadow: 0px 0px 3px #0006;
+    position: relative;
+    padding-top: 700px;
+}
+
+#main {
+    width: 1200px;
+    min-height: 100%;
+    margin: 0 auto;
+    background-color: #FFF;
+    box-shadow: 0px 0px 3px #0006;
+    position: relative;
+}
+
+nav {
+    position: absolute;
+    top: 0px;
+    text-align: right;
+    width: calc(100% - 20px);
+    margin-right: 20px;
+    background-image: url(../images/logo-bright.png);
+    background-size: 100px;
+    background-repeat: no-repeat;
+    background-position: 5px 5px;
+}
+
+nav > ul {
+    list-style: none;
+    display: inline-block;
+}
+nav > ul > li {
+    display: inline-block;
+    color: #444;
+    font-weight: bold;
+    text-transform: uppercase;
+    margin-left: 24px;
+    font-size: 0.8rem;
+}
+
+nav > ul > li > a {
+    color: #444;
+    font-width: bold;
+    text-decoration: none;
+}
+
+nav > ul > li > a:hover {
+    color: #222;
+    font-width: bold;
+    text-decoration: underline;
+}
+
+#contents {
+    padding: 20px;
+}
+
+#main > #contents {
+    padding-top: 80px;
+}
+
+footer {
+    border-top: 1px solid #3336;
+    font-size: 0.75rem;
+    text-align: left;
+    padding: 16px;
+}
diff --git a/site/images/front-splash.png b/site/images/front-splash.png
new file mode 100644
index 0000000..61f002a
Binary files /dev/null and b/site/images/front-splash.png differ
diff --git a/site/images/logo-bright.png b/site/images/logo-bright.png
new file mode 100644
index 0000000..562b101
Binary files /dev/null and b/site/images/logo-bright.png differ
diff --git a/site/images/logo.svg b/site/images/logo.svg
new file mode 100644
index 0000000..0ea9eb0
--- /dev/null
+++ b/site/images/logo.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   viewBox="0 0 366.33753 123.32204"
+   height="123.32204"
+   width="366.33752"
+   id="svg1003"
+   version="1.1"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <metadata
+     id="metadata1009">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs1007" />
+  <g
+     transform="matrix(0.46499311,0,0,0.46499311,-0.19100869,-16.653399)"
+     id="text1044"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:75.0257px;line-height:125%;font-family:Montserrat;-inkscape-font-specification:Montserrat;letter-spacing:0px;word-spacing:0px;fill:#404040;fill-opacity:1;stroke:none;stroke-width:2.72821px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     aria-label="APACHE">
+    <path
+       id="path1083"
+       style="fill:#404040;fill-opacity:1;stroke-width:2.72821px"
+       d="m 129.07063,90.722961 -5.2518,11.929089 h -9.45324 l 23.10792,-52.442965 h 9.45323 l 23.10792,52.442965 h -9.45324 l -5.2518,-11.929089 z m 22.65776,-8.177801 -9.52826,-21.607401 -9.52827,21.607401 z" />
+    <path
+       id="path1085"
+       style="fill:#404040;fill-opacity:1;stroke-width:2.72821px"
+       d="m 195.33238,50.209085 q 11.92909,0 17.40597,4.576567 5.47687,4.576568 5.47687,14.104831 0,9.528263 -5.62693,13.95478 -5.5519,4.426516 -17.10585,4.426516 h -9.30319 v 15.380271 h -8.85303 V 50.209085 Z m 1.12539,29.034944 q 7.35252,0 9.97842,-2.775951 2.70092,-2.850976 2.70092,-8.252826 0,-5.476876 -3.37615,-7.727647 -3.37616,-2.250771 -10.57863,-2.250771 h -9.00308 v 21.007195 z" />
+    <path
+       id="path1087"
+       style="fill:#404040;fill-opacity:1;stroke-width:2.72821px"
+       d="m 233.2567,90.722961 -5.2518,11.929089 h -9.45323 l 23.10791,-52.442965 h 9.45324 l 23.10791,52.442965 h -9.45324 L 259.5157,90.722961 Z M 255.91446,82.54516 246.3862,60.937759 236.85794,82.54516 Z" />
+    <path
+       id="path1089"
+       style="fill:#404040;fill-opacity:1;stroke-width:2.72821px"
+       d="m 305.44548,94.624297 q 4.57657,0 7.8777,-1.500514 3.30113,-1.57554 6.90237,-4.951696 l 5.70195,5.852004 q -8.32785,9.228159 -20.25694,9.228159 -11.85406,0 -19.73176,-7.652619 -7.80267,-7.652621 -7.80267,-19.35663 0,-11.704008 7.95272,-19.506681 8.02775,-7.802672 20.18192,-7.802672 12.22919,0 20.40699,9.003084 l -5.62693,6.152107 q -3.75129,-3.601234 -7.12744,-5.026722 -3.30113,-1.425488 -7.80267,-1.425488 -7.95273,0 -13.35458,5.176773 -5.40185,5.101747 -5.40185,13.129496 0,7.9 [...]
+    <path
+       id="path1091"
+       style="fill:#404040;fill-opacity:1;stroke-width:2.72821px"
+       d="M 336.75582,102.65205 V 50.209085 h 8.85303 v 22.732786 h 26.03392 V 50.209085 h 8.85303 v 52.442965 h -8.85303 V 81.194697 h -26.03392 v 21.457353 z" />
+    <path
+       id="path1093"
+       style="fill:#404040;fill-opacity:1;stroke-width:2.72821px"
+       d="m 431.9142,50.209085 v 8.327852 h -27.98458 v 13.879754 h 25.13361 v 7.877698 h -25.13361 v 14.029805 h 28.88489 v 8.327856 H 395.07659 V 50.209085 Z" />
+  </g>
+  <g
+     id="text1048"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:243.892px;line-height:125%;font-family:Montserrat;-inkscape-font-specification:Montserrat;letter-spacing:0px;word-spacing:0px;fill:#47618d;fill-opacity:1;stroke:none;stroke-width:8.86881px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     transform="matrix(0.46499311,0,-0.08199083,0.46499311,-0.19100869,-16.653399)"
+     aria-label="STe   e">
+    <path
+       id="path1074"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';fill:#325590;fill-opacity:1;stroke-width:8.86881px"
+       d="m 115.21187,157.77224 q -9.5118,0 -15.12132,4.63395 -5.36563,4.39006 -5.36563,11.95072 0,7.31677 6.58509,11.70683 6.82898,4.39006 30.97432,10.48737 24.38923,5.85342 37.8033,17.80414 13.41408,11.95072 13.41408,34.87659 0,22.92588 -17.31635,37.31552 -17.07246,14.14575 -45.12007,14.14575 -40.486122,0 -72.923794,-29.99875 l 22.681981,-27.80372 q 27.559827,24.14534 50.973483,24.14534 10.48737,0 16.34078,-4.39006 6.09731,-4.63396 6.09731,-12.19462 0,-7.80455 -6.3412,-12.19461 -6.3412 [...]
+    <path
+       id="path1076"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';fill:#325590;fill-opacity:1;stroke-width:8.86881px"
+       d="M 286.8663,161.18673 V 298.74197 H 248.8191 V 161.18673 h -48.29067 v -32.92545 h 134.62854 v 32.92545 z" />
+    <path
+       id="path1078"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';fill:#325590;fill-opacity:1;stroke-width:8.86881px"
+       d="m 472.81511,279.71838 q -22.1942,20.97473 -52.19295,20.97473 -29.75486,0 -49.26624,-18.29192 -19.51138,-18.53581 -19.51138,-49.51013 0,-30.97432 19.75527,-49.26624 19.99917,-18.29192 47.07121,-18.29192 27.07204,0 45.85175,16.34078 19.0236,16.34079 19.0236,44.87618 v 19.51138 H 387.9406 q 1.70724,10.73126 11.21904,17.56025 9.5118,6.82898 21.46252,6.82898 19.26749,0 31.706,-12.92629 z m -26.34037,-59.75361 q -1.21946,-11.70683 -8.78012,-18.04803 -7.56066,-6.3412 -18.53581,-6.3412 [...]
+    <path
+       id="path1080"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:'Montserrat Bold';fill:#325590;fill-opacity:1;stroke-width:8.86881px"
+       d="m 816.265,279.71838 q -22.1942,20.97473 -52.19295,20.97473 -29.75486,0 -49.26624,-18.29192 -19.51138,-18.53581 -19.51138,-49.51013 0,-30.97432 19.75527,-49.26624 19.99917,-18.29192 47.07121,-18.29192 27.07204,0 45.85175,16.34078 19.0236,16.34079 19.0236,44.87618 v 19.51138 h -95.60577 q 1.70724,10.73126 11.21904,17.56025 9.5118,6.82898 21.46252,6.82898 19.26749,0 31.706,-12.92629 z m -26.34037,-59.75361 q -1.21946,-11.70683 -8.78012,-18.04803 -7.56066,-6.3412 -18.53581,-6.3412  [...]
+  </g>
+  <path
+     id="rect1064"
+     d="m 218.19204,40.404871 h 69.72642 c 3.07311,0 5.5471,2.473994 5.5471,5.547097 V 115.6784 c 0,3.0731 -2.47399,5.5471 -5.5471,5.5471 h -69.72642 c -3.0731,0 -5.54709,-2.474 -5.54709,-5.5471 V 45.951968 c 0,-3.073103 2.47399,-5.547097 5.54709,-5.547097 z"
+     style="opacity:1;fill:none;fill-opacity:1;stroke:#3d3d3d;stroke-width:4.19308;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <g
+     transform="matrix(0.46499311,0,0,0.46499311,-0.19100869,-16.653399)"
+     id="text1068"
+     style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:398.596px;line-height:125%;font-family:Meera;-inkscape-font-specification:Meera;letter-spacing:0px;word-spacing:0px;fill:#c32a42;fill-opacity:1;stroke:none;stroke-width:14.4944px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     aria-label="✓">
+    <path
+       id="path1070"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol;fill:#c32a42;fill-opacity:1;stroke-width:14.4944px"
+       d="m 734.17498,35.814293 6.81194,9.925978 q -46.90511,35.616744 -96.535,100.038289 -45.93198,60.33437 -73.76364,118.52785 -21.6036,14.20777 -38.53615,27.83166 -26.27465,-86.02514 -61.11288,-100.03828 19.65733,-22.38211 38.73077,-22.38211 16.34867,0 39.50929,54.69019 Q 623.62683,98.873446 734.17498,35.814293 Z" />
+  </g>
+</svg>
diff --git a/site/images/steve.png b/site/images/steve.png
new file mode 100644
index 0000000..4d0cbcc
Binary files /dev/null and b/site/images/steve.png differ
diff --git a/site/images/tat.png b/site/images/tat.png
new file mode 100644
index 0000000..b3de729
Binary files /dev/null and b/site/images/tat.png differ
diff --git a/site/js/empty b/site/js/empty
new file mode 100644
index 0000000..e69de29
diff --git a/site/pages/downloads.md b/site/pages/downloads.md
new file mode 100644
index 0000000..78a41e5
--- /dev/null
+++ b/site/pages/downloads.md
@@ -0,0 +1,3 @@
+title: Downloads
+
+Apache STeVe does not have any releases yet...
diff --git a/site/pages/support.md b/site/pages/support.md
new file mode 100644
index 0000000..07aa396
--- /dev/null
+++ b/site/pages/support.md
@@ -0,0 +1,83 @@
+Title: Getting Support
+
+Simple support.
+
+## Mailing Lists
+
+* [Users](mailto:user@steve.apache.org) ([Subscribe](mailto:user-subscribe@steve.apache.org), [Unsubscribe](mailto:user-unsubscribe@steve.apache.org))
+* [Developers](mailto:dev@steve.apache.org) ([Subscribe](mailto:dev-subscribe@steve.apache.org), [Unsubscribe](mailto:dev-unsubscribe@steve.apache.org))
+* [Commits](mailto:commits@steve.apache.org) ([Subscribe](mailto:commits-subscribe@steve.apache.org), [Unsubscribe](mailto:commits-unsubscribe@steve.apache.org))
+* [Issues](mailto:issues@steve.apache.org) ([Subscribe](mailto:issues-subscribe@steve.apache.org), [Unsubscribe](mailto:issues-unsubscribe@steve.apache.org))
+
+
+
+## Archives
+* [users](http://steve.markmail.org/search/?q=#query:%20list%3Aorg.apache.steve.user)
+* [development](http://steve.markmail.org/search/?q=#query:%20list%3Aorg.apache.steve.dev)
+* [commits](http://steve.markmail.org/search/?q=#query:%20list%3Aorg.apache.steve.commits)
+* [issues](http://steve.markmail.org/search/?q=#query:%20list%3Aorg.apache.steve.issues)
+
+
+## JIRA
+
+* [STEVE](https://issues.apache.org/jira/browse/STEVE)
+
+
+## Contributing
+
+Contributing to the project is a great way to support the community.  Some great links for getting involved
+
+- [Source Code](dev/source-code.html)
+- [Contribution Tips](dev/contribution-tips.html)
+- [Developer Documentation](dev/index.html)
+- [IRC](http://webchat.freenode.net/?channels=apache-steve): #apache-steve on freenode.
+
+## PMC Members
+
+<table class="table">
+<tbody>
+<tr>
+<td> <a href="mailto:jim@apache.org" rel="nofollow">Jim Jagielski</a></td>
+<td> PMC Member/Committer</td>
+</tr>
+<tr>
+<td> <a href="mailto:mattmann@apache.org" rel="nofollow">Chris Mattmann</a> </td>
+<td> PMC Member/Committer </td>
+</tr>
+<tr>
+<td> <a href="mailto:rubys@apache.org" rel="nofollow">Sam Ruby</a> </td>
+<td> PMC Member/Committer </td>
+</tr>
+<tr>
+<td> <a href="mailto:gstein@apache.org" rel="nofollow">Greg Stein</a> </td>
+<td> PMC Member/Committer </td>
+</tr>
+<tr>
+<td> <a href="mailto:adc@apache.org" rel="nofollow">Alan Cabrera</a> </td>
+<td> PMC Member/Committer </td>
+</tr>
+<tr>
+<td> <a href="mailto:humbedooh@apache.org" rel="nofollow">Daniel Gruno</a> </td>
+<td> PMC Member/Committer (chair)</td>
+</tr>
+<tr>
+<td><a href='mailto:kelly@apache.org' rel='nofollow'>Sean Kelly</a></td>
+<td>PMC Member/Committer</td>
+</tr>
+<tr>
+<td><a href='mailto:rbowen@apache.org' rel='nofollow'>Rich Bowen</a></td>
+<td>PMC Member/Committer</td>
+</tr>
+</tbody>
+</table>
+
+## Committers
+
+<table class="table">
+<tbody>
+<tr>
+<td><a href='mailto:pierresmits@apache.org' rel='nofollow'>Pierre Smits</a></td>
+<td>Committer</td>
+</tr>
+</tbody>
+</table>
diff --git a/site/test-build.sh b/site/test-build.sh
new file mode 100755
index 0000000..6333329
--- /dev/null
+++ b/site/test-build.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+#
+# Run a local Pelican build of the site, for dev/test.
+#
+# REQUIRED ENV VARS:
+#
+#   BUILDSITE=/path/to/infrastructure-pelican/bin/buildsite.py
+#   LIBCMARKDIR=/path/to/cmark-gfm.0.28.3.gfm.12/lib
+#
+# ### DOCCO on using infra-pel/bin/build-cmark.sh for the lib/
+#
+
+THIS_SCRIPT=`realpath "$0"`
+SITE_DIR=`dirname "$THIS_SCRIPT"`
+ROOT_DIR=`dirname "$SITE_DIR"`
+#echo $ROOT_DIR
+
+cd "$SITE_DIR"
+
+# export BUILDSITE=~/src/asf/infra-pelican/bin/buildsite.py
+# export LIBCMARKDIR=~/src/asf/infra/tools/bintray/cmark-gfm.0.28.3.gfm.12-libs
+
+$BUILDSITE dir --output=/tmp/steve-site.$$
diff --git a/site/theme/templates/index.html b/site/theme/templates/index.html
new file mode 100644
index 0000000..91c59db
--- /dev/null
+++ b/site/theme/templates/index.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <link rel="stylesheet" href="css/steve.css">
+    <title>Apache STeVe</title>
+</head>
+<body>
+    <div id="main_splash">
+        <nav>
+            <ul>
+                <li><a href=".">Home</a></li>
+                <li><a href="community.html">Community and Support</a></li>
+                <li><a href="develop.html">Developer Information</a></li>
+                <li><a href="documentation.html">Documentation</a></li>
+                <li><a href="downloads.html">Downloads</a></li>
+                <li><a href="asf.html">About Apache</a></li>
+            </ul>
+        </nav>
+        <div id="contents">
+            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt hendrerit ornare. Curabitur ac sem eget orci condimentum convallis vitae sed nisl. Nullam cursus luctus ipsum, et viverra leo interdum ac. Duis in ante efficitur, tincidunt sapien dictum, tempus risus. Ut et convallis ante. Donec sagittis congue nisl, ac maximus eros hendrerit at. In vulputate at ex et imperdiet. Morbi in ligula risus. Aliquam nec efficitur sem. Nam sodales maximus purus, nec blandit  [...]
+
+            <p>Ut eu interdum lorem, eu auctor lectus. Duis vitae imperdiet orci, ac condimentum neque. Nam sit amet hendrerit nisi. Sed ut tortor justo. Donec suscipit placerat dolor, in bibendum sem cursus eu. Aenean elementum dictum neque. Nam ullamcorper pretium nibh, imperdiet rhoncus odio aliquam in. Donec dapibus nulla nec lacinia scelerisque. Morbi non suscipit ipsum, id lobortis dolor. Sed pretium libero non tellus finibus tincidunt. Aenean ultricies lacus tortor, eget dictum es [...]
+
+            <p>Curabitur venenatis dui eget nunc fermentum placerat. Fusce semper turpis eu cursus vulputate. Duis non ex ut metus luctus porttitor quis eget magna. Mauris tristique pellentesque tortor, congue semper justo lacinia euismod. In luctus fermentum metus in posuere. Donec auctor ipsum vel tortor lobortis lobortis. Proin gravida purus mi, vel ornare nibh congue eu. Phasellus ipsum diam, vestibulum eget pharetra non, eleifend non sem.</p>
+            <br/>
+            <p style="text-align: center">
+                <img src="images/tat.png" style="width: 250px; margin:0 auto;">
+            </p>
+        </div>
+        <footer>
+            Copyright&copy; 2013-2022 the Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> | <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a><br>
+            Apache STeVe, Apache, the Apache feather logo, and the Apache STeVe project logo are trademarks of The Apache Software Foundation.
+            All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </footer>
+    </div>
+</body>
+</html>
diff --git a/site/theme/templates/page.html b/site/theme/templates/page.html
new file mode 100644
index 0000000..dfdd8b9
--- /dev/null
+++ b/site/theme/templates/page.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <link rel="stylesheet" href="css/steve.css">
+    <title>{{ page.title }} - {{SITENAME}}</title>
+</head>
+<body>
+    <div id="main">
+        <nav>
+            <ul>
+                <li><a href=".">Home</a></li>
+                <li><a href="community.html">Community and Support</a></li>
+                <li><a href="develop.html">Developer Information</a></li>
+                <li><a href="documentation.html">Documentation</a></li>
+                <li><a href="downloads.html">Downloads</a></li>
+                <li><a href="asf.html">About Apache</a></li>
+            </ul>
+        </nav>
+        <div id="contents">
+            <h1>
+                {% if article %}
+                {{ article.title }}
+                {% else %}
+                {{ page.title }}
+                {% endif %}
+            </h1>
+            {% if article %}
+            {{ article.content }}
+            {% else %}
+            {{ page.content }}
+            {% endif %}
+        </div>
+        <footer>
+            Copyright&copy; 2013-2022 the Apache Software Foundation. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> | <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a><br>
+            Apache STeVe, Apache, the Apache feather logo, and the Apache STeVe project logo are trademarks of The Apache Software Foundation.
+            All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+        </footer>
+    </div>
+</body>
+</html>