Lint template files with djLint

This commit is contained in:
David Larlet 2023-06-20 10:00:02 -04:00
parent 70e3852c0c
commit be5d27d292
No known key found for this signature in database
GPG key ID: 3E2953A359E7E7BD
13 changed files with 80 additions and 47 deletions

View file

@ -13,6 +13,10 @@ develop: ## Install the test and dev dependencies
pretty-templates: ## Prettify template files
djlint umap/templates --reformat
.PHONY: lint-templates
lint-templates: ## Lint template files
djlint umap/templates --lint
.PHONY: version
version: ## Display the current version
@hatch version

View file

@ -2,13 +2,14 @@
{% load i18n static %}
{% block content %}
<div class="content404">
<a href="/" title="{% trans 'Take me to the home page' %}">
<a href="{% url "home" %}"
title="{% trans "Take me to the home page" %}">
<h1>
4
<img src="{% static 'umap/img/logo.svg' %}">
<img alt="0" width="128px" height="128px" src="{% static "umap/img/logo.svg" %}">
4
</h1>
<h2>Not Found</h2>
</a>
</div>
{% endblock %}
{% endblock content %}

View file

@ -1,8 +1,11 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<title>Ooops</title>
<meta charset="utf-8">
<meta name="description"
content="uMap lets you create maps with OpenStreetMap layers in a minute and embed them in your site.">
<meta name="keywords" content="map, umap">
<style type="text/css">
#container {
width: 400px;
@ -16,8 +19,10 @@
<body>
<div id="container">
<img alt=""
width="128px"
height="128px"
src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMTI4IgogICBoZWlnaHQ9IjEyOCIKICAgaWQ9InN2ZzIiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC40IHI5OTM5IgogICBzb2RpcG9kaTpkb2NuYW1lPSJsb2dvLnN2ZyIKICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPSIvaG9tZS95Ym9uL0NvZGUvcHJvamVjdHMvdW1hcC91bWFwL3N0YXRpYy91bWFwL2ltZy9sb2dvX2ZpbGlncmVlLnBuZyIKICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjExNS4yIgogICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTE1LjIiPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0iYmFzZSIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSI0IgogICAgIGlua3NjYXBlOmN4PSI1OC40MDU5NTIiCiAgICAgaW5rc2NhcGU6Y3k9IjYwLjAxMTEyMiIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0icHgiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnNuYXAtcGFnZT0iZmFsc2UiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxMzY2IgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9Ijc0NCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjQiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSI+CiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQyOTg1IgogICAgICAgZW1wc3BhY2luZz0iNCIKICAgICAgIHZpc2libGU9InRydWUiCiAgICAgICBlbmFibGVkPSJ0cnVlIgogICAgICAgc25hcHZpc2libGVncmlkbGluZXNvbmx5PSJ0cnVlIgogICAgICAgZW1wY29sb3I9IiMwMDAwM2IiCiAgICAgICBlbXBvcGFjaXR5PSIwLjI1MDk4MDM5IiAvPgogIDwvc29kaXBvZGk6bmFtZWR2aWV3PgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTkyNC4zNjIxOCkiPgogICAgPGcKICAgICAgIHN0eWxlPSJzdHJva2U6bm9uZTtkaXNwbGF5OmJsb2NrIgogICAgICAgaWQ9ImxheWVyNCIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDg3OTg0MDUsMCwwLDAuMDg1OTUyMTIsLTExMS44MDEzNywxMDIzLjI4NzkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPSIvaG9tZS95Ym9uL1dvcmsvb3NtdG91Y2g2NC5wbmciCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMjguNzk5OTk5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI4Ljc5OTk5OSIgLz4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZmlsbDojMzIzZTU2O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgZD0iTSAzNi41MzEyNSA2LjE4NzUgQyAxNC45MzEzMTUgMTYuNDY3NjY5IDAgMzguNDg1OTA4IDAgNjQgQyAwIDk5LjM0NjIyNCAyOC42NTM3NzYgMTI4IDY0IDEyOCBDIDE0LjUzMTY5NyA4MS44Mjk1ODQgMy4xNDE4OTY1IDI0Ljc5MTUyIDM2LjUzMTI1IDYuMTg3NSB6IE0gNjQgMTI4IEMgOTkuMzQ2MjI0IDEyOCAxMjggOTkuMzQ2MjI0IDEyOCA2NCBDIDEyOCAzOC40ODU5MDggMTEzLjA2ODY4IDE2LjQ2NzY2OSA5MS40Njg3NSA2LjE4NzUgQyAxMjQuODU4MSAyNC43OTE1MiAxMTMuNDY4MyA4MS44Mjk1ODQgNjQgMTI4IHogIgogICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCw5MjQuMzYyMTgpIgogICAgICAgaWQ9InBhdGgyOTg3IiAvPgogICAgPGcKICAgICAgIGlkPSJnNDkxMiIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDIuNTYsMCwwLDIuNTYsLTE4MS4xMiwtMTM2Ny43NjUpIgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTp0eXBlPSJhcmMiCiAgICAgICBzdHlsZT0iZmlsbDojMzIzZTU2O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgaWQ9InBhdGg1MjYzIgogICAgICAgc29kaXBvZGk6Y3g9IjcwIgogICAgICAgc29kaXBvZGk6Y3k9IjE4IgogICAgICAgc29kaXBvZGk6cng9IjE4IgogICAgICAgc29kaXBvZGk6cnk9IjE4IgogICAgICAgZD0iTSA4OCwxOCBDIDg4LDI3Ljk0MTEyNSA3OS45NDExMjUsMzYgNzAsMzYgNjAuMDU4ODc1LDM2IDUyLDI3Ljk0MTEyNSA1MiwxOCA1Miw4LjA1ODg3NDUgNjAuMDU4ODc1LDAgNzAsMCA3OS45NDExMjUsMCA4OCw4LjA1ODg3NDUgODgsMTggeiIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMzE0MjY5NywwLDAsMS4zMTQyNjk3LC0yNy45OTg4NzgsOTM0LjUyODU1KSIgLz4KICA8L2c+Cjwvc3ZnPgo=" />
<p>Oops, Server error…</p>
<h1>Oops, Server error…</h1>
</div>
</body>
</html>

View file

@ -3,15 +3,20 @@
<html {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
<head>
<title>
{% block head_title %}{{ SITE_NAME }}{% endblock %}
{% block head_title %}
{{ SITE_NAME }}
{% endblock head_title %}
</title>
<meta charset="utf-8">
<meta name="description"
content="{% trans "uMap lets you create maps with OpenStreetMap layers in a minute and embed them in your site." %}">
<meta name="keywords" content="map, umap">
{% block extra_head %}
{% endblock extra_head %}
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
</head>
<body class="{% block body_class %}{% endblock %}">
<body class="{% block body_class %}{% endblock body_class %}">
{% block header %}
{% endblock header %}
{% block content %}

View file

@ -3,20 +3,20 @@
<h5>{% trans "Please log in with your account" %}</h5>
<div>
{% if form.non_field_errors %}
<ul class='form-errors'>
<ul class="form-errors">
{% for error in form.non_field_errors %}<li>{{ error }}</li>{% endfor %}
</ul>
{% endif %}
<form id='login_form' action="{% url 'login' %}" method="POST">
<form id="login_form" action="{% url "login" %}" method="post">
{% csrf_token %}
{{ form.username.errors }}
<input type="text"
name="username"
placeholder="{% trans 'Username' %}"
placeholder="{% trans "Username" %}"
autofocus />
{{ form.password.errors }}
<input type="password" name="password" placeholder="{% trans 'Password' %}" />
<input type="submit" value="{% trans 'Login' %}" />
<input type="password" name="password" placeholder="{% trans "Password" %}" />
<input type="submit" value="{% trans "Login" %}" />
</form>
</div>
{% endif %}

View file

@ -2,13 +2,21 @@
<div class="wrapper about_summary highlights">
<div class="row">
<div class="col quarter mwide">
<img class="colophon" src="{{ STATIC_URL }}umap/img/osm.svg" />
<img class="colophon"
src="{{ STATIC_URL }}umap/img/osm.svg"
alt=""
width="128px"
height="128px" />
<p>
{% blocktrans with osm_url="http://osm.org" %}uMap lets you create maps with <a href="{{ osm_url }}" />OpenStreetMap</a> layers in a minute and embed them in your site.{% endblocktrans %}
</p>
</div>
<div class="col umap-features-list half mwide">
<img class="colophon" src="{{ STATIC_URL }}umap/img/edit.svg" />
<img class="colophon"
src="{{ STATIC_URL }}umap/img/edit.svg"
alt=""
width="128px"
height="128px" />
<ul>
<li>{% trans "Choose the layers of your map" %}</li>
<li>{% trans "Add POIs: markers, lines, polygons..." %}</li>
@ -20,7 +28,11 @@
</ul>
</div>
<div class="col quarter mwide">
<img class="colophon" src="{{ STATIC_URL }}umap/img/opensource.svg" />
<img class="colophon"
src="{{ STATIC_URL }}umap/img/opensource.svg"
alt=""
width="128px"
height="128px" />
<p class="note">
{% blocktrans with repo_url="https://github.com/umap-project/umap" %}And it's <a href="{{ repo_url }}">open source</a>!{% endblocktrans %}
</p>

View file

@ -1,18 +1,20 @@
{% extends "base.html" %}
{% load umap_tags compress i18n %}
{% block body_class %}content{% endblock %}
{% block body_class %}
content
{% endblock body_class %}
{% block extra_head %}
{% compress css %}
{% umap_css %}
{% endcompress css %}
{% umap_js %}
{% endblock %}
{% endblock extra_head %}
{% block header %}
<header class="wrapper row">
{% include 'umap/navigation.html' with title=SITE_NAME %}
{% include "umap/navigation.html" with title=SITE_NAME %}
</header>
{% include 'umap/messages.html' with title=SITE_NAME %}
{% endblock %}
{% include "umap/messages.html" with title=SITE_NAME %}
{% endblock header %}
{% block content %}
{% if UMAP_READONLY %}
<div class="wrapper demo-instance-warning">

View file

@ -1,4 +1,4 @@
{% load i18n %}
{% load i18n %}
<footer>
<a href="https://wiki.openstreetmap.org/wiki/UMap" class="branding">uMap</a>
an OpenStreetMap project

View file

@ -1,17 +1,21 @@
{% extends "base.html" %}
{% load umap_tags compress i18n %}
{% block head_title %}{{ map.name }} - {{ SITE_NAME }}{% endblock %}
{% block body_class %}map_detail{% endblock %}
{% block head_title %}
{{ map.name }} - {{ SITE_NAME }}
{% endblock head_title %}
{% block body_class %}
map_detail
{% endblock body_class %}
{% block extra_head %}
{% compress css %}
{% umap_css %}
{% endcompress %}
{% umap_js locale=locale %}
{% if object.share_status != object.PUBLIC %}<meta name="robots" content="noindex">{% endif %}
{% endblock %}
{% endblock extra_head %}
{% block content %}
{% block map_init %}
{% include "umap/map_init.html" %}
{% endblock %}
{% endblock map_init %}
{% include "umap/map_messages.html" %}
{% endblock %}
{% endblock content %}

View file

@ -2,7 +2,7 @@
<nav class="umap-nav">
<section>
<h1>
<a href="/">{{ title }}</a>
<a href="{% url "home" %}">{{ title }}</a>
</h1>
</section>
<section>
@ -16,11 +16,11 @@
</li>
{% else %}
<li>
<a href="{% url 'login' %}" class="login">{% trans "Log in" %} / {% trans "Sign in" %}</a>
<a href="{% url "login" %}" class="login">{% trans "Log in" %} / {% trans "Sign in" %}</a>
</li>
{% endif %}
<li>
<a href="{% url 'about' %}">{% trans "About" %}</a>
<a href="{% url "about" %}">{% trans "About" %}</a>
</li>
<li>
<a href="{{ UMAP_FEEDBACK_LINK }}">{% trans "Help" %}</a>
@ -28,18 +28,18 @@
{% if user.is_authenticated %}
{% if user.has_usable_password %}
<li>
<a href="{% url 'password_change' %}">{% trans "Change password" %}</a>
<a href="{% url "password_change" %}">{% trans "Change password" %}</a>
</li>
{% endif %}
<li>
<a href="{% url 'logout' %}" class="logout">{% trans "Log out" %}</a>
<a href="{% url "logout" %}" class="logout">{% trans "Log out" %}</a>
</li>
{% endif %}
</ul>
</section>
<section>
{% if not UMAP_READONLY %}
<a href="{% url 'map_new' %}" class="button">{% trans "Create a map" %}</a>
<a href="{% url "map_new" %}" class="button">{% trans "Create a map" %}</a>
{% endif %}
</section>
</nav>

View file

@ -5,21 +5,21 @@
<p>
{% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}
</p>
<form action="{% url 'password_change' %}" method="POST">
<form action="{% url "password_change" %}" method="get">
{% csrf_token %}
{{ form.old_password.errors }}
<input type='password'
name='old_password'
placeholder='{% trans "Old password" %}'
<input type="password"
name="old_password"
placeholder="{% trans "Old password" %}"
autofocus />
{{ form.new_password1.errors }}
<input type='password'
name='new_password1'
placeholder='{% trans "New password" %}' />
<input type="password"
name="new_password1"
placeholder="{% trans "New password" %}" />
{{ form.new_password2.errors }}
<input type='password'
name='new_password2'
placeholder='{% trans "New password confirmation" %}' />
<input type='submit' value='{% trans "Change my password" %}' />
<input type="password"
name="new_password2"
placeholder="{% trans "New password confirmation" %}" />
<input type="submit" value="{% trans "Change my password" %}" />
</form>
{% endblock content %}

View file

@ -13,7 +13,7 @@
{{ count }} maps found:
{% endblocktranslate %}
</h2>
{% include "umap/map_list.html" with prefix='search_map' %}
{% include "umap/map_list.html" with prefix="search_map" %}
{% else %}
<h2>{% trans "No map found." %}</h2>
{% endif %}

View file

@ -1,15 +1,15 @@
{% load i18n %}
<div class="wrapper search_wrapper">
<div class="row">
<form action="{% url 'search' %}" method="GET">
<form action="{% url "search" %}" method="get">
<div class="col two-third mwide">
<input name="q"
type="search"
placeholder="{% trans 'Search maps' %}"
placeholder="{% trans "Search maps" %}"
value="{{ q|default:"" }}" />
</div>
<div class="col third mwide">
<input type="submit" value="{% trans 'Search' %}" class="neutral" />
<input type="submit" value="{% trans "Search" %}" class="neutral" />
</div>
</form>
</div>