🎉 initial commit

This commit is contained in:
mi
2025-11-06 21:18:44 +10:00
commit c583d002fb
12 changed files with 749 additions and 0 deletions

10
templates/404.html Normal file
View File

@@ -0,0 +1,10 @@
{% extends "base.html" %}
{% block content %}
<div class="error-page">
<h1>404</h1>
<h2>Page Not Found</h2>
<p>Sorry, the page you're looking for doesn't exist.</p>
<a href="{{ url_for('index') }}" class="btn">Go Home</a>
</div>
{% endblock %}

23
templates/about.html Normal file
View File

@@ -0,0 +1,23 @@
{% extends "base.html" %}
{% block content %}
<div class="page-header">
<h1>About Sunday Comics</h1>
</div>
<section class="about-content">
<p>Welcome to Sunday Comics, a webcomic about life, humor, and everything in between.</p>
<h2>About the Comic</h2>
<p>Sunday Comics is updated regularly with new strips. Each comic tells a story, shares a laugh, or offers a unique perspective on everyday situations.</p>
<h2>About the Author</h2>
<p>Sunday Comics is created by [Your Name]. [Add your bio here]</p>
<h2>Updates</h2>
<p>New comics are posted [specify your schedule, e.g., "every Monday and Thursday" or "weekly"].</p>
<h2>Support</h2>
<p>If you enjoy Sunday Comics, consider sharing it with friends or supporting the comic through [Patreon/Ko-fi/etc.].</p>
</section>
{% endblock %}

26
templates/archive.html Normal file
View File

@@ -0,0 +1,26 @@
{% extends "base.html" %}
{% block content %}
<div class="page-header">
<h1>Comic Archive</h1>
<p>Browse all {{ comics|length }} comics</p>
</div>
<section class="archive-content">
<div class="archive-grid">
{% for comic in comics %}
<div class="archive-item">
<a href="{{ url_for('comic', comic_id=comic.number) }}">
<img src="{{ url_for('static', filename='images/thumbs/' + comic.filename) }}"
alt="{{ comic.title }}"
onerror="this.src='{{ url_for('static', filename='images/' + comic.filename) }}'">
<div class="archive-info">
<h3>#{{ comic.number }}: {{ comic.title }}</h3>
<p class="archive-date">{{ comic.date }}</p>
</div>
</a>
</div>
{% endfor %}
</div>
</section>
{% endblock %}

40
templates/base.html Normal file
View File

@@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}{{ title }}{% endblock %} - Sunday Comics</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
{% block extra_css %}{% endblock %}
</head>
<body>
<header>
<nav>
<div class="container">
<div class="nav-brand">
<a href="{{ url_for('index') }}">Sunday Comics</a>
</div>
<ul class="nav-links">
<li><a href="{{ url_for('index') }}" {% if request.endpoint == 'index' %}class="active"{% endif %}>Latest</a></li>
<li><a href="{{ url_for('archive') }}" {% if request.endpoint == 'archive' %}class="active"{% endif %}>Archive</a></li>
<li><a href="{{ url_for('about') }}" {% if request.endpoint == 'about' %}class="active"{% endif %}>About</a></li>
</ul>
</div>
</nav>
</header>
<main>
<div class="container">
{% block content %}{% endblock %}
</div>
</main>
<footer>
<div class="container">
<p>&copy; 2025 Sunday Comics. All rights reserved.</p>
</div>
</footer>
{% block extra_js %}{% endblock %}
</body>
</html>

45
templates/comic.html Normal file
View File

@@ -0,0 +1,45 @@
{% extends "base.html" %}
{% block content %}
<div class="comic-container">
<div class="comic-header">
<h1>{{ comic.title }}</h1>
<p class="comic-date">{{ comic.date }}</p>
</div>
<div class="comic-image">
<img src="{{ url_for('static', filename='images/' + comic.filename) }}"
alt="{{ comic.title }}"
title="{{ comic.alt_text }}">
</div>
<div class="comic-navigation">
<div class="nav-buttons">
{% if comic.number > 1 %}
<a href="{{ url_for('comic', comic_id=1) }}" class="btn btn-nav">First</a>
<a href="{{ url_for('comic', comic_id=comic.number - 1) }}" class="btn btn-nav">Previous</a>
{% else %}
<span class="btn btn-nav btn-disabled">First</span>
<span class="btn btn-nav btn-disabled">Previous</span>
{% endif %}
<span class="comic-number">Comic #{{ comic.number }}</span>
{% if comic.number < total_comics %}
<a href="{{ url_for('comic', comic_id=comic.number + 1) }}" class="btn btn-nav">Next</a>
<a href="{{ url_for('comic', comic_id=total_comics) }}" class="btn btn-nav">Latest</a>
{% else %}
<span class="btn btn-nav btn-disabled">Next</span>
<span class="btn btn-nav btn-disabled">Latest</span>
{% endif %}
</div>
</div>
{% if comic.transcript %}
<div class="comic-transcript">
<h3>Transcript</h3>
<p>{{ comic.transcript }}</p>
</div>
{% endif %}
</div>
{% endblock %}

45
templates/index.html Normal file
View File

@@ -0,0 +1,45 @@
{% extends "base.html" %}
{% block content %}
<div class="comic-container">
<div class="comic-header">
<h1>{{ comic.title }}</h1>
<p class="comic-date">{{ comic.date }}</p>
</div>
<div class="comic-image">
<img src="{{ url_for('static', filename='images/' + comic.filename) }}"
alt="{{ comic.title }}"
title="{{ comic.alt_text }}">
</div>
<div class="comic-navigation">
<div class="nav-buttons">
{% if comic.number > 1 %}
<a href="{{ url_for('comic', comic_id=1) }}" class="btn btn-nav">First</a>
<a href="{{ url_for('comic', comic_id=comic.number - 1) }}" class="btn btn-nav">Previous</a>
{% else %}
<span class="btn btn-nav btn-disabled">First</span>
<span class="btn btn-nav btn-disabled">Previous</span>
{% endif %}
<span class="comic-number">Comic #{{ comic.number }}</span>
{% if comic.number < total_comics %}
<a href="{{ url_for('comic', comic_id=comic.number + 1) }}" class="btn btn-nav">Next</a>
<a href="{{ url_for('comic', comic_id=total_comics) }}" class="btn btn-nav">Latest</a>
{% else %}
<span class="btn btn-nav btn-disabled">Next</span>
<span class="btn btn-nav btn-disabled">Latest</span>
{% endif %}
</div>
</div>
{% if comic.transcript %}
<div class="comic-transcript">
<h3>Transcript</h3>
<p>{{ comic.transcript }}</p>
</div>
{% endif %}
</div>
{% endblock %}