{# Shared pieces for the free public tools (/tools/*). Included by tool_*.html. #} {% macro head(tool) -%}
Free tools · no login

{{ tool.icon }} {{ tool.name }}

{{ tool.pitch }}

{%- endmacro %} {% macro form(tool, input_value, placeholder) -%}
{%- endmacro %} {% macro error(error, url) -%} {% if error %}
Could not check{% if url %} {{ url }}{% endif %}. {{ error }}
{% endif %} {%- endmacro %} {% macro verdict(badge, klass, title, subtitle, url, checked_at) -%}
{{ badge }}
{{ title }}
{{ subtitle }}
{{ url }}{% if checked_at %} · checked {{ checked_at|dt }} from Vigil's servers{% endif %}
{{ caller() if caller }}
{%- endmacro %} {% macro passfail(rows) -%} {% for r in rows %} {% endfor %}
{{ '✓' if r.ok else '✕' }} {{ r.label }}{% if r.note %}
{{ r.note }}
{% endif %}
{{ 'pass' if r.ok else 'fail' }}
{%- endmacro %} {% macro findings(items, empty_text) -%} {% if items %}{% for f in items %}
{{ f.title }} {{ f.severity }}
{{ f.advice }}
{% endfor %}{% else %}

✓ {{ empty_text or 'Nothing to fix.' }}

{% endif %} {%- endmacro %} {% macro share(share_url) -%} {% if share_url %}
Share this result:
{% endif %} {%- endmacro %} {% macro cta(tool, url) -%}
Watch this automatically

Vigil re-checks every minute and tells you the moment something changes

Uptime checks every minute with latency history, weekly security rescans with an alert when the grade drops, SSL expiry alerts and domain expiry alerts, plus DNS-change detection. Alerts on Telegram, Slack, Discord, email or any webhook.

Monitor {{ 'this site' if url else 'your site' }} free
Free plan, no card. Set up in 60 seconds.{% if url %} Start with {{ url }}.{% endif %}
{%- endmacro %} {% macro others(tools, current, url) -%}
Run the other free checks{% if url %} on this site{% endif %}:
{% for t in tools if t.slug != current.slug %}{{ t.icon }} {{ t.name }}{% endfor %}
{%- endmacro %}