共享

Trilium 允许您将选定的笔记共享为可公开访问的只读文档。此功能对于直接从 Trilium 笔记中发布内容特别有用,使其他人可以在线访问。

作者基于共享制作的博客主题,可以查看,功能更全面。

作者的博客主题已支持一下功能:

  • 支持嵌入文档渲染,include note;官方无法渲染分享的include note笔记。
  • 拥有一套完整的博客系统
  • 支持暗色/浅色风格切换
  • 博客界面简洁
  • 完美适配的移动端界面
  • 优化正文阅读体验
  • 增加正文目录,适配移动端
  • 支持一键发布博客
  • 支持代码高亮
  • 诸多可配置项
  • 支持博客图片点击放大缩小
  • 新增文章作者
  • SEO 站点建设
  • 可视化基础配置
  • 支持视频播放
  • 支持版权说明

功能、交互和限制

  • 按笔记标题搜索。

  • 基于用户浏览器设置的自动深色/浅色模式。

  • 适合移动设备的布局,带有侧边栏。

  • 可折叠树,具有与应用程序相同的注释图标。

  • 可定制的标志。

  • 深色/浅色模式的切换按钮,该按钮还存储用户首选项。

  • 快速导航按钮(上一个和下一个音符)。

  • 显示注释的上次更新日期。

按笔记类型

 支持的功能局限性
文本笔记
  • 目录。

  • 代码块的语法突出显示,前提是选择了一种语言(如果启用了“自动检测”,则不起作用)。

  • 数学方程的渲染。

  • 包含笔记(仅当包含的笔记也共享时)。

  • 不会呈现内联美人鱼图。

代码笔记
  • 基本支持(以等宽字体显示笔记内容)。

  • 没有语法突出显示。

已保存的搜索不支持。 
关系图不支持。 
笔记地图不支持。 
代码渲染笔记不支持。 
看板视图
  • 子注释以固定格式显示。

  • 不支持更高级的视图类型,例如日历视图。

美人鱼图
  • 该图显示为矢量图像。

  • 不支持进一步的交互。

Canvas
  • 该图显示为矢量图像。

  • 不支持进一步的交互。

网页视图不支持。 
思维导图该图显示为矢量图像。
  • 不支持进一步的交互。

地图视图笔记不支持。 
文件基本交互(下载文件)。
  • 不支持进一步的交互。

虽然共享功能很强大,但它有一些限制:

  • 代码说明:没有语法突出显示。在作者分享的博客主题中已经实现。

  • 静态笔记树

  • 加密的笔记:无法共享。

  • 包含笔记:不支持。 在作者分享的博客主题中已经实现。

其中一些限制可能会在未来的更新中得到解决。

先决条件

要使用共享功能,您必须安装 Trilium 服务端。这是必要的,因为笔记将从服务器托管。

共享备忘录

  1. 启用共享:要共享笔记,请在笔记界面中 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

重要提示

  1. 确保别名是唯一的。

  2. 不支持在别名中使用斜杠 (/) 来创建子路径

设置自定义网站图标

要自定义共享页面的网站图标,请创建一个关系 ~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

向网络爬虫指示不应通过以下方式将页面编入此笔记的索引:

  • 设置 HTTP 标头。X-Robots-Tag: noindex

  • 设置元标记。noindex, follow

shareCredentials需要凭据才能访问此共享笔记。值应采用 格式 。不要忘记将其设置为可继承以应用于子笔记/图像。username:password
shareIndex带有此标签的笔记将列出共享笔记的所有根目录。
shareHtmlLocation定义通过 ~shareHtml 关系注入的自定义 HTML 应放置在何处。应用于 HTML 代码片段注释本身。格式:location:position,其中位置是头部 、 身体或内容 ,位置是开始或结束 。默认为 content:end

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录关闭