@ -121,8 +121,8 @@ See the wiki for more information https://github.com/dgtlmoon/changedetection.io
## Filters
## Filters
XPath, JSONPath, jq, and CSS support comes baked in! You can be as specific as you need, use XPath exported from various XPath element query creation tools.
XPath, JSONPath, jq, and CSS support comes baked in! You can be as specific as you need, use XPath exported from various XPath element query creation tools.
(We support LXML `re:test`, `re:math` and `re:replace`.)
(We support LXML `re:test`, `re:math` and `re:replace`.)
## Notifications
## Notifications
@ -163,7 +163,11 @@ This will re-parse the JSON and apply formatting to the text, making it super ea
For more complex parsing, filtering, and modifying of JSON data, jq is recommended due to the built-in operators and functions. Refer to the [documentation](https://stedolan.github.io/jq/manual/) for more information on jq.
For more complex parsing, filtering, and modifying of JSON data, jq is recommended due to the built-in operators and functions. Refer to the [documentation](https://stedolan.github.io/jq/manual/) for more information on jq.
The example below adds the price in dollars to each item in the JSON data, and then filters to only show items that are greater than 10.
Notes:
- `jq` must be added manually separately from the installation of changedetection.io (simply run `pip3 install jq`)
- `jq` is not available on Windows or must be manually compiled (No "wheel" package available on pypi)
- The example below adds the price in dollars to each item in the JSON data, and then filters to only show items that are greater than 10.
<li>CSS - Limit text to this CSS rule, only text matching this CSS rule is included.</li>
<li>CSS - Limit text to this CSS rule, only text matching this CSS rule is included.</li>
<li>JSON - Limit text to this JSON rule, using either <ahref="https://pypi.org/project/jsonpath-ng/"target="new">JSONPath</a> or <ahref="https://stedolan.github.io/jq/"target="new">jq</a>.
<li>JSON - Limit text to this JSON rule, using either <ahref="https://pypi.org/project/jsonpath-ng/"target="new">JSONPath</a> or <ahref="https://stedolan.github.io/jq/"target="new">jq</a> (if installed).
<ul>
<ul>
<li>JSONPath: Prefix with <code>json:</code>, use <code>json:$</code> to force re-formatting if required, <ahref="https://jsonpath.com/"target="new">test your JSONPath here</a>.</li>
<li>JSONPath: Prefix with <code>json:</code>, use <code>json:$</code> to force re-formatting if required, <ahref="https://jsonpath.com/"target="new">test your JSONPath here</a>.</li>
{% if jq_support %}
<li>jq: Prefix with <code>jq:</code> and <ahref="https://jqplay.org/"target="new">test your jq here</a>. Using <ahref="https://stedolan.github.io/jq/"target="new">jq</a> allows for complex filtering and processing of JSON data with built-in functions, regex, filtering, and more. See examples and documentation <ahref="https://stedolan.github.io/jq/manual/"target="new">here</a>.</li>
<li>jq: Prefix with <code>jq:</code> and <ahref="https://jqplay.org/"target="new">test your jq here</a>. Using <ahref="https://stedolan.github.io/jq/"target="new">jq</a> allows for complex filtering and processing of JSON data with built-in functions, regex, filtering, and more. See examples and documentation <ahref="https://stedolan.github.io/jq/manual/"target="new">here</a>.</li>
{% else %}
<li>jq support not installed</li>
{% endif %}
</ul>
</ul>
</li>
</li>
<li>XPath - Limit text to this XPath rule, simply start with a forward-slash,
<li>XPath - Limit text to this XPath rule, simply start with a forward-slash,
@ -198,7 +202,7 @@ User-Agent: wonderbra 1.0") }}
</ul>
</ul>
</li>
</li>
</ul>
</ul>
Please be sure that you thoroughly understand how to write CSS, JSONPath, XPath, or jq selector rules before filing an issue on GitHub! <a
Please be sure that you thoroughly understand how to write CSS, JSONPath, XPath{% if jq_support %}, or jq selector{%endif%} rules before filing an issue on GitHub! <a
href="https://github.com/dgtlmoon/changedetection.io/wiki/CSS-Selector-help">here for more CSS selector help</a>.<br/>
href="https://github.com/dgtlmoon/changedetection.io/wiki/CSS-Selector-help">here for more CSS selector help</a>.<br/>