飞牛NAS上部署Markdown文稿编辑器,阅读.md文件同时还可以跨平台访问!

前言

前段时间小白在使用.md文件的阅读器,好像是什么*ypor*,但是这个软件它收费。(也不是找不到PJ版本,只是感觉这是人家的知识产权,就不整了。)

于是小白在寻找能够代替这个软件的其他软件,而且如果它能跨平台使用,那就更好了。

比如:目前小白在使用MacBook编辑文件,回到办公室的时候,在办公室的台式机上打开相同的页面就可以继续编辑页面。另外在外出的时候,通过虚拟局域网也可以实现异地访问,手机、家里的电脑、平板都是通用访问,那就更好了。

总结:

1、免费;

2、跨设备接力编辑;

3、支持手机、平板、电脑等所有支持浏览器的设备;

4、支持异地访问;

按照这四个点,小白刚刚好遇到了可以部署在飞牛Docker上的一个项目:

项目地址https://github.com/doocs/md

图片

    项目体验地址(复制到浏览器打开)https://doocs-md.pages.devhttps://md.doocs.org

    项目特点:

    ✅ 全功能 Markdown 支持:标准语法 + 公式/流程图等扩展
    ✅ 高亮主题 & 自定义样式,阅读/视觉体验佳
    ✅ 多图床支持(GitHub/云服务等)
    ✅ 智能辅助:草稿自动保存 + AI 创作(OpenAI/DeepSeek等)
    ✅ 便捷管理:导入导出 + 私有化部署(Docker/CLI)

    正文开始

    部署Markdown项目

    打开飞牛NAS界面(想要壁纸的小伙伴,请在公众号后台回复【壁纸】获取)

    图片

    打开【文件管理】,进入到【Docker】文件夹,创建一个【md】文件夹

    图片

    在公众号后台回复【md】获取【docker-compose.yml】文件,上传到md文件夹

    图片

    接着打开【Docker应用】,点击【Compose】,点击【新增项目】

    图片

    名称填写为【md】

    图片

    点击【路径】上的【请选择】,找到刚刚创建的【md文件夹】,会提示【所选择的路径已包含 docker-compose 配置文件】,点击【确定】

    图片

    勾选【创建项目后立即启动】,点击【确定】

    图片

    项目启动就会自动拉取镜像,最后提示【Container xxx Started】和【Exited:0】就已经成功了。

    图片

    使用Markdown项目

    打开一个新的浏览器页面,输入【飞牛IP:5058】就能看到这个Markdown页面。(小白这里是【192.168.33.190:5058】)

    这时候你可以在上面做文字编辑,甚至各种新媒体图文排版。

    图片

    这里点击【文件】可以看到支持导出和导入的文件类型

    图片

    你可以点击右边这个小齿轮,调整自己喜欢的样式

    图片

    这样,你做的公众号图文内容排版就会是统一的了。

    其他设备访问Markdown项目

    手机访问页面需要连接到局域网下,再访问【飞牛IP:5058】,小白这里是【192.168.33.190:5058】

    图片

    在手机上做内容审核或者是思路整理还是可以的,如果要进行文字编辑和排版,还是在电脑上舒服一些。

    平板上访问md页面的时候,会发现预览跟电脑差不多,只是差了个键盘,就可以流畅编辑内容了。

    图片

    --End--

    部署完这个项目之后,通过Markdown编辑的文字都是存储在飞牛NAS上,因此你更换一个设备访问Markdown编辑器页面,就可以继续为自己的梦想添砖加瓦了!

    再也不会因为某个电脑没有对应的md编辑器,导致进度停滞不前。也不需要另存文件到本地,然后再发送到对应设备进行审阅。(能省下不少时间!)

    异地访问教程等待下一期!

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

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

    相关文章

    浅谈 SQL 窗口函数:ROW_NUMBER() 与聚合函数的妙用

    在日常开发中,我们经常会遇到这样的需求:既要保留明细数据,又要对数据进行排名、累计、分区统计。如果仅依赖传统的 GROUP BY,往往需要做多次子查询或者复杂的 JOIN,既繁琐又低效。 而 窗口函数(Window Fun…

    DSPFilters实现低通滤波器(QT)

    DSPFilters实现低通滤波器DSPFilters实现低通滤波器DSPFilters安装-构建静态库QT代码复制include和静态库到qt项目qt代码配置效果DSPFilters实现低通滤波器 https://github.com/vinniefalco/DSPFilters DSPFilters安装-构建静态库 用 Qt 自带的 MinGW(最简单&…

    mybatis plus 基本使用和源码解析

    简介 mybatis-plus是一款mybatis增强工具,用于简化开发,提高效率。mybatis-plus免去了用户编写sql的麻烦,只需要创建好实体类,并创建一个继承自BaseMapper的接口,mybatis就可以自动生成关于单表的crud。mybatis-plus自…

    【Android】Notification 的基本使用

    文章目录【Android】Notification的基本使用权限通知的基本使用1. 获取通知管理器(用于发送、更新、取消通知)2. 创建通知渠道(Android 8.0 必须)3. 使用通知3.1 发送通知3.2 更新通知3.3 取消通知通知的进阶技巧通知显示样式1. B…

    Web前端开发基础

    1.前端概论 1.1 什么是前端? 概念:前端(Front-End),也称为客户端(Client-Side),指的是用户在使用网站或Web应用时直接看到并与之交互的部分。它涵盖了屏幕上的一切内容,从文字、图片、按钮、布局到动画效果 一个简单的…

    并发编程——11 并发容器(Map、List、Set)实战及其原理分析

    1 JUC包下的并发容器Java 基础集合(如 ArrayList、LinkedList、HashMap)非线程安全。为了解决线程安全问题,Java 最初提供了同步容器(如 Vector、Hashtable、SynchronizedList),但它们通过 synchronized 实…

    Circuitjs 测试点的使用

    在电路中, 有时候我们想知道, 各个节点上电压的具体的值. 比如下面这个电路:电流流经两个电阻器之后, 电压在下降. 如果想知道具体节点电压的确切数值, 可以通过添加 测试点(Test Point) 实现. 点击 绘制–输出和标签–添加测试点, 之后在所需测量的节点上拖动添加一个测试点, …

    Ansible Playbook 实践

    Ansible Playbook 实践一、Playbook 基础规范(一)YAML 格式要求文件标识:以 --- 开头,明确为 YAML 文件,结尾可加 ...(可选,用于标记文件结束)。注释规则:用 # 实现注释&…

    基于 Vue + Interact.js 实现可拖拽缩放柜子设计器

    实现可视化设计工具已成为前端开发的重要挑战之一。本文将介绍如何使用 Vue.js 配合 Interact.js 库创建一个功能完整的橱柜设计器,兼容PC和移动终端。核心功能网格系统:基于 CSS 网格实现精准定位拖拽功能:实现单元格的自由移动缩放控制&…

    今日科技速递 | 智能芯片突围、AI+行动深化、服贸会科技成果亮相

    今日科技速递 | 智能芯片突围、AI行动深化、服贸会科技成果亮相 一、乐鑫科技涨停:Wi-Fi 6/7 与 AIoT 芯片双路径创新驱动 新闻回顾 2025 年 8 月 27 日,科创板公司 乐鑫科技(688018) 盘中一度涨停,股价达到 225 元&am…

    PDF压缩如何平衡质量与体积?

    在日常工作或者生活中,我们常常要处理PDF文档,很多人可能会遇到这样的困扰?使用WPS处理PDF时,部分功能需要付费,这给我们带来了许多不便。 它的使用方式十分简单,你只要双击图标,它就能启动&am…

    Flask 之上下文详解:从原理到实战

    一、引言:为什么 Flask 需要“上下文”?在 Web 开发中,我们经常需要访问当前请求的信息(如 URL、表单数据)、当前应用实例(如配置、数据库连接)或用户会话状态。传统做法是使用全局变量&#xf…

    深入探索Vue:前端开发的强大框架

    在当今的前端开发领域,Vue作为一款备受瞩目的JavaScript框架,以其简洁易用、高效灵活等特性,赢得了众多开发者的青睐。无论是构建小型的交互页面,还是开发大型的单页应用,Vue都能展现出卓越的性能和出色的表现。本文将…

    B树与B+树的原理区别应用

    在磁盘存储和内存有序的数据管理中,B 树与 B 树是核心的数据结构,二者均通过 “多路平衡” 特性减少 IO 次数,但在数据存储方式、查询逻辑上存在本质差异。一、B 树(Balance Tree):多路平衡搜索树B 树是 “…

    从零到一:使用anisble自动化搭建kubernetes集群

    在我们云原生俱乐部的暑期学习中,我们了解并学习了需要关于云原生的技术,其中在应用层面上最重要的就是shell编程和ansible,而想要掌握这两项技术离不开的就是实践,而kubernetes是我们云原生技术栈的核心技术,在生产实…

    【LangGraph】langgraph.prebuilt.create_react_agent() 函数:快速创建基于 ReAct(Reasoning + Acting)架构的智能代理

    本文是对 langgraph.prebuilt.create_react_agent 函数的详细且全面的介绍,涵盖其定义、功能、设计理念、参数、返回值、使用场景、实现原理、示例代码、高级用法、注意事项、与其他方法的对比,以及学习建议。 1. 概述 langgraph.prebuilt.create_react…

    北斗导航 | RAIM算法改进方案及性能对比分析报告

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 文章目录RAIM算法改进方案及性能对比分析报告一、RAIM算法改进技术框架1.1 多假设分组算法(MHSS)1.2 动态噪声估计算法1.3 多源信息融合技术二、…

    数据结构第8章 排序(竟成)

    第 8 章 排序【考纲内容】1.排序的基本概念;2. 直接插入排序;3. 折半插入排序;4. 起泡排序(Bubble Sort);5.简单选择排序;6. 希尔排序(Shell Sort);7. 快速排…

    【学Python自动化】 5. Python 数据结构学习笔记

    一、 列表详解 1 列表方法总结方法描述等价操作rust Vec类似操作list.append(x)末尾添加元素a[len(a):] [x]vec.push(x);list.extend(iterable)扩展列表a[len(a):] iterablevec.extend([4, 5, 6]); 或者更高效:vec.extend_from_slice(&[4, 5, 6]);list.inser…

    Python爬虫实战:研究Radar chart,构建多维度数据采集和分析系统

    1. 引言 1.1 研究背景与意义 在信息爆炸的时代,互联网蕴含的海量数据已成为企业决策、学术研究和产品评估的重要依据。这些数据往往包含多个维度的特征,如电商平台的商品信息涵盖价格、销量、评价、性能参数等,社交媒体的用户数据涉及活跃度、互动量、内容偏好等。传统的单…