added some style

This commit is contained in:
mouws 2025-12-20 03:06:03 +01:00
parent 5eb9bb64d2
commit 4226e12e15
17 changed files with 323 additions and 13 deletions

View File

@ -0,0 +1,44 @@
# Generated by Django 5.2.9 on 2025-12-19 23:30
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0002_remove_navigationsettings_github_url_and_more'),
]
operations = [
migrations.RemoveField(
model_name='navigationsettings',
name='facebook_url',
),
migrations.RemoveField(
model_name='navigationsettings',
name='gitea_url',
),
migrations.RemoveField(
model_name='navigationsettings',
name='instagram_url',
),
migrations.RemoveField(
model_name='navigationsettings',
name='youtube_url',
),
migrations.AddField(
model_name='navigationsettings',
name='github_url',
field=models.URLField(blank=True, verbose_name='GitHub URL'),
),
migrations.AddField(
model_name='navigationsettings',
name='linkedin_url',
field=models.URLField(blank=True, verbose_name='LinkedIn URL'),
),
migrations.AddField(
model_name='navigationsettings',
name='mastodon_url',
field=models.URLField(blank=True, verbose_name='Mastodon URL'),
),
]

View File

@ -0,0 +1,22 @@
# Generated by Django 5.2.9 on 2025-12-19 23:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0003_remove_navigationsettings_facebook_url_and_more'),
]
operations = [
migrations.RemoveField(
model_name='navigationsettings',
name='github_url',
),
migrations.AddField(
model_name='navigationsettings',
name='gitea_url',
field=models.URLField(blank=True, verbose_name='Gitea URL'),
),
]

View File

@ -0,0 +1,36 @@
# Generated by Django 5.2.9 on 2025-12-19 23:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0004_remove_navigationsettings_github_url_and_more'),
]
operations = [
migrations.RemoveField(
model_name='navigationsettings',
name='linkedin_url',
),
migrations.RemoveField(
model_name='navigationsettings',
name='mastodon_url',
),
migrations.AddField(
model_name='navigationsettings',
name='facebook_url',
field=models.URLField(blank=True, verbose_name='Facebook URL'),
),
migrations.AddField(
model_name='navigationsettings',
name='instagram_url',
field=models.URLField(blank=True, verbose_name='Instagram URL'),
),
migrations.AddField(
model_name='navigationsettings',
name='youtube_url',
field=models.URLField(blank=True, verbose_name='Youtube URL'),
),
]

View File

@ -0,0 +1,42 @@
# Generated by Django 5.2.9 on 2025-12-20 00:19
import django.db.models.deletion
import uuid
import wagtail.fields
import wagtail.models.preview
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0005_remove_navigationsettings_linkedin_url_and_more'),
('wagtailcore', '0096_referenceindex_referenceindex_source_object_and_more'),
]
operations = [
migrations.CreateModel(
name='FooterText',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('translation_key', models.UUIDField(default=uuid.uuid4, editable=False)),
('live', models.BooleanField(default=True, editable=False, verbose_name='live')),
('has_unpublished_changes', models.BooleanField(default=False, editable=False, verbose_name='has unpublished changes')),
('first_published_at', models.DateTimeField(blank=True, db_index=True, null=True, verbose_name='first published at')),
('last_published_at', models.DateTimeField(editable=False, null=True, verbose_name='last published at')),
('go_live_at', models.DateTimeField(blank=True, null=True, verbose_name='go live date/time')),
('expire_at', models.DateTimeField(blank=True, null=True, verbose_name='expiry date/time')),
('expired', models.BooleanField(default=False, editable=False, verbose_name='expired')),
('body', wagtail.fields.RichTextField()),
('latest_revision', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.revision', verbose_name='latest revision')),
('live_revision', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.revision', verbose_name='live revision')),
('locale', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailcore.locale', verbose_name='locale')),
],
options={
'verbose_name_plural': 'Footer Text',
'abstract': False,
'unique_together': {('translation_key', 'locale')},
},
bases=(wagtail.models.preview.PreviewableMixin, models.Model),
),
]

View File

@ -1,29 +1,71 @@
from django.db import models
from wagtail.admin.panels import (
FieldPanel,
MultiFieldPanel,
PublishingPanel,
)
from wagtail.fields import RichTextField
from wagtail.models import (
DraftStateMixin,
PreviewableMixin,
RevisionMixin,
TranslatableMixin,
)
from wagtail.contrib.settings.models import (
BaseGenericSetting,
register_setting,
)
from wagtail.snippets.models import register_snippet
@register_setting
class NavigationSettings(BaseGenericSetting):
youtube_url = models.URLField(verbose_name="Youtube URL", blank=True)
facebook_url = models.URLField(verbose_name="Facebook URL", blank=True)
instagram_url = models.URLField(verbose_name="Instagram URL", blank=True)
facebook_url = models.URLField(verbose_name="Facebook URL", blank=True)
gitea_url = models.URLField(verbose_name="Gitea URL", blank=True)
panels = [
MultiFieldPanel(
[
FieldPanel("youtube_url"),
FieldPanel("facebook_url"),
FieldPanel("instagram_url"),
FieldPanel("facebook_url"),
FieldPanel("gitea_url"),
],
"Social settings",
)
]
@register_snippet
class FooterText(
DraftStateMixin,
RevisionMixin,
PreviewableMixin,
TranslatableMixin,
models.Model,
):
body = RichTextField()
panels = [
FieldPanel("body"),
PublishingPanel(),
]
def __str__(self):
return "Footer text"
def get_preview_template(self, request, mode_name):
return "base.html"
def get_preview_context(self, request, mode_name):
return {"footer_text": self.body}
class Meta(TranslatableMixin.Meta):
verbose_name_plural = "Footer Text"

View File

@ -0,0 +1,5 @@
{% load wagtailcore_tags %}
<div>
{{ footer_text|richtext }}
</div>

View File

View File

@ -0,0 +1,24 @@
from django import template
from wagtail.models import Site
from base.models import FooterText
register = template.Library()
@register.inclusion_tag("base/includes/footer_text.html", takes_context=True)
def get_footer_text(context):
footer_text = context.get("footer_text", "")
if not footer_text:
instance = FooterText.objects.filter(live=True).first()
footer_text = instance.body if instance else ""
return {
"footer_text": footer_text,
}
@register.simple_tag(takes_context=True)
def get_site_root(context):
return Site.find_for_request(context["request"]).root_page

Binary file not shown.

0
jacksbastards/db.sqlite3 Normal file
View File

View File

@ -0,0 +1,58 @@
*,
::before,
::after {
box-sizing: border-box;
}
html {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif, Apple Color Emoji, "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
body {
min-height: 100vh;
max-width: 800px;
margin: 0 auto;
padding: 10px;
display: grid;
gap: 3vw;
grid-template-rows: min-content 1fr min-content;
background-image: url('/media/images/f6c80e0e-25d3-4915-a92f-a733939cf9.2e16d0ba.fill-480x320.jpg');
background-repeat: no-repeat;
background-size: cover;
background-attachment: fixed;
background-position: center center;
height: 100%;
width: 100%;
}
a {
color: currentColor;
}
h1 {
font-family: verdana;
font-size: 300%;
}
footer {
border-top: 2px dotted;
text-align: center;
}
header {
border-bottom: 2px dotted;
}
.template-homepage main {
text-align: center;
}
.skip-link {
position: absolute;
top: -30px;
}
.skip-link:focus-visible {
top: 5px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -1,5 +1,8 @@
{% load static wagtailcore_tags wagtailuserbar %}
{# Remove wagtailuserbar: #}
{% load static wagtailcore_tags %}
<!DOCTYPE html>
<html lang="en">
<head>
@ -23,6 +26,13 @@
<base target="_blank">
{% endif %}
{# Add supported color schemes: #}
<meta name="color-scheme" content="light dark">
{# Add a favicon with inline SVG: #}
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🏴‍☠️</text></svg>"/>
{# Global stylesheets #}
<link rel="stylesheet" type="text/css" href="{% static 'css/jacksbastards.css' %}">
@ -32,9 +42,13 @@
</head>
<body class="{% block body_class %}{% endblock %}">
{% wagtailuserbar %}
{% include "includes/header.html" %}
{# Wrap your block content within a <main> HTML5 tag: #}
<main id="main">
{% block content %}{% endblock %}
</main>
{% include "includes/footer.html" %}

View File

@ -1,18 +1,21 @@
{# Load navigation_tags at the top of the file: #}
{% load navigation_tags %}
<footer>
<p>Built with Wagtail</p>
{% with youtube_url=settings.base.NavigationSettings.youtube_url facebook_url=settings.base.NavigationSettings.facebook_url instagram_url=settings.base.NavigationSettings.instagram_url gitea_url=settings.base.NavigationSettings.gitea_url %}
{% if youtube_url or facebook_url or instagram_url or gitea_url %}
{% with youtube_url=settings.base.NavigationSettings.youtube_url instagram_url=settings.base.NavigationSettings.instagram_url facebook_url=settings.base.NavigationSettings.facebook_url gitea_url=settings.base.NavigationSettings.gitea_url %}
{% if youtube_url or instagram_url or facebook_url or gitea_url %}
<p>
Follow me on:
Follow us on:
{% if youtube_url %}
<a href="{{ youtube_url }}">Youtube</a>
{% endif %}
{% if facebook_url %}
<a href="{{ facebook_url }}">Facebook</a>
{% endif %}
{% if instagram_url %}
<a href="{{ instagram_url }}">Instagram</a>
{% endif %}
{% if facebook_url %}
<a href="{{ facebook_url }}">Facebook</a>
{% endif %}
{% if gitea_url %}
<a href="{{ gitea_url }}">Gitea</a>
@ -20,4 +23,7 @@
</p>
{% endif %}
{% endwith %}
{# Add footer_text: #}
{% get_footer_text %}
</footer>

View File

@ -0,0 +1,17 @@
{% load wagtailcore_tags navigation_tags wagtailuserbar %}
<header>
<a href="#main" class="skip-link">Skip to content</a>
{% get_site_root as site_root %}
<nav>
<p>
<a href="{% pageurl site_root %}">Home</a> |
{% for menuitem in site_root.get_children.live.in_menu %}
{# Add the child pages of your HomePage that have their `Show in menu` checked #}
<a href="{% pageurl menuitem %}">{{ menuitem.title }}</a>{% if not forloop.last %} | {% endif %}
{% endfor %}
</p>
</nav>
</header>