Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] 模板支持 #30

Open
Steven-AA opened this issue Apr 24, 2024 · 10 comments
Open

[Feature Request] 模板支持 #30

Steven-AA opened this issue Apr 24, 2024 · 10 comments

Comments

@Steven-AA
Copy link

能否按照模板导入flomo,不用太复杂,我只是想添加一些YAML,created_time 之类的,能够用上flomo的实际创建时间,而不是导入的时间。

@jia6y
Copy link
Owner

jia6y commented Apr 24, 2024

关于创建时间,每一条应该是以实际创建时间记录的。您遇到了使用导入时间记录的情况了吗?
image

@Steven-AA
Copy link
Author

我想把这个时间写到YAML/Property里面,方便其他插件识别,比如 Thino。

@Steven-AA
Copy link
Author

我所期望的笔记内容:

---
id: memoID
createdAt: YYYY/MM/DD HH:mm:ss
---

content

能允许用户自行修改模板可能还是比较麻烦的话,我在尝试自己修改 core.ts 来编译一个我自己用的插件版本。
我有编程基础但还没尝试过ob插件开发相关的内容,目前我还缺少:

  • 如何获取 flomo 的 memoID
  • 如何编译一个插件

您是否方便提供一些指导,关于如何开始开发和调试这一插件相关的方法/文档?

@jia6y
Copy link
Owner

jia6y commented Apr 29, 2024

没问题 :)

  1. clone 这个项目到本地
  2. 打开“终端”进入项目目录
  3. 运行“npm run dev”
  4. 当你做了任何修改,就会自动编译成main.js
  5. 把main.js拷贝到 你当前obsidian vault下的 “.obsidian -> plugins -> flomo importer” 下面替换原来的
  6. 重启Ob就能生效

(Step5 - 还可以先复制一份 flomo importer 为其他名字,例如flomo importer test 啥的,然后把main.js放进去,这样就不影响原来的插件了。)

@jia6y
Copy link
Owner

jia6y commented Apr 29, 2024

文档不是很多,想要开发插件,只能参考官方文档和参考别人写的插件。

@jia6y
Copy link
Owner

jia6y commented Apr 29, 2024

另外你指的memoID是啥?
如果要添加模版内容,加在core.ts第77行就行。

@Steven-AA
Copy link
Author

成功了,感谢!
现在Thino 可以正确识别flomo创建的日期了,后续我应该会把笔记第一行的日期去除。
image

            const formattedDateTime = dateTime.replace(/-/g, '/');
            const crypto = require('crypto');
            const id = crypto.randomBytes(12).toString('hex');
……
            res.push({
                "title": title,
                "date": dateTime.split(" ")[0],
                "content": "---\nid: "+ id +"\ncreatedAt: "+ formattedDateTime 
                        +"\ntag: \n  - thino/multi\n---\n\n📅 [[" + dateTime.split(" ")[0] + "]]"+ " " + dateTime.split(" ")[1] + "\n\n" + content,
            })

@Steven-AA
Copy link
Author

memoID 会在复制memo链接时出现在链接中
image

Thino 似乎需要这样一个id来追踪卡片,如果没有id, 新的id会被创建且覆盖 createdAt。
因此我想把flomo 的 memoID 拿来做 id。
但是我在导出的html里面没有找到 memoID, 看来是没有办法了。
image

目前用的是随机生成的 id, 缺点大概是每次导入都会重新生成一遍新id, 所有卡片就全重来了,量大了可能每次导入都得混乱一会,等重新识别。

@jia6y
Copy link
Owner

jia6y commented May 5, 2024

👍厉害。
网页上的memoID在导出的文件里不存在,所以我在暂时没法获取到。我找时间研究研究。

@jia6y
Copy link
Owner

jia6y commented May 5, 2024

memoID可以用时间戳的md5生成,这样每次都一样且不会有重复的了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants