Trilium 基础使用技巧合集

2025-02-14
-
-

本文将持续更新 Trilium 的使用技巧

1、怎么快速引用笔记

    1.1 引用方式1:输入@就可快速调用笔记

 

     1.2 引用方式2:在输入方左侧点击就可以查看到一个 Trilium 三叶草,就可以选择笔记

 

 

插入后的效果

 

 

2、怎么嵌入笔记

        上面的笔记是嵌入一个标题连接,如果你想把整个笔记嵌入到当前笔记中直接显示就可以采用下面的方式

 

 

 

3、怎么分享笔记

分享笔记可以在公网可以看到,也可以分享给好友。

 

4、怎么加密笔记

加密笔记由两种方式,第一种是笔记里面加密访问,一个是分享给好友,需要输入账号密码

4.1  第一种:在笔记后台访问笔记的时候输入密码

选择笔记右键就可以直接添加

 

4.2  第二种:分享出去的文章,需要输入密码才能访问笔记

在笔记的属性栏目添加一个属性

#shareCredentials="username:password"  # username 是需要输入的用户  password是输入访问的密码

Plain text

Copy

 

如果是使用本博客主题,配置方式在属性配置里面直接输入账号和密码,格式与官方要求一致:shmaur:123

 

 

5、通过 share 分享到 html 中显示内嵌笔记

通过第2点分享的在笔记内可以显示,但是在分享后不会显示;需要使用本主题,使用本主题后默认可以使用。

以下是嵌入笔记示例

============ 嵌入开始 ===================

 

============ 嵌入结束 ===================

6、分享出去的文章树,想隐藏其中一个节点

官方配置在属性中配置:

#shareHiddenFromTree 

Plain text

Copy

添加属性后,在分享列表中就不会有了。

本博客主题配置:

需要隐藏勾上即可,不需要则取消勾选

 

7、分享出去的是一串字符串,不能够被识别,那就可以添加一个别名

官方配置方式:

字符串,比如我想改成后缀为html的

 

预览效果

 

#shareAlias=TriliumSkill.html  

Plain text

Copy

添加一个属性别名,保存

 

效果,现在就变成了自己改的名字,看链接就能大概知道是什么了

本博客配置方式:

填写如地址即可

 

8、克隆笔记

       对于作者对于这个功能的定义是克隆,但是直观理解就是复制一份副本,但是实际上不是。比如复制了一份笔记,如果两份里面随便修改一个,都会跟着进行同步。

       默认复制粘贴也是这种效果,如果需要创建一份独立不受影响的副本则需要

 

9、文章标题序号及快捷键

以下为 Trilium 自动生成的标题序号

快捷键:

tab:增加缩进
shift + tab:缩减缩进
shift+回车:可以无格式小换行且与上一行对齐

Plain text

Copy

  1. 一级标题
    1. 二级标题
  2. 一级标题

    接着上个段落自动生成序而我认为

    四单反

    1. 二级标题
    2. 二级标题
      1. 三级标题
      2. 三级标题
      3. 三级标题
        1. 四级标题
        2. 四级标题
          1. 五级标题
          2. 五级标题
            1. 六级标题
            2. 六级标题
              1. 七级标题
              2. 七级标题
  3. 一级标题

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;

Application-javaScript-env-frontend

Copy

 

Application-javaScript-env-backend

Copy

到笔记中创建一个 code 的笔记,并且为  js frontend 类型,并且为这个笔记添加一个属性:#widget

笔记文件类型

添加属性

添加这个属性,添加完成后刷新一下笔记
示例效果,示例效果来自 Trilium 群友 uu;

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();

Application-javaScript-env-frontend

Copy

16、怎么隐藏子笔记列表中显示的属性

1、创建一个笔记,笔记类型为CSS笔记

2、添加如下代码,并添加属性#appCss

.rendered-note-attributes {
    display: none;
}

CSS

Copy

3、刷新 Trilium

未设置之前
设置之后

17、想把笔记放U盘里随时使用,数据库路径要怎么修改

使用 portable.bat 启动


目录关闭