1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00

support images in notes and portrait images

This commit is contained in:
Lukas Winkler 2023-09-26 19:29:56 +02:00
parent d980ce97be
commit bf0f0567ea
Signed by: lukas
GPG key ID: 54DE4D798D244853
4 changed files with 62 additions and 3 deletions

View file

@ -0,0 +1,46 @@
# Generated by Django 4.2.5 on 2023-09-18 14:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("campaigns", "0007_campaign_document"),
]
operations = [
migrations.AlterField(
model_name="campaign",
name="language",
field=models.CharField(
choices=[
("simple", "Other"),
("arabic", "Arabic"),
("danish", "Danish"),
("dutch", "Dutch"),
("english", "English"),
("finnish", "Finnish"),
("french", "French"),
("german", "German"),
("greek", "Greek"),
("hungarian", "Hungarian"),
("indonesian", "Indonesian"),
("irish", "Irish"),
("italian", "Italian"),
("lithuanian", "Lithuanian"),
("nepali", "Nepali"),
("norwegian", "Norwegian"),
("portuguese", "Portuguese"),
("romanian", "Romanian"),
("russian", "Russian"),
("spanish", "Spanish"),
("swedish", "Swedish"),
("tamil", "Tamil"),
("turkish", "Turkish"),
],
help_text="This is needed for the full text search to work optimally.",
max_length=100,
verbose_name="Language",
),
),
]

View file

@ -1,6 +1,6 @@
from django_jinja import library from django_jinja import library
from sorl.thumbnail import get_thumbnail from sorl.thumbnail import get_thumbnail
from sorl.thumbnail.templatetags.thumbnail import resolution from sorl.thumbnail.templatetags.thumbnail import resolution, is_portrait as is_portrait_original
from rpg_notes import settings from rpg_notes import settings
@ -8,9 +8,22 @@ from rpg_notes import settings
@library.global_function @library.global_function
def thumbnail(*args, **kwargs): def thumbnail(*args, **kwargs):
kwargs["upscale"] = False kwargs["upscale"] = False
size = args[1]
file = args[0]
if "x" not in size:
if is_portrait_original(file):
size = f"x{size}"
args = list(args)
args[1] = size
args = tuple(args)
return get_thumbnail(*args, **kwargs) return get_thumbnail(*args, **kwargs)
@library.filter
def is_portrait(file):
return is_portrait_original(file)
@library.filter @library.filter
def srcset(filename): def srcset(filename):
""" Automatically generate the srcset value based on """ Automatically generate the srcset value based on

View file

@ -6,4 +6,4 @@ from notes.models import Note
class NoteForm(ModelForm): class NoteForm(ModelForm):
class Meta: class Meta:
model = Note model = Note
fields = ["name", "aliases", "description_md", "parent"] fields = ["name", "aliases", "description_md", "parent", "image"]

View file

@ -42,7 +42,7 @@
<dd><a href="{{ note.part_of.get_absolute_url() }}">{{ note.part_of }}</a></dd> <dd><a href="{{ note.part_of.get_absolute_url() }}">{{ note.part_of }}</a></dd>
{% endif %} {% endif %}
{% if note.image %} {% if note.image %}
{% set im=thumbnail(note.image, "860", crop="center") %} {% set im=thumbnail(note.image, "500", crop="center") %}
<a href="{{ note.image.url }}" class="image-viewer"> <a href="{{ note.image.url }}" class="image-viewer">
<img class="img-fluid" src="{{ im.url }}" <img class="img-fluid" src="{{ im.url }}"
width="{{ im.width }}" width="{{ im.width }}"