前几天就有网友跟我说,
freenom
的免费域名不可用了,
10
号的时候老苏进后台看了一下,还有一半的域名显示为
ACTIVE
,似乎是以
2024年6月
为限。但到
11
号,老苏发现博客 (https://laosu.cf) 已经访问不了了,这时候再进
freenom
后台,所有域名的状态都已经全部变成
PENDING
了。
截至目前,
freenom
尚未就回收免费域名的具体理由向公众作出官方解释,但可以肯定的是, 不管什么原因,
freenom
的免费域名以后肯定是用不了了
即日起,博客正式启用域名:https://laosu.tech
本文软件由朋友
Eduna
推荐;
什么是 Perlite ?
Perlite
是针对
Obsidian
优化的基于
Web
的
Markdown
查看器。可以在网络上显示您的黑曜石笔记,只需将整个
Obsidian Vault
或
Markdown
文件夹/文件结构放入您的
Web
目录中即可。该页面会自行构建。
软件特点:
- 自动构建,基于您的文件夹(保险库)结构
- 支持
Obsidian
主题 - 完全响应式
- 无需手动解析或转换
- 完整的交互式图表
- 支持
LaTeX
和Mermaid
- 链接至
Obsidian Vault
- 搜索功能
- 支持
Obsidian
标签、链接、图像和预览 - 暗黑模式和明亮模式
简单的说,
Perlite
就是付费的
Obsidian Publish
的开源替代品
安装
在群晖上以 Docker 方式安装。
如果在注册表中搜索
perlite
,选择第一个
sec77/perlite
,版本选择
latest
。
本文写作时,
latest
版本对应为
1.5.8
;
因为这个镜像是基于
php:fpm
构建的,因此还需要有
web
服务器的配合,所以采用
docker-compose
安装会更简单
docker-compose.yml
将下面的内容保存为
docker-compose.yml
文件
version:"3.9"services:perlite:image: sec77/perlite:latest
container_name: perlite
restart: unless-stopped
environment:- NOTES_PATH=Demo
- HIDE_FOLDERS=docs,private,trash
- LINE_BREAKS=true
- ABSOLUTE_PATHES=false
- ALLOWED_FILE_LINK_TYPES=pdf,mp4
- DISABLE_POP_HOVER=false
- SHOW_TOC=true
- SHOW_LOCAL_GRAPH=true
- HOME_FILE=README
- FONT_SIZE=15
- HTML_SAFE_MODE=true
- TEMP_PATH=/tmp
- SITE_TITLE=Demo
- SITE_TYPE=article
- SITE_URL=
- SITE_IMAGE=
- SITE_DESC=
- SITE_NAME=
- SITE_TWITTER=
- SITE_LOGO=
- SITE_HOMEPAGE=
- SITE_GITHUB=
volumes:- ./data:/var/www/perlite/Demo:ro
web:image: nginx:latest
container_name: perlite_web
restart: unless-stopped
ports:- 4980:80volumes:- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
volumes_from:- perlite
depends_on:- perlite
容器
perlite
的主要环境变量:
NOTES_PATH
:设置NOTES_PATH=Demo
,用于定义您笔记的Obsidian
保险库文件夹(根路径/文件夹),该文件夹必须是Perlite/perlite
的子文件夹。HIDE_FOLDERS
:设置HIDE_FOLDERS=docs,private,trash
,以排除要在左侧导航面板中可见的(数组中的)文件夹。以 “.”(点)开头的文件夹和文件默认排除。LINE_BREAKS
:设置LINE_BREAKS=true
,如果您想使用 “简单” 的换行符而不是Markdown
换行符。ABSOLUTE_PATHES
:设置ABSOLUTE_PATHES=true
,以使用绝对文件路径而不是相对路径进行内部链接。ALLOWED_FILE_LINK_TYPES
:设置ALLOWED_FILE_LINK_TYPES=pdf,doc
,以允许将(数组中的)文件类型显示为笔记中的直接链接。DISABLE_POP_HOVER
:设置 ·DISABLE_POP_HOVER=true
,以设置悬停在内部链接上时的默认弹出行为。SHOW_TOC
:设置SHOW_TOC=true
,如果您想默认显示目录(大纲)。SHOW_LOCAL_GRAPH
:设置SHOW_LOCAL_GRAPH=true
,如果您想默认显示图形视图。HOME_FILE
:设置HOME_FILE=README
,如果您想将主页设置为保险库根目录中的README.md
。这必须是一个.md
文件,所以您只需要定义文件名(不包括扩展名)。FONT_SIZE
:设置FONT_SIZE=15
,以设置默认的字体大小。HTML_SAFE_MODE
:设置HTML_SAFE_MODE=false
,以允许在您的Markdown
中使用HTML
。TEMP_PATH
:设置TEMP_PATH=/tmp
,以定义图形临时文件的存储位置。SITE_
:站点及社交媒体设置,对应下图左上角位置。
更完整的介绍,请参考官方文档:https://github.com/secure-77/Perlite/wiki/03—Perlite-Settings#optional-perlite-settings
nginx.conf
将下面的内容保存为
nginx.conf
文件。因为
md
、
json
等文件里面可能包含敏感信息,所以我们要阻止从网络上直接访问或者下载这些扩展名的文件,而只有
php
引擎需要访问此文件。
server {
listen 80;
server_name localhost;
root /var/www/perlite;
index index.php index.html index.htm;
access_log /var/log/nginx/php-access.log;
error_log /var/log/nginx/php-error.log;
# PHP-FPM Configuration Nginx
location ~ \.php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass perlite:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /\.ht {
deny all;
}
location ~* ^/(.*)/.obsidian/appearance.json$ {
allow all;
}
location ~* ^/(.*)/.obsidian/(.*)/theme.css$ {
allow all;
}
location ~ \.(git|github|obsidian|trash) {
deny all;
}
location ~ \.(md|json)$ {
deny all;
}
}
然后执行下面的命令
# 新建文件夹 perlite 和 子目录mkdir-p /volume1/docker/perlite/data
# 进入 perlite 目录cd /volume1/docker/perlite
# 将 docker-compose.yml 和 nginx.conf 放入当前目录# 一键启动docker-compose up -d
运行
在浏览器中输入
http://群晖IP:4980
就能看到主界面
因为现在
/data
目录中还是空的,老苏找了几篇之前发布的
markdown
文档
回到主界面刷新一下
左下角是设置,因为文章相对独立,所以没有双链的图像效果
参考文档
secure-77/Perlite: A web-based markdown viewer optimized for Obsidian
地址:https://github.com/secure-77/Perlite
Perlite - Secure77
地址:https://secure77.de/perlite/
README - Demo - Perlite
地址:https://perlite.secure77.de/
perlite Setup
地址:https://blog.nihilism.network/servers/perlite/
版权归原作者 杨浦老苏 所有, 如有侵权,请联系我们删除。