Markdown编辑器的设计与实现毕业论文
2020-02-23 18:25:00
摘 要
Markdown 是一种用来写作的轻量级标记语言,它只需要用简洁的语法就可以代替掉繁琐的排版。虽然是一种标记语言,但Markdown 的语法相对其他语言来说十分简单。Markdown可以让我们专心于码字,用标记语法,来代替常见的排版格式。一篇文章从内容格式,到插图,表格,公式等,只使用键盘,不需要移手到鼠标,只盯着屏幕就可以完成编写排版了,可以带给用户一种沉浸式编写体验。
由于Markdown语法的优异性,开发一款Markdown编辑器成为一件很有收益的事情。而本项目就是开发一款支持Markdown语法的Markdown编辑器,需要实现以下功能: Markdown文本编辑功能、效果渲染与显示功能、文件转换与输出功能、文件管理功能。
本文对Markdown编辑器的设计与实现进行了探索和实践。项目采用Spring Boot框架整合Editor.md来实现Markdown编辑器的一些基础功能。
关键字:Markdown; Spring Boot;Editor.md;
Abstract
Markdown is a lightweight markup language for writing. It only needs simple syntax to replace cumbersome typesetting. Although it is a markup language, Markdown's syntax is quite simple compared to other languages. Markdown allows us to concentrate on codewords and use markup syntax to replace common formatting. An article from the content format, to illustrations, forms, formulas, etc., only use the keyboard, do not need to move to the mouse, just staring at the screen to complete the layout, and can give users an immersive writing experience.
Due to the superiority of Markdown syntax, developing a Markdown editor has become a very rewarding thing. The project is to develop a Markdown editor that supports Markdown syntax. The following functions need to be implemented: Markdown text editing function, effect rendering and display function, file conversion and output function, and file management function.
This article explores and practices the design and implementation of the Markdown editor. The project uses the Spring Boot framework to integrate Editor.md to implement some of the basic features of the Markdown editor.
Key Words:Markdown; Spring Boot; Editor.md
目录
第1章 绪论 3
1.1 研究背景 3
1.2 研究目的及意义 3
1.3 国内外研究现状 4
1.4 本文的主要研究内容及安排 5
1.5 本章小结 5
第 2 章 系统分析 6
2.1 可行性分析 6
2.1.1 技术可行性 6
2.2.2 经济可行性 6
2.2 需求分析 7
2.2.1 系统功能性需求 7
2.2.2 系统非功能性需求 8
2.3 开发环境 9
2.3.1 Spring Boot框架 9
2.3.2 Editor.md 9
2.3.3 MySQL数据库 1
2.4 本章小结 1
第 3 章 总体设计 2
3.1 系统目标 2
3.2 系统整体结构 2
3.3 系统功能结构 3
3.4 实体关系建模 3
第 4 章 系统的详细设计与实现 5
4.1 Editor.md与Spring Boot集成 5
4.1.1 Spring Boot工程的创建 5
4.1.2 Spring Boot第一个页面 6
4.1.3 添加Editor.md到工程 7
4.1.4 Editor.md嵌入到页面 7
4.2 后台接口实现 9
4.2.1 保存文章接口 9
4.2.2 预览文章接口 11
4.2.3编辑文章接口 11
4.3数据库设计 12
第 5 章 系统测试 13
5.1 前端页面的测试 13
5.2 Markdown语法测试 14
5.2.1 测试标题 14
5.2.2 测试表格 14
5.2.3 测试列表 15
5.3 后台接口测试 15
5.3.1 保存文章接口测试 15
5.3.2 预览文章接口测试 16
第 6 章 总结和展望 17
6.1 开发总结 17
6.2 展望未来 18
参考文献 19
致谢 20
第1章 绪论
1.1 研究背景
Markdown是一种轻量化的标记语言, 它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。你可以通过使用Markdown语法所写的内容控制文档的显示,代替排版,将单词格式化为粗体或斜体,添加图像以及创建列表只是我们使用Markdown可以执行的部分操作。随着现代人们写作需求的日益增大,Markdown语法由于自身的各种优异性,现在在国内外已经开始逐渐被人们所熟知和使用。
开发使用Markdown编辑器也变得逐渐普遍,本项目就是要开发一款Markdown编辑器来使用Markdown语法,有效利用它的优点。
1.2 研究目的及意义
在当下Markdown这个概念实际上已经越来越流行,那我们常说的markdown是什么呢, Markdown 的创始人 John Gruber 这样定义:
"Markdown" is two things:
(1) a plain text formatting syntax;
(2) a software tool, that converts the plain text formatting to others.
Markdown不仅是种语法还代表了一种软件工具,即Markdown语法和Markdown编辑器,而本毕业设计要设计开发的就是Markdown编辑器,在了解Markdown编辑器之前,先了解一下Markdown语法,熟悉它的定义和优势,可以帮助我们更好的了解设计开发Markdown编辑器的目的及意义。
Markdown 是一种用来写作的轻量级标记语言,它只需要用简洁的语法就可以代替掉繁琐的排版,除此之外它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。虽然是一种标记语言,但Markdown 的语法相对其他语言来说十分简单。常用的标记符号也不超过十个,从这一方面来看相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦在通过几次实际上手练习熟悉了这种语法规则,会有一劳永逸的效果,简单的语法带来的使用的便利性和长效性。
Markdown可以让我们专心于码字,用标记语法,来代替常见的排版格式。一篇文章从内容格式,到插图,表格,公式等,只使用键盘,不需要移手到鼠标,只盯着屏幕就可以完成编写排版了,可以带给用户一种沉浸式编写体验,对于写作爱好者来说可以说是非常重要的,可以给写作带来极大的舒适性。而且Markdown一般都可以方便实现pdf和html格式文件的导出等便利的功能。这对于爱好不同常用格式文件的人具有很大的兼容性。
这样学习成本低,高便利性,高实用性,高舒适性的语法当然是值得去好好学习了解以及运用的
Markdown语法是一套标记语法,这些标记字符就是用来赋予文字不同格式。而能将标记字符转换,最终呈现出我们想要的排版效果的软件,就是所谓的 Markdown 编辑器。上述提到的Markdown语法的优点其实就是Markdown编辑器相对于其他文本编辑器的优点。
另外由于所有编辑器是基于一套 Markdown 语法来编写转换流程,就能保证在任何地方,打开来都是同样的格式。而且由于 Markdown 格式保持的文件本质上仍是一份纯文本,就能保证目前任何平台都有工具可以打开它,而不用担心对方是 Mac, 会不会打不开 Word 的场景。这一便利其实对于高效协同写作也十分有帮助。
同时由于其纯文本的特性,在出现错误后查找错误也比较方便,可以直接在文稿中找寻到根源错误。
由此来看开发一款Markdown编辑器显得十分的必要和具有收益性。
1.3 国内外研究现状
目前在Markdown编辑器这一领域,国内外优秀软件都有很多。首先列出部分较为出名的国外编辑器。Ulysses是一款由国外开发商 The Soulmen 制作的 Markdown 编辑器。与其它同类应用相比,Ulysses 最大的不同在于,它能根据内置的文件管理器,以及与 iCloud 云服务器的实时同步方案,达到最快捷的文章整理效率。Mac平台广受欢迎的Typora,它的特别之处在于将「写字」和「预览」这两件事情同步了,你输入的地方,也是输出的地方,即现在很流行的 WYSIWYG(What You See Is What You Get),受到了很多人的欢迎还有基于 Vim 开发的跨平台代码编辑器Sublime Text 3 以及由国外软件开发商 Realmac 制作的 极简而不失细节Markdown 编辑器Typed等等成熟软件。
而在国内比较出名的由独立开发者罗星开发的实时预览型Markdown编辑器MOU ,其人性化的设计也是它的亮点,在国内Markdown编辑器其实也越来越流行,由国内团队建立的在线文字创作及发布平台简书以及著名的有道云笔记现在都开始支持Markdown了。而且目前市场上还出现了一款专门为印象笔记打造的Markdown编辑器——马克飞象。
综合来看,由于Markdown语法的多种优点,Markdown编辑器的开发将是未来的潮流,现在国内外对于Markdown编辑器的开发已经比较成熟,但是还有很多特色个性功能可以开发添加。
1.4 本文的主要研究内容及安排
本文主要分为六章,每章的内容及安排如下:
第一章为绪论,主要介绍了论文选题即《Markdown编辑器的设计与实现》的研究背景及意义,制定了研究的目标,同时分析和介绍了国内外的研究现状。
第二章为系统分析,在本章中设计了可行性分析,需求分析和开发环境。在可行性分析中分析了该项目的技术可行性和经济可行性,随后进行了需求分析,从多个角度分析系统的功能性需求和非功能性需求。最后再介绍了系统开发所需的开发环境。
第三章对项目进行了总体设计,包括了系统目标,系统整体结构,功能结构,业务实体之间的关系建模等。
第四章分别从Editor.md与Spring Boot的集成和后端接口实现两个部分,详细地介绍了项目的设计和实现,阐释清楚技术细节。
第五章讲述了项目开发过程中或完成后,对系统进行的测试,如前端页面的测试、Markdown语法的具体测试、文件功能测试,测试分析和总结。
第六章主要对本项目所进行的实践进行了总结,找出开发过程中遇到的问题及解决方案,归纳开发过程中的收获;对Markdown编辑器的未来开发提出展望。
1.5 本章小结
本章主要概要性地描述了研究背景,介绍了Markdown语法和Markdown编辑器以及研究的主要目的及意义;然后简要分析了国内外所开发的Markdown编辑器种类以及各自的特色;最后,简述了本文的主要研究内容及安排。为本文后面的内容和方向确定了明确的思路。
第 2 章 系统分析
2.1 可行性分析
由于Markdown语法的优异性,开发一款Markdown编辑器成为一件很有收益的事情,在本章中就将从技术和经济两方面仔细探讨开发Markdown编辑器的可行性。
2.1.1 技术可行性
项目采用Spring Boot框架整合Editor.md来实现Markdown编辑器的一些基础功能,接下来就通过介绍Spring Boot和Editor.md来分析项目Markdown编辑器的技术可行性。
- 首先介绍Spring Boot,简单的说,Spring Boot就是整合了很多优秀的框架,它使用“习惯优于配置”的理念——项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置——让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
Spring Boot嵌入了Tomcat,一个项目甚至不需要部署到服务器上就可以运行,就像其官网介绍:“just run”。同时提供了“starters”poms来简化Maven配置。
由此可见Spring Boot的确是一个很方便很实用的选择。
- Editor.md 是一款开源的、可嵌入的 Markdown 在线编辑器组件,它支持基本Markdown语法,使得Markdown的使用得以保证。同时支持识别和解析 HTML 标签,并且支持自定义过滤标签及属性解析,具有可靠的安全性和优秀的扩展性,同时兼容主流浏览器,这保证了在使用过程中不会出现像浏览器不兼容这类问题,使得开发可以有序放心的进行下去
综合来说这些工具的选择使得项目的技术可行性得到保证。
2.2.2 经济可行性
在经济方面,Markdown编辑器的开发与设计的成本主要来自需求分析阶段、开发阶段、运行阶段。
- 需求分析阶段时主要花费的是人力成本,人为分析产品现状和系统需求,不需要花费金钱。
- 在开发阶段,使用的工具Eclipse,Spring Boot框架都是免费的开发工具。
- 而本项目的运行在自己的电脑上运行不需要服务器,如果需要用到服务器,可以使用阿里云服务器。而且阿里云服务器有对学生优惠套餐,购买价格还在合理可以承受的范围内。并且还可以免去购买数据库的费用。后期系统进入运营轨道后,性能需要提升时,阿里云还可以申请扩展服务器。
综合起来考察,在整个业务设计与开发的流程中基本不需要经济花费就可以完成项目的运行。
2.2 需求分析
2.2.1 系统功能性需求
项目所需要实现的系统功能有 Markdown文本编辑功能、效果渲染与显示功能、文件转换与输出功能、文件管理功能
- Markdown文本编辑功能,能够针对Markdown语法进行编辑功能优化、模板管理、错误提示等功能;
- 效果渲染与显示功能,能够实现Markdown排版效果显示,不同排版模板的切换使得编写更方便;
- 文件转换与输出功能,能够将编辑结果按照指定格式进行转换和导出,保证不同文件格式需求者的使用;
- 文件管理功能,能够对文件进行分类管理,能够对文件内容进行搜索查询,保证对所使用过的文件的管理;
根据以上可知Markdown文本编辑功能、效果渲染与显示功能、文件转换与输出功能、文件管理功能的使用者为用户。
据此绘制用例图如图1.1
图1.1用例图
图1.1用例图
2.2.2 系统非功能性需求
非功能性需求是本系统除了满足上述功能性需求以外的,需要具备的特性。包括了系统的性能、页面交互的友好、可维护性等方面。系统的非功能性需求分析如下:
(1)在性能方面:项目采用了Spring Boot框架和Editor.md组件可以保证项目的稳定和较高的性能。
(2)易操作性:由于Markdown语法的特性使得只要基本功能实现且用户了解Markdown语法就可以使得Markdown编辑器易操作。
(3)可维护性:在开发过程中,注意完善项目文档,适量编写注释,降低日后的维护难度,节省了维护的时间和成本,使系统便于维护。
2.3 开发环境
项目采用Spring Boot框架整合Editor.md来实现Markdown编辑器的一些基础功能。
2.3.1 Spring Boot框架
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
org.spring 2013年新开发的框架Spring Boot , 它让一个单独项目的创建变得更加的简单,让所有依赖spring的程序可以做到“just run”。Spring Boot提供大量第三方libraries让我们可以非常轻松的开始创建一个spring工程,甚至不需要再去配置一些繁琐的 xml配置文件。
此框架具有以下特点:
1:可以构建独立的Spring应用。
2:该框架嵌入了Tomcat,使得不需要再进一步的部署。
3:提供了“starters”poms能够让Maven配置更加简单
4:自动配置spring应用。
5:能够提供生产指标,健壮检查和外部化配置
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: