当前位置: 首页 > news >正文

0-1开发自己的obsidian plugin DAY 6

今天也没少写bug,遇到了离奇的问题,很难说已经了解具体原因。阶段性总结分享一下目前比较确定的内容。

我想要实现的功能是从settingtab获取键入的内容并且另外保存到一个.json文件中。

一种可行的方式是先用:

const absPath = app.vault.adapter.basePath;
const PATH_TO_JSON = `${absPath}/.obsidian/plugins/your-plugin-name/src/data.json`;

提供当前打开的 Obsidian 笔记库的绝对路径(注意替换这里的your-plugin-name和最后的data.json)

再用fs写入你的data_to_save:

import * as fs from 'fs';const jsonString = JSON.stringify(data_to_save, null, 2);
//new Notice(`Saving settings to ${PATH_TO_JSON}`);
await fs.promises.writeFile(PATH_TO_JSON, jsonString, 'utf8');

---------------------------------------------------

中间copilot/chatgpt给我提供了两种比较迷的解法,

一是`${this.manifest.dir},它只能获取从.obsidian之后的(半截子)路径,所以总是写不成功(害我一直去检查拼写 明明都是对的)

二是__dirname,这个的路径是:Applications/obsidian.app/contents/resources/electron.asar/renderer

这两个都是不可以的。


http://www.mrgr.cn/news/40080.html

相关文章:

  • linux驱动编程——等待队列
  • 如何利用 StarRocks 加速 Iceberg 数据湖的查询效率
  • 【C++篇】启航——初识C++(下篇)
  • MongoDB的查询/超详细/表达式符号
  • 脸爱云管理系统存在任意文件上传漏洞
  • 【C++算法】8.双指针_三数之和
  • Ubuntu VSCode Docker 权限
  • 深入浅出MySQL事务处理:从基础概念到ACID特性及并发控制
  • YOLO11震撼发布!
  • ubuntu server 常用配置
  • “顶级”面试官告诉你 这些Java 面试问题一定有
  • Windows环境Apache httpd 2.4 web服务器加载PHP8:Hello,world!
  • 【微服务】前端微服务qiankun 2.x主子应用通信代码片段
  • SystemC学习(一)——环境安装
  • 软件设计师——计算机网络
  • 两个示例分析系统优化的选择
  • 【微信小程序前端开发】入门Day01 —— 小程序页面组成、组件使用及协同开发发布指南
  • 解决$‘r‘ command not found或者文件夹显示’tvsf 33‘$‘r‘
  • USB 3.1 标准 A 型插头到 USB 3.1 Micro-B 型插头电缆组件的电线连接
  • 裸金属服务器与虚拟机、物理机区别