Linux系统之部署轻量级Markdown文本编辑器

news2025/1/9 15:19:57

Linux系统之部署轻量级Markdown文本编辑器

  • 一、项目介绍
    • 1.1 项目简介
    • 1.2 使用方法
  • 二、本次实践介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、检查本地环境
    • 3.1 检查系统版本
    • 3.2 检查系统内核版本
    • 3.3 检查软件源
  • 四、安装Apache2
    • 4.1 安装Apache2软件
    • 4.2 启动apache2服务
    • 4.3 查看apache2服务状态
    • 4.4 防火墙设置
    • 4.5 浏览器测试web服务
  • 五、部署项目
    • 5.1 下载项目源码
    • 5.2 查看项目源码目录
    • 5.3 重启apache2服务
  • 六、访问项目
    • 6.1 访问初始页
    • 6.2 编辑文章
    • 6.3 查看帮助信息
    • 6.4 切换显示模式
    • 6.5 保存文本
  • 七、总结


👨‍💻 江湖有缘
🚀 一名在运维领域不懈探索的学习者。

🌟 认证与成就
🔴 红帽 RHCE 认证
🟠 华为 HCIP 数通认证
🔵 华为 HCIE 云计算认证
…以及其他多项专业认证

🌐 个人主页
🔗 CSDN个人主页

📢 公众号
🏷️ 【运维江湖客】

👥 交流社群
💬 欢迎同行及爱好者加入我们的QQ群:
🏷️ 群号【942602415】

📝 人生格言
“人可以被毁灭,但不能被打败。”
—— 海明威


一、项目介绍

1.1 项目简介

"Writing"是一个在浏览器中运行的轻量级、无干扰的文字编辑器,它支持Markdown和LaTeX语法。这个工具提供了一个干净简洁的写作环境,帮助用户集中注意力进行创作,特别适合需要撰写包含数学公式或科学记号的文章的作者使用。无论是写博客、学术论文还是小说,"Writing"都能提供一个高效且便捷的在线编辑体验。

1.2 使用方法

快捷键功能描述
CTRL + D切换显示模式
CTRL + P打印或导出为PDF
CTRL + S保存源代码为.MD文件
CTRL+SHIFT+H显示帮助
? (左下角图标)同样用于显示帮助

二、本次实践介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1 LTS

hostnameIP地址操作系统版本内核版本
ubuntu-001192.168.3.251Ubuntu 22.04.1 LTS5.15.0-113-generic

2.2 本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎;
2.在Ubuntu 环境下轻量级Markdown文本编辑器。

三、检查本地环境

3.1 检查系统版本

检查系统版本,当前系统版本为Ubuntu 22.04.1 LTS

root@ubuntu-001:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

3.2 检查系统内核版本

检查系统内核版本,当前内核版本为5.15.0-113-generic

root@ubuntu-001:~# uname -r
5.15.0-113-generic

3.3 检查软件源

检查本地apt软件源是否正常,更新本地更新软件包列表。

root@ubuntu-001:~# apt update
命中:1 https://mirrors.aliyun.com/ubuntu jammy InRelease
获取:2 https://mirrors.aliyun.com/ubuntu jammy-security InRelease [129 kB]
获取:3 https://mirrors.aliyun.com/ubuntu jammy-updates InRelease [128 kB]
命中:4 https://mirrors.aliyun.com/ubuntu jammy-backports InRelease
获取:5 https://mirrors.aliyun.com/ubuntu jammy-updates/main amd64 Packages [1,794 kB]
获取:6 https://mirrors.aliyun.com/ubuntu jammy-updates/universe amd64 Packages [1,101 kB]
已下载 3,152 kB,耗时 2(1,420 kB/s)
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
有 106 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。

四、安装Apache2

4.1 安装Apache2软件

使用以下命令安装Apache2 web服务器

apt install apache2 -y

在这里插入图片描述

4.2 启动apache2服务

启动apache2服务服务,并使开机自启。

systemctl enable --now apache2

4.3 查看apache2服务状态

查看apache2服务状态,确保apache2服务正常。

root@ubuntu-001:/var/www/html/writing# systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-07-23 02:05:12 UTC; 6h ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1071 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 2051 (apache2)
      Tasks: 55 (limit: 9345)
     Memory: 12.6M
        CPU: 1.248s
     CGroup: /system.slice/apache2.service
             ├─2051 /usr/sbin/apache2 -k start
             ├─2052 /usr/sbin/apache2 -k start
             └─2053 /usr/sbin/apache2 -k start

723 02:04:39 ubuntu-001 systemd[1]: Starting The Apache HTTP Server...
723 02:05:11 ubuntu-001 apachectl[1143]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 12>
723 02:05:12 ubuntu-001 systemd[1]: Started The Apache HTTP Server.
lines 1-17/17 (END)

4.4 防火墙设置

  • 关闭防火墙,如果想要开启防火墙,需放行80端口。
sudo ufw disable

  • 查看防火墙状态
root@ubuntu-001:~# ufw status
状态:不活动

4.5 浏览器测试web服务

浏览器打开:http://192.168.3.251,将IP替换为自己服务器IP地址。

在这里插入图片描述

五、部署项目

5.1 下载项目源码

进入网页根目录

root@ubuntu-001:~# cd /var/www/html/
root@ubuntu-001:/var/www/html#

在github拉取项目源码

git clone https://github.com/josephernest/writing.git

在这里插入图片描述

5.2 查看项目源码目录

查看项目源码目录

root@ubuntu-001:/var/www/html# tree -L 2 writing/
writing/
├── cmunrb.otf
├── cmunrm.otf
├── favicon.ico
├── index.html
├── Markdown.Converter.js
├── Markdown.Editor.js
├── Markdown.Extra.js
├── Markdown.Sanitizer.js
├── mathjax-editing_writing.js
└── README.md

0 directories, 10 files

5.3 重启apache2服务

重启apache2服务

systemctl restart apache2

六、访问项目

6.1 访问初始页

访问地址:http://服务器IP地址/writing/,进入到writing首页。

在这里插入图片描述

6.2 编辑文章

在左侧编辑器内使用markdown语法编辑文章内容,右侧可以预览效果。

在这里插入图片描述

6.3 查看帮助信息

在页面的右下角图标 ? ,可用于显示帮助信息。

在这里插入图片描述

6.4 切换显示模式

  • 使用 CTRL + D : 切换显示模式

在这里插入图片描述

6.5 保存文本

  • 使用 CTRL + P 打印或导出为PDF

在这里插入图片描述

  • 使用 CTRL + S :保存源代码为.MD文件 ,

在这里插入图片描述

七、总结

"Writing"编辑器凭借其在浏览器中无缝运行的轻量级设计,为用户打造了一个远离干扰、专注于创作的理想空间。通过融合Markdown与LaTeX的支持,它不仅简化了文本格式化的复杂度,更让撰写涉及数学公式和科学符号的内容变得得心应手,极大地提升了学术研究、科技写作及各类专业文档的编辑效率。无论是专业的学术工作者、热衷于技术写作的博主,还是追求灵感捕捉的文学创作者,"Writing"均能提供一个既高效又便捷的在线编辑体验,成为他们笔耕不辍的理想伙伴。

  • 【原文地址:https://blog.csdn.net/jks212454/article/details/140639203】

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

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

相关文章

【题目/训练】:双指针

引言 我们已经在这篇博客【算法/学习】双指针-CSDN博客里面讲了双指针、二分等的相关知识。 现在我们来做一些训练吧 经典例题 1. 移动零 思路: 使用 0 当做这个中间点,把不等于 0(注意题目没说不能有负数)的放到中间点的左边,等于 0 的…

微服务设计原则——高性能:存储设计

文章目录 1.读写分离2.分库分表3.动静分离4.冷热分离5.重写轻读6.数据异构参考文献 任何一个系统,从单机到分布式,从前端到后台,功能和逻辑各不相同,但干的只有两件事:读和写。而每个系统的业务特性可能都不一样&#…

STM32CubeMX生成stm32MP135中断优先级配置错误修正方法

0 修改方法 使用STM32CubeMX生成stm32MP135代码的中断优先级配置错误,将导致所有中断优先级设置不对。 如果设置EXTI0中断优先级为10,在STM32CubeMX中配置如下: 生成的中断优先级配置代码为: 正确写法应该将中断优先级左移3位&…

python人工智能001:NumPy科学计算库说明与安装

1. NumPy说明 NumPy(Numerical Python)是Python的一个开源数值计算扩展库。它提供了一个强大的N维数组对象ndarray,以及用于对这些数组进行操作的函数。NumPy的数组和数组操作是Python数据分析、机器学习、科学计算等领域的基础。 NumPy的主…

web开发环境搭配与创建javaee项目

一.web开发 (1)web开发指的是前端,后端,以及数据库进行交互,前端发送请求到后端,后端经过程序处理后到达数据库,最后在进行后端处理响应回前端。 (2)一次三端交互的doget或者dopost简单请求流程 (3)web开发除了需要前端,后端,数据库开发工具…

Java之线程篇一

目录 如何理解进程? 进程和线程的区别 线程的优点 线程的缺点 线程异常 线程用途 创建线程 方法一:继承Thread类,重写run() 观察线程 小结 方法二: 实现Runnable接口,重写run() 方法三:继承Threa…

超越AnimateAnyone!Meta提出全身 3D虚拟人技术ExAvatar,可通过简短视频克隆人像并转化为3D数字形象

ExAvatar是由DGIST和Meta公司的Codec Avatars Lab联合研发的一项技术,能够通过捕捉视频中的动作和表情,转化为栩栩如生的3D数字形象。这项技术解决了以往技术中的难题,提高了动画的自然度和渲染效果。 什么是 ExAvatar? ExAvatar 是全新富有表现力的全身 3D 高斯化身。 结…

2.1 文件内容差异对比方法

2.1 文件内容差异对比方法 文件内容差异对比方法2.1.1 两个字符串的差异对比2.1.2 生成美观的HTML格式文档2.1.3 对比nginx 配置文件差异代码封装 文件内容差异对比方法 介绍如何通过difflib模块实现文件内容差异对比。difflib作为Python的标准库模块无需安装,作用…

算法学习——树形DP——多叉树的最长路径

文章目录 引言正文0、题目的具体内容1、树的直径定理推导3、使用数组链表表示树使用数组表示链表数组表示单链表头插法演示数组表示单链表在索引k出插入一个数字数组表示链表实现代码链表表示树 4、树形DP的具体分析 总结 引言 这个问题,每一次都会痛击我&#xff…

养猫劝退?猫咪掉毛严重怎么办?用宠物空气净化器高效清理浮毛

不瞒大家说,养猫以来,我中途有无数次想要把它送人的想法,最终还是敌不过它的可爱留下来了。为什么会产生这样的念头呢?罪魁祸首就是猫毛问题。夏天是猫咪的换毛季,它们为了散热会脱去厚重的毛发,进入疯狂掉…

06结构型设计模式——代理模式

一、代理模式简介 代理模式(Proxy Pattern)是一种结构型设计模式(GoF书中解释结构型设计模式:一种用来处理类或对象、模块的组合关系的模式),代理模式是其中的一种,它可以为其他对象提供一种代…

依赖倒置原则详解

依赖倒置原则详解 一、引言 在大型系统架构设计中,依赖倒置原则(Dependency Inversion Principle,DIP)被广泛视为增强系统灵活性和可维护性的核心原则之一。最近在架构设计审查中,我们经常遇到由于依赖关系设计不当导…

叠Buff!经典麻雀优化算法+多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测

叠Buff!经典麻雀优化算法多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测 目录 叠Buff!经典麻雀优化算法多重双向深度学习!SSA-BiTCN-BiGRU-Attention多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matl…

P2858 [USACO06FEB] Treats for the Cows

题目描述 约翰经常给产奶量高的奶牛发特殊津贴,于是很快奶牛们拥有了大笔不知该怎么花的钱。为此,约翰购置了 N 份美味的零食来卖给奶牛们。每天约翰售出一份零食。当然约翰希望这些零食全部售出后能得到最大的收益。这些零食有以下这些有趣的特性&…

(python)动态类型语言的灵活性和动态性

前言 一种具有动态类型,动态绑定,动态执行和灵活的对象模型的编程语言。它能够适应不断变化的编程需求的,是否会受欢迎? 动态语言的优点 灵活性高:开发过程更加灵活和快捷,不需要在编写代码前严格定义变量和对象的类型&#xff0…

linux之prometheus+grafana

Prometheus介绍 Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合, 由go语言开发。 适合监控容器平台, 因为kubernetes(俗称k8s)的流行带动了prometheus的发展。 PS:由于目前还未学习容器,所以在今天的课程里使用prometheus监…

嵌入式Linux:proc文件系统

目录 1、使用 cat 命令读取 /proc 文件系统 2、在应用程序中使用 open() 和 read() 函数读取 /proc 文件系统 proc 文件系统是一个虚拟文件系统,它以文件系统的形式为应用层提供访问系统内核数据的接口。用户和应用程序可以通过 proc 文件系统获取系统信息和进程相…

腾讯一面算法题:最长重复子串 1044,讲个比较好理解的思路

文章目录 1044. 最长重复子串前言思路Version 1:暴力Version 2:引入二分,优化 O ( n 2 ) O(n^2) O(n2)Version 3:引入自定义哈希,优化字符串比较Version 4:计算所有字符串的哈希值Version 5:引…

前后端项目交互异步请求JSON数据类型后端标准响应数据格式

java同步请求 当网页与后端交互时,前端不能再进行其他操作 服务器响应回来的内容,会把整个浏览器中的内容覆盖 这种请求方式在前后端交互时不太友好 现在的前后端交互请求都使用异步请求 异步请求(不同步) 通过在前端中使用js中提供的XMLHttpRequest对象实现发送异步请求…

人工智能与机器学习在医学领域的应用

作者主页: 知孤云出岫 人工智能与机器学习在医学中的应用 目录 作者主页:人工智能与机器学习在医学中的应用1. 引言2. 医学中的AI和ML技术概述2.1 人工智能和机器学习基础2.2 数据在医学AI中的重要性 3. 医学AI和ML的具体应用领域3.1 影像诊断3.2 基因组学与个性化医疗3.3 疾…