diff --git a/.gitmodules b/.gitmodules
index 6b9a02f..448d596 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "pages/.vitepress/theme"]
path = pages/.vitepress/theme
url = https://github.com/GabsEdits/aplos-theme.git
+[submodule "templates"]
+ path = templates
+ url = https://github.com/GabsEdits/aplos-template
diff --git a/template/html/index.html b/template/html/index.html
deleted file mode 100644
index 94f565e..0000000
--- a/template/html/index.html
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
- Document
-
-
-
-
-
-
-
-
- Title
- Lorem ipsum dolor, sit amet consectetur adipisicing elit. Explicabo fugiat commodi ad. Quo autem debitis
- saepe obcaecati molestiae repudiandae libero voluptatibus! Consequuntur ipsam itaque laudantium hic.
- Delectus natus quam error.
-
- List.
- List.
- List.
- List.
- List.
- List.
- List.
-
-
-
- “Something.”
- — Someone
-
-
-
-
- Something
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quibusdam non expedita totam corrupti illo
- facilis laborum eius ab quae, culpa fuga perferendis ea asperiores repudiandae doloremque, dicta
- veritatis, quis soluta.
-
-
-
-
-
\ No newline at end of file
diff --git a/template/html/style.css b/template/html/style.css
deleted file mode 100644
index 2b6ff10..0000000
--- a/template/html/style.css
+++ /dev/null
@@ -1,583 +0,0 @@
-:root {
- font-family: Inter, sans-serif;
- font-feature-settings: "liga" 1, "calt" 1, "cv05" 1;
- /* fix for Chrome */
-}
-@supports (font-variation-settings: normal) {
- :root {
- font-family: InterVariable, sans-serif;
- }
- body {
- font-family: InterVariable, sans-serif;
- }
-}
-body {
- font-family: Inter, sans-serif, "Noto Color Emoji";
- scroll-behavior: smooth;
- background-color: var(--color-background);
- color: var(--color-text);
-}
-main {
- width: 60vw;
- margin-top: 7%;
- margin-bottom: 7%;
- font-size: 1rem;
- line-height: 1.5;
- margin-left: auto;
- margin-right: auto;
- max-width: 963px;
-}
-::selection {
- color: var(--color-background);
- background-color: var(--color-accent);
-}
-html {
- scrollbar-color: var(--color-accent) rgba(0, 0, 0, 0);
- accent-color: var(--color-accent);
-}
-nav {
- background-color: none;
- backdrop-filter: blur(10px);
- -webkit-backdrop-filter: blur(10px);
- overflow: hidden;
- position: fixed;
- top: 3rem;
- left: 50%;
- transform: translate(-50%, -50%);
- border-radius: 40px;
- background-color: var(--color-header);
- border: 0.4px solid var(--color-border);
- z-index: 9999;
- padding: 1px 25px;
- text-align: center;
-}
-nav ul {
- list-style-type: none;
- margin: 0;
- padding: 0;
- overflow: hidden;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-nav ul li {
- display: inline-block;
-}
-nav ul li a {
- display: block;
- text-align: center;
- color: var(--color-text-secondary);
- text-decoration: none;
- font-weight: 600;
- font-size: 14px;
- letter-spacing: -0.72px;
- margin: 0 5px;
- transform: scale(1);
- font-size: 14px;
- transition: color 0.7s ease, transform 100ms ease;
-}
-nav ul li a:hover {
- color: var(--color-accent);
-}
-nav ul li a:active {
- color: var(--color-accent);
- transform: scale(0.9);
-}
-nav ul li a.active {
- color: var(--color-accent);
-}
-nav h1 {
- font-size: 16px;
- letter-spacing: -1px;
- font-weight: 800;
- color: var(--color-text);
- margin: 10px 0;
- transform: scale(1);
- transition: transform 100ms ease text-decoration 0.4s ease;
-}
-nav h1:hover {
- text-decoration: underline 1.2px solid var(--color-accent);
-}
-nav h1:active {
- transform: scale(0.9);
-}
-nav .h1-nav {
- margin-right: 50px;
- position: relative;
-}
-nav .h1-nav::after {
- content: "";
- position: absolute;
- height: 110%;
- width: 1px;
- background-color: var(--color-border);
- top: 0;
- right: -20px;
-}
-nav .fa-brands {
- font-size: 15px;
-}
-footer {
- position: relative;
- bottom: 0;
- max-width: 100%;
- right: 0;
- padding: 20px;
- margin: 0 10px 10px 10px;
- border-top: 1px solid var(--color-border);
- text-align: center;
- margin-left: auto;
- margin-right: auto;
- max-width: 963px;
-}
-footer a {
- text-decoration: underline 1.4px;
- color: var(--color-accent);
- font-weight: 700;
-}
-footer p {
- margin: 0;
-}
-footer p:first-child {
- margin-top: 10px;
-}
-footer #copyright,
-footer #powered {
- color: var(--color-text-secondary);
- font-weight: 600;
-}
-footer #author {
- font-weight: 900;
-}
-.lang {
- color: var(--color-text-secondary);
- font-family: "Source Code Pro", monospace;
- font-size: 14px;
- position: absolute;
- right: 20px;
- margin-top: 10px;
-}
-/* Other */
-button.copy {
- direction: ltr;
- position: absolute;
- top: 12px;
- right: 12px;
- z-index: 3;
- border: 1px solid var(--vp-code-copy-code-border-color);
- border-radius: 4px;
- width: 40px;
- height: 40px;
- background-color: var(--vp-code-copy-code-bg);
- opacity: 0;
- cursor: pointer;
- background-image: var(--vp-icon-copy);
- background-position: 50%;
- background-size: 20px;
- background-repeat: no-repeat;
- transition: border-color 0.25s, background-color 0.25s, opacity 0.25s;
-}
-.mono-emoji {
- font-family: "Noto Emoji";
- color: var(--color-accent);
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- margin: 20px 0;
-}
-p {
- margin: 16px 0;
-}
-h1 {
- font-size: 50px;
- font-style: normal;
- font-weight: 900;
- line-height: normal;
- letter-spacing: -1.2px;
- margin: 33.5px 0;
-}
-h2 {
- font-size: 35px;
- font-style: normal;
- font-weight: 800;
- line-height: normal;
- letter-spacing: -1.2px;
-}
-h3 {
- font-size: 25px;
- font-style: normal;
- font-weight: 700;
- line-height: normal;
- letter-spacing: -1.2px;
-}
-pre {
- font-family: "Source Code Pro", monospace;
- background-color: var(--color-background-second);
- border-right: var(--color-accent) 5px solid;
- padding: 10px 20px !important;
- overflow: auto;
- max-width: 100%;
- border-radius: 20px;
- margin: 20px 0;
-}
-pre .highlighted {
- background-color: var(--vp-code-line-highlight-color);
- transition: background-color 0.5s;
- margin: 0 -24px;
- padding: 0 24px;
- width: calc(99% + 2 * 24px);
- display: inline-block;
-}
-pre .has-focused-lines .line:not(.has-focus) {
- filter: blur(0.095rem);
- opacity: 0.4;
- transition: filter 0.35s, opacity 0.35s;
-}
-.has-focused-lines .line:not(.has-focus) {
- opacity: 0.7;
- transition: filter 0.35s, opacity 0.35s;
-}
-.has-focused-lines .line:not(.has-focus) {
- filter: blur(0);
- opacity: 1;
-}
-blockquote {
- border-left: var(--color-accent) 5px solid;
- border-radius: 8px 50px 50px 8px;
- background-color: var(--color-background-second);
- padding: 10px 19px;
- margin: 0;
- width: max-content;
- max-width: 97%;
-}
-blockquote blockquote {
- margin: 5px 0;
- padding: 5px 10px;
-}
-blockquote p {
- color: var(--color-text-secondary);
- margin: 0;
-}
-img,
-video {
- border-radius: 10px;
- margin: 10px 0;
- width: 100%;
- transition: transform 0.4s, border-radius 0.4s, border 1.5s ease;
-}
-img:hover,
-video:hover {
- transform: scale(1.1);
- border: var(--color-border) 2px solid;
- border-radius: 20px;
- cursor: zoom-in;
-}
-video:hover {
- border-radius: 5px;
- transform: scale(1.06);
-}
-img:active {
- transform: scale(1.3);
-}
-figcaption {
- margin-top: -0.5rem;
- margin-bottom: 2rem;
- display: block;
- text-align: center;
- color: var(--color-text-secondary);
- font-size: 0.8rem;
-}
-small {
- display: inline-block;
- color: var(--color-text-secondary);
-}
-main a {
- color: var(--color-accent);
- text-decoration: underline;
- font-weight: 700;
-}
-hr {
- border-radius: 20px;
- border: var(--color-border) 2px solid;
- margin: 20px 5%;
-}
-code {
- font-family: "Source Code Pro", monospace;
- background-color: var(--color-background-second);
- border-radius: 7px;
- color: var(--color-accent);
- padding: 1px 6px;
- font-size: 14px;
- border: 1px solid var(--color-border);
-}
-pre code {
- background-color: transparent;
- color: var(--color-text);
- border-radius: 0;
- padding: 0;
- border: 0px;
-}
-kbd {
- background-color: var(--color-background-second);
- border-radius: 5px;
- border: 1px solid var(--color-border);
- border-bottom: 2px solid var(--color-border);
- padding: 3px;
- font-size: 14px;
- cursor: pointer;
-}
-kbd:active {
- border-bottom: 1px solid var(--color-border);
- background-color: var(--color-border);
- border-left: 2px solid var(--color-border);
- padding-bottom: 4px;
- padding-left: 4px;
-}
-time {
- background-color: var(--color-background-second);
- color: var(--color-accent);
- font-weight: 700;
- border-radius: 5px;
- border: 1px solid var(--color-border);
- border-bottom: 2px solid var(--color-border);
- padding: 3px;
- font-size: 14px;
- cursor: pointer;
-}
-time span {
- display: inline-block;
- animation: blink 0.7s infinite alternate;
-}
-@keyframes blink {
- from {
- opacity: 1;
- }
- to {
- opacity: 0.5;
- }
-}
-time:active {
- border-bottom: 1px solid var(--color-border);
- border-top: 2px solid var(--color-border);
- font-weight: 800;
- padding-top: 4px;
-}
-time:active span {
- animation: none;
-}
-mark {
- background-color: var(--color-background-second);
- color: var(--color-accent);
- margin: 0;
- padding: 2px 6px 3px 6px;
- border-radius: 10px;
-}
-table {
- border-collapse: collapse;
- border-radius: 10px;
- overflow: hidden;
- table-layout: fixed;
- width: 100%;
-}
-table th {
- background-color: var(--color-background-mute);
- color: var(--color-accent);
- font-weight: 700;
- padding: 10px 20px;
- text-align: center;
-}
-table td {
- color: var(--color-text);
- padding: 10px 20px;
-}
-table tr {
- background-color: var(--color-background);
-}
-table tr:nth-child(2n) {
- background-color: var(--color-background-second);
-}
-table tr:first-child {
- border-bottom: 0px solid var(--color-border);
-}
-/* Others */
-#coming-soon {
- background-color: #ffec1f af;
- border-radius: 10px;
- padding: 30px 20px;
- box-shadow: var(--base-shadow);
- margin-bottom: 20px;
- color: #291d00 f1;
- width: 100%;
- text-align: center;
-}
-#coming-soon h1 {
- font-size: 2em;
- margin-top: 0 !important;
- font-weight: 800;
- margin-bottom: 0 !important;
-}
-#coming-soon p {
- margin-top: 0 !important;
-}
-#NotFound {
- background-color: var(--color-background-second);
- border-radius: 10px;
- padding: 30px 20px;
- box-shadow: var(--base-shadow);
- margin-bottom: 20px;
- color: var(--color-text-secondary);
- width: 100%;
- text-align: center;
-}
-#NotFound h1 {
- font-size: 2em;
- margin-top: 0 !important;
- font-weight: 800;
- margin-bottom: 0 !important;
-}
-#NotFound span {
- font-size: 7em;
- font-weight: 800;
- letter-spacing: -12.2px;
- line-height: -2px;
- color: var(--color-text);
-}
-ul,
-ol {
- margin: 10px 0px 10px 50px;
-}
-ul {
- list-style: disc;
-}
-ol {
- list-style: decimal;
-}
-a mark {
- text-decoration: underline;
- display: inline-block;
- transition: transform 0.3s ease;
-}
-a mark:hover {
- transform: scale(1.2);
-}
-
-.tip,
-.danger,
-.info,
-.warning {
- margin: 20px 0;
- width: 50%;
- border-radius: 10px;
- padding: 30px 20px;
-}
-
-.tip p,
-.danger p,
-.info p,
-.warning p {
- margin-bottom: 0 !important;
- color: var(--color-text) !important;
-}
-.tip h1 {
- font-size: 2em !important;
- margin-top: 0 !important;
- font-weight: 800;
- margin-bottom: 10px !important;
-}
-
-.danger .h1 {
- font-size: 2em !important;
- margin-top: 0 !important;
- font-weight: 800;
- margin-bottom: 10px !important;
-}
-
-.details {
- border-radius: 10px !important;
- margin: 20px 0 !important;
- width: 50%;
-}
-.details summary {
- font-size: 1.2em !important;
- margin-top: 0 !important;
- font-weight: 800;
-}
-.info h1 {
- font-size: 2em !important;
- margin-top: 0 !important;
- font-weight: 800;
- margin-bottom: 10px !important;
-}
-.warning {
- color: var(--vp-c-text-2);
-}
-.warning h1 {
- font-size: 2em !important;
- margin-top: 0 !important;
- font-weight: 800;
- margin-bottom: 10px !important;
-}
-
-@media screen and (max-width: 1414px) {
- main {
- margin-top: 150px !important;
- margin-bottom: 150px !important;
- width: 85vw !important;
- }
- nav {
- padding: 5px 20px !important;
- }
- nav h1,
- nav ul li a {
- font-size: 16px !important;
- }
- nav .fa-brands {
- font-size: 16px !important;
- }
- code {
- padding: 3px 10px !important;
- margin-top: 15px;
- line-height: 1.2;
- }
- .danger,
- .warning,
- .tip,
- .details,
- .info {
- width: 100% !important;
- }
- .lang {
- display: none;
- }
-}
-@media screen and (min-width: 1414px) and (max-width: 1902px) {
- main {
- margin: 7% 20%;
- }
-}
-/* For printing */
-@media print {
- main {
- margin: 0 !important;
- padding: 0 !important;
- width: 100% !important;
- }
- nav {
- display: none !important;
- }
- .lang {
- display: none !important;
- }
-}
-.svg-link {
- transition: fill 0.2s ease;
- fill: var(--color-text-secondary);
-}
-.svg-link:hover {
- fill: var(--color-accent);
-}
\ No newline at end of file
diff --git a/templates b/templates
new file mode 160000
index 0000000..72f392d
--- /dev/null
+++ b/templates
@@ -0,0 +1 @@
+Subproject commit 72f392d997bae92ddafe634376b2019390450cd1