Replies: 31 comments 28 replies
-
适合 Obsidian (全文导出)
|
Beta Was this translation helpful? Give feedback.
-
适合 Obsidian (全文导出)
|
Beta Was this translation helpful? Give feedback.
-
适合 Obsidian (单条导出)
|
Beta Was this translation helpful? Give feedback.
-
适合 Obsidian (全文导出)
|
Beta Was this translation helpful? Give feedback.
-
适合 Athens / Logseq (全文导出)
备注保存到 Athens 的日期格式需要手动改为截图所示的方式,简悦暂时仅支持 |
Beta Was this translation helpful? Give feedback.
-
适合滴答清单的模板(全文)
|
Beta Was this translation helpful? Give feedback.
-
适合 Logseq 的模板(全文)
|
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
保存离线makedown的时候能否图片复制到同目录下assets文件夹 md 文件里只有图片的名称链接,现在的双链都是这样的结构,含图片的md文件图片是不显示的 |
Beta Was this translation helpful? Give feedback.
-
适合 Logseq 的模板(全文)
|
Beta Was this translation helpful? Give feedback.
-
适合 Logseq 的模板(全文)
视频演示Video_2021-12-11_234508.mp4 |
Beta Was this translation helpful? Give feedback.
-
通过quicker脚本导出到Obsidian (全文导出)需要结合 Quicker 脚本配合使用。 Quicker 脚本的相关介绍请参考:[Quicker 动作]通过 Quicker 进一步增强简悦 Markdown 定制化导出到 Obsidian 流程 · Discussion #3224 · Kenshin/simpread
最后的效果: Obsidian 编辑模式 Obsidian 预览模式 |
Beta Was this translation helpful? Give feedback.
-
一组适合用于 Deeplink 的单条标注外链方案一详细配置请看这里,下面以 Obsidian 为例 内部永久链接
外部永久链接
引申上述模板提到的功能 |
Beta Was this translation helpful? Give feedback.
-
一组适合用于 Deeplink 的单条标注外链方案二详细配置请看这里,下面以 Obsidian 为例 内部永久链接
外部永久链接
引申上述模板提到的功能 |
Beta Was this translation helpful? Give feedback.
-
Logseq 中日期格式不同解决办法看了上面很多 Logseq 模板,日期时间字段基本都是用于建立当天 journal 的 backlink,都是使用简悦中提供的模板参数( Logseq 其实提供日期的统一模板(目前用在 page/block 的 properties 中还有些 bug),了解这个技巧对于平时的使用也会有很多帮助,先看看效果: 图中的 设置方法也很简单:
;; Macros replace texts and will make you more productive.
;; For example:
;; Add this to the macros below:
;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
;; input "{{{poem red,blue}}}"
;; becomes
;; Rose is red, violet's blue. Life's ordered: Org assists you.
:macros {"ltd" "<% $1 %>"} ;; 这里的 ltd 可以修改成自己想要的字符缩写
此外,将一些常用的输入方式模板化,制作成 macro 能有效提高写作效率。 注意,目前的上面的 macro 还存在一些小 bug,例如不能在 property 中使用、紧跟在文字后面时,三个花括号前必须有空格,看图: |
Beta Was this translation helpful? Give feedback.
-
适合 Logseq 的模板(全文导出)
原来是想把 date 也放在 page property 里面的,但 Logseq 不能正常解析 property 中使用 Dynamic variable,暂时放在全文开头的位置,等待后续优化。 each 中就简单的标注及备注内容,格式和 Logseq 中自带的 PDF 标注基本一致,也参考了上面几位朋友的模板。个人习惯是既然都标注了,就要用自己的语言描述点啥,哪怕只是翻译一下,所以这种格式就够用了。下面是一张示意图: 导出使用此模板的导出方案细节请看 #3469 |
Beta Was this translation helpful? Give feedback.
-
Obsdian 模板之一版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图 |
Beta Was this translation helpful? Give feedback.
-
Obsdian 模板之二版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图 |
Beta Was this translation helpful? Give feedback.
-
Logseg · md 版版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图 |
Beta Was this translation helpful? Give feedback.
-
Logseq · org-mode 版版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图 |
Beta Was this translation helpful? Give feedback.
-
Obsdian 模板之三描述专门用于拆书时使用,通过快速标注将正文中需要的内容提取到 Obsidain,具有 保留原文结构,并且仅当存在标注、备注时才会显示 的特点。 版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图 |
Beta Was this translation helpful? Give feedback.
-
Obsidian 模板 · 高度定制版具体工作流程、所需插件和代码请参考 这篇文章。 需要的 Obsidian 插件先说核心插件:
第三方插件:
效果图 |
Beta Was this translation helpful? Give feedback.
-
Obsidian 模板 · 标注嵌入模式版具体工作流程、所需插件和代码请参考 这篇文章。 版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 同时此模板也可应用于 SimpRead Unreader Sync 2.1.0 使用时请留意模板的空格或回车。 截图稍后读
链接的 Callouts 调整为极速版链接。直接点击即可在 Obsidian 的新面板打开稍后读的本地 HTML 文件。 链接 Callouts 内新增field (URI、intURI)来给 dataview 提供查询用途。具体自行学习一下 dataview 的用法,网上有很多。 标注
把这段代码保存为 css 文件之后复制到 obsidian 的 snippets 文件夹,在外观设置中导入该 css 即可。 |
Beta Was this translation helpful? Give feedback.
-
适合Obsidian 块引用的导出模板导出选项
导出模板
效果提示在任何模板后添加 注意 |
Beta Was this translation helpful? Give feedback.
-
Logseq 模板 · 用于拆书描述专门用于拆书时使用,通过快速标注将正文中需要的内容提取到 Obsidain,具有 保留原文结构,并且仅当存在标注、备注时才会显示 的特点。 版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图 |
Beta Was this translation helpful? Give feedback.
-
Logseq 模板(Logseq 插件演示视频 中使用)截图模板稍后读模板:PROPERTIES:
:UID: {{timestamp}}
:alias: {{title}}
:source: {{url}}
:snapshot: [[http://localhost:7026/reading/{{idx}}?embed=logseq][{{idx}}]]
:tags: #SimpRead {{tags}}
:index: {{idx}}
:date: [[{{create|yyyy年mm月dd日}}]]
:END:
<%
const colors = [ '#B4D9FB', '#ffeb3b', '#a2e9f2', '#a1e0ff', '#a8ea68', '#ffb7da' ];
const my_annotations = unread.annotations.map((annote, i) => {
const color = colors[annote.color];
const uri = `http://localhost:7026/unread/${unread.idx}#id=${annote.id}`;
let res = `*** [[${uri}][📌 #${i + 1}]] ${annote.tags}
> [:p {:style {:background-color "${color}"}}
"${annote.text.replaceAll('\\', '\\\\').replaceAll('\"', '\\\"')}"]`;
if (annote.note) res += "\n\n - " + annote.note;
return res + '\n';
}).join('\n');
if (/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi.test(unread.title)) { %>
<% if ( unread.refs ) { -%>
- *外部引用* :: {{refs}}
<% } -%>
<% if (unread.desc) { -%>
** ^^摘要^^
#+BEGIN_QUOTE
<%- unread.desc %>
#+END_QUOTE
<% } -%>
** ^^标注^^
<% if (unread.annotations.length > 0) { %>
<%- my_annotations %>
<% } %>
<% } else { %>
<% if ( unread.refs ) { -%>
- *External references* :: {{refs}}
<% } -%>
<% if (unread.desc) { -%>
** ^^Abstract^^
#+BEGIN_QUOTE
<%- unread.desc %>
#+END_QUOTE
<% } -%>
** ^^Annotations^^
<% if (unread.annotations.length > 0) { %>
<%- my_annotations %>
<% } -%>
<% } %>
标注模板留空 |
Beta Was this translation helpful? Give feedback.
-
Logseq 高级模板
文章模板对应的文章 #4457 视频video-01.mp4稍后读模板<% //s-sr-unread
const refs = ((unread.refs === undefined)? false : unread.refs.split('\n'));
const tags = unread.tags;
const ar_note = unread.note.split(/\n/);
const regex = /\d\d\d\/\d\d/;
let jd_tags = tags.filter(x => x.match(regex)).map(x => String(x).replace(/(.+)/, "[[$1]]"));
let jd_tags2 = tags.filter(x => !x.match(regex)).map(x => String(x).replace(/(.+)/, "#$1"));
let jd = (jd_tags)? jd_tags.join(" ") : "";
let fileTags = (jd_tags2)? jd_tags2.join(" ") : "";
-%>
:PROPERTIES:
:ROAM_REFS: {{host}}
:ID: sr-{{idx}}-{{timestamp}}
:TIMESTAMP: [{{create|yyyy-mm-dd ddd}}]
:JD_Index: <%= jd %>
:SR_Index: {{idx}}
:Source: SimpRead
:END:
#+TITLE: {{title}}@annote
<% if ( fileTags || ar_note[0] ) { -%>
- Tags :: <%= fileTags %><%= (ar_note[0] == '')? '' : ' ' + ar_note[0].trim().split(/\s+/).map(x => x).join(' ') %>
<% } -%>
- Created :: [[{{create|yyyy-mm-dd}}]]
- Local :: [[simpread://open?type=unread&idx=<%= unread.idx %>][🌐]] [[http://localhost:7026/unread/<%= unread.idx %>?embed=logseq][📃]]
- Url :: [[{{url}}][{{title}}]]
<% if ( refs != '' ) { -%>
- Reference :: <%= refs.map(x => (x.startsWith("\[\["))? x : '[[' + x + '][link_' + refs.indexOf(x) + ']]' ).join(' ') %>
<% } -%>
<% if ( unread.backlinks ) { -%>
- Backlinks :: {{backlinks}}<% //pass -%>
<% } -%>
<% if ( unread.desc ) { -%>
* Desc
#+BEGIN_QUOTE
{{desc}}
#+END_QUOTE
<% } -%>
<% if ( ar_note[1] ) { -%>
* Note :note:
<%= ar_note.slice(1).join('\n') -%>
<% } -%>
<% for( let i = 0; i < unread.annotations.length; ++i ) { -%>
<%_
let annote = unread.annotations[i],
org_tags = annote.tags.filter(x => !x.match(/\//)),
tags = annote.tags.filter(x => x.match(/\//)),
note = annote.note.split('\n'),
style = annote.style,
id = annote.id,
backlinks = sr_tmpl_fun.parseBakinks( annote.backlinks ),
refs = ((annote.refs === undefined)? false : annote.refs.split('\n'));
const is_img = (annote.type == 'img')?((/data:image\/\w+;base64,/.test(annote.text))? 'base64':'img') : false;
const is_codeBlock = (annote.type != 'code')? false : ((tags.filter(x => x.match(/CodeSRC\/\w+/))[0])? tags.filter(x => x.match(/CodeSRC\/\w+/))[0].replace(/CodeSRC\//, "") : "shell")
let htmlTags = { '<strong>' : " *", '</strong>': "* ", '<b>' : " *", '</b>': "* ", '<code>' : " ~", '</code>': "~ ", '<s>': " +", '</s>': "+ ", '<em>': " /", "</em>": "/ ", "<sr-blockquote>": "#+BEGIN_QUOTE", "</sr-blockquote>": "#+END_QUOTE" },
replace = Object.keys(htmlTags).join('|').replace(/[<>]/g, "");
const re = new RegExp(`<(${replace})(?: .*?)?>`,"g");
let orgSyntax = annote.html.replace(re, "<$1>").replace(/(?:[\r\n])/g, "").replace(/<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)\1(?:[^>]*?)>(.*?)<\/a>/g, "[[$2][$3]]").replace(/\s{2,}/g, " ");
let orgText = orgSyntax.replace(re, m => htmlTags[m] );
// let orgText = orgSyntax.replace(/<a href="(.+?)".*?>(.*?)<\/a>/g, "[[$1][$2]]").replace(/\s{2,}/g, ' ');
let text = annote.text;
let colors = [ '#B4D9FB', '#ffeb3b', '#a2e9f2', '#a1e0ff', '#a8ea68', '#ffb7da' ],
// color = colors[ annote.color ],
def = [ '', '=!=', '', '=:=', '=≡=', '=‼='][ annote.color ]; // [ '', '=!=', '', '=DESC=', '=DEF=', '=CONCL=']
const heading = ['** ', '**** ', '*** ', '* '],
Hn = (!is_img && !is_codeBlock)? heading[ annote.style ] : (Array(+annote.color +1).join('*') + ' '),
Hn_embed = '[[http://localhost:7026/unread/' + unread.idx + '?embed=logseq#id=' + id + '][️⧨]]';
-%>
<% if ( style != '1' ) { //s-style-not-1 -%>
<%- Hn + Hn_embed %><%= (def)? " " + def : "" -%>
<% if ( !is_codeBlock && !is_img && ( !note[1]) ) { //s-if-A -%>
{{{html_format|<p>|<%- orgText %>}}} <%= '[fn:' + id + ']' -%>
<% } else { -%>
<%- note[1] -%> <%= '[fn:' + id + ']' -%>
<% } //e-if-A -%>
<%= (org_tags.length == 0)? '': ' :' + org_tags.join(':') +':' %>
:PROPERTIES:
:ID: sr-{{idx}}-<%= id %>
:END:
<% if ( (note && note[0].trim()) || tags.length > 0 ) { //s-tags -%>
<%- '- tags :: ' + tags.map(x => String(x).replace(/^/, "#")).join(' ') + ' ' + note[0] %>
<% } //e-tags -%>
<% if ( is_img == 'img' ) { //s-if-img -%>
#+ATTR_ORG: :width 700px
<%= '[[' + text.replace(/\.(gif|jpe?g|tiff?|png|webp|bmp).*$/i, ".$1") + ']]' %>
<% } else if ( is_img == 'base64' ) { -%>
<%= '![](' + text + ')' %>
<% } else { -%>
<% if ( annote.type == 'code' ) { //codeBlock -%>
#+BEGIN_SRC <%- is_codeBlock %>
<%- text.replace(/^(.)/gm, ' $1') %>
#+END_SRC
<% } else { //codeBlock -%>
<% if ( note[1] ) { //s-if-B -%>
{{{html_format|<p>|<%- orgText %>}}}
<% } //e-if-B -%>
<% } //codeBlock -%>
<% } //e-if-img -%>
<% if ( refs != '' ) { -%>
- refs :: <%= refs.map(x => ( x.startsWith("\[\[") )? x : '[[' + x + '][link_' + refs.indexOf(x) + ']]' ).join(' ') %>
<% } -%>
<% if ( backlinks ) { -%>
- backlinks :: <%= backlinks %>
<% } -%>
<% if ( note[2] !== undefined ) { -%>
<%- Array(Hn.length +1).join('*') + " 🔖 :note:" %>
<%- note.slice(2).join('\n') %>
<% } -%>
<% } else { //e-style-not-1 -%>
<% if (annote.note.startsWith('*')) { //s-if-headline -%>
<%- note[0].replace(/(\*+)/, "$1 " + Hn_embed) %>
:PROPERTIES:
:ID: sr-{{idx}}-<%= id %>
:END:
<%= note.slice(1).join('\n') %>
<% } else { //e-if-headline -%>
<%= annote.note %>
- logseq_link :: <%= '[[http://localhost:7026/unread/' + unread.idx + '?embed=logseq#id=' + id + '][️🔗]]' %> <%= '[fn:' + id + ']' %>
<% } //e-if-headline -%>
<% } -%>
<% } //e-sr-unread -%>
<% if ( unread.annotations.length > 0 ) { -%>
* Footnotes
<% for( let i = 0; i < unread.annotations.length; ++i ) { -%>
<%_
let annote = unread.annotations[i],
id = annote.id;
-%>
[fn:<%= id %>] . [[https://simpublish-fork.vercel.app/articles/<%= unread.idx %>#id=<%= id %>][🔗]] [[simpread://open?type=unread&idx=<%= unread.idx %>&id=<%= id %>][📄]]
<% } -%>
<% } -%>
<%# v.5.3.10 %>
标注模板留空 |
Beta Was this translation helpful? Give feedback.
-
Logseg · 标注嵌入模板版(Markdown)描述一般用于 将标注以 MD 2.0 模板形式导出,也就是当使用 Logseq 但选择 此模板也可使用 Logseq Plugin: SimpRead Sync 实现当左侧显示标注,右侧显示原文的一站式解决方案。 版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图 |
Beta Was this translation helpful? Give feedback.
-
Obsidian · 用于拆书描述通过快速标注的方式,将阅读模式的长文标记出仅自己需要的内容(拆书) 特点版本这是基于 Markdown 模板辅助增强 的模板,只能用在此插件中,如何使用 请看这里。 使用时请留意模板的空格或回车。 稍后读
标注
截图视频2022-11-16_16-50-46.mp4重点说明此模板同时支持 Markdown 模板辅助增强 与 Obsidian SimpRead Sync 支持 永久外链 方案,也就是当用户开通 开放平台后 后,可以使用 阅读列表 功能。 但因为两个模式的问题,所以当使用此功能时,需要留意下图所示的修改方法。 如果不是使用此功能,请按下图删除此内容(不删也没问题) 支持 Block ID,通过 关于 |
Beta Was this translation helpful? Give feedback.
-
描述
定制化导出是 2.2.0 版 最重要的功能之一,此功能针对以下用户:
与普通导出的区别
定制化导出是在简悦 导出到本地服务 的基础上,结合 同步助手 而形成的定制化操作
能做什么
教程
通过定制化导出功能支持导入到任意双链笔记
名词解释
扩展端 Markdown 定制化 称为 1.0 方案。
Markdown 模板辅助增强 插件称为 2.0 方案。
模板参数详细说明
1.0 版 请看这里
2.0 版 请看这里
模板引擎 2.0 版本
Obsdian 模板之一
Obsdian 模板之二
Obsdian 模板之三
Obsidian 模板 · 高度定制版
Obsidian 模板 · 标注嵌入模式版
Obsidian 模板 · 用于拆书
Logseg 模板· Markdown 版
Logseg 模板 · Org mode 版
Logseq 模板 · 用于拆书
Logseq 模板 · 带标注色
Logseq · 高级模板
Logseg · 标注嵌入模板版(Markdown)
模板引擎 1.0 版本
Obsidian
Logseq
Deeplink
其它
Beta Was this translation helpful? Give feedback.
All reactions