phunterlau / data_science_for_whitehat

yarning about data science for white hat security researchers
116 stars 28 forks source link

可以考虑用 gitbook 做一套自动化 #2

Open beader opened 7 years ago

beader commented 7 years ago

因为项目可能出现大量的修改操作,并且项目火热了可能会有好多人共同编辑,这样一来每次在本地build成pdf之后再push上来,可能会比较繁琐。因此可以考虑一下把这个过程做个自动化。我这里有一个小 demo。

https://github.com/beader/github-gitbook

利用了 gitbook 的构建功能,可以同时生成 html 和 pdf,同时 gitbook 上也提供了一个很棒的编辑器,gitbook 和 github 做同步之后,既可以在 gitbook 编辑器上编辑,也可以在本地编辑后 push 到 github 上,都会触发自动构建。

phunterlau commented 7 years ago

好主意啊。我学习一下

beader commented 7 years ago

嗯嗯,如果需要的话我也可以帮忙下。

phunterlau commented 7 years ago

有个小问题,gitbook是不是支持 $$ 标示的LaTeX?比如第一节里面我就用了很多 LaTeX 排版,github本身显示弱掉了,我只有手工 pdf 出来。

inkydragon commented 7 years ago

gitbook是不是支持 $$ 标示的LaTeX?

有插件支持,Math integration with GitBook 用的是 mathjax

phunterlau commented 7 years ago

感谢楼上,我试试看本地来一个gitbook,看看效果如何。现在暂时人手就我一个,也希望大家多参与帮助啊

beader commented 7 years ago

@phunterlau 我先fork过去测试下给你。公式显示现在有两个方案,一个是 @inkydragon 所说的用 mathjax,另一个是 katex。mathjax 的话能确保网页上渲染出来是完美的,但是gitbook自动build出来的pdf,公式是图片,很丑 。用 katex 的话貌他对 latex 的支持是有限的,可能会经常遇到构建失败。

phunterlau commented 7 years ago

第一节里面的LaTeX稍微有些复杂,macdown能正确显示和编译,其他章节应该不会超过这个。如果插件能显示第一节其他节应该都可以。其实macdown支持也普通,华丽的矩阵都不能打

beader commented 7 years ago

@phunterlau 好的,那我先用 katex 插件试试,好了让你看看效果

beader commented 7 years ago

@phunterlau 我修改了一些不兼容的地方。其中向量的上标无法渲染出来,在 katex github 项目中去年有人反馈过但是官方还没有 merge 。所以我把上标去掉了,有上下文的情况下向量没有上标应该关系不大。另外还有像 \rm 这样的写法 katex 也不支持,我 google 了一下在 latex 那边貌似是 deprecated 状态,所以我改成了 \mathrm{} 。另外去掉了了左右括号 \left [ \left ( 之类的,变为 [ (

另外,这个 katex 插件,行内公式的写法是 $$x+y=z$$ , 行间公式的写法是

$$
x + y = z
$$

区别在 $$ 后是否有换行。

渲染出来的效果在这里。

https://www.gitbook.com/book/beader/data-science-for-whitehat/details

我 fork 的项目在 这里

phunterlau commented 7 years ago

看起来效果不错啊,上下标和其他标记方式我觉得可以我写的时候调整。这个工具不错,感谢,我来看下merge怎么搞。

phunterlau commented 7 years ago

顺便,gitbook能指定统一正文字体么,我比较倾向于全文黑体,不用楷体变来变去

beader commented 7 years ago

研究了一下,gitbook官网的构建环境应该没有黑体,因此需要线下用gitbook命令行来构建,我来研究看看,搞定之后我们可以用 travis 来构建。

phunterlau commented 7 years ago

现在这样也不错,要不楼上发个pull request我来merge一下就按照你的方式来继续写?我之后更新感谢你一下。

beader commented 7 years ago

提了PR,之后需要您注册下 GitBook,然后创建新书的时候,直接选择 GITHUB 即可。

phunterlau commented 7 years ago

特别感谢楼上,学习了

beader commented 7 years ago

别这么说,进了你们搞的小密圈后,学到了很多东西,应该感谢你们。因为之前用这个写了半本ML笔记,所以对这个稍微熟悉一些。