本申请涉及云平台运行技术领域,特别是涉及一种基于pandoc的云平台在线手册离线化处理方法及系统。
背景技术:
随着云平台技术的发展,云平台用户越来越多,为满足用户需求,对于提高服务文档质量的研究,逐渐提上日程。其中,如何在云平台上高效使用在线手册是个重要问题。
目前,在云平台上使用在线手册的方法通常是在线使用,即:云平台系统具备网络条件和运行环境良好时,在云平台中直接打开在线手册,实现在线帮助,例如:根据用户需求进行在线编辑,在线及时为客户展示问题解决方案等。
然而,目前在云平台上使用在线手册的方法中,由于对云平台系统的网络和运行环境有要求,需要云平台系统具备网络环境和运行环境正常的情况下,才能顺利启动在线帮助。而实际应用中,无法避免会发生断网、不具备网络条件、以及系统运行环境不具备等情况,此时云平台的在线帮助无法打开,使得工作人员无法快速响应用户需求,因此,目前在云平台上使用在线手册的方法灵活性和稳定性较差,从而导致用户体验较差。
技术实现要素:
本申请提供了一种基于pandoc的云平台在线手册离线化处理方法及系统,以解决现有技术中使用在线手册的灵活性和稳定性较差,以及用户体验较差的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种基于pandoc的云平台在线手册离线化处理方法,所述方法包括:
根据所获取的命令,安装pandoc类,所述pandoc类中包括:用于读取markdown文档的读出器,以及用于输出word文档的编写器;
配置环境变量,并将所述pandoc类的安装路径加入环境变量中;
调用所述pandoc类,将云平台中第一路由转化成word文档的目录结构,其中,所述云平台中包括第一路由和多个第二路由,所述第一路由为维护云平台中整个在线手册,以及,根据所述在线手册进行在线帮助的文档所匹配的路由,所述第二路由为云平台中第一路由以外的不同层级的路由,任一第二路由与所述目录结构中的一个目录相匹配,所述第一路由中包括每个第二路由所匹配的markdown文档路径;
根据所述目录结构,调用所述pandoc类将每个目录下的markdown文档内容转化成word文档的正文;
根据所述目录结构和正文,获取离线化的word文档。
可选地,调用所述pandoc类,将云平台中第一路由转化成word文档的目录结构的方法,包括为:
确定云平台中的docsify文档;
调用所述pandoc类,在所述docsify文档中获取用于维护云平台中整个在线手册,以及,根据所述在线手册进行在线帮助的文档;
根据所述文档确定第一路由;
以所述第一路由为元数据,生成word文档的目录结构。
可选地,根据所述目录结构,调用所述pandoc类将每个目录下的markdown文档内容转化成word文档的正文的方法,包括:
根据所述目录结构,查找任一目录所匹配的第二路由的markdown文档路径;
获取任一所述markdown文档路径下的markdown文档;
调用所述pandoc类,将所述markdown文档转化成word文档的正文;
重新根据所述目录结构,查找下一个目录所匹配的第二路由的markdown文档路径,直到所有markdown文档路径下的markdown文档均转化成word文档的正文。
可选地,根据所述目录结构,调用所述pandoc类将每个目录下的markdown文档内容转化成word文档的正文的方法,具体为:
根据所述目录结构,采用批处理的方式,调用所述pandoc类将每个目录下的markdown文档内容转化成word文档的正文。
可选地,根据所述目录结构和正文,获取离线化的word文档之后,所述方法还包括:
利用reference-docx文件,对所述word文档进行格式修订。
一种基于pandoc的云平台在线手册离线化处理系统,所述包括:
pandoc类安装模块,用于根据所获取的命令,安装pandoc类,所述pandoc类中包括:用于读取markdown文档的读出器,以及用于输出word文档的编写器;
配置模块,用于配置环境变量,并将所述pandoc类的安装路径加入环境变量中;
目录结构转化模块,用于调用所述pandoc类,将云平台中第一路由转化成word文档的目录结构,其中,所述云平台中包括第一路由和多个第二路由,所述第一路由为用于维护云平台中整个在线手册,以及,根据所述在线手册进行在线帮助的文档所匹配的路由,所述第二路由为云平台中第一路由以外的不同层级的路由,任一第二路由与所述目录结构中的一个目录相匹配,所述第一路由中包括每个第二路由所匹配的markdown文档路径;
正文转化模块,用于根据所述目录结构,调用所述pandoc类将每个目录下的markdown文档内容转化成word文档的正文;
word文档获取模块,用于根据所述目录结构和正文,获取离线化的word文档。
可选地,目录结构转化模块包括:
docsify文档确定单元,用于确定云平台中的docsify文档;
文档获取单元,用于调用所述pandoc类,在所述docsify文档中获取用于维护云平台中整个在线手册,以及,根据所述在线手册进行在线帮助的文档;
第一路由确定单元,用于根据所述文档确定第一路由;
目录结构生成单元,用于以所述第一路由为元数据,生成word文档的目录结构。
可选地,正文转化模块包括:
文档路径查找单元,用于根据所述目录结构,查找任一目录所匹配的第二路由的markdown文档路径;
markdown文档获取单元,用于获取任一所述markdown文档路径下的markdown文档;
转化单元,用于调用所述pandoc类,将所述markdown文档转化成word文档的正文;
循环单元,用于重新启动文档路径查找单元、markdown文档获取单元以及转化单元,查找下一个目录所匹配的第二路由的markdown文档路径,直到所有markdown文档路径下的markdown文档均转化成word文档的正文。
可选地,所述系统中还包括格式修订模块,用于利用reference-docx文件,对所述word文档进行格式修订。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种基于pandoc的云平台在线手册离线化处理方法,该方法首先根据所获取的命令安装pandoc类,便于后续调用pandoc类用于转化word文档的目录结构和正文。其次将pandoc类的安装路径加入环境变量中配置环境变量,从而为后续调用pandoc类提供准确路径,有从而提高离线化处理的效率。然后调用pandoc类,将云平台中第一路由转化成word文档的目录结构,再根据目录结构,调用pandoc类将每个目录下的markdown文档内容转化成word文档的正文,最后根据目录结构和正文,获取离线化的word文档。该离线化文档能够随时随地被用户查看和编辑,有利于提高云平台上使用在线手册的灵活性和稳定性,从而大大优化用户体验。本实施例中调用pandoc类进行word文档的目录结构和正文的转化,pandoc类可以读取markdown格式、textile格式等多种格式的文档,兼容性强,有利于提高离线化处理的灵活性。而且pandoc类具有模块化结构设计,应用于本实施例的pandoc类中设计有用于读取markdown文档的读出器,以及用于输出word文档的编写器,即可完成后续的文档处理,有利于提高云平台在线手册离线化的效率。本实施例中最终生成的目标文档为word文档,word文档便于编辑且通用性强,有利于提高最终文档的通用性和灵活性,能够避免工作人员花费太多时间重新整理在线手册的内容,从而提高云平台在线手册离线化的效率。另外,本实施例充分利用云平台中的第一路由以及第二路由所匹配的markdown文档内容,依次生成word文档的目录结构和正文,分步生成整个word文档,有利于提高云平台在线手册离线化的准确性和离线化效率。
本申请还提供一种基于pandoc的云平台在线手册离线化处理系统,该系统主要包括:pandoc类安装模块、配置模块、目录结构转化模块、正文转化模块和word文档获取模块。通过该离线化处理系统,能够直接将在线手册快速转化成格式相同的离线文档,在云平台系统网络和运行环境较差的情况下,用户仍然能够获取到快速的服务响应,有利于提高用户体验。通过目录结构转化模块和正文转化模块,充分利用云平台中的第一路由以及第二路由所匹配的markdown文档内容,分步骤依次生成整个word文档,有利于提高云平台在线手册离线化的准确性和离线化效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种基于pandoc的云平台在线手册离线化处理方法的流程示意图;
图2为本申请实施例所提供的一种基于pandoc的云平台在线手册离线化处理系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种基于pandoc的云平台在线手册离线化处理方法的流程示意图。由图1可知,本实施例中基于pandoc的云平台在线手册离线化处理方法,主要包括如下过程:
s1:根据所获取的命令,安装pandoc类。其中,pandoc类中包括:用于读取markdown文档的读出器,以及用于输出word文档的编写器。
本实施例中主要利用pandoc类将云平台的在线手册转化成离线文档。
pandoc是一个用于从一种标记格式转换为另一种的haskell库,还是一个使用该库的命令行工具。pandoc类可以读取markdown格式、textile格式、restructuredtext格式、html格式以及latex格式的文档;而且可以写成纯文本、markdown格式、restructuredtext格式、html格式、latex格式、context格式、rtf格式、docbookxml格式、opendocumentxml格式、odt格式、gnutexinfo格式、mediawikimarkup格式、epub格式、textile格式、groffman页面、emacsorg-mode格式以及slidy格式或s5格式的html幻灯片显示。pandoc类兼容性强,本实施例采用pandoc类进行离线化转化,能够提高文档离线化处理的灵活性。
本实施例调用pandoc类对markdown格式文件进行转化,pandoc类的markdown增强版包括的语法有:脚注、表格、灵活有序列表、定义列表、分隔的代码块、上标、下标、删除线、标题块、自动目录、嵌入式latex数学符号、引用、以及将html标记内的块元素转化为markdown格式。本实施例通过采用pandoc类中的不同语法,有利于提高对markdown格式文件的处理效率。
而且,本实施例中所采用的pandoc类具有模块化结构,pandoc类由一系列读出器和一系列编写器组成,读出器用于以给定格式分析当前文档,并生成一份与当前文档相匹配的本地表示,编写器用于该本地表示转换为目标格式的文档。本实施例的pandoc类中包括:用于读取markdown文档的读出器,以及用于输出word文档的编写器,从而能够快速高效地将markdown文档转化成word文档。
继续参见图1可知,安装完毕pandoc类之后,执行步骤s2:配置环境变量,并将pandoc类的安装路径加入环境变量中。
s3:调用pandoc类,将云平台中第一路由转化成word文档的目录结构。
本实施例的云平台中包括第一路由和多个第二路由,其中,第一路由为维护云平台中整个在线手册,以及,根据在线手册进行在线帮助的文档所匹配的路由;第二路由为云平台中第一路由以外的不同层级的路由。任一第二路由与目录结构中的一个目录相匹配,第一路由中包括每个第二路由所匹配的markdown文档路径。
具体地,步骤s3包括如下过程:
s31:确定云平台中的docsify文档。
s32:调用pandoc类,在docsify文档中获取用于维护云平台中整个在线手册,以及,根据在线手册进行在线帮助的文档。
s33:根据文档确定第一路由。
s34:以第一路由为元数据,生成word文档的目录结构。
由以上步骤s31-s34可知,通过pandoc类库可以操作docsify的在线文档,docsify中有专门的文件来维护整个文档的路由,该专门文件即第一路由所匹配的文档,且docsify中的第二路由是分层级的。本实施例中以第一路由为元数据,生成word的目录结构。
继续参见图1可知,生成word文档的目录结构之后,执行步骤s4:根据目录结构,调用pandoc类将每个目录下的markdown文档内容转化成word文档的正文。
具体地,步骤s4包括如下过程:
s41:根据目录结构,查找任一目录所匹配的第二路由的markdown文档路径。
s42:获取任一markdown文档路径下的markdown文档。
s43:调用pandoc类,将markdown文档转化成word文档的正文。
调用pandoc类,将markdown文档转化成word文档的正文时,可以采用如下命令:pandoc-sm.md-om.docx。
通过以上步骤s41-s43,完成目录结构中第一个目录的markdown文档路径下markdown文档的转化。然后执行步骤s44:重新根据目录结构,查找下一个目录所匹配的第二路由的markdown文档路径,直到所有markdown文档路径下的markdown文档均转化成word文档的正文。
通过步骤s44,将目录结构中所有目录的markdown文档路径下的markdown文档全部转化成word文档的正文。
由以上步骤s41-s44可知,本实施例中第一路由中包含有每层级第二路由对应的markdown文件路径,通过pandoc类库对markdown内容进行解析形成word正文,在word正文中写入对应markdown中的内容。
通过步骤s3和s4分别获取到word文档的目录结构和正文之后,执行步骤s5:根据目录结构和正文,获取离线化的word文档。
进一步地,当本实施例中所有目录的markdown文档路径下的markdown文档较多时,可以采用批处理的方式,根据所述目录结构,调用pandoc类将每个目录下的markdown文档内容转化成word文档的正文。例如:可以编制一个批处理脚本convert.bat:
@echooff
::遍历当前文件夹下的所有后缀名为md的文件
for/f%%ain('dir/b*.md')do(
::执行pandoc命令,把每个md文件都转为docx文件,docx文件的文件名为:md文件名.md.docx
pandoc%%a-o%%a.docx
)
pause
利用批处理文件调用pandoc类,将*.md转换为*.docx。然后将需要转换的md文件与bat文件放在同一文件夹下;点击bat文件,闪烁cmd黑窗口,然后出现docx文件,转换成功。
进一步地,本实施例的方法还包括步骤s6:利用reference-docx文件,对word文档进行格式修订。
具体地,为确保转换的word文档格式更加方便和美观,可以下载reference-docx文件,并将reference-docx文件存放至待转换的markdown文件的同一目录下,在pandoc语句后加上-creference.docx即可。
实施例二
在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的一种基于pandoc的云平台在线手册离线化处理系统的结构示意图。由图2可知,本实施例中基于pandoc的云平台在线手册离线化处理系统,主要包括:pandoc类安装模块、配置模块、目录结构转化模块、正文转化模块和word文档获取模块。
pandoc类安装模块,用于根据所获取的命令,安装pandoc类,pandoc类中包括:用于读取markdown文档的读出器,以及用于输出word文档的编写器。配置模块,用于配置环境变量,并将pandoc类的安装路径加入环境变量中。目录结构转化模块,用于调用pandoc类,将云平台中第一路由转化成word文档的目录结构,其中,云平台中包括第一路由和多个第二路由,第一路由为用于维护云平台中整个在线手册,以及,根据在线手册进行在线帮助的文档所匹配的路由,第二路由为云平台中第一路由以外的不同层级的路由,任一第二路由与目录结构中的一个目录相匹配,第一路由中包括每个第二路由所匹配的markdown文档路径。正文转化模块,用于根据目录结构,调用pandoc类将每个目录下的markdown文档内容转化成word文档的正文。word文档获取模块,用于根据目录结构和正文,获取离线化的word文档。
其中,目录结构转化模块包括:docsify文档确定单元、文档获取单元、第一路由确定单元和目录结构生成单元。其中,docsify文档确定单元,用于确定云平台中的docsify文档;文档获取单元,用于调用pandoc类,在docsify文档中获取用于维护云平台中整个在线手册,以及,根据在线手册进行在线帮助的文档;第一路由确定单元,用于根据文档确定第一路由;目录结构生成单元,用于以第一路由为元数据,生成word文档的目录结构。
正文转化模块包括:文档路径查找单元、markdown文档获取单元、转化单元和循环单元。其中,文档路径查找单元,用于根据目录结构,查找任一目录所匹配的第二路由的markdown文档路径。markdown文档获取单元,用于获取任一markdown文档路径下的markdown文档。转化单元,用于调用pandoc类,将markdown文档转化成word文档的正文。循环单元,用于重新启动文档路径查找单元、markdown文档获取单元以及转化单元,查找下一个目录所匹配的第二路由的markdown文档路径,直到所有markdown文档路径下的markdown文档均转化成word文档的正文。
进一步地,本实施例基于pandoc的云平台在线手册离线化处理系统中还包括格式修订模块,用于利用reference-docx文件,对word文档进行格式修订。
该实施例中基于pandoc的云平台在线手册离线化处理系统的工作原理和工作方法,在图1所示的实施例中已经详细阐述,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。