基于Web的Markdown编辑器HedgeDoc

article/2025/11/2 22:57:59

在这里插入图片描述

什么是 HedgeDoc ?

HedgeDoc 是一个开源的、基于 web 的、自托管的、协作的markdown编辑器。您可以使用它轻松地在笔记、图形甚至演示文稿上进行实时协作。用户需要做的就是将你的笔记链接分享给同事,他们就可以开始使用了。

不想自己搭建可以试试官方的 Demo 网站:https://demo.hedgedoc.org/

安装

建数据库

HedgeDoc 还需要安装 MariaDB 或者 PostgreSQL 数据库。老苏选择了群晖自带的 MariaDB 10 数据库。

在这里插入图片描述

phpMyAdmin 中创建名为 hedgedoc 的空数据库。

为了演示方便,后面假设密码是:123456

在这里插入图片描述

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 hedgedoc ,选择第一个 linuxserver/hedgedoc,版本选 latest

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 hedgedoc,并在其中建 1 个子文件夹 config

文件夹装载路径说明
docker/hedgedoc/config/config设置目录

在这里插入图片描述

端口

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

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

默认容器端口为 3000

在这里插入图片描述

但我们要通过环境变量修改,使得 本地端口容器端口 保持一直

只要本地端口不是 804433000,就需要设置 CMD_PORT 改变容器端口

在这里插入图片描述

环境

可变
DB_HOST数据库的地址
DB_PORT数据库的端口
DB_NAME数据库的库名
DB_USER数据库的用户
DB_PASS数据库的密码
PGID<UserID> 默认设为 1000
PUID<GroupID > 默认设为 1000
TZ时区设置,默认设置为 Asia/Shanghai
CMD_DOMAINHedgeDoc 主机地址
CMD_URL_ADDPORT默认为 true,只有容器端口使用 80 或者 443 时才设为 false
CMD_PROTOCOL_USESSL如果反代后用 https 协议访问,设为 true
CMD_PORT用于修改容器端口

在这里插入图片描述

在这里插入图片描述

命令行安装

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

# 新建文件夹 hedgedoc 和 子目录
mkdir -p /volume2/docker/hedgedoc/config# 进入 hedgedoc 目录
cd /volume2/docker/hedgedoc# 运行容器
docker run -d \--restart unless-stopped \--name hedgedoc \-p 3070:3070 \-v $(pwd)/config:/config \-e DB_HOST=192.168.0.197 \-e DB_PORT=3307 \-e DB_USER=hedgedoc \-e DB_PASS=123456 \-e DB_NAME=hedgedoc \-e PGID=1000 \-e PUID=1000 \-e TZ=Asia/Shanghai \-e CMD_DOMAIN=192.168.0.197 \-e CMD_URL_ADDPORT=true \-e CMD_PROTOCOL_USESSL=false \-e CMD_PORT=3070 \linuxserver/hedgedoc

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

version: "3"services:hedgedoc:image: linuxserver/hedgedoccontainer_name: hedgedocrestart: alwaysports:- "3070:3070"volumes:- ./config:/configenvironment:- DB_HOST=192.168.0.197- DB_PORT=3307- DB_USER=hedgedoc- DB_PASS=123456- DB_NAME=hedgedoc- PGID=1000- PUID=1000- TZ=Asia/Shanghai- CMD_DOMAIN=192.168.0.197- CMD_URL_ADDPORT=true - CMD_PROTOCOL_USESSL=false- CMD_PORT=3070

然后执行下面的命令,在 portainer 中执行也是可以的

# 新建文件夹 hedgedoc 和 子目录
mkdir -p /volume2/docker/hedgedoc/config# 进入 hedgedoc 目录
cd /volume2/docker/hedgedoc# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3070 就能看到主界面

如果显示 I'm busy right now, try again later. 或者无法显示,那就稍等一下,日志中显示 HTTP Server listening at 0.0.0.0:3070 才说明服务已经就绪了

在这里插入图片描述

第一次登录需要先注册

默认情况下 HedgeDoc 使用电子邮件注册,但它实际上也支持使用和配置各种身份验证系统,比如我们之前介绍过的 Authelia 等等,有兴趣的可以自己研究;

在这里插入图片描述

登录成功后

新建笔记

在这里插入图片描述

支持实时预览

在这里插入图片描述

当把链接发给别人后,右上角的 在线人数 会发生变化

在这里插入图片描述

参考文档

hedgedoc/hedgedoc: HedgeDoc - The best platform to write and share markdown.
地址:https://github.com/hedgedoc/hedgedoc

Getting Started - HedgeDoc
地址:https://docs.hedgedoc.org/setup/getting-started/

HedgeDoc - collaborative markdown editor (via Docker on Synology NAS)
地址:https://www.blackvoid.club/hedgedoc-collaborative-markdown-editor/


http://chatgpt.dhexx.cn/article/wO6srBnW.shtml

相关文章

只需3步把VSCode打造成Markdown编辑器

对于大部分编程人员来说都熟悉VSCode&#xff0c;因为大家经常使用它来编写代码&#xff0c;其实也可以把它当作加强版的记事本来使用&#xff0c;还能这么做&#xff1f; 我就是这么做的&#xff0c;其原因在于以下工作场景&#xff1a;分析或者编写代码时需要做一些笔记&…

本地Markdown编辑器推荐

以前用markdown记东西都是网页编辑器例如作业部落、MarkdownEditor&#xff0c;一直想找一个本地可以离线使用的markdown编辑器。 以下就是我找到并且亲自尝试的一些了&#xff0c;这篇文章是适用于Windows的。 文章目录 MarkTextTyporaTextsHaroopadMarkPadMarkdownPadCaretC…

盘点好用的 Markdown 编辑器

Markdown 是以文本形式保存的&#xff0c;基本上任何一款编辑器都可以完成 Markdown 写作&#xff08;包括 Windows 的记事本、Linux 的 Vim 等等&#xff09;。不过&#xff0c;如果你想更专注于写作&#xff0c;一款支持语法显示和实时渲染的工具能让你事半功倍&#xff01; …

前端:推荐一款开源免费的浏览器端Markdown编辑器Vditor

目前程序员的世界到处都是Markdown &#xff0c;比如CSDN、简书、GitCha、 GitHub、掘金社区等等都支持Markdown文档&#xff0c;另外近几年许多官方技术文档都是使用Markdown来写的。 使用Markdown不仅可以非常方便的写博客、写技术文档&#xff0c;而且可以直接导出对应的网站…

Vue Markdown编辑器

效果展示 因工作中需要使用 是在https://gitee.com/wike2019/wike__md_editor中自己摸索完成 如有侵权请 告知本人 本人立刻删除此文章 简介 一款使用marked和highlight.js开发的一款markdown编辑器&#xff0c;除常见markdown语法外&#xff0c;支持快捷输入、图片粘贴、代…

R语言计量经济学:虚拟变量(哑变量)在线性回归模型中的应用

最近我们被客户要求撰写关于线性回归的研究报告&#xff0c;包括一些图形和统计输出。 为什么需要虚拟变量&#xff1f; 大多数数据都可以用数字来衡量&#xff0c;如身高和体重。然而&#xff0c;诸如性别、季节、地点等变量则不能用数字来衡量。相反&#xff0c;我们使用虚拟…

《计量经济学》学习笔记之虚拟变量及滞后变量模型

导航 上一章&#xff1a;放款基本假定的模型 文章目录 导航经典单方程计量 经济学模型&#xff1a;专门问题5.1虚拟变量模型一、虚拟变量的引入二、虚拟变量的设置原则 5.2滞后变量模型一、滞后变量模型二、分布滞后模型的参数估计三、自回归模型的参数估计四、格兰杰因果检验…

R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素

最近我们被客户要求撰写关于虚拟变量(Dummy Variables) 回归的研究报告&#xff0c;包括一些图形和统计输出。 简介 本文与以下两个问题有关。你应该如何添加虚拟变量&#xff1f;你应该如何解释结果&#xff1f; 如果使用一个例子&#xff0c;我们可能会更容易理解这些问题。…

虚拟变量在模型中的作用

虚拟变量是什么 实际场景中&#xff0c;有很多现象不能单纯的进行定量描述&#xff0c;只能用例如“出现”“不出现”这样的形式进行描述&#xff0c;这种情况下就需要引入虚拟变量。例如即将到来的女生节&#xff0c;每年的这个时候毛绒玩具的销量都会上升&#xff0c;说明女生…

R 回归 虚拟变量na_互助问答第30期:工具变量、GARCH模型操作和多项选择效信度...

问题1:用截面数据研究var1对y1 与y2 的影响,由于y1是0-1型的变量、y2为连续变量,因此分别用probit与tobit模型做了回归,首先做了基础回归,之后做了工具变量回归,但工具变量回归的结果(系数的绝对值)却远远大于原回归系数的绝对值,|-2.006|>|-0.046|,为何工具变量回归…

多元线性回归及虚拟变量(哑变量)设置

1.多元线性回归SPSS分析 四步搞定SPSS多元线性回归视频教程&#xff08;含详细操作及结果解读&#xff09;_哔哩哔哩_bilibili订阅陈老师B站送福利&#xff01;订阅后加陈老师QQ1622275006送数据分析教程及软件福利哟~关注微信公众号&#xff1a;杏花开医学统计&#xff0c;免…

虚拟变量陷阱原理及算例

文章目录 1.虚拟变量2.虚拟变量陷阱3.虚拟变量陷阱例子及分析4.总结5.参考资料 1.虚拟变量 直接在回归模型中加入定性因素&#xff08;比如类别因素&#xff1a;男或女&#xff09;存在困难&#xff0c;因此可以考虑把定性因素量化&#xff0c;使定性因素与定量因素在回归模型…

机器学习(时间序列):线性回归之虚拟变量 dummy variables

1 前言 当预测变量是分类变量时&#xff0c;我们可以引入虚拟变量&#xff0c;作为回归的虚拟变量虚拟变量也可用于解释数据中的异常值。 虚拟变量不会忽略异常值&#xff0c;而是消除其影响。 在这种情况下&#xff0c;虚拟变量对该观察值取值为 1&#xff0c;而在其他任何正…

虚拟变量的方法介绍及python实现方式

虚拟变量的定义作用 计量经济学中对虚拟变量给出了定义、作用及使用场景&#xff0c;进一步的深入了解可以系统性学习。 定义&#xff1a;虚拟变量 ( Dummy Variables) &#xff0c;用以反映无法定量度量的因素&#xff0c;譬如性别对收入的影响&#xff0c;是量化了的质变量&…

【计量经济学】虚拟变量

虚拟变量–潘登同学的计量经济学笔记 文章目录 虚拟变量--潘登同学的计量经济学笔记 对定性信息的描述只有一个虚拟变量的情形虚拟变量系数的解释虚拟变量的作用效果检验工资性别歧视因变量为对数形式的情况 多个虚拟变量的情形虚拟变量系数的解释使用虚拟变量包含序数信息虚拟…

php读取文件名称,php如何获取文件名

php获取文件名的方法&#xff1a;可以用basename()函数来获取文件名&#xff0c;例如&#xff1a;【basename($full_name)】。还可以使用pathinfo()函数来获取文件名。 PHP中获取文件名的方式 1、直接用basename&#xff1a;<?php $full_name c:\wamp\php\php.ini; $base…

python获取当前系统的日期_python怎么获取当前系统时间

python获取当前系统时间&#xff0c;包括年月日&#xff0c;时分秒&#xff0c;主要通过Python中的datetime模块来实现。 下面我们就通过具体的代码示例&#xff0c;给大家详细介绍Python获取当前时间日期的实现方法。 代码示例如下&#xff1a;import datetime now datetime.…

mysql如何获取当前时间_mysql怎么获取当前时间

mysql获取当前时间的方法&#xff1a;可以通过执行【select now();】语句来获取当前时间。还可以通过执行【select current_timestamp, current_timestamp();】语句来获取。 获得当前日期时间(date time)函数&#xff1a;now()mysql> select now(); --------------------- …

如何通过php获取今天的时间,如何使用php获取当前时间和日期

如何使用php获取当前时间和日期&#xff1f;在php中我们可以使用date()函数来获取当前时间和日期&#xff0c;也可以在PHP> 5.2的 版本中使用DateTime PHP类来获取日期和时间&#xff0c;下面我们就来看看具体的内容。 使用date()函数输出当前日期和时间。它将使用php.ini中…

php如何获取当前日期时间函数,php如何使用date()函数获取当前时间

php如何使用date()函数获取当前时间?本篇文章就给大家介绍具体介绍PHP使用date()函数获取当前时间的方法,希望对你们有所帮助。 date()函数可以将获取到的时间戳转换为更易读的日期和时间格式。当date()函数中不自定义一个时间戳时,将使用当前日期和时间。 下面我们来看看使…