一、概述
小书匠从 8.0.11
版本开始支持脚本片段添加执行上下文参数功能.通过该功能,用户可以在执行脚本片段时,将当前文章的属性(创建时间,文章标题等),剪切板内的内容,及更多参数输出到文章上.
在阅读该文档时,建议先阅读下小书匠的片段功能 及按键绑定功能
二、使用
- 在创建片段时,必须选择
是否支持脚本
功能打开.
- 在片段正文中,输入带脚本的片段. 脚本使用 underscore.js 的 template 模板引擎
- 完成
三、片段支持的参数
1. docTtle
当前文章的标题
2. docCreateDate
当前文章的创建时间
3. docUpdateDate
当前文章的上次保存时间
4. docTagNames
当前文章的标签
5. docId
当前文章的内部 id
6. docContent
当前文章的内容
7. editorSelectionText
当前编辑器内选择的文本内容
8. clipboardText
当前剪切板内的纯文本内容(仅客户端)
9. clipboardHtml
当前剪切板内的富文本内容(仅客户端)
10. clipboardMarkdown
当前剪切板内如果包含富文本内容时,同时提供一份转化成 markdown 的内容 (仅客户端)
四、示例
1. 列出所有参数内容
- 1title: <%=docTitle%>
- 2id: <%=docId%>
- 3createDate: <%=docCreateDate%>
- 4updateDate: <%=docUpdateDate%>
- 5tagNames: <%=docTagNames%>
- 6selectionText: <%=editorSelectionText%>
- 7clipboardText:<%=clipboardText%>
- 8clipboardHtml:<%=clipboardHtml%>
- 9clipboardMarkdown: <%=clipboardMarkdown%>
2. 自动判断剪切板内容,并执行不同输出
下面的片段演示当剪切板内的内容是超链接时,执行该片段自动将超链接转换成 markdown 格式的超链接.如果用户还选中文本时,自动将选中的文本做为超链接的文字.
该片段需要用户开启 执行脚本
和 片段类型选择 codemirror
- 1<% if ( /^http[s]?:\/\//i.test(clipboardText)) {
- 2print("[" + editorSelectionText + "${cursor}](" + clipboardText + ")");
- 3} else {%><%=clipboardText%>${cursor}<%}%>