如何开发思源挂件?如何使用思源 API?(目的是合并表格,或者将筛选后的信息生成表格)

本贴最后更新于 1088 天前,其中的信息可能已经事过景迁

各位大佬,我想开发一个自己使用的思源笔记挂件,大概作用是从已有的论文笔记里面提炼信息,制作成表格。我感觉这个需求实现起来应该比较简单。底层逻辑就是一些简单的文本处理工作,从已有 data 中筛选出需要的信息,然后输出为思源软件可读的表格数据类型就好。

我有编程的基础(两三年的 python 使用经验吧),也有文本处理的基础。但是没有前端的基础,也没有开发插件的基础。希望大佬们能给我一个学习路线,我可以自己去学。

我现在使用思源的 sql 功能,能把其他地方的表格收集起来,成这个样子:image.png

但是两个表格没办法轻松合并,而且元素也没有对齐,以后数据多了会很乱,强迫症接受不了 😭

目标是变成这个样子:

image.png

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22357 引用 • 89473 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8122 引用 • 37036 回帖 • 159 关注

相关帖子

被采纳的回答
  • 建议用挂件,挂件是动态的。但是需要一些前端开发,可以找一些前端库试试。

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Dawn970
    作者

    我大概想了一些方法来实现,第一个方法是在写论文笔记的时候,就把表格的列宽固定,然后最终 sql 汇总的效果应该不错,但是后来发现思源笔记不能识别出来 markdown 语法中的使用 html 标签来限定表格列宽,然后思源笔记本身的表格也没办法控制列宽,就 pass 了。 第二个方法就是退而求其次,不再用表格来汇总信息,而是用列表的形式,自己勉强还可以接受,不过终归是没有表格看着舒服一些。image.png

  • 其他回帖
  • 88250 1

    这个应该可以通过 Markdown 表格语法来实现,可以先试着用模板来测试看看(模板里面可以用 Markdown 语法,也可以支持 SQL 查询),但是模板是静态的,只能一次渲染,渲染后结果就不会变了。

    挂件开发请参考 Issue #1488 · siyuan-note/siyuan

    3 回复
  • Dawn970
    作者

    大大,我的需求是,每次更新一篇论文笔记(论文笔记的模板一样的,都包含一个表格),就能够自动把里面的表格汇总在另外一个地方。现在 sql 能大概实现动态汇总,就是像上文中说的那样,缺点是表格无法合并,无法对齐。我今天看了一下模板的大概使用和制作方法,感觉使用模板好像也不能实现动态汇总表格(也可能是我比较菜还没真正玩懂模板)。

  • Dawn970
    作者

    如果大大有更好的方式求告知,我建议一个以后的改进方向是在模板的使用方式可以再极客一点,比如把 python 集成进去,然后可以配合 sql 抓取到的信息,使用 python 做文本处理 生成自己需要的 markdown 源代码(可以是表格,各种图表),这样或许能更灵活更细粒度的生成动态汇总信息,也会方便各种人制作花里胡哨的模板。(也可能现在的模板里的 go template 已经可以做到这种事情了,但我不太会 go template😂 )。我现在是用模板的一个难受的地方是 sql 抓取的东西不能灵活的更细粒度的去使用。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 49 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 665 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖 • 1 关注
  • 笔记

    好记性不如烂笔头。

    308 引用 • 793 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 5 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 1 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    568 引用 • 3532 回帖 • 1 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    176 引用 • 815 回帖
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 642 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 2 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖 • 3 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    5 引用 • 7 回帖
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    105 引用 • 127 回帖 • 382 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    5 引用 • 107 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖 • 2 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    47 引用 • 25 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 407 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 2 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 4 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 30 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 351 关注