summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2022-10-28 10:29:25 +0300
committerYuval Adam <_@yuv.al>2022-10-28 10:29:25 +0300
commit3dd1b618de8e52565670e5ffe79ad1d82b1d9caf (patch)
treeb7fff27e1936556e92e459af1992ff07ccaff17a
parentea6813d54a5381b07eb23220ccfbe6822646aead (diff)
Implement render link filter
-rw-r--r--build.py22
-rw-r--r--templates/index.html6
2 files changed, 20 insertions, 8 deletions
diff --git a/build.py b/build.py
index 8649c73..8baadbf 100644
--- a/build.py
+++ b/build.py
@@ -29,14 +29,26 @@ for name in listdir(NAMES_DIR):
missing_fields = REQUIRED_FIELDS - set(fields.keys())
if missing_fields:
raise Exception(f"Missing required fields {missing_fields} in {name}")
-
+
names.append(fields)
+
+def render_link(value, classes):
+ name = value["name"].lower().split(" ")
+ domain = value["domain"].replace(".", "")
+ res = []
+ for part in name:
+ if part == domain:
+ url = value.get("url") or "https://" + value.get("domain")
+ res.append(f'<a href="{url}" class="{classes}">{value["domain"]}</a>')
+ else:
+ res.append(part)
+ return " ".join(res)
+
+
# render templates
-env = Environment(
- loader=PackageLoader("build"),
- autoescape=select_autoescape()
-)
+env = Environment(loader=PackageLoader("build"), autoescape=select_autoescape())
+env.filters["render_link"] = render_link
for template in TEMPLATES:
t = env.get_template(template)
index = t.render(names=names)
diff --git a/templates/index.html b/templates/index.html
index b079769..0bacce0 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -29,9 +29,9 @@
<ul>
{% for name in names %}
- <li><a href="{{ name.url or 'https://' + name.domain }}" class="link blue b f3">{{ name.name }}</a>{% if
- name.title %}<span class="light-silver ml2">{{
- name.title }}</span>{% endif %}</li>
+ <li>{{ name|render_link("link blue")|safe }}{% if name.title %}<span class="light-silver ml2">{{ name.title
+ }}</span>{% endif %}
+ </li>
{% endfor %}
</ul>
<hr>