zhaohongxuan / obsidian-weread-plugin

Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault.
MIT License
1.21k stars 62 forks source link

功能期望:希望多段连续摘录可以保留分段 #171

Open DanShui-Yu opened 1 year ago

DanShui-Yu commented 1 year ago

分段如换气,真的非常非常希望可以自动保留原汁原味的文章结构

zhaohongxuan commented 1 year ago

没有划线的也要存储章节标题吗?

DanShui-Yu commented 1 year ago

没有划线的也要存储章节标题吗?

?没明白,我还没碰到过这种情况,都是同章节内的

Moyf commented 11 months ago

分段如换气,真的非常非常希望可以自动保留原汁原味的文章结构

同想要……不过可惜的是看了一下,微信那边返回的 markText 数据好像就是没有分段信息的 : (

image

DanShui-Yu commented 11 months ago

分段如换气,真的非常非常希望可以自动保留原汁原味的文章结构

同想要……不过可惜的是看了一下,微信那边返回的 markText 数据好像就是没有分段信息的 : (

image

用复制到剪贴板功能测试,两段之间会保留有两个空格,或许能用这个作为识别符号?

用分享书摘功能,生成的图片是保留了分段的,瞎猜一波鹅厂说不定也靠连续空格识别

Moyf commented 11 months ago

分段如换气,真的非常非常希望可以自动保留原汁原味的文章结构

同想要……不过可惜的是看了一下,微信那边返回的 markText 数据好像就是没有分段信息的 : ( image

用复制到剪贴板功能测试,两段之间会保留有两个空格,或许能用这个作为识别符号?

用分享书摘功能,生成的图片是保留了分段的,瞎猜一波鹅厂说不定也靠连续空格识别

: ( 可惜我试了一下,发现并不是普遍情况。

我目前是自己加了一些判断,把像是「引号加句号」这样的特例自动添加了空格。

在模板里把原来的 {{ highlight.highlightText }} 替换成:

{{ highlight.markText | trim | replace("      ","") | replace("。”", "。”\n> ") | replace("。“", "。\n> “")| replace("”“","”\n> “") | replace("。 ", "。\n> ") | replace("”。","”。\n> ") | replace("  ", "\n> ") }}

感兴趣可以试用一下!


对于小说之类对话比较多的情况效果很不错: image

但是学术性的长文就没啥办法了。

其实也可以考虑极端一点……比如 直接把所有的句号都替换成句号+换行 ; )

dolores824 commented 9 months ago

分段如换气,真的非常非常希望可以自动保留原汁原味的文章结构

同想要……不过可惜的是看了一下,微信那边返回的 markText 数据好像就是没有分段信息的 : ( image

用复制到剪贴板功能测试,两段之间会保留有两个空格,或许能用这个作为识别符号?

用分享书摘功能,生成的图片是保留了分段的,瞎猜一波鹅厂说不定也靠连续空格识别

希望能换行+1 发现在code里parse的时候就设置去除markText的换行了 https://github.com/zhaohongxuan/obsidian-weread-plugin/blob/b1b5dc0b7b7c6818f9e9bcbe8d2e315463f08554/src/parser/parseResponse.ts#L70C37-L70C37 markText: highlight.markText?.replace(/\n/gi, '')

zhaohongxuan commented 9 months ago

dist.zip 我把换行加上了,打了个包,解压放到插件的文件夹里就好了,你们有空可以测试一下,这是不是你们想要的效果。 @dolores824 @PupupupuTong

dolores824 commented 9 months ago

@zhaohongxuan 谢谢 大概测试了一下,分别用了replace('\n'), '\n> ')replace(' '), '\n> ')还是无法换行 随意划了几个跨段落的高亮,以下是{{highlight.markText}}和用了replace处理过的高亮一起对比的结果

image

大概是昨天看到https://github.com/zhaohongxuan/obsidian-weread-plugin/issues/171#issuecomment-1729283698 这条回复的时候用replace(' '), '\n> ')试了下发现是可以换到一些行的,但是试多几次之后发现再也换不成功行了(包括曾经成功的段落),真是吊诡了

@PupupupuTong @Moyf 可以问下怎么从console看markText数据么,谢谢

DanShui-Yu commented 9 months ago

@dolores824 我没自己折腾,就按上面作者说的,用压缩包里的js文件替换了一下原版,经历几次全部删掉再重新导入之后就可以了

DanShui-Yu commented 8 months ago

@zhaohongxuan 反复测试发现换行似乎时灵时不灵,哪怕是在同一本书里

image

image

DanShui-Yu commented 8 months ago

意外发现:不能正常换行的高亮,到移动设备上重新划一遍就正常了。或许是网页版有bug?