长篇
长篇是一个 Obsidian 插件,可以帮助你写作和编辑小说、剧本和其他长篇项目。它允许你将一系列笔记或"场景"组织成有序的手稿。它还支持单篇笔记项目,适用于较短的作品。主要功能包括:
- 专用侧边栏,可从整个保管库中收集你的项目;
- 可重新排序、嵌套的场景列表;
- 场景/草稿/项目的字数统计;
- 每日写作目标,提供多种选项以适应你的写作风格;
- 基于工作流的编译工具,可以从你的项目创建手稿;
- 支持单场景项目,使你的短篇作品可以使用与长篇作品相同的工作流和工具;
- 还有许多命令、模态窗口和菜单项,帮助你管理你的作品。
下面是一个入门指南;还有一个相当完整的文档。
安装
长篇插件位于 Obsidian 设置的社区插件部分。你也可以通过将发布版本中的 main.js
、manifest.json
和 styles.css
文件复制到保管库的 .obsidian/plugins
文件夹下的 longform/
文件夹中来手动安装。推荐使用社区插件界面安装。
入门
长篇插件通过搜索你保管库中包含名为 longform
的前置元数据的任何笔记来工作(如果你不知道这是什么意思,不用担心;长篇插件包含了帮助你生成这些文件的工具)。你可以将这些笔记视为项目的"骨架"或目录。让我们一步步创建两个不同的长篇项目:一部小说和一个短篇故事。
创建小说
- 首先,在你的保管库中找到或创建一个你想要创建小说的文件夹。右键点击它并选择"创建长篇项目"。
-
会出现一个"创建项目"模态窗口。这个窗口让我们选择多场景和单场景项目类型。我们正在创建一部小说,所以我们选择多场景。项目类型开关下方的文字解释了每种项目类型的工作方式。
-
在"标题"栏中,输入你的小说标题。在这个例子中,我们用"我的伟大小说"。模态窗口告诉我们正在创建的项目类型和它将在我们的保管库中创建的索引文件的位置。我们稍后会讲到索引文件是什么。
注意
你不必使用这个菜单项和模态窗口来创建长篇项目。正如你很快会看到的,长篇项目是围绕一些 YAML 前置元数据组织的一个或多个笔记。你随时可以在保管库中自己创建一个笔记,并使用"插入多场景前置元数据"和"插入单场景前置元数据"命令来填充笔记 - 长篇插件会自动识别它。尽管不推荐,你也可以手动编写 YAML 前置元数据。
- 点击"创建"。长篇插件已创建了承诺的文件。如果我们切换到侧边栏的长篇面板,项目已经被选中。你应该看到三个标签:场景、项目和编译,其中场景标签被选中。
- 那个"新场景"占位符是一个文本字段 - 点击它并输入一些听起来像小说第一个场景的内容,比如"都柏林的日出",然后按回车。你现在应该正在编辑一个这样命名的笔记,你的场景应该出现在场景标签中:
- 你的编辑器现在也打开了这个场景并准备好写作。如果你点击项目名称下方的小"我的伟大小说/Index.md"链接,你会回到索引文件,在那里你会看到你的新场景列在
scenes
前置元数据条目下:
scenes:
- 都柏林的日出
这就是长篇插件跟踪你的作品的方式。
警告 除非你真的知道自己在做什么,否则你应该避免直接编辑索引文件中的
longform
前置元数据。Longform 支持直接编辑它并会尽力同步,但很容易不小心搞乱。不过,你总是可以恢复更改:Longform 绝不会根据索引文件的更改删除文件。
-
现在你可以开始写小说了。根据需要继续添加场景。如果你想给小说添加结构,可以左右拖动场景(或使用缩进/取消缩进命令)来创建带有父场景的场景文件夹。多场景项目的完整文档可能会有帮助。
-
当你准备好为读者生成单一的手稿时,使用编译功能。恭喜!你已经写出了一部小说。
创建短篇小说
Longform 还支持作为保管库中单个笔记存在的单场景项目。让我们来创建一个。
-
像之前一样右击包含文件夹,选择"创建 Longform 项目"菜单项。
-
在创建项目模态框中,选择"单个"。让我们写点黑色风格的东西,叫它"屋顶上"。
-
点击创建。因为这是一个单场景项目,所以只有一个相关笔记,Longform 会自动打开它。顶部的前置元数据告诉 Longform 如何跟踪你的项目;我们将在笔记本身中写故事。
-
写你的故事!当你准备好了,可以使用编译标签页生成手稿。单场景项目可以按任意顺序使用场景和手稿步骤。
草稿和项目
Longform 支持为给定项目创建多个 草稿 。从本质上讲,草稿只是具有相同标题的不同 Longform 项目——然后它们被 Longform 分组并呈现为同一项目的不同版本。
要创建项目的新草稿,请使用项目标签页中的新建草稿(+)按钮,或在某处创建一个全新的项目,并在项目标签页中将标题设置为与现有项目相同。
你可以通过右击项目标签页中的草稿并选择重命名来重命名草稿,或者通过设置它们的 longform
前置元数据中的 draftTitle
属性来重命名。
编译
编译标签页允许你创建自定义工作流,将你的项目转换为手稿。更多信息请参见 COMPILE.md。
[!提示] 你可以在社区编译步骤集合中找到适用于各种用例的更多编译步骤。
仅场景样式
Longform 会自动为任何作为 Longform 项目一部分的笔记的容器窗格附加 .longform-leaf
类。这意味着你可以向 Obsidian 添加自定义 CSS 片段,只为你的写作环境设置样式。例如,我更喜欢 Obsidian 使用深色主题,但写作时使用浅色主题,所以我的写作片段看起来像这样:
/* 为整个叶子设置一些变量。 */
.longform-leaf {
--background-primary: white;
--background-primary-alt: white;
--background-secondary: white;
--background-secondary-alt: white;
}
/* 设置编辑器样式。 */
.longform-leaf .markdown-source-view {
--background-primary: white;
--background-primary-alt: white;
--background-secondary: white;
--background-secondary-alt: white;
--text-selection: #aaa;
--text-normal: black;
color: black;
background-color: white;
}
/* 设置文本选择样式。 */
.longform-leaf .suggestion-item.is-selected {
background-color: var(--text-accent);
}
/* 设置叶子头部样式。 */
.longform-leaf .view-header {
background-color: white;
}
/* 设置叶子头部文本内容样式。 */
.longform-leaf .view-header-title {
--text-normal: black;
}
Longform 自己的 UI 在可能的情况下总是使用现有的 Obsidian CSS 主题变量,因此它应该始终与你的主题看起来协调一致。
故障排除
首先,最重要的一点: Longform 专门设计为不更改笔记的内容。 它唯一重写的笔记是项目的索引文件。因此,Longform 不会删除或丢失你的笔记。 Longform进行了大量复杂的追踪,以将项目的元数据与磁盘上文件的状态连接起来。尽管它试图涵盖许多边缘情况,但仍有可能导致Longform认为项目发生的情况与实际情况不同步。这种情况最常见的原因是项目的前言格式错误或在某些方面无效。由于项目是从前言推断出来的,如果您的前言正确,您可以随时重新启动Obsidian(或选择"不保存重新加载"命令)来强制Longform重新计算项目。
赞助
任何赞助都将深受感激,但绝非必要。
许可证
请参阅LICENSE.md。您可以在这里查看许可证的历史。