开源啦!无界Markdown在线阅读器

开源地址:项目首页 – markdown在线阅读器

在线体验:点我在线阅读Markdown文档

 

一个功能完整的在线Markdown文档阅读器,支持文档上传、在线阅读、分享链接、访问统计、导出功能和后台管理。

功能特色

🚀 核心功能

  • 快速上传: 支持拖拽上传,无需注册登录,5MB以内的Markdown文件秒传
  • 在线阅读: 优雅的阅读界面,支持代码高亮、目录导航
  • 便捷分享: 生成唯一分享链接,支持访问统计
  • 多格式导出: 支持导出为HTML格式
  • 响应式设计: 完美适配各种设备

📊 管理功能

  • 后台管理: 完整的文档管理界面
  • 访问统计: 实时统计文档访问次数和时间
  • 搜索排序: 支持文档搜索和多种排序方式
  • 批量操作: 支持文档删除等管理操作

🎨 用户体验

  • 主题切换: 支持明暗主题切换
  • 阅读进度: 实时显示阅读进度
  • 键盘快捷键: 丰富的快捷键支持
  • 打印友好: 优化的打印样式

技术栈

后端

  • Node.js + Express: 服务器框架
  • Multer: 文件上传处理
  • Marked: Markdown解析
  • UUID: 唯一ID生成
  • fs-extra: 文件系统操作

前端

  • 原生HTML/CSS/JavaScript: 无框架依赖
  • Highlight.js: 代码语法高亮
  • 响应式设计: 适配各种设备

安装和运行

环境要求

  • Node.js 14.0 或更高版本
  • npm 或 yarn

安装步骤

  1. 克隆或下载项目
  2. 安装依赖
  3. 启动服务器
  4. 访问应用

使用说明

上传文档

  1. 访问主页 http://localhost:3000
  2. 拖拽或点击选择.md文件(最大5MB)
  3. 等待上传完成,获取分享链接

阅读文档

  1. 通过分享链接访问文档
  2. 使用目录导航快速跳转
  3. 支持主题切换和打印

管理文档

  1. 访问管理后台 http://localhost:3000/admin
  2. 查看所有文档和统计信息
  3. 支持搜索、排序、删除等操作
  4. 管理配置在config.json文件中,默认admin admin123

导出功能

  • HTML导出: 点击导出按钮下载HTML文件
  • 打印/PDF: 使用浏览器打印功能保存为PDF

API接口

文档上传

获取文档内容

获取文档列表

导出HTML

删除文档

目录结构

配置说明

环境变量

  • PORT: 服务器端口(默认3000)

限制设置

  • 文件大小限制: 5MB
  • 文件类型限制: .md
  • 上传频率限制: 15分钟内最多10个文件

安全特性

  • 文件类型验证: 只允许.md文件
  • 文件大小限制: 防止大文件攻击
  • 速率限制: 防止频繁上传
  • 路径安全: 防止路径遍历攻击
  • 输入验证: 防止XSS攻击

浏览器兼容性

  • Chrome 60+
  • Firefox 55+
  • Safari 12+
  • Edge 79+

开发说明

开发环境设置

代码规范

  • 使用ES6+语法
  • 遵循RESTful API设计
  • 注重代码注释和文档

故障排除

常见问题

  1. 端口被占用
  2. 文件上传失败
    • 检查文件格式是否为.md
    • 检查文件大小是否超过5MB
    • 检查uploads目录权限
  3. 数据丢失
    • 检查data目录是否存在
    • 检查JSON文件格式是否正确

许可证

MIT License

贡献

欢迎提交Issue和Pull Request来改进这个项目。

更新日志

v1.0.0

  • 初始版本发布
  • 支持Markdown文档上传和在线阅读
  • 实现分享链接和访问统计
  • 提供管理后台和导出功能
欢迎转载,请尊重作者劳动成果,保留原站链接
老念博客🌈 » 开源啦!无界Markdown在线阅读器

简单课程表 - 小念的个人博客