{% extends 'base.html' %} {% block content %} {% from '_helpers.jinja' import render_field %} {% from '_helpers.jinja' import render_button %} {% from '_common_fields.jinja' import render_common_settings_form %}
{{ render_field(form.url, placeholder="https://...", required=true, class="m-d") }} Some sites use JavaScript to create the content, for this you should use the Chrome/WebDriver Fetcher
{{ render_field(form.title, class="m-d") }}
{{ render_field(form.tag) }} Organisational tag/group name used in the main listing page
{{ render_field(form.minutes_between_check) }} {% if using_default_minutes %} Currently using the default global settings, change to another value if you want to be specific. {% else %} Set to blank to use the default global settings. {% endif %}
{{ render_field(form.extract_title_as_title) }}
{{ render_field(form.fetch_backend) }}

Use the Basic method (default) where your watched site doesn't need Javascript to render.

The Chrome/Javascript method requires a network connection to a running WebDriver+Chrome server, set by the ENV var 'WEBDRIVER_URL'.


Request override is currently only used by the Basic fast Plaintext/HTTP Client method.
{{ render_field(form.method) }}
{{ render_field(form.headers, rows=5, placeholder="Example Cookie: foobar User-Agent: wonderbra 1.0") }}
{{ render_field(form.body, rows=5, placeholder="Example { \"name\":\"John\", \"age\":30, \"car\":null }") }}
{{ render_field(form.ignore_status_codes) }}

Note: These settings override the global settings for this watch.
{{ render_common_settings_form(form, current_base_url) }}
Pro-tips:
  • Use the preview page to see your filters and triggers highlighted.
  • Some sites use JavaScript to create the content, for this you should use the Chrome/WebDriver Fetcher
{{ render_field(form.css_filter, placeholder=".class-name or #some-id, or other CSS selector rule.", class="m-d") }}
  • CSS - Limit text to this CSS rule, only text matching this CSS rule is included.
  • JSON - Limit text to this JSON rule, using JSONPath, prefix with "json:", use json:$ to force re-formatting if required, test your JSONPath here
  • XPath - Limit text to this XPath rule, simply start with a forward-slash, example //*[contains(@class, 'sametext')], test your XPath here
Please be sure that you thoroughly understand how to write CSS or JSONPath, XPath selector rules before filing an issue on GitHub! here for more CSS selector help.
{{ render_field(form.subtractive_selectors, rows=5, placeholder="header footer nav .stockticker") }}
  • Remove HTML element(s) by CSS selector before text conversion.
  • Add multiple elements or CSS selectors per line to ignore multiple parts of the HTML.
{{ render_field(form.ignore_text, rows=5, placeholder="Some text to ignore in a line /some.regex\d{2}/ for case-INsensitive regex ") }}
  • Each line processed separately, any line matching will be ignored (removed before creating the checksum)
  • Regular Expression support, wrap the line in forward slash /regex/
  • Changing this will affect the comparison checksum which may trigger an alert
  • Use the preview/show current tab to see ignores
{{ render_field(form.trigger_text, rows=5, placeholder="Some text to wait for in a line /some.regex\d{2}/ for case-INsensitive regex ") }}
  • Text to wait for before triggering a change/notification, all text and regex are tested case-insensitive.
  • Trigger text is processed from the result-text that comes out of any CSS/JSON Filters for this watch
  • Each line is processed separately (think of each line as "OR")
  • Note: Wrap in forward slash / to use regex example: /foo\d/
{{ render_button(form.save_button) }} {{ render_button(form.save_and_preview_button) }} Delete Create Copy
{% endblock %}