1
0

Merge branch 'main' of github.com:silverbulletmd/silverbullet

This commit is contained in:
Zef Hemel 2022-12-28 14:51:04 +01:00
commit 982c3c2b1a
4 changed files with 21 additions and 5 deletions

View File

@ -180,7 +180,9 @@ export class Space extends EventEmitter<SpaceEvents> {
async fetchAttachmentList(): Promise<AttachmentMeta[]> {
return (await this.space.fetchFileList()).filter(
(fileMeta) =>
!fileMeta.name.endsWith(".md") && !fileMeta.name.endsWith(".plug.json"),
!fileMeta.name.endsWith(".md") &&
!fileMeta.name.endsWith(".plug.json") &&
fileMeta.name !== "data.db",
);
}

7
plugs/core/attachment.ts Normal file
View File

@ -0,0 +1,7 @@
import { QueryProviderEvent } from "$sb/app_event.ts";
import { applyQuery } from "$sb/lib/query.ts";
import { space } from "$sb/silverbullet-syscall/mod.ts";
export async function attachmentQueryProvider({ query }: QueryProviderEvent) {
return applyQuery(query, await space.listAttachments());
}

View File

@ -66,6 +66,12 @@ functions:
command:
name: "Editor: Toggle Read Only Mode"
# Attachments
attachmentQueryProvider:
path: ./attachment.ts:attachmentQueryProvider
events:
- query:attachment
# Backlinks
indexLinks:
path: "./page.ts:indexLinks"

View File

@ -54,6 +54,7 @@ Start writing `<!— #query` or simply use `/query` slash command, it will show
#### 4.1. Available data sources
- `page`: list of all pages
- `attachment`: list of all attachments
- `task`: list of all tasks created with `[ ]`
- `full-text`: use it with `where phrase = "SOME_TEXT"`. List of all pages where `SOME_TEXT` is mentioned
- `item`: list of ordered and unordered items such as bulleted lists
@ -162,7 +163,7 @@ For the sake of simplicity, we will use the `page` data source and limit the res
**Goal:** We would like to get all plug pages sorted by last modified time.
**Result:** Okay, this is what we wanted but there is also information such as `perm`, `type` and `lastModified` that we don't need.
**Result:** Okay, this is what we wanted but there is also information such as `perm`, `type` and `lastModified` that we don't need.
<!-- #query page where type = "plug" order by lastModified desc limit 5 -->
|name |lastModified |contentType |size|perm|type|repo |uri |author |share-support|
@ -199,10 +200,10 @@ from a visual perspective.
**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 page select name author repo uririri where type = "plug" order by lastModified desc limit 5 render [[template/plug]] -->
* [[🔌 Directive]]
* [[🔌 Directive]]
* [[🔌 Backlinks]] by **Guillermo Vayá** ([repo](https://github.com/Willyfrog/silverbullet-backlinks))
* [[🔌 Collab]]
* [[🔌 Tasks]]
* [[🔌 Collab]]
* [[🔌 Tasks]]
* [[🔌 Share]]
<!-- /query -->