Below you can find some examples using this for specific PDF generation options.
+**Timeout**
+
+By default BookStack will wait for 15 seconds before reaching a timeout, at which point it'd consider the export process as failed, but this can be configured like so:
+
+```bash
+# Allow 30 seconds for the export process instead of the default 15
+EXPORT_PDF_COMMAND_TIMEOUT=30
+```
+
**Considerations**
- Security is a significant concern for this option and process. Input HTML will include user-editable data, and is not assured to be trustworthy & safe. Ideally, any networking or filesystem access would be disabled/prevented during conversion.
- BookStack will attempt to embed required images into the HTML data as base64 data URIs to avoid external fetching.
- BookStack will embed CSS styling into the HTML data.
- Use of this option requires running a process from PHP, which can be considered risky and may potentially be blocked by configuration, environment and/or systems like SELinux by default.
-- BookStack sets a timeout of 15 seconds for this command to return.
+- BookStack sets a default timeout of 15 seconds for this command to return, unless altered as shown above.
- BookStack will use the return status code of the command as an indicator of failure/success, while also checking that the output PDF was written to.
#### Example: Weasyprint Command Option
{<filter_name>} <br>
{<filter_name>:<filter_value>}
</td>
- <td>See below</td>
- <td>Filters perform additional advanced functionality to make your searches even more powerfull. Some filters take values but some don't need to. See below for a full list of filters available.</td>
+ <td><a href="#available-filters">See below</a></td>
+ <td>Filters perform additional advanced functionality to make your searches even more powerfull. Some filters take values but some don't need to. <a href="#available-filters">See below</a> for a full list of filters available.</td>
</tr>
</table>
+
+#### Negated Terms
+
+For exact, tag & filter search terms it's possible to negate (NOT) the search term by prefixing it with a `-`. For example searching with `-[location]` will filter out all results with the tag `location` from the search results.
+
---
### Available Filters
</td>
<td>Will require the content to have content-level permissions active. Does not return items with only inherited asset permissions.</td>
</tr>
+ <tr>
+ <td>{is_template}</td>
+ <td>
+ {is_template}
+ </td>
+ <td>Filters page results to only those that are marked as a template (will generally want to combine with with the <code>{type:page}</code> filter).</td>
+ </tr>
<tr>
<td>{viewed_by_me}</td>
<td>
</td>
<td>Restricts the types of content that will be in the search results. <br> Use of this will depend on the type of search. For example, in a chapter search only pages are shown so this has no effect.</td>
</tr>
+ <tr>
+ <td>{sort_by:<sort_method>}</td>
+ <td>
+ {sort_by:last_commented}
+ </td>
+ <td>Sort the search results in a particular order rather than the default of sorting by term match score.<br> Currently only <code>last_commented</code> is supported which will sort results based on when they were last commented upon.</td>
+ </tr>
</table>
---
<br>
-* `textbook discussion [meeting] {type:page} {created_by:me}`
+* `textbook discussion -"draft" [meeting] {type:page} {created_by:me}`
* `textbook discussion` - Search content for the words `textbook` or `discussion`
+ * `-"draft"` - excluding results that contain the exact term `draft`
* `[meeting]` - only show content that has a `meeting` tag applied
* `{type:page}` - only show pages, hide chapters and books
* `{created_by:me}` - that was created by me.