summaryrefslogtreecommitdiffstats
path: root/contrib/template.jninja
diff options
context:
space:
mode:
authormsglm <msglm@techchud.xyz>2026-04-28 04:58:15 -0500
committermsglm <msglm@techchud.xyz>2026-04-28 04:58:15 -0500
commit0d2c8000d6b10bdcaa0ff547c1c0a58ebc4ef5bd (patch)
tree5e7255b7ce99936368d7d2be764aadc703309cc6 /contrib/template.jninja
downloadgetmeajob-master.tar.gz
getmeajob-master.tar.bz2
getmeajob-master.zip
Initial CommitHEADmaster
Diffstat (limited to 'contrib/template.jninja')
-rw-r--r--contrib/template.jninja77
1 files changed, 77 insertions, 0 deletions
diff --git a/contrib/template.jninja b/contrib/template.jninja
new file mode 100644
index 0000000..e8bf6fc
--- /dev/null
+++ b/contrib/template.jninja
@@ -0,0 +1,77 @@
+{# jobs is a list of dicts with the fields you specified #}
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Job Export</title>
+</head>
+<body style="font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4;color:#111;padding:18px;">
+
+{% for job in jobs %}
+ <div style="padding:14px 0;">
+ <!-- Header row -->
+ <div style="display:flex;justify-content:space-between;align-items:baseline;gap:12px;">
+ <div>
+ <a href="{{ job.job_url }}" style="font-size:18px;font-weight:600;color:#0b66c2;text-decoration:none;">
+ {{ job.title | e }}
+ </a>
+ <div style="font-size:13px;color:#444;margin-top:2px;">
+ <a href="{{ job.company_url }}" style="color:#444;text-decoration:none;">{{ job.company | e }}</a>
+ {% if job.location %}
+ — {{ job.location.city|default('') }}{% if job.location.city and job.location.state %}, {% endif %}{{ job.location.state|default('') }}{% if job.location.city or job.location.state %} • {% endif %}{{ job.location.country|default('') }}
+ {% endif %}
+ {% if job.is_remote %}
+ • Remote
+ {% endif %}
+ </div>
+ </div>
+
+ <div style="text-align:right;font-size:13px;color:#666;">
+ <div>{{ job.job_type | capitalize }}</div>
+ <div style="margin-top:6px;color:#333;font-weight:500;">
+ {% if job.job_function %}
+ {% set jf = job.job_function %}
+ {% if jf.min_amount or jf.max_amount %}
+ {{ jf.currency|default('') }}
+ {% if jf.min_amount %}{{ jf.min_amount }}{% endif %}
+ {% if jf.min_amount and jf.max_amount %}–{% endif %}
+ {% if jf.max_amount %}{{ jf.max_amount }}{% endif %}
+ <span style="font-size:12px;color:#666;">/ {{ jf.interval }}</span>
+ {% endif %}
+ <div style="font-size:12px;color:#666;margin-top:4px;">
+ Source: {{ jf.salary_source | replace('_',' ') }}
+ </div>
+ {% endif %}
+ </div>
+ <div style="font-size:12px;color:#888;margin-top:6px;">Posted: {{ job.date_posted }}</div>
+ </div>
+ </div>
+
+ <!-- Description -->
+ <div style="margin-top:10px;color:#222;">
+ <div style="white-space:pre-wrap;">{{ job.description | e }}</div>
+ </div>
+
+ <!-- Emails & Links -->
+ <div style="margin-top:10px;font-size:13px;color:#333;">
+ {% if job.emails %}
+ <div><strong>Contact:</strong> {{ job.emails | join(', ') }}</div>
+ {% endif %}
+ <div style="margin-top:6px;font-size:13px;"><a href="{{ job.job_url }}" style="color:#0b66c2;text-decoration:none;">View posting</a></div>
+ </div>
+
+ <!-- Program summary box -->
+ <div style="margin-top:12px;padding:10px;background:#f7f9fb;border:1px solid #e3e7ea;border-radius:6px;font-size:13px;color:#222;">
+ <strong style="display:block;margin-bottom:6px;">Program notes</strong>
+ <div style="white-space:pre-wrap;">{{ job.summary | default('—') | e }}</div>
+ </div>
+
+ </div>
+
+ <!-- Delimiter between jobs -->
+ <hr style="border:none;border-top:1px solid #e0e6ea;margin:12px 0;">
+{% endfor %}
+
+</body>
+</html>
+