diff options
Diffstat (limited to 'contrib/template.jninja')
| -rw-r--r-- | contrib/template.jninja | 77 |
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> + |
