记忆一隅

trilium notes,在当下适合我的笔记软件

2022-09-07 · 5 min read
笔记

trilium notes, the note software that suits me at the moment

个人感觉

之前在搜索大家的服务器上都跑了什么服务的时候,发现了这款笔记/知识库软件,然后又搜了搜相关资料,感觉挺对自己的胃口。为什么说是在当下适合我的呢,因为我也不确定以后的需求会不会发生变化,但是,当下我的需求,它基本都满足了。毕竟只有最适合的,没有最好的。
我觉得主要有以下几个优点:

  1. 原生支持常用的多种功能比如公式、表格、mermaid图等,富文本编辑器同时支持markdown语法。
  2. 笔记极为方便的树状多层嵌套笔记结构,同时支持笔记间的引用,链接等等,基于数据库的原生图片管理,不用像基于markdown的软件处理图片有着一堆麻烦的问题。(markdown是哪都好,就是图片是真让人头疼)
  3. 支持本地使用和服务器部署,原生支持多端同步,也支持在浏览器端直接使用,这让在公司电脑不能随意安装软件的情况下,也能方便的使用,对我直接加分。

安装部署

tilium没有官方支持中文,但是国内有开发者提供了汉化版本:https://github.com/Nriver/trilium-translation
同时还提供了docker镜像,可以方便的部署,详见:https://hub.docker.com/r/nriver/trilium-cn

这里我是使用命令直接部署docker镜像的.

(docker的安装可以参考:https://yeasy.gitbook.io/docker_practice/install):

首先拉取镜像:

docker pull nriver/trilium-cn

运行镜像:

docker run -d --name trilium-server \
    --rm \
    -p 8080:8080 \
    -v /home/trilium-data:/root/trilium-data \
    -e TRILIUM_DATA_DIR=/root/trilium-data \
    nriver/trilium-cn

    %端口,数据路径可根据需要修改

这样应该就通过地址:端口直接访问了,我还用caddy配置了反向代理和https,方便使用,相关配置也放在这里,提供参考,caddy的安装使用方法可以参考文章:Caddy2安装与托管静态博客

(TLS_CONFIG) {
    # TLS 配置采用 https://mozilla.github.io/server-side-tls/ssl-config-generator/ 生成,SSL Labs 评分 A+
    protocols tls1.2 tls1.3
    ciphers TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
}

# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile
(LOG) {
    log {
        output file "{args.0}" {
                roll_size     500MiB
                roll_local_time
                roll_keep     20
                roll_keep_for 30d
        }
    }
}


(HSTS) {
    # HSTS (63072000 seconds)
    header / Strict-Transport-Security "max-age=63072000"
}

(ERROR_HANDLE) {
        handle_errors {
                @404 {
                        expression {http.error.status_code} == 404
                }
                handle @404 {
                        rewrite * /404.html
                        file_server
                }
        }
}

(GENERAL_CONFIG) {
        tls xxx@xxx.com {
            import TLS_CONFIG
        }
        # HSTS
        import HSTS
        # 压缩支持
        encode zstd gzip
        # 错误处理
        import ERROR_HANDLE
}

# globe config
{
        servers :443 {
                protocol {
                                experimental_http3
                }
        }
}
trilium.xxx.com {
        reverse_proxy {
                to localhost:8080
                header_up X-Real-IP {remote_host}
        }
         header / {
         # 禁止在框架内呈现网站 (clickjacking protection)}
         X-Frame-Options "DENY"
         # 防止搜索引擎编制索引(可选)# 引入其他具体的站点配置
         X-Robots-Tag "none"
         # 服务器名称移除
         -Server
        }
         import LOG "/home/database/logs/trilium.log"
         import GENERAL_CONFIG
}

import /etc/caddy/*.caddy

使用后记

  1. 日记功能:一键生成当日的日记笔记,非常适合做为日记应用或者工作记录。
  2. 网页剪藏:安装一个chrome拓展就可以实现一键的网页剪藏,支持图片和网页内容直接剪藏两种方式,记录神器,chrome拓展:Trilium Web Clipper
  3. 笔记克隆功能:可以将一个笔记在其他位置克隆一份,方便查看和整理,同时也可以使用这个功能,克隆官方提供的示例脚本,直接使用。
  4. 一键分享,如果使用服务器部署的话,支持一键生成想要分享的页面链接,方便分享,而且可以自定义分项页面css样式。默认的分享主题十分简陋,这里分享一个样式效果比较好看的分享CSS:https://github.com/FrostMiKu/Share.CSS

使用技巧

使用#clipperInbox 属性,实现网页剪藏归档到指定位置
使用#sortDirection=desc或#sortDirection=asc 属性,实现文件夹内升序或降序控制