注册Block选项菜单

什么是选项菜单

在Logseq的Block左边有一个小圆点,当我们右击他的时候,会弹出一个选项菜单。我们可以进行一个命令的快速选择。

40.gif

这次我们要实现这样的一个插件。在选项菜单中加入一个选项,当我们按下它之后,为block加上#favorite标签。

通过registerBlockContextMenuItem注册选项

index.ts中。

import '@logseq/libs'
/**
 * main entry
 */
async function main () {
  logseq.Editor.registerBlockContextMenuItem("Show Message", async (e) => {
    console.log(e)
  });
}

// bootstrap
logseq.ready(main).catch(console.error)

现在我们成功注册了Context Item。接下来我们为它加入功能。

编辑Block

registerBlockContextMenuItem(tag: *string*, action: BlockCommandCallback): *unknown*

registerBlockContextMenuItem的action是这样的。而BlockCommandCallback的格式是这样的(e: IHookEvent & uuid: BlockUUID })

比如

接下来,我们使用getBlock去获得Block里的内容,再通过updateBlock去在block内容里面加一个#favorite

index.ts

实际效果:

最后更新于