这篇笔记将教你如何自定义[[发布服务简介|发布网站]]的外观。
## 静态资源
以下文件是网站外观的设置文件。你可以创建并发布它们,以此来自定义你的网站:
- `publish.css` :网站的 CSS 文件
- `publish.js`:自定义 JavaScript
- `favicon-32x32.png`:自定义的网站标志
**注意:**
- [Publish 的 CSS 变量](https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish)可以在我们的文档网站上找到。
- 由于 Obsidian 不支持编辑 CSS 和 JavaScript 文件,因此你需要使用其他应用程序来创建和编辑它们。
- `publish.css` 和 `publish.js` 必须发布于仓库的根目录(`/`)中。
- 默认情况下,`publish.css` 和 `publish.js` 不会出现在文件列表里,但你仍然可以通过**发布更改**对话框来发布它们。
- 要启用 `publish.js` 中的自定义 JavaScript,你需要[[自定义域名]]。
对于标志,发布服务支持以下命名语法,其中`32`代表了标志的像素尺寸:
- `favicon-32.png`
- `favicon-32x32.png`
- `favicon.ico`
我们建议你的标志文件为以下尺寸之一(或多个尺寸):
- `favicon-32x32.png`
- `favicon-128x128.png`
- `favicon-152x152.png`
- `favicon-167x167.png`
- `favicon-180x180.png`
- `favicon-192x192.png`
- `favicon-196x196.png`
标志文件可以存放在仓库中任意位置。只要它们被发布了就能生效。
## 使用社区主题
要在网站上使用社区主题:
1. 在系统资源管理器中打开本地仓库。
2. 进入仓库设置文件夹(默认名称为`.obsidian`)。
3. 打开`themes`文件夹。
4. 复制你想要用于网站的 CSS 文件。
5. 将文件粘贴到本地仓库的根文件夹中。
6. 将这个 CSS 文件重命名为`publish.css`。
7. [[发布笔记与取消发布|发布]]`publish.css` 文件。
**注意:**
- 如果发布主题文件后几分钟内网站外观仍然没有变化,请尝试清空浏览器缓存。
- 你可以在[[管理网站#外观|网站设置]]中开启切换颜色的开关。
- 许多社区主题使用 **Style Settings** 进行自定义样式设置,但这些设置在 Obsidian Publish 上不起作用。
> [!tip] 开发你自己的主题
> 找不到适合的主题?[自己构建一个主题吧](https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Build+a+Publish+theme)。
## 调整界面功能
你可以启用网站的界面组建,如局部关系图或大纲等。
具体界面功能请参考[[管理网站#网站选项|网站设置]]中**阅读体验**和**组件**部分设置。
### 自定义文件列表
在发布服务中,你可以自定义文件和文件夹在网站[[文件列表]]中的顺序,以及显示情况。默认情况下,文件列表中的项目按发布顺序排列。未发布的笔记不会出现在网站的文件列表中。
#### 进入自定义文件列表设置
1. 在[[功能区]]中,点击**发布更改**按钮( ![[lucide-send.svg#icon]] )或打开[[命令面板]]并输入 **Publish: Publish changes...**
2. 在**发布更改**对话框中,点击**更改网站设置**( ![[lucide-cog.svg#icon]] )。
3. 在**组件**设置下,点击**自定义文件列表**旁边的**管理**按钮。
随后将出现一个名为**自定义文件列表**的窗口,你可以在其中对文件列表进行自定义。
#### 调整文件列表顺序
在标有**文件列表显示顺序**的部分,你可以调整文件列表中项目的显示顺序。
1. 选择要调整的文件夹或文件。
2. 将其拖动到所需位置。
3. 在窗口右下角,点击**完成**。
发布服务会将更改推送到网站。
#### 隐藏和取消隐藏列表项目
如果你不希望一些已发布的文件或文件夹显示在文件列表中,你可以隐藏这些项目。
1. 选中要隐藏的文件夹或文件。
2. 右键单击并点击**隐藏**。随后该项目将从**预览**列表中消失。
3. 在窗口右下角,点击**完成**。
发布服务会将更改推送到网站。
> [!tip] 您可以通过点击**在文件列表中隐藏文件或文件夹**标题右侧的恢复按钮来**取消隐藏**文件
#### 常见问题
> [!question]- 问:我可以在**自定义文件列表**中将文件从一个文件夹移动到另一个文件夹吗?
> 答:不可以。
>
> 你只能调整文件夹内文件的顺序(包括根目录内的文件)以及文件夹之间的顺序。
> [!question]- 问:我可以在调整多个文件和文件夹的顺序吗?
> 答:可以!
> [!question]- 问:如何恢复这些修改?
> 答:**显示顺序**:点击**自定义文件列表**旁边的**恢复默认**图标(逆时针旋转箭头)。这将让文件列表恢复为按字母顺序排列。
>
> **隐藏情况**:点击**在文件列表中隐藏文件或文件夹**旁边的**恢复默认**图标(逆时针旋转箭头)。这将让隐藏项目恢复为可见状态。