initial commit
This commit is contained in:
136
data/assets/style.css
Normal file
136
data/assets/style.css
Normal file
@@ -0,0 +1,136 @@
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.6;
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
max-width: 80%;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4 {
|
||||
font-family: Courier New, Courier, Consolas, monospace;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #f3c;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
a:hover, a:focus {
|
||||
text-decoration: none;
|
||||
background-color: #f3c;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 90%;
|
||||
border-collapse: collapse;
|
||||
margin: 12px auto;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
tr {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
tr:nth-child(odd) {
|
||||
background-color: #222; /* Light gray for odd rows */
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background-color: #444; /* hover effect for table rows */
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 10px;
|
||||
border: 2px solid #666;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #444;
|
||||
text-align: center;
|
||||
font-size: 1.1em;
|
||||
font-family: Courier New, Courier, Consolas, monospace;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: auto;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
body {
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th, td {
|
||||
display: block;
|
||||
text-align: left;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
tr {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
}
|
||||
:root {
|
||||
--card-border: #446868;
|
||||
--card-link-color: #88bebe;
|
||||
}
|
||||
.cards-container {
|
||||
width: 90%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.cards-container a {
|
||||
color: var(--card-link-color);
|
||||
}
|
||||
.cards {
|
||||
display: grid;
|
||||
grid-gap: 0.5rem;
|
||||
grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
|
||||
}
|
||||
.card {
|
||||
border: 2px solid var(--card-border);
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
.card-name {
|
||||
background-color: var(--card-border);
|
||||
font-size: 1.25rem;
|
||||
padding: 0.25rem;
|
||||
border-radius: 0.25rem 0.25rem 0 0;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
.card-content {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
.card-link {
|
||||
font-size: .95rem;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
.card-text {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
.card-slug {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
24
data/templates/grid.html
Normal file
24
data/templates/grid.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<link rel="stylesheet" href="./styles.css">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ ring_name }} List</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="cards-container">
|
||||
<h1>{{ ring_name }} List</h1>
|
||||
<p>{{ ring_description }}</p>
|
||||
<p>Add all sites with declared RSS feeds to your feed reader with this <a href ="{{ opml }}">OPML</a> link.</p>
|
||||
|
||||
{{ grid_of_sites | safe }}
|
||||
|
||||
<br>
|
||||
<footer>
|
||||
<p>Last updated: {{ current_time }} </p>
|
||||
<p>Powered by <a href="https://github.com/k3rs3d/ringfairy">ringfairy</a>!</p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
61
data/templates/index.html
Normal file
61
data/templates/index.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<link rel="stylesheet" href="./styles.css">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ ring_name }} List</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>{{ ring_name }} List</h1>
|
||||
<p>{{ ring_description }}</p>
|
||||
<p>Add all sites with declared RSS feeds to your feed reader with this <a href ="{{ opml }}">OPML</a> link.</p>
|
||||
|
||||
{% if sites %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Name</th>
|
||||
<th scope="col">URL</th>
|
||||
<th scope="col">About</th>
|
||||
<th scope="col">Owner</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for site in sites %}
|
||||
<tr>
|
||||
<td>{{ site.website.slug }}</td>
|
||||
<td>
|
||||
<a href="{{ site.website.url }}" target="_blank">{{ site.website.url }}</a>
|
||||
{% if site.website.rss %}
|
||||
<a href="{{ site.website.rss }}" target="_blank">[rss]</a>
|
||||
{% endif %}
|
||||
{% if site.website.atom %}
|
||||
<a href="{{ site.website.atom }}" target="_blank">[atom]</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ site.website.about | default(value="") }}</td>
|
||||
<td>{{ site.website.owner | default(value="") }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% if failed_sites %}
|
||||
The following member sites were not included in this iteration of the webring:
|
||||
<ul>
|
||||
{% for site in failed_sites %}
|
||||
<li>{{ site.website.url }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<br>
|
||||
<footer>
|
||||
<p>Last updated: {{ current_time }} </p>
|
||||
<p>Powered by <a href="https://github.com/k3rs3d/ringfairy">ringfairy</a>!</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
29
data/templates/random.html
Normal file
29
data/templates/random.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Redirecting...</title>
|
||||
|
||||
<style>
|
||||
body {
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<script>
|
||||
var links = []
|
||||
{% if sites %}
|
||||
{% for site in sites %}
|
||||
links.push("{{ site.website.url }}")
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
window.location.replace(links[Math.floor(Math.random() * links.length)])
|
||||
</script>
|
||||
|
||||
<body>
|
||||
<p>A fairy is guiding you to a most suitable destination...</p>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
18
data/templates/redirect.html
Normal file
18
data/templates/redirect.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url={{ url }}">
|
||||
<title>Redirecting...</title>
|
||||
|
||||
<style>
|
||||
body {
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>A fairy is teleporting you to <a href="{{ url }}">{{ url }}</a>...!</p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user