Trilium 允许您将选定的笔记共享为可公开访问的只读文档。此功能对于直接从 Trilium 笔记中发布内容特别有用,使其他人可以在线访问。
作者基于共享制作的博客主题,可以查看,功能更全面。
作者的博客主题已支持一下功能:
- 支持嵌入文档渲染,include note;官方无法渲染分享的include note笔记。
- 拥有一套完整的博客系统
- 支持暗色/浅色风格切换
- 博客界面简洁
- 完美适配的移动端界面
- 优化正文阅读体验
- 增加正文目录,适配移动端
- 支持一键发布博客
- 支持代码高亮
- 诸多可配置项
- 支持博客图片点击放大缩小
- 新增文章作者
- SEO 站点建设
- 可视化基础配置
- 支持视频播放
- 支持版权说明

功能、交互和限制
按笔记标题搜索。
基于用户浏览器设置的自动深色/浅色模式。
适合移动设备的布局,带有侧边栏。
可折叠树,具有与应用程序相同的注释图标。
可定制的标志。
深色/浅色模式的切换按钮,该按钮还存储用户首选项。
快速导航按钮(上一个和下一个音符)。
显示注释的上次更新日期。
按笔记类型
支持的功能 | 局限性 | |
---|---|---|
文本笔记 |
|
|
代码笔记 |
|
|
已保存的搜索 | 不支持。 | |
关系图 | 不支持。 | |
笔记地图 | 不支持。 | |
代码渲染笔记 | 不支持。 | |
看板视图 |
|
|
美人鱼图 |
|
|
Canvas |
|
|
网页视图 | 不支持。 | |
思维导图 | 该图显示为矢量图像。 |
|
地图视图笔记 | 不支持。 | |
文件 | 基本交互(下载文件)。 |
|
虽然共享功能很强大,但它有一些限制:
其中一些限制可能会在未来的更新中得到解决。
先决条件
要使用共享功能,您必须安装 Trilium 服务端。这是必要的,因为笔记将从服务器托管。
共享备忘录
启用共享:要共享笔记,请在笔记界面中
Shared
切换开关。启用共享后,将出现一个 URL,您可以单击该 URL 访问共享笔记。2. 访问共享笔记:提供的链接将在浏览器中打开笔记。如果您的服务器未配置公共 IP,则 URL 将引用 。
localhost (127.0.0.1)
共享笔记子树
当您共享笔记时,您实际上共享了它下面的整个笔记子树。如果笔记有子笔记,它们也将包含在共享内容中。例如,共享“格式”子树将显示一个带有基本导航的页面,用于浏览该子树中的所有笔记。
查看和管理共享笔记
您可以通过单击全局菜单中的“显示共享笔记子树”来查看所有共享笔记的列表。这允许您管理和浏览您公开的所有笔记。
安全注意事项
共享笔记发布在开放的互联网上,任何知道 URL 的人都可以访问。URL 的随机性不提供安全性,因此不要通过此功能共享敏感信息至关重要。
密码保护
要使用用户名和密码保护共享笔记,您可以使用 #shareCredentials
属性。将此标签添加到格式为 #shareCredentials="username:password"
.要保护整个子树,请确保标签是 可继承的。
高级共享选项
自定义共享笔记的外观
默认设计应该是一个很好的起点,但您可以使用自己的 CSS 对其进行自定义:
自定义 CSS:通过向笔记添加
~shareCss
关系,将 CSS 代码笔记链接到共享页面。如果希望此样式应用于整个子树,请使标签可继承。您可以通过添加#shareHiddenFromTree
标签来从树导航中隐藏 CSS 代码注释省略默认 CSS:对于广泛的样式更改,请使用
#shareOmitDefaultCss
标签以避免与 Trilium 的默认样式表发生冲突。
添加 JavaScript
您可以使用 ~shareJs
关系将自定义 JavaScript 注入共享笔记。这允许您使用 fetchNote()
API 访问笔记属性或遍历笔记树,该 API 根据其 ID 检索笔记数据
添加自定义 HTML
您可以使用 ~shareHtml
关系将自定义 HTML 代码片段注入共享页面的特定位置。HTML 注释应包含要注入的原始 HTML 内容,您可以通过将 #shareHtmlLocation
标签添加到 HTML 片段注释本身来控制它的显示位置。
#shareHtmlLocation
标签接受格式为 location:position
的值:
位置 : head, body, content
位置 : start, end
例如:
#shareHtmlLocation=head:start
- 在<head>
部分的开头注入 HTML#shareHtmlLocation=head:end
- 在<head>
部分的末尾注入 HTML(默认)#shareHtmlLocation=body:start
- 在<body>
部分的开头注入 HTML#shareHtmlLocation=content:start
- 在内容区域的开头注入 HTML#shareHtmlLocation=content:end
- 在内容区域末尾注入 HTML
如果未指定位置,则默认情况下将在 content:end
处注入 HTML。
例:
const currentNote = await fetchNote();
const parentNote = await fetchNote(currentNote.parentNoteIds[0]);
for (const attr of parentNote.attributes) {
console.log(attr.type, attr.name, attr.value);
}
创建人类可读的 URL 别名
共享笔记通常具有类似 http://domain.tld/share/knvU8aJy4dJ7
的 URL,其中最后一部分是笔记的 ID。您可以通过将 #shareAlias 标签添加到单个注释(例如,#shareAlias=突出显示
)来使这些 URL 更加用户友好。这会将 URL 更改为 http://domain.tld/share/highlighting
。
重要提示:
确保别名是唯一的。
不支持在别名中使用斜杠 (/) 来创建子路径
设置自定义网站图标
要自定义共享页面的网站图标,请创建一个关系 ~shareFavicon
指向包含网站图标的文件注释(例如,.ico 格式)。
将备忘录共享为根目录
您可以通过添加 #shareRoot
标签将特定笔记或文件夹指定为共享内容的根目录。访问 [http://domain.tld/share](http://domain/share)
时将链接此笔记,从而更轻松地将 Trilium 用作成熟的网站。
[!提示] 考虑将其与
#shareIndex
标签结合使用,后者将显示所有共享笔记的列表。
显示共享笔记的索引
访问共享时,子笔记将显示在左侧的树中。但是,由于可以共享多个笔记树,因此显示所有不同共享树的列表可能会很有用。
为此,请创建共享文本笔记并应用 shareIndex
标签。查看时,共享根列表将显示在笔记底部。
属性引用
属性 | 描述 |
---|---|
shareHiddenFromTree | 此笔记在左侧导航树中隐藏,但仍可通过其 URL 访问 |
shareExternalLink | 笔记将充当共享树中外部网站的链接 |
shareAlias | 定义一个别名,使用该别名可以在https://your_trilium_host/share/[your_alias] |
shareOmitDefaultCss | 默认共享页面 CSS 将被省略。在进行大量样式更改时使用。 |
shareRoot | 标记在 /share 根上提供的笔记。 |
shareDescription | 定义要添加到 HTML 元标记中的文本以进行描述 |
shareRaw | 笔记将以其原始格式提供,没有 HTML 包装器。 |
shareDisallowRobotIndexing | 向网络爬虫指示不应通过以下方式将页面编入此笔记的索引:
|
shareCredentials | 需要凭据才能访问此共享笔记。值应采用 格式 。不要忘记将其设置为可继承以应用于子笔记/图像。username:password |
shareIndex | 带有此标签的笔记将列出共享笔记的所有根目录。 |
shareHtmlLocation | 定义通过 ~shareHtml 关系注入的自定义 HTML 应放置在何处。应用于 HTML 代码片段注释本身。格式:location:position ,其中位置是头部 、 身体或内容 ,位置是开始或结束 。默认为 content:end 。 |