当前位置: 首页 > backend >正文

一款强大的实时协作Markdown工具 | CodiMD 9.6K ⭐

CodiMD 介绍

一款强大的实时协作Markdown笔记工具

CodiMD 是一个开源的实时协作 Markdown 笔记工具,它允许用户在任何平台上共同编辑 Markdown 文档。核心功能是实时协作,它允许多个用户同时编辑同一个文档,并实时看到彼此的更改。支持实时渲染预览,支持超多的富文本格式,比如常用的图片、表格、emoji 表情和代码段,此外还有各种图表和数学公式。

🚢 项目地址

  • Github:https://github.com/hackmdio/codimd
  • 官网: https://hackmd.io/

🚀CodiMD 特征

  • 🚀 开源且自由:CodiMD 完全开源,您可以自由地在私有服务器上部署,完全掌控您的数据。

  • ⏰ 强大的 Markdown 支持:它对 Markdown 语法有出色的支持,各种流程图,并且可以实时预览编辑的效果。

  • 🔌 高度自定义:除了基本的编辑功能,CodiMD 还提供了 API 和插件支持,允许开发者进行进一步的扩展和定制。

  • 👤 实时协作:多人可以在同一份文档上进行实时编辑,且每个人的编辑都会有不同的颜色标记,方便追踪。

  • 🌐良好的兼容性:兼容主要浏览器,包括 Chrome、Safari 和 Firefox 等,使用户在不同的设备和操作系统上均可获得流畅体验

  • 🔑独立自主的存储解决方案: 与大多数依赖于云端存储的工具不同,CodiMD 允许用户自主管控所有数据。通过选择适合的托管解决方案,用户可根据需求设计专属的安全性与隐私策略。

🛠️ 部署 CodiMD

👻 先决条件/要求

  • 最低 512MB RAM(推荐 1GB+)
  • 具备docker,docker-compose 环境

🐳 使用Docker Compose部署

version: "3"
services:database:#image: postgres:11.6-alpineimage: docker.cnb.cool/srebro/pidin/postgres:11.6-alpine ##CNB镜像加速地址environment:- POSTGRES_USER=codimd- POSTGRES_PASSWORD=pidin.srebro.cn  ##自定义密码- POSTGRES_DB=codimdvolumes:- "database-data:/var/lib/postgresql/data"restart: alwayscodimd:#image: nabo.codimd.dev/hackmdio/hackmd:2.5.4image: docker.cnb.cool/srebro/pidin/hackmd:2.5.4 ##CNB镜像加速地址environment:- CMD_DB_URL=postgres://codimd:pidin.srebro.cn@database/codimd- CMD_USECDN=falsedepends_on:- databaseports:- "3000:3000"volumes:- upload-data:/home/hackmd/app/public/uploadsrestart: always
volumes:database-data: {}upload-data: {}

浏览器访问CodiMD 地址:http://ip:3000/

🧭 使用Nginx反向代理

#CodiMDserver {listen       443 ssl;server_name  codimp.srebro.cn;  ##替换成自己的域名error_page  404              /404/404.html;charset utf-8;ssl_certificate /home/application/nginx/cert/srebro.cn.pem; ssl_certificate_key /home/application/nginx/cert/srebro.cn.key;ssl_session_cache    shared:SSL:1m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header X-Real-IP $remote_addr;proxy_set_header x-wiz-real-ip $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Proto $scheme;proxy_pass http://localhost:3000;}
}

image-20250419180227228

  • 注册账户

    ⚠ 注意: 这里注册 和 登录都是同一个输入框,需要先填入邮箱和密码,然后点击注册,即可

image-20250419182005183

  • 登录后界面

image-20250419182304953

  • 新建笔记

image-20250419182343649

  • 导入一个Markdown 文件
    • 可以实时看到markdown源代码和渲染后的界面
    • 右上角显示 一个用户 在线,也就是当前用户;

image-20250419182426128

  • 实时协作
    • 新打开一个无痕的浏览器窗口,复制上面的URL地址,可以看到右上角多了一个参与者,在线人数变成了2人
    • ⚠ 如果需要一起协助编译,需要再创建一个用户并且登录上,默认显示是Guest访客

image-20250419182645813

image-20250419182932224

image-20250419182955459

image-20250419183318114

🎁 获取CodiMD

  • CNB 仓库地址:CodiMD
http://www.xdnf.cn/news/1270.html

相关文章:

  • 携程-酒旅-数据研发面经【附答案】
  • 【Spring】单例作用域下多次访问同一个接口
  • Discuz!+DeepSeek:传统论坛的智能化蜕变之路
  • 【C++】新手入门指南(下)
  • 《Linux TCP通信深度解析:实现高可靠工业数据传输客户端》
  • 使用Python设置excel单元格的字体(font值)
  • 笔记本电脑研发笔记:BIOS,Driver,Preloader详记
  • Win10一体机(MES电脑设置上电自动开机)
  • 《Android系统应用部署暗礁:OAT文件缺失引发的连锁崩溃与防御体系构建》
  • Mediatek Android13 设置Launcher
  • 基于ssm的疫情防控志愿者管理系统(源码+文档)
  • SpringBoot_为何需要SpringBoot?
  • AlmaLinux 9.5 调整home和根分区大小
  • 机器学习基础 - 分类模型之决策树
  • 深度学习--卷积神经网络数据增强
  • TP(张量并行)和EP(专家并行)的区别
  • C++学习之游戏服务器开发十二nginx和http
  • 从信息泄露到内网控制
  • STM32外部中断与外设中断区别
  • 数据结构——队列
  • 华为交换机命令笔记
  • 【springsecurity oauth2授权中心】将硬编码的参数提出来放到 application.yml 里 P3
  • C++23 中 static_assert 和 if constexpr 的窄化布尔转换
  • Agent智能体ReAct机制深度解读:推理与行动的完美闭环
  • 实战华为1:1方式1 to 2 VLAN映射
  • hbuilderx云打包生成的ipa文件如何上架
  • 发送百度地图的定位
  • 7.6 GitHub Sentinel后端API实战:FastAPI高效集成与性能优化全解析
  • OpenCV中的透视变换方法详解
  • 【AI模型学习】Swin Transformer——优雅的模型