diff --git a/website/πŸ”Œ Query.md b/website/πŸ”Œ Query.md index db366b6..0f468b5 100644 --- a/website/πŸ”Œ Query.md +++ b/website/πŸ”Œ Query.md @@ -12,7 +12,7 @@ The query plug is a built-in plug implementing the `` mechanism. 1. _start with_: `` 2. _end with_: `` 3. _write your query_: replace `[QUERY GOES HERE]` with any query you want using options below -4. _available query options_: Usage of options is similar to SQL except special `render` option. Render option is to use display the data in a format that you created in a separate template +4. _available query options_: Usage of options is similar to SQL except special `render` option. Render option is to use display the data in a format that you created in a separate template. * `where` * `order by` * `limit` @@ -21,6 +21,19 @@ The query plug is a built-in plug implementing the `` mechanism. P.S.: If you are a developer or have a technical knowledge to read a code and would like to know more about syntax, please check out [query grammar](https://github.com/silverbulletmd/silverbullet/blob/main/packages/plugs/query/query.grammar). +#### 2.1. Available query operators: +* `=` equals +* `!=` not equals +* `<` less than +* `<=` less than or equals +* `>` greater than +* `>=` greater than or equals +* `=~` to match against a regular expression +* `!=~` does not match this regular expression +* `in` to specify multiple values in a `WHERE` clause + +Further, you can combine multiple of these with `and`. Example `prop =~ /something/ and prop != β€œsomething”`. + ### 3. How to run a query? After writing the query, there are three options: * Open the **command palette** and run **Materialized Queries: Update** @@ -71,7 +84,7 @@ country: Germany #### 4.2 Plugs’ data sources -Certain plugs can also provide special data sources to query a certain data. Some examples are +Certain plugs can also provide special data sources to query a certain data. Some examples are: * [[πŸ”Œ Github]] provides `gh-pull` to query PRs for selected repo * [[πŸ”Œ Mattermost]] provides `mm-saved` to fetch (by default 15) saved posts in Mattermost @@ -91,16 +104,16 @@ For the sake of simplicity, we will use `page` data source and limit the results |name |lastModified |perm|tags |type|uri |repo |author | |--|--|--|--|--|--|--|--| -|SETTINGS |1659437160849|rw|undefined|undefined|undefined |undefined |undefined | -|Silver Bullet |1660051168973|rw|undefined|undefined|undefined |undefined |undefined | -|CHANGELOG |1660050383951|rw|undefined|undefined|undefined |undefined |undefined | -|Mattermost Plugin|1658755340866|rw|undefined|undefined|undefined |undefined |undefined | -|PLUGS |1659437423367|rw|undefined|undefined|undefined |undefined |undefined | -|index |1659440751554|rw|undefined|undefined|undefined |undefined |undefined | -|template/plug |1658751100952|rw|undefined|undefined|undefined |undefined |undefined | -|template/tasks |1657890041936|rw|#each|undefined|undefined |undefined |undefined | -|πŸ’‘ Inspiration |1658133917441|rw|undefined|undefined|undefined |undefined |undefined | -|πŸ”Œ Backlinks |1658760465195|rw|undefined|plug|ghr:Willyfrog/silverbullet-backlinks|https://github.com/Willyfrog/silverbullet-backlinks|Guillermo VayΓ‘| +|SETTINGS |1661112513714|rw|undefined|undefined|undefined |undefined |undefined | +|Silver Bullet |1661112513714|rw|undefined|undefined|undefined |undefined |undefined | +|CHANGELOG |1661112513714|rw|undefined|undefined|undefined |undefined |undefined | +|Mattermost Plugin|1661112513714|rw|undefined|undefined|undefined |undefined |undefined | +|PLUGS |1661112513714|rw|undefined|undefined|undefined |undefined |undefined | +|index |1661112513714|rw|undefined|undefined|undefined |undefined |undefined | +|template/plug |1661112513718|rw|undefined|undefined|undefined |undefined |undefined | +|template/tasks |1661112513718|rw|#each|undefined|undefined |undefined |undefined | +|πŸ’‘ Inspiration |1661112513718|rw|undefined|undefined|undefined |undefined |undefined | +|πŸ”Œ Backlinks |1661112513718|rw|undefined|plug|ghr:Willyfrog/silverbullet-backlinks|https://github.com/Willyfrog/silverbullet-backlinks|Guillermo VayΓ‘| #### 5.2 Simple query with a condition @@ -109,13 +122,13 @@ For the sake of simplicity, we will use `page` data source and limit the results **Result:** Okay, this what we wanted but there are also information such as perm, type and lastModified that we don't need. -|name |lastModified |perm|type|uri |repo |author | +|name |lastModified |perm|type|uri |repo |author | |--|--|--|--|--|--|--| -|πŸ”Œ Query |1660051209241|rw|plug|core:query |https://github.com/silverbulletmd/silverbullet |Silver Bullet Authors| -|πŸ”Œ Github|1660050280511|rw|plug|github:silverbulletmd/silverbullet-github/github.plug.json|https://github.com/silverbulletmd/silverbullet-github|Zef Hemel | -|πŸ”Œ Mount |1658760601369|rw|plug|github:silverbulletmd/silverbullet-mount/mount.plug.json |https://github.com/silverbulletmd/silverbullet-mount |Zef Hemel | -|πŸ”Œ Git |1658760545612|rw|plug|github:silverbulletmd/silverbullet-github/github.plug.json|https://github.com/silverbulletmd/silverbullet-github|Zef Hemel | -|πŸ”Œ Ghost |1658760515320|rw|plug|github:silverbulletmd/silverbullet-ghost/ghost.plug.json |https://github.com/silverbulletmd/silverbullet-ghost |Zef Hemel | +|πŸ”Œ Backlinks|1661112513718|rw|plug|ghr:Willyfrog/silverbullet-backlinks |https://github.com/Willyfrog/silverbullet-backlinks |Guillermo VayΓ‘ | +|πŸ”Œ Core |1661112513718|rw|plug|builtin:core |https://github.com/silverbulletmd/silverbullet |Silver Bullet Authors| +|πŸ”Œ Ghost |1661112513718|rw|plug|github:silverbulletmd/silverbullet-ghost/ghost.plug.json |https://github.com/silverbulletmd/silverbullet-ghost |Zef Hemel | +|πŸ”Œ Git |1661112513718|rw|plug|github:silverbulletmd/silverbullet-github/github.plug.json|https://github.com/silverbulletmd/silverbullet-github|Zef Hemel | +|πŸ”Œ Github |1661112513718|rw|plug|github:silverbulletmd/silverbullet-github/github.plug.json|https://github.com/silverbulletmd/silverbullet-github|Zef Hemel | @@ -125,13 +138,13 @@ For the sake of simplicity, we will use `page` data source and limit the results **Result:** Okay, this is much better. However, I believe this needs a touch from a visual perspective. -|name |author |repo | +|name |author |repo | |--|--|--| -|πŸ”Œ Query |Silver Bullet Authors|https://github.com/silverbulletmd/silverbullet | -|πŸ”Œ Github|Zef Hemel |https://github.com/silverbulletmd/silverbullet-github| -|πŸ”Œ Mount |Zef Hemel |https://github.com/silverbulletmd/silverbullet-mount | -|πŸ”Œ Git |Zef Hemel |https://github.com/silverbulletmd/silverbullet-github| -|πŸ”Œ Ghost |Zef Hemel |https://github.com/silverbulletmd/silverbullet-ghost | +|πŸ”Œ Backlinks|Guillermo VayΓ‘ |https://github.com/Willyfrog/silverbullet-backlinks | +|πŸ”Œ Core |Silver Bullet Authors|https://github.com/silverbulletmd/silverbullet | +|πŸ”Œ Ghost |Zef Hemel |https://github.com/silverbulletmd/silverbullet-ghost | +|πŸ”Œ Git |Zef Hemel |https://github.com/silverbulletmd/silverbullet-github| +|πŸ”Œ Github |Zef Hemel |https://github.com/silverbulletmd/silverbullet-github| #### 5.4 Display the data in a format defined by a template @@ -141,14 +154,14 @@ For the sake of simplicity, we will use `page` data source and limit the results **Result:** Here you go. This is the result we would like to achieve πŸŽ‰. Did you see how I used `render` and `template/plug` in a query? πŸš€ -* [[πŸ”Œ Query]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) -* [[πŸ”Œ Github]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-github)) -* [[πŸ”Œ Mount]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-mount)) -* [[πŸ”Œ Git]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-github)) +* [[πŸ”Œ Backlinks]] by **Guillermo VayΓ‘** ([repo](https://github.com/Willyfrog/silverbullet-backlinks)) +* [[πŸ”Œ Core]] by **Silver Bullet Authors** ([repo](https://github.com/silverbulletmd/silverbullet)) * [[πŸ”Œ Ghost]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-ghost)) +* [[πŸ”Œ Git]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-github)) +* [[πŸ”Œ Github]] by **Zef Hemel** ([repo](https://github.com/silverbulletmd/silverbullet-github)) -PS: You don't need select only certain fields to use templates. Templates are smart enough to get only the information needed to render the data. +PS: You don't need to select only certain fields to use templates. Templates are smart enough to get only the information needed to render the data. Therefore, following queries are same in terms of end result when using the templates. ```yaml