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:
parent
d980ce97be
commit
bf0f0567ea
4 changed files with 62 additions and 3 deletions
46
campaigns/migrations/0008_alter_campaign_language.py
Normal file
46
campaigns/migrations/0008_alter_campaign_language.py
Normal 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",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -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
|
||||||
|
|
|
@ -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"]
|
||||||
|
|
|
@ -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 }}"
|
||||||
|
|
Loading…
Reference in a new issue