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

简介: 【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器

一、项目介绍

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

hostname IP地址 操作系统版本 内核版本
ubuntu-001 192.168.3.251 Ubuntu 22.04.1 LTS 5.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

7月 23 02:04:39 ubuntu-001 systemd[1]: Starting The Apache HTTP Server...
7月 23 02:05:11 ubuntu-001 apachectl[1143]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 12>
7月 23 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"均能提供一个既高效又便捷的在线编辑体验,成为他们笔耕不辍的理想伙伴。

相关文章
|
1天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1517 4
|
28天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
5天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
481 17
|
1天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
179 1
|
8天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
21天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
8天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
442 4
|
7天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
313 2
|
23天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
25天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2607 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析