initial commit

This commit is contained in:
2025-12-07 11:32:45 +01:00
commit c3daed67ac
35 changed files with 1315 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
{{define "content"}}
<h1 class="my-4">Softwares</h1>
<div class="row">
{{range .}}
<div class="col-12 mb-4">
<div class="card h-100">
<div class="card-body">
<h5 class="card-title">{{.Title}}</h5>
<h6 class="card-subtitle mb-2 text-muted">{{.Author}}</h6>
<p class="card-text">{{.Desc}}</p>
<p class="card-text"><strong>Version:</strong> {{.LatestRelease.Version}}</p>
<p class="card-text"><strong>License:</strong> {{.License}}</p>
<p class="card-text"><a href="{{.Site}}" target="_blank">Website</a></p>
</div>
<div class="card-footer">
<div class="btn-group d-flex justify-content-end" role="group" aria-label="Operations">
<a href="/download/{{.Name}}/source" class="btn btn-primary btn-sm">Source</a>
<a href="/download/{{.Name}}/cartridge" class="btn btn-primary btn-sm">Cartridge</a>
<a href="/releases/{{.Name}}" class="btn btn-primary btn-sm">Releases</a>
<a href="/play/{{.Name}}" class="btn btn-primary btn-sm">Play</a>
</div>
</div>
</div>
</div>
{{end}}
</div>
{{end}}
+68
View File
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Teletype Softwares</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<style>
body {
background-color: black;
color: limegreen; /* Light green */
font-family: "Lucida Console", "Courier New", monospace;
}
.card {
background-color: #333; /* Darker background for cards */
color: limegreen;
border: 1px solid limegreen;
}
a {
color: limegreen;
}
a:hover {
color: #00FF00; /* Brighter green on hover */
}
.btn-primary {
background-color: limegreen;
border-color: limegreen;
color: black;
}
.btn-primary:hover {
background-color: #00FF00;
border-color: #00FF00;
color: black;
}
/* Table styling for black background and green borders */
.table {
--bs-table-bg: black; /* Bootstrap 5 variable for table background */
--bs-table-color: limegreen; /* Text color for table */
--bs-table-border-color: limegreen; /* Border color for the table and cells */
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
--bs-table-bg-type: #1a1a1a; /* Slightly lighter black for striped rows */
color: limegreen;
}
.table-hover > tbody > tr:hover > * {
--bs-table-hover-bg: #444; /* Darker grey on hover */
color: limegreen;
}
.table-bordered > :not(caption) > * > * {
border-color: limegreen;
}
.bg-dark { /* Ensure consistency for manually set dark backgrounds */
background-color: black !important;
}
.text-success { /* Ensure consistency for success text */
color: limegreen !important;
}
</style>
</head>
<body>
<div class="container mt-4">
<h1 class="text-center mb-4">Teletype Games</h1>
{{block "content" .}}{{end}}
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
</body>
</html>
+10
View File
@@ -0,0 +1,10 @@
{{define "content"}}
<h1 class="my-4">Play {{.Name}}</h1>
<div class="ratio ratio-4x3" style="max-width: 640px; margin: 0 auto;">
<iframe id="gameFrame" src="/play/{{.Name}}/content/index.html" frameborder="0" allowfullscreen></iframe>
</div>
<p style="margin-top: 20px"><a href="/" class="btn btn-primary">Back to Softwares</a></p>
{{end}}
+31
View File
@@ -0,0 +1,31 @@
{{define "content"}}
<h1 class="my-4">Releases for {{.Software.Title}}</h1>
<div class="table-responsive">
<table class="table table-striped table-hover table-bordered">
<thead class="bg-dark text-success">
<tr>
<th>Version</th>
<th>Released At</th>
<th>Downloads</th>
</tr>
</thead>
<tbody>
{{range .Software.Releases}}
<tr>
<td>{{.Version}}</td>
<td>{{.CreatedAt.Format "2006-01-02 15:04:05"}}</td>
<td>
<div class="btn-group" role="group" aria-label="Download options">
<a href="/download/{{$.Software.Name}}/{{.Version}}/source" class="btn btn-primary btn-sm">Source</a>
<a href="/download/{{$.Software.Name}}/{{.Version}}/cartridge" class="btn btn-primary btn-sm">Cartridge</a>
</div>
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
<p><a href="/" class="btn btn-primary">Back to Softwares</a></p>
{{end}}