本文将持续更新 Trilium 的使用技巧
1、怎么快速引用笔记
1.1 引用方式1:输入@就可快速调用笔记
1.2 引用方式2:在输入方左侧点击就可以查看到一个 Trilium
三叶草,就可以选择笔记
插入后的效果
2、怎么嵌入笔记
上面的笔记是嵌入一个标题连接,如果你想把整个笔记嵌入到当前笔记中直接显示就可以采用下面的方式
3、怎么分享笔记
分享笔记可以在公网可以看到,也可以分享给好友。
4、怎么加密笔记
加密笔记由两种方式,第一种是笔记里面加密访问,一个是分享给好友,需要输入账号密码
4.1 第一种:在笔记后台访问笔记的时候输入密码
选择笔记右键就可以直接添加
4.2 第二种:分享出去的文章,需要输入密码才能访问笔记
在笔记的属性栏目添加一个属性
#shareCredentials="username:password" # username 是需要输入的用户 password是输入访问的密码
如果是使用本博客主题,配置方式在属性配置里面直接输入账号和密码,格式与官方要求一致:shmaur:123
5、通过 share 分享到 html 中显示内嵌笔记
通过第2点分享的在笔记内可以显示,但是在分享后不会显示;需要使用本主题,使用本主题后默认可以使用。
以下是嵌入笔记示例
============ 嵌入开始 ===================
============ 嵌入结束 ===================
6、分享出去的文章树,想隐藏其中一个节点
官方配置在属性中配置:
#shareHiddenFromTree
本博客主题配置:
7、分享出去的是一串字符串,不能够被识别,那就可以添加一个别名
官方配置方式:
#shareAlias=TriliumSkill.html
本博客配置方式:
8、克隆笔记
对于作者对于这个功能的定义是克隆,但是直观理解就是复制一份副本,但是实际上不是。比如复制了一份笔记,如果两份里面随便修改一个,都会跟着进行同步。
默认复制粘贴也是这种效果,如果需要创建一份独立不受影响的副本则需要
9、文章标题序号及快捷键
以下为 Trilium 自动生成的标题序号
快捷键:
tab:增加缩进
shift + tab:缩减缩进
shift+回车:可以无格式小换行且与上一行对齐
- 一级标题
- 二级标题
一级标题
接着上个段落自动生成序而我认为
四单反
- 二级标题
- 二级标题
- 三级标题
- 三级标题
- 三级标题
- 四级标题
- 四级标题
- 五级标题
- 五级标题
- 六级标题
- 六级标题
- 七级标题
- 七级标题
- 一级标题
10、右侧笔记目录怎么出现
右侧目录为Trilium自带效果,默认超过5个标题的时候会显示,可以进行调整。
11、怎么添加笔记模板
在属性中添加 template
即可,添加成功后,这个笔记的内容属性都会被使用,如果是继承属性则会继承到所有添加的笔记中。
12、直接在笔记中打开电脑本地文件路径,双击打开
内容来自官方 https://github.com/zadam/trilium/discussions/1549
示例效果:
使用方法:
1、复制以下代码
async function OpenLocalPath(event) {
// Check if the event was a Ctrl+double click.
if (event.ctrlKey) {
var path = event.target.innerText;
console.log(`>> ctrl + double_click get line content:\n${path}`)
//------ Check if the text content contain a file path. ------
if (/[A-Z]:\\.*/.test(path)) {
var path = path.match(/[A-Z]:\\.*/)[0]
console.log(`>> Open local path: ${path}`)
// Use the PathLinkerApi to open the file at the path.
await document.PathLinkerApi.runAsyncOnBackendWithManualTransactionHandling(async (path) => {
const shell = require('electron').shell;
await shell.openPath(path);
return;
}, [path]);
}
}
}
const TEMPLATE = `
<div style="padding: 10px; border-top: 1px solid var(--main-border-color); contain: none;">
<script>
${OpenLocalPath.toString()}
document.addEventListener('dblclick', OpenLocalPath);
</script>
</div>`;
class PathLinkerWidget extends api.NoteContextAwareWidget {
constructor(...args) {
super(...args);
this.balloonEditorCreate = null;
}
get position() {
// higher value means position towards the bottom/right
return 100;
}
get parentWidget() { return 'center-pane'; }
doRender() {
this.$widget = $(TEMPLATE);
this.$widget.hide();
// store API in document to access it from callback
document.PathLinkerApi = api;
return this.$widget;
}
}
let widget = new PathLinkerWidget();
console.log(">> Loaded PathLinkerWidget");
module.exports = widget;
到笔记中创建一个 code
的笔记,并且为 js frontend
类型,并且为这个笔记添加一个属性:#widget
添加属性
13、统计做了多少笔记
笔记系统默认有个统计,可以在这里查看到
14、删除通过 js 导入到左侧的按钮
15、怎么创建模板文件
比如创建一个读书笔记,再任意一个位置创建一个笔记,再属性里面添加#template
即可;再右键创建的时候就能够看到刚刚创建的模板。
15、怎么让无序标题可以折叠
看效果,原文地址:https://github.com/zadam/trilium/issues/1850
上代码,使用方式:
1、创建一个js笔记,类型为js
2、再笔记类型里面添加属性:#widget
3、刷新效果后生效
/**
* A widget make lists collapsible in text notes.
*/
const TPL = `<div>
</div>`;
const styles = `
/* Place your CSS below this */
.note-detail-editable-text li.collapsed > ul {
display: none;
}
.note-detail-editable-text li.sublist-item {
position: relative;
}
.note-detail-editable-text li.sublist-item::before {
content: "➤";
display: flex;
position: absolute;
top: 3px;
left: -40px;
width: 16px;
height: 16px;
align-items: center;
cursor: pointer;
transform: rotate(90deg);
transition: transform 200ms ease;
}
.note-detail-editable-text li.sublist-item.collapsed::before {
transform: rotate(0);
}
/* Place your CSS above this */`;
$(document).off(".collapse-ul");
$(document).on("click.collapse-ul", ".note-detail-editable-text ul li:has(ul)", e => {
e.stopPropagation();
const rect = e.target.getBoundingClientRect();
if (e.pageX < rect.left) e.target.classList.toggle("collapsed");
});
function addSublistClass() {
console.log("addSublistClass");
console.log("======223343========444")
$(".note-detail-editable-text ul li:has(ul)").each((_, e) => {
console.log(e);
if (e.classList.contains("sublist-item")) return;
e.classList.add("sublist-item");
});
}
class CollapseWidget extends api.NoteContextAwareWidget {
get position() {return 100;}
get parentWidget() {return "note-detail-pane";}
isEnabled() {
if (!super.isEnabled()) return false;
return this.note.type === "text";
}
doRender() {
this.$widget = $(TPL);
this.cssBlock(styles);
return this.$widget;
}
async refreshWithNote() {
setTimeout(addSublistClass, 100);
}
async entitiesReloadedEvent({loadResults}) {
if (loadResults.isNoteContentReloaded(this.noteId)) {
this.refresh();
}
}
async noteSwitched() {
console.log("======8778=======")
await this.refresh();
}
}
module.exports = new CollapseWidget();
16、怎么隐藏子笔记列表中显示的属性
1、创建一个笔记,笔记类型为CSS笔记
2、添加如下代码,并添加属性#appCss
.rendered-note-attributes {
display: none;
}
3、刷新 Trilium
17、想把笔记放U盘里随时使用,数据库路径要怎么修改
使用 portable.bat 启动