aboutsummaryrefslogtreecommitdiffstats
path: root/docs/versioned_docs/version-v0.21.0/14-Guides
diff options
context:
space:
mode:
Diffstat (limited to 'docs/versioned_docs/version-v0.21.0/14-Guides')
-rw-r--r--docs/versioned_docs/version-v0.21.0/14-Guides/01-legacy-container-upgrade.md66
-rw-r--r--docs/versioned_docs/version-v0.21.0/14-Guides/02-search-query-language.md68
2 files changed, 134 insertions, 0 deletions
diff --git a/docs/versioned_docs/version-v0.21.0/14-Guides/01-legacy-container-upgrade.md b/docs/versioned_docs/version-v0.21.0/14-Guides/01-legacy-container-upgrade.md
new file mode 100644
index 00000000..3c86705a
--- /dev/null
+++ b/docs/versioned_docs/version-v0.21.0/14-Guides/01-legacy-container-upgrade.md
@@ -0,0 +1,66 @@
+# Legacy Container Upgrade
+
+Hoarder's 0.16 release consolidated the web and worker containers into a single container and also dropped the need for the redis container. The legacy containers will stop being supported soon, to upgrade to the new container do the following:
+
+1. Remove the redis container and its volume if it had one.
+2. Move the environment variables that you've set exclusively to the `workers` container to the `web` container.
+3. Delete the `workers` container.
+4. Rename the web container image from `hoarder-app/hoarder-web` to `hoarder-app/hoarder`.
+
+```diff
+diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
+index cdfc908..6297563 100644
+--- a/docker/docker-compose.yml
++++ b/docker/docker-compose.yml
+@@ -1,7 +1,7 @@
+ version: "3.8"
+ services:
+ web:
+- image: ghcr.io/hoarder-app/hoarder-web:${HOARDER_VERSION:-release}
++ image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release}
+ restart: unless-stopped
+ volumes:
+ - data:/data
+@@ -10,14 +10,10 @@ services:
+ env_file:
+ - .env
+ environment:
+- REDIS_HOST: redis
+ MEILI_ADDR: http://meilisearch:7700
++ BROWSER_WEB_URL: http://chrome:9222
++ # OPENAI_API_KEY: ...
+ DATA_DIR: /data
+- redis:
+- image: redis:7.2-alpine
+- restart: unless-stopped
+- volumes:
+- - redis:/data
+ chrome:
+ image: gcr.io/zenika-hub/alpine-chrome:123
+ restart: unless-stopped
+@@ -37,24 +33,7 @@ services:
+ MEILI_NO_ANALYTICS: "true"
+ volumes:
+ - meilisearch:/meili_data
+- workers:
+- image: ghcr.io/hoarder-app/hoarder-workers:${HOARDER_VERSION:-release}
+- restart: unless-stopped
+- volumes:
+- - data:/data
+- env_file:
+- - .env
+- environment:
+- REDIS_HOST: redis
+- MEILI_ADDR: http://meilisearch:7700
+- BROWSER_WEB_URL: http://chrome:9222
+- DATA_DIR: /data
+- # OPENAI_API_KEY: ...
+- depends_on:
+- web:
+- condition: service_started
+
+ volumes:
+- redis:
+ meilisearch:
+ data:
+```
diff --git a/docs/versioned_docs/version-v0.21.0/14-Guides/02-search-query-language.md b/docs/versioned_docs/version-v0.21.0/14-Guides/02-search-query-language.md
new file mode 100644
index 00000000..fddd896c
--- /dev/null
+++ b/docs/versioned_docs/version-v0.21.0/14-Guides/02-search-query-language.md
@@ -0,0 +1,68 @@
+# Search Query Language
+
+Hoarder provides a search query language to filter and find bookmarks. Here are all the supported qualifiers and how to use them:
+
+## Basic Syntax
+
+- Use spaces to separate multiple conditions (implicit AND)
+- Use `and`/`or` keywords for explicit boolean logic
+- Use parentheses `()` for grouping conditions
+- Prefix qualifiers with `-` to negate them
+
+## Qualifiers
+
+Here's a comprehensive table of all supported qualifiers:
+
+| Qualifier | Description | Example Usage |
+| --------------- | -------------------------------------------------- | --------------------- |
+| `is:fav` | Favorited bookmarks | `is:fav` |
+| `is:archived` | Archived bookmarks | `-is:archived` |
+| `is:tagged` | Bookmarks that has one or more tags | `is:tagged` |
+| `is:inlist` | Bookmarks that are in one or more lists | `is:inlist` |
+| `url:<value>` | Match bookmarks with URL substring | `url:example.com` |
+| `#<tag>` | Match bookmarks with specific tag | `#important` |
+| | Supports quoted strings for tags with spaces | `#"work in progress"` |
+| `list:<name>` | Match bookmarks in specific list | `list:reading` |
+| | Supports quoted strings for list names with spaces | `list:"to review"` |
+| `after:<date>` | Bookmarks created on or after date (YYYY-MM-DD) | `after:2023-01-01` |
+| `before:<date>` | Bookmarks created on orbefore date (YYYY-MM-DD) | `before:2023-12-31` |
+
+### Examples
+
+```plaintext
+# Find favorited bookmarks from 2023 that are tagged "important"
+is:fav after:2023-01-01 before:2023-12-31 #important
+
+# Find archived bookmarks that are either in "reading" list or tagged "work"
+is:archived and (list:reading or #work)
+
+# Find bookmarks that are not tagged or not in any list
+-is:tagged or -is:inlist
+```
+
+## Combining Conditions
+
+You can combine multiple conditions using boolean logic:
+
+```plaintext
+# Find favorited bookmarks from 2023 that are tagged "important"
+is:fav after:2023-01-01 before:2023-12-31 #important
+
+# Find archived bookmarks that are either in "reading" list or tagged "work"
+is:archived and (list:reading or #work)
+
+# Find bookmarks that are not favorited and not archived
+-is:fav -is:archived
+```
+
+## Text Search
+
+Any text not part of a qualifier will be treated as a full-text search:
+
+```plaintext
+# Search for "machine learning" in bookmark content
+machine learning
+
+# Combine text search with qualifiers
+machine learning is:fav
+```