Browse Source

od pom

master
Tomas Harazim 5 years ago
parent
commit
f9f0f6c026
  1. 1
      .gitignore
  2. 2
      blog/settings/base.py
  3. 17
      blog/static/css/blog.css
  4. 51
      blog/templates/base.html
  5. 2
      home/templates/home/home_page.html
  6. 2
      zapisnik/migrations/0002_blogpage.py
  7. 2
      zapisnik/migrations/0003_blogpagegalleryimage.py
  8. 23
      zapisnik/models.py
  9. 11
      zapisnik/templates/zapisnik/blog_index_page.html
  10. 2
      zapisnik/templates/zapisnik/blog_page.html

1
.gitignore

@ -129,3 +129,4 @@ dmypy.json
# Pyre type checker # Pyre type checker
.pyre/ .pyre/
media/

2
blog/settings/base.py

@ -121,7 +121,7 @@ DATABASES = {
LANGUAGE_CODE = 'cs' LANGUAGE_CODE = 'cs'
TIME_ZONE = 'europe/Prague'
TIME_ZONE = 'Europe/Prague'
USE_I18N = True USE_I18N = True

17
blog/static/css/blog.css

@ -0,0 +1,17 @@
main > .container {
padding: 60px 15px 0;
}
.footer {
background-color: #f5f5f5;
}
.footer > .container {
padding-right: 15px;
padding-left: 15px;
}
code {
font-size: 80%;
}

51
blog/templates/base.html

@ -1,7 +1,7 @@
{% load static wagtailuserbar %} {% load static wagtailuserbar %}
<!DOCTYPE html> <!DOCTYPE html>
<html class="no-js" lang="en">
<html class="no-js h-100" lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title> <title>
@ -15,20 +15,59 @@
{% endblock %} {% endblock %}
</title> </title>
<meta name="description" content="" /> <meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
{# Global stylesheets #} {# Global stylesheets #}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="{% static 'css/blog.css' %}"> <link rel="stylesheet" type="text/css" href="{% static 'css/blog.css' %}">
{% block extra_css %} {% block extra_css %}
{# Override this in templates to add extra stylesheets #} {# Override this in templates to add extra stylesheets #}
{% endblock %} {% endblock %}
</head> </head>
<body class="{% block body_class %}{% endblock %}">
{% wagtailuserbar %}
<body class="d-flex flex-column h-100 {% block body_class %}{% endblock %}">
<header>
<!-- Fixed navbar -->
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">Fixed navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse"
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
<input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
</header>
<!-- Begin page content -->
<main role="main" class="flex-shrink-0">
<div class="container">
{% block content %}{% endblock %}
</div>
</main>
{% block content %}{% endblock %}
<footer class="footer mt-auto py-3">
<div class="container">
<span class="text-muted">Place sticky footer content here.</span>
</div>
</footer>
{# Global javascript #} {# Global javascript #}
<script type="text/javascript" src="{% static 'js/blog.js' %}"></script> <script type="text/javascript" src="{% static 'js/blog.js' %}"></script>

2
home/templates/home/home_page.html

@ -7,8 +7,6 @@
{% endblock extra_css %} {% endblock extra_css %}
{% block content %} {% block content %}
{{ page.body|richtext }} {{ page.body|richtext }}

2
zapisnik/migrations/0002_blogpage.py

@ -1,4 +1,4 @@
# Generated by Django 3.1.2 on 2020-10-21 09:11
# Generated by Django 3.1.2 on 2020-10-21 09:04
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion

2
zapisnik/migrations/0003_blogpagegalleryimage.py

@ -1,4 +1,4 @@
# Generated by Django 3.1.2 on 2020-10-23 09:11
# Generated by Django 3.1.2 on 2020-10-23 09:03
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion

23
zapisnik/models.py

@ -1,19 +1,12 @@
from django.db import models from django.db import models
# Create your models here.
from wagtail.core.fields import RichTextField
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.search import index
from modelcluster.fields import ParentalKey from modelcluster.fields import ParentalKey
from wagtail.core.models import Page, Orderable from wagtail.core.models import Page, Orderable
from wagtail.core.fields import RichTextField
from wagtail.admin.edit_handlers import FieldPanel, InlinePanel from wagtail.admin.edit_handlers import FieldPanel, InlinePanel
from wagtail.images.edit_handlers import ImageChooserPanel from wagtail.images.edit_handlers import ImageChooserPanel
g
from wagtail.search import index
class BlogIndexPage(Page): class BlogIndexPage(Page):
@ -23,12 +16,12 @@ class BlogIndexPage(Page):
FieldPanel('intro', classname="full") FieldPanel('intro', classname="full")
] ]
class BlogPage(Page): class BlogPage(Page):
date = models.DateField("Post date") date = models.DateField("Post date")
intro = models.CharField(max_length=250) intro = models.CharField(max_length=250)
body = RichTextField(blank=True) body = RichTextField(blank=True)
def main_image(self): def main_image(self):
gallery_item = self.gallery_images.first() gallery_item = self.gallery_images.first()
if gallery_item: if gallery_item:
@ -45,8 +38,9 @@ class BlogPage(Page):
FieldPanel('date'), FieldPanel('date'),
FieldPanel('intro'), FieldPanel('intro'),
FieldPanel('body', classname="full"), FieldPanel('body', classname="full"),
InlinePanel('gallery_images', label="Gallery images"),
]
InlinePanel('gallery_images', label="Obrázky"),
]
class BlogPageGalleryImage(Orderable): class BlogPageGalleryImage(Orderable):
page = ParentalKey(BlogPage, on_delete=models.CASCADE, related_name='gallery_images') page = ParentalKey(BlogPage, on_delete=models.CASCADE, related_name='gallery_images')
@ -59,4 +53,3 @@ class BlogPageGalleryImage(Orderable):
ImageChooserPanel('image'), ImageChooserPanel('image'),
FieldPanel('caption'), FieldPanel('caption'),
] ]

11
zapisnik/templates/zapisnik/blog_index_page.html

@ -9,18 +9,17 @@
<div class="intro">{{ page.intro|richtext }}</div> <div class="intro">{{ page.intro|richtext }}</div>
{% for post in page.get_children %} {% for post in page.get_children %}
{% with post=post.specific %} {% with post=post.specific %}
<h2><a href="{% pageurl post %}">{{ post.title }}</a></h2> <h2><a href="{% pageurl post %}">{{ post.title }}</a></h2>
{% with post.main_image as main_image %} {% with post.main_image as main_image %}
{% if main_image %}{% image main_image fill-160x100 %}{% endif %} {% if main_image %}{% image main_image fill-160x100 %}{% endif %}
{% endwith %} {% endwith %}
<p>{{ post.intro }}</p> <p>{{ post.intro }}</p>
{# {{ post.body|richtext }} #}
{% endwith %} {% endwith %}
{% endfor %} {% endfor %}
{% endblock %}
{% endblock %}

2
zapisnik/templates/zapisnik/blog_page.html

@ -18,7 +18,7 @@
<p>{{ item.caption }}</p> <p>{{ item.caption }}</p>
</div> </div>
{% endfor %} {% endfor %}
<div style="clear: left;"></div>
<div style="clear: left"></div>
<p><a href="{{ page.get_parent.url }}">Return to blog</a></p> <p><a href="{{ page.get_parent.url }}">Return to blog</a></p>
{% endblock %} {% endblock %}
Loading…
Cancel
Save