Skip to content

wink-wink-wink555/MarkiNote

Repository files navigation

MarkiNote ✨

MarkiNote Logo

English | 简体中文 | 日本語 | 한국어

MarkiNote Logo Python Flask License

一个强大且完全免费的 Markdown 文档管理与预览系统 (。・ω・。)ノ♡

产品预览快速开始功能特性使用指南贡献


✨ 项目简介

MarkiNote✨ 是一个基于 Flask 的现代化 Markdown 文档管理系统,让你的 Markdown 文档管理变得简单又有趣! (★ ω ★)

为什么选择 MarkiNote?

  • 📝 实时预览:所见即所得的 Markdown 渲染
  • 📚 文档管理:像文件管理器一样管理你的 Markdown 文档
  • 🎨 数学公式:完美支持 LaTeX 数学公式渲染
  • 🌈 美观界面:现代化的 UI 设计,使用体验超棒
  • 🚀 轻量快速:基于 Flask,启动快速,资源占用少

🎯 功能特性

📂 文件管理

  • ✅ 上传单个文件或整个文件夹
  • ✅ 创建、删除、移动、编辑文件和文件夹
  • ✅ 面包屑导航,轻松浏览文件结构
  • ✅ 右键菜单快捷操作

📝 Markdown 预览

  • ✅ 实时渲染 Markdown 文档
  • ✅ 支持 GFM (GitHub Flavored Markdown)
  • ✅ 代码高亮显示
  • ✅ 表格、列表、引用等完整支持
  • ✅ 数学公式渲染 (MathJax)
  • ✅ 查看、编辑 Markdown 文档的源代码
  • ✅ Mermaid 图表支持

📸 产品预览

来看看MarkiNote的真容吧!每一个界面都充满了爱~

示例1

内容浏览、文件管理,操作丝滑一应俱全

示例2

支持 LaTex 数学公式、代码块渲染

示例3

支持 Mermaid 各类图表渲染

示例4

文件太多?一键关键词搜索没烦恼!

示例5

晚上想偷偷“卷”?那就切换到夜间模式吧~

示例6

一键查看、编辑文件源代码,效率杠杠滴!

示例7

一键进入全屏模式,展示汇报更聚焦!


🚀 快速开始

环境要求

  • Python 3.8 或更高版本
  • pip 包管理器

安装步骤

1️⃣ 克隆项目

git clone https://github.com/wink-wink-wink555/MarkiNote.git
cd MarkiNote

2️⃣ 安装依赖

pip install -r requirements.txt

3️⃣ 下载前端资源库

项目使用了本地化的前端库(MathJax、Mermaid、html2canvas),已包含在 static/libs/ 目录中。如需更新,可运行:

# Windows PowerShell
Invoke-WebRequest -Uri "https://unpkg.com/mathjax@3.2.2/es5/tex-mml-chtml.js" -OutFile "static/libs/tex-mml-chtml.js"
Invoke-WebRequest -Uri "https://unpkg.com/mermaid@10/dist/mermaid.min.js" -OutFile "static/libs/mermaid.min.js"
Invoke-WebRequest -Uri "https://unpkg.com/html2canvas@1.4.1/dist/html2canvas.min.js" -OutFile "static/libs/html2canvas.min.js"

# Linux/Mac
curl -L -o static/libs/tex-mml-chtml.js "https://unpkg.com/mathjax@3.2.2/es5/tex-mml-chtml.js"
curl -L -o static/libs/mermaid.min.js "https://unpkg.com/mermaid@10/dist/mermaid.min.js"
curl -L -o static/libs/html2canvas.min.js "https://unpkg.com/html2canvas@1.4.1/dist/html2canvas.min.js"

4️⃣ 启动应用

python main.py

5️⃣ 打开浏览器

访问 http://localhost:5000 就可以开始使用啦! ヾ(≧▽≦*)o


📖 使用指南

基础操作

  1. 上传文件 (。・ω・。)ノ♡

    • 点击侧边栏的"上传"按钮
    • 选择上传文件或文件夹
    • 支持 .md.markdown.txt 格式
  2. 预览文档

    • 在左侧文件列表中点击文件
    • 右侧会实时显示渲染后的内容
    • 点击"查看源代码"可以查看原始 Markdown
  3. 管理文件 📁

    • 右键点击文件/文件夹打开菜单
    • 可以预览、移动、删除文件
    • 使用新建文件夹按钮创建文件夹

高级功能

  • 数学公式:支持行内公式 $...$ 和块级公式 $$...$$
  • 代码高亮:使用 ```语言 开启代码块
  • Mermaid 图表:支持流程图、时序图等可视化

更多详细使用说明,请查看 lib/新手指南.md (。♥‿♥。)


📁 项目结构

MarkiNote/
├── app/                    # Flask 应用核心
│   ├── __init__.py        # 应用初始化
│   ├── config.py          # 配置文件
│   ├── routes/            # 路由模块
│   │   ├── main_routes.py    # 主路由
│   │   └── library_routes.py # 文件管理路由
│   └── utils/             # 工具函数
│       ├── file_utils.py     # 文件处理
│       └── markdown_utils.py # Markdown 渲染
├── static/                # 静态资源
│   ├── libs/             # 前端库(本地化)
│   │   ├── tex-mml-chtml.js      # MathJax
│   │   ├── mermaid.min.js        # Mermaid
│   │   └── html2canvas.min.js    # html2canvas
│   ├── style.css         # 样式文件
│   └── script.js         # 前端脚本
├── templates/            # HTML 模板
│   └── index.html
├── lib/                  # 文档库(存放 Markdown 文件)
├── main.py              # 应用入口
├── requirements.txt     # 依赖列表
└── README.md           # 项目说明

🛠️ 技术栈

后端

  • Flask 3.0.0 - Web 框架
  • markdown - Markdown 解析
  • BeautifulSoup4 - HTML 处理
  • Pygments - 代码语法高亮

前端

  • Vanilla JavaScript - 原生 JS,无框架依赖
  • MathJax 3 - 数学公式渲染
  • Mermaid - 图表渲染
  • html2canvas - 截图功能

🤝 贡献

欢迎所有形式的贡献!(ノ◕ヮ◕)ノ*:・゚✧

如何贡献

  1. Fork 这个项目
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

报告问题

如果你发现了 bug 或有功能建议,请在 Issues 中告诉我们!


📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件


💖 致谢

感谢所有为这个项目做出贡献的开发者们! (づ。◕‿‿◕。)づ

特别感谢以下开源项目:


Made with ❤️ by wink-wink-wink555

如果这个项目对你有帮助,请给个 ⭐️ 支持一下吧! (◕‿◕✿)

About

MarkiNote is a Markdown document management and reading system built on Flask, featuring real-time preview, file management, LaTeX mathematical formula rendering, and Mermaid diagram support. All data is processed locally, prioritizing privacy and offline usability.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors