跨平台Markdown写作软件:小书匠

news2024/12/25 22:15:01

在这里插入图片描述

本文软件由好友 Eduna 推荐;

什么是小书匠 ?

小书匠是一款本地优先,去中心化,分布式,支持选择性同步的全平台覆盖笔记软件,是专注于 markdown 写作的客户端编辑器。它支持多种平台,包括 WindowsMacLinuxAndroid,并且还提供了 Docker 自部署版本,方便用户在自己的服务器上部署和管理。

在开始折腾前,建议看看官方的视频,会解答你的很多疑问,比如软件是怎么实现的去中心化,又是如何实现分布式的,包括同步的方式等等

小书匠架构介绍,一款本地优先,去中心化,分布式,支持选择性同步的专业知识管理工具

如果不想折腾,也可以去先进行在线体验:https://markdown.xiaoshujiang.com

安装

在群晖上以 Docker 方式安装。

小书匠的 Docker 又分为两个版本,天马版(suziwen/pegasus)天马飞天版(suziwen/dragon) ,从功能上来说,天马飞天版 提供了服务器文章管理,比如服务器全文搜索(lucene),因此可能会需要更高一点的性能要求。

如果你只是想要多端同步,天马版 完全满足你的需求。如果想把服务器做为自己的数据中心,并且想要更好的管理文章,可以考虑使用 天马飞天版

这里老苏采用的是 天马飞天版(suziwen/dragon)

在注册表中搜索 dragon ,选择第二个 suziwen/dragon,版本选择 latest

本文写作时, latest 版本对应为 1.5.0

docker 文件夹中,创建一个新文件夹 xsj,并在其中建一个子文件夹 data

文件夹装载路径说明
docker/xsj/data/opt/couchdb/data存放数据文件
docker/xsj/indexes/opt/couchdb-lucene/indexes存放索引文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
508380

默认暴露了 4 个端口,但官方也没介绍,只知道 5984couchdb 数据库的端口,但官方并不建议直接对外开放 5984 端口

所以老苏只留了一个 Web 端口

环境

可变
COUCHDB_USER例如设为 laosu
COUCHDB_PASSWORD例如设为 password

这两个变量是 couchdb 数据库的用户名及密码,都有默认值

可以根据自己的需要进行修改

如果你希望页面需要登录才能访问,可以增加 NGINX_USERNGINX_PASSWORD,如果有一个值为空,表示可以直接访问,不需要登录。

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 xsj 和 子目录
mkdir -p /volume1/docker/xsj/{data,indexes}

# 进入 xsj 目录
cd /volume1/docker/xsj

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name story-writer \
   -p 5083:80 \
   -v $(pwd)/data:/opt/couchdb/data \
   -v $(pwd)/indexes:/opt/couchdb-lucene/indexes \
   -e COUCHDB_USER=laosu \
   -e COUCHDB_PASSWORD=password \
   suziwen/dragon:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  story-writer:
    image: suziwen/dragon:latest
    container_name: story-writer
    restart: unless-stopped
    ports:
      - "5083:80"
    volumes:
      - ./data:/opt/couchdb/data
      - ./indexes:/opt/couchdb-lucene/indexes
    environment:
      - COUCHDB_USER=laosu
      - COUCHDB_PASSWORD=password

然后执行下面的命令

# 新建文件夹 xsj 和 子目录
mkdir -p /volume1/docker/xsj/{data,indexes}

# 进入 xsj 目录
cd /volume1/docker/xsj

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5083 就能看到注册界面

纯中文界面,使用起来挺简单的

点左上角的 logo 可以进入设置界面

客户端同步

客户端下载地址:https://soft.xiaoshujiang.com/download,可以根据需要选择下载渠道和平台

Windows 平台为例,第一次运行的主界面

飞天版做服务端

如果要跟 docker 安装的网页版同步,需要点左上角的图标进入设置界面

数据 --> 同步,发现不支持

客户端做服务端

Windows 客户端可以作为 珍珑网格服务器

但是发现网页端没有 同步 设置

第三方数据源

群晖上启用 WebDAV Server 套件

如果你不是用的群晖,也可以自己搭建 WebDAV 服务或者直接使用第三方的 WebDAV 服务,例如:坚果云

网页端进入 设置 --> 绑定 --> WebDAV 文件系统

添加成功后,还需要勾选启用

回到主界面,发现多了 webdav 文件系统

尝试了不能直接拖拽文章,只能另存

另存之后,在 webdav 中就有了

FileStation 中查看

现在开始设置 Windows 客户端,客户端看起来是 electron 开发的,所以操作和网页端是一样的,只是支持的类型更多一些

同样需要启动

能直接找到文档

但是这种模式应该是不能同时编辑的,会存在冲突

遇到不会的功能,可以去看官方的教程

  • 文字版:https://soft.xiaoshujiang.com/docs/tutorial/store/
  • 视频版:https://space.bilibili.com/349933393

参考文档

suziwen/markdownxiaoshujiang: 小书匠是一款本地优先,去中心化,分布式,支持选择性同步的全平台覆盖知识管理笔记软件。
地址:https://github.com/suziwen/markdownxiaoshujiang

小书匠
地址:https://soft.xiaoshujiang.com/

suziwen/dragon - Docker Image | Docker Hub
地址:https://hub.docker.com/r/suziwen/dragon

suziwen/pegasus - Docker Image | Docker Hub
地址:https://hub.docker.com/r/suziwen/pegasus

szw_2018的个人空间-szw_2018个人主页-哔哩哔哩视频
地址:https://space.bilibili.com/349933393

用时间流方式改进知识管理,小书匠萤火虫模式使用说明 | 小书匠
地址:https://soft.xiaoshujiang.com/blog/file_manager/timeline_firefly/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2135986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt Model/View之代理

概念 与模型-视图-控制器模式不同,模型/视图设计没有包含一个完全独立的组件来管理与用户的交互。通常,视图负责向用户展示模型数据,并负责处理用户输入。为了在获取输入的方式上具有一定的灵活性,交互由委托执行。这些组件提供输…

5 个最佳开源无代码项目管理工具

想象一下,你是一名项目经理,每天早上刚坐到办公桌前,咖啡还在手里,你的手机和电脑屏幕上已经被各种未完成的任务、项目更新和团队消息填满。 你快速浏览着的电子邮件,分配任务的通知不断弹出,而每一个通知…

Shopee虾皮:广告类型选择与效果优化要点

Shopee虾皮作为东南亚增势迅猛的电商平台,是很多跨境卖家出海东南亚的首要选择。这势必带来强烈的竞争,因此,如果卖家想要突出重围,广告投放和优化则格外重要。 一、虾皮的广告类型 1.关键词广告 当买家搜索的关键字与卖家投放的…

进程优先级和环境变量

1.优先级 1.优先级的概念 cpu资源分配的先后顺序,就是指进程的优先级,linux中进程的优先级数字越小,优先级越高; 2.为什么要有优先级 进程访问的资源(cpu)始终是有限的,而系统中进程又是比较多的,所以进…

【Jetson】Jetson Orin NX刷机教程

Jetson Orin NX刷机教程 一、硬件准备二、安装SDK Manager三、在线或离线刷机 一、硬件准备 需要将Jetson Orin NX的GND和FC_REC引脚短接,设备进入刷机模式。然后用Type-C线将其余主机连接,主机的选择可以为ubuntu虚拟机或者ubuntu系统。注意如果选择虚…

Mybatis接受查询结果的情况

Mybatis接受查询结果的情况 1.查询结果为单条数据时 1&#xff09;通过实体类对象接受 这种方式最直观&#xff0c;当查询结果只有一条记录时使用。在 mapper 接口中定义一个方法&#xff0c;并指定返回类型为对应的实体类类型。mapper.xml 文件中的 <select> 标签使用…

vue3项目打包后多级嵌套路由子路由刷新后空白问题

问题描述 Vue3项目打包发布后&#xff0c;进入个人中心界面,刷新后页面出现空白。前提是已经配置了重定向到index.html。在访问/personal/profile这种路由的时候刷新后页面会出现空白。在App.vue中有一个routerview ,personal界面中有一个routerview .界面如图所示 router.js…

【Python基础】Python错误和异常处理(详细实例)

本文收录于 《Python编程入门》专栏&#xff0c;从零基础开始&#xff0c;分享一些Python编程基础知识&#xff0c;欢迎关注&#xff0c;谢谢&#xff01; 文章目录 一、前言二、Python中的错误类型三、Python异常处理机制3.1 try-except语句3.2 try-except-else语句3.3 try-fi…

GD - GD32350R_EVAL - PWM实验和验证2 - EmbeddedBuilder - 无源蜂鸣器

文章目录 GD - GD32350R_EVAL - PWM实验和验证2 - EmbeddedBuilder - 无源蜂鸣器概述笔记先前失败的实验电路图本次成功的图 - 无源蜂鸣器电路模块接入实验模块实验软件工程主循环实现PWM频率改变蜂鸣器声音大小实验结果和官方给的蜂鸣器频率响应曲线基本一样看看实际波形END G…

智慧交通基于yolov8的行人车辆检测计数系统python源码+onnx模型+精美GUI界面

【算法介绍】 智慧交通中&#xff0c;基于YOLOv8的行人车辆检测计数系统是一项高效、准确的技术解决方案。该系统利用YOLOv8这一先进的目标检测算法&#xff0c;结合深度学习技术&#xff0c;能够实时检测并准确计数道路上的行人和车辆。YOLOv8在保证检测速度的同时&#xff0…

视图(mysql)

一、什么是视图 视图是⼀个虚拟的表&#xff0c;它是基于⼀个或多个基本表或其他视图的查询结果集。视图本⾝不存储数 据&#xff0c;⽽是通过执⾏查询来动态⽣成数据。⽤⼾可以像操作普通表⼀样使⽤视图进⾏查询、更新和管 理。视图本⾝并不占⽤物理存储空间&#xff0c;它仅…

linux命令用于删除文本文件中的重复行的命令uniq详解

目录 一、概述 二、基本用法 1、uniq 命令的基本语法 2、常用选项 3、获取帮助 三、主要功能 1. 识别并删除相邻重复行 2. 保留重复行的第一个实例 3. 统计重复次数 4. 忽略指定列的比较 四、示例 1. 删除相邻重复行 2. 显示每一行及其重复次数 3. 只显示重复行 4. …

【Hot100】LeetCode—136. 只出现一次的数字

目录 1- 思路题目识别技巧 2- 实现⭐136. 只出现一次的数字——题解思路 原题链接&#xff1a;136. 只出现一次的数字 1- 思路 题目识别 识别1 &#xff1a;给定一个数组&#xff0c;里面元素均出现两次&#xff0c;只有一个数只出现一次。 技巧 一个数和 0 的异或是这个数…

前端网页代码编辑器 Monaco Editor

前端网页代码编辑器 Monaco Editor Monaco Editor Monaco Editor 是由 Microsoft 开发的一款基于 Web 技术的开源代码编辑器&#xff0c;它是 Visual Studio Code 编辑器的核心。Monaco Editor 可以嵌入到网页中&#xff0c;提供类似于 Visual Studio Code 的编辑体验。 官方…

华为SMU02B1管理模块WEB登录与账户密码信息

1、将电脑的IP地址与SMU02B1的IP地址配置在同一个网段中。例如&#xff0c;如果监控的IP地址为192.168.0.11&#xff0c;子网掩码为255.255.255.0&#xff0c;默认网关为192.168.0.1&#xff0c;则电脑的IP地址设置成192.168.0.12&#xff0c;子网掩码设置成255.255.255.0&…

基于微信小程序的垃圾分类(lw+演示+源码+运行)

摘 要 随着生态文明体制改革的不断推进,可持续发展的环保理念逐渐成为社会共识,而在推行环保措施的过程中却困难重重.针对生活废弃物肆意无序投放的问题,尽管目前各大城市相继推出垃圾分类强制性执行的政策法规,但因市民欠缺对垃圾种类的正确认识而导致垃圾分类的施行难度和成…

【Docker系列】环境准备-VirtualBox虚拟机安装

前言 最近一段时间研究了一下Docker容器方面的技术&#xff0c;发现容器技术还是蛮好玩的。但是自己手头上没啥Linux操作系统机器&#xff0c;于是就想到利用一些虚拟机软件工具&#xff0c;在自己的Windows操作系统上安装几个Linux操作系统环境。我这里给大家介绍的是一款常用…

【代码随想录训练营第42期 Day58打卡 - 图论Part8 - 拓扑排序

目录 一、拓扑排序介绍 定义 特点 实现方法&#xff08;2种&#xff09; 应用 二、题目与题解 题目&#xff1a;卡码网 117. 软件构建 题目链接 题解&#xff1a;拓扑排序 - Kahn算法&#xff08;BFS&#xff09; 三、小结 一、拓扑排序介绍 对于拓扑排序&#xff0c…

【传纸条 / NOIP / Google】

题目 代码&#xff08;还是我的好理解&#xff0c;(●◡●)&#xff09; #include <bits/stdc.h> using namespace std; const int N 55; int w[N][N]; int f[2*N][N][N]; int main() {int m, n;cin >> m >> n;for(int i 1; i < m; i){for(int j 1; j…

ASPCMS靶场漏洞复现

浏览器访问环境 1.进入后台管理 aspcms默认的后台登录地址为/admin_aspcms/index.asp 用户名&#xff1a;admin 密码&#xff1a;123456 2.点击扩展功能里面的幻灯片设置 3.在保存的时候抓包 抓包修改slideTextStatus参数为一句话木马 1%25><%25Eval(Request (chr(65…