当前位置: 首页 > 后端技术 > Node.js

Gitbook入门教程比较代码块差异diff插件

时间:2023-04-03 18:39:57 Node.js

Gitbook在markdown文档中显示代码差异的插件:https://snowdreams1006.gitlab.io/gitbook-plugin-diff/Gitee:https://snowdreams1006.gitee.io/gitbook-plugin-diff/截图用法{%diffmethod="diffJson"%}{"name":"gitbook-plugin-simple-mind-map","version":"0.2.1","description":"一个用于在markdown中生成和导出思维导图的gitBook插件"}{"name":"gitbook-plugin-diff","version":"0.2.1","description":"一个用于显示两者之间差异的gitbook插件thecodeswithinmarkdown"}{%enddiff%}Preview{-"description":"AgitBookpluginforgeneratingandexportmindmapwithinmarkdown",-"name":"gitbook-plugin-simple-mind-map",+"description":"Agitbookpluginforshowingthedifferenceswithinmarkdown",+"name":"gitbook-plugin-diff","version":"0.2.1"}使用步骤#1-更新书籍。gitbookbook.jso中的json文件n文件,将差异添加到插件列表。这是最简单的例子:{"plugins":["diff"]}此外,支持的配置选项如下:"gitbook":{"properties":{"method":{"type":"string","title":"jsdiffapimethod","required":false,"default":"diffLines","description":"一些支持的方法,例如diffChars或diffWords或diffWordsWithSpace或diffLines或diffTrimmedLines或diffSentences或diffCss或diffJson或diffArrays"},"options":{"type":"object","title":"jsdiffapioptions","required":false,"description":"一些方法可能不支持options"}}}Step#2-使用markdownsyntaxdiff插件支持method和options等选项来生成差异代码块。这是降价文件中使用的基本语法:{%diff%}oldcodenewcode{%enddiff%}以下是一些基本示例:Diff.diffChars(oldStr,newStr[,options])比较两个文本块,逐个字符-charactercomparisonReturns返回已更改对象的列表(见下文)。选项ignoreCase:true忽略大小写差异。默认为假。示例用法setmethod="diffChars"调用Diff.diffChars(oldStr,newStr[,options])方法{%diffmethod="diffChars"%}catcap{%enddiff%}预览cat+pDiff.diffWords(oldStr,newStr[,options])来区分两个文本块,逐字比较它们,忽略空格。Return返回更改对象的列表(见下文)。选项ignoreCase:与diffChars相同。示例用法setmethod="diffWords"调用Diff.diffWords(oldStr,newStr[,options])方法(oldStr,newStr[,options])区分两个文本块,逐字比较,将空格视为有效。Return返回更改对象的列表(见下文)。选项ignoreCase:与diffWords相同。示例用法setmethod="diffWordsWithSpace"调用Diff.diffWordsWithSpace(oldStr,newStr[,options])方法{%diffmethod="diffWordsWithSpace"%}beepboopbeepboobblah{%enddiff%}previewbeep-boop+boobblahDiff。diffLines(oldStr,newStr[,options])逐行比较两个文本块。Return返回更改对象的列表(见下文)。选项ignoreWhitespace:true忽略前导和尾随空格。这与diffTrimmedLinesnewlineIsToken相同:truenewlineIsToken换行符被视为单独的标记。这允许对换行结构的更改独立于行内容发生,并按此处理。通常,这是更人性化的diffLines形式,diffLines更适合补丁和其他计算机友好的输出。示例用法设置method="diffLines"调用Diff.diffLines(oldStr,newStr[,options])方法boobblahthecatisplayingwithcapwho{%enddiff%}preview-beepboop+beepboobblahthecatispalyingwithcap-what+whoDiff.diffTrimmedLines(oldStr,newStr[,options])比较两个文本块,逐行比较,忽略前导和尾随空格。Return返回更改对象的列表(见下文)。选项ignoreWhitespace:与diffLines相同。newlineIsToken:与diffLines相同。用法示例设置method="diffTrimmedLines"调用Diff.diffTrimmedLines(oldStr,newStr[,options])方法{%diffmethod="diffTrimmedLines",options={"newlineIsToken":true}%}哔哔猫正在玩capwhatbeepboobblahthecatispalyingwithcatwho{%enddiff%}preview-beepboopthecatispalyingwithcapwhat+beepboobblahthecatispalyingwithcatwhoDiff.diffSentences(oldStr,newStr[,options])区分两个块文本,逐句比较。Return返回更改对象的列表(见下文)。示例用法设置method="diffSentences"调用Diff.diffSentences(oldStr,newStr[,options])方法%}Preview-beepboopthecatispalyingwithcapwhat+beepboobblahthecatispalyingwithcatwhoDiff.diffCss(oldStr,newStr[,options])比较两个文本块,比较CSS标记。Return返回更改对象的列表(见下文)。用法示例设置method="diffCss"调用Diff.diffCss(oldStr,newStr[,options])方法{%diffmethod="diffCss"%}.markdown-sectionh1,.markdown-sectionh2,.markdown-sectionh3,.markdown-sectionh4,.markdown-sectionh5,.markdown-sectionh6{margin-top:1.275em;margin-bottom:.85em;font-weight:700;}.markdown-sectionh1,.markdown-sectionh2,.markdown-sectionh3,.markdown-sectionh4,.markdown-sectionh5,.markdown-sectionh6{margin-top:1.5em;margin-bottom:1em;}{%enddiff%}Preview.markdown-sectionh1,.markdown-sectionh2,.markdown-sectionh3,.markdown-sectionh4,.markdown-sectionh5,.markdown-sectionh6{margin-top:-1.275em+1.5em;margin-bottom:-.85em+1em;-font-weight:700;}Diff.diffJson(oldObj,newObj[,options])比较两个JSON对象,比较每个对象上定义的字段。在此比较中,字段的顺序等无关紧要。Return返回更改对象的列表(见下文)。用法示例设置method="diffJson"调用Diff.diffJson(oldObj,newObj[,options])方法{%diffmethod="diffJson"%}{"name":"gitbook-plugin-simple-mind-map","version":"0.2.1","description":"一个在markdown中生成和导出思维导图的gitBook插件"}{"name":"gitbook-plugin-diff","version":"0.2.1","description":"一个在markdown中显示代码差异的gitbook插件"}{%enddiff%}Preview{-"description":"一个在markdown中生成和导出思维导图的gitBook插件",-"name":"gitbook-plugin-simple-mind-map",+"description":"一个gitbook插件,用于显示markdown中代码之间的差异",+"name":"gitbook-plugin-diff","version":"0.2.1"}Diff.diffArrays(oldArr,newArr[,options])比较两个数组,比较每一项是否严格相等(===)。Return返回更改对象的列表(见下文)。选项比较器:用于自定义相等性检查示例用法的函数(左,右)设置方法=“diffArrays”调用Diff.diffArrays(oldArr,newArr[,选项])方法{%diffmethod=“diffArrays”%}[“Vue”"Python","Java","flutter","springboot","docker","React","applet"]["Vuejs","Nodejs","Java","flutter","springboot","docker","React"]{%enddiff%}preview[-Vue-Python+Vuejs+NodejsJavaflutterspringbootdockerReact-applet]步骤#3-运行gitbook命令运行gitbookinstall。它会自动为你的gitbook安装diff插件。此步骤只需允许一次。gitbookinstall或者你可以运行npminstallgitbook-plugin-diff命令在本地安装gitbook-plugin-diff插件。像往常一样npminstallgitbook-plugin-diff构建你的书(gitbookbuild)或服务(gitbookserve)。gitbook服务示例官方文档配置文件https://github.com/snowdreams1006/gitbook-plugin-diff/blob/master/docs/book.json{"plugins":["diff"],"pluginsConfig":{"diff":{"method":"diffJson"}}}官方示例配置文件https://github.com/snowdreams1006/gitbook-plugin-diff/blob/master/example/book.json{"plugins":["diff"],"pluginsConfig":{"diff":{"method":"diffJson"}}}示例book.json文件{"plugins":["diff"]}或者您可以将方法设置为默认方法code之间的比较方式:{"plugins":["diff"],"pluginsConfig":{"diff":{"method":"diffChars"}}}也可以根据方法设置options为默认选项.{"plugins":["diff"],"pluginsConfig":{"diff":{"method":"diffChars","options":{"ignoreCase":true}}}}注意:如果你的书不是尚未创建,上面的代码片段可以用作完整的book.json文件。感谢Ajavascripttextdifferencingimplementation。:https://github.com/kpdecker/jsdiffgetcolorsinyournode.jsconsole:https://github.com/Marak/colors.jsGitBook代码组插件:https://github.com/lwhiteley/gitbook-plugin-codegroupcontributionswelcomeFeaturerequest!feelfreetochecktheissuespagesupport如果这个项目对你有帮助,请给个星!版权所有?2019snowdreams1006。这个项目是麻省理工学院许可的。如果这篇文章对你有帮助,不用点赞,不用转发,点赞留言鼓励就好!