markdown 静态网页生成器

RPBook的Python项目详细描述


RPBook

由于 gitbook 基于Nodejs单线程构建太慢了,决定自己写一个用于书写自己的书籍生成器。

一切参照 gitbook,只为加快网站的生成速度。

只支持 md 语法

部署

部署 python,安装 RPBook

pip install RPBook

使用

RPBook -b --log debug <book> <output>

编辑 book.json

{"author":"作者","title":"书籍标题","language":"zh-cn",//arbncacsdeelenesfafifrheitjakonlnoplptrorusvtrukuizh-cnzh-hanszh-tw"github_url":"主页地址","ignore":[".git",".svn","要排除的文件与文件夹"]}

数学公式使用

支持 KaTeX 已支持的全部符号。

  • 内联数学公式:

    $$\int_{-\infty}^\infty g(x) dx$$
    
    $$\fcolorbox{red}{aqua}{A}$$
    
    $$\textcolor{#228B22}{F=ma}$$
    
  • 块级数学公式:

    $$
    \def\arraystretch{1.5}
    \begin{array}{c|c:c}
      a & b & c \\ \hline
      d & e & f \\
      \hdashline
      g & h & i
    \end{array}
    $$
    

流程图使用

  • 支持 mermaid 以支持的流程图。

    ```mermaid
    graph TD;
      A-->B;
      A-->C;
      B-->D;
      C-->D;
    ```
    

代码高亮支持

采用 prism 支持所有官方支持语言。

鼠标悬浮可见

用法:把要隐藏文本内容放在 {%s%}{%ends%} 之间。

{%s%}Hello World.{%ends%}

点击隐藏或显示片段

可以使用标签定义一个新的片段:(默认隐藏),不支持嵌套

<!--sec title="点我隐藏答案" show=true ces-->
B
<!--endsec--><!--sec title="点我看分析" show=false ces-->
CPU
<!--endsec--><!--sec title="点我看分析" ces-->
C
<!--endsec-->

本标签包含以下参数:

  • title:标题
  • show:是否初始隐藏

导入外部代码文件

@import "你的代码文件" {语言}

@import "你的代码文件"

如果没有指明相关语言,将默认根据文件后缀推断语言。

如果文件为 markdown,将直接引入文件中内容。文件中图片会导入到当前项目中。

自定义 js

书籍目录下创建 book.js 文件保存自定义 js 内容。

内容将在页面加载后运行。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java代码中实现两个侦听器时发生swing错误   Lambda是否完全取消了Java8中匿名内部类的使用?   swing OpenSuse 12.3+Java双显示   POM中的java错误。xml文件,即使在清理{users}/之后。m2/用于*上次更新文件的存储库   JavaEDT特定的方法和其他东西   java如何使用GridLayout设置组件大小?有更好的办法吗?   java在itext7中生成二维码时,如何调整点的大小?   java如何在多行上显示文本并右对齐?   java在WebSphereCluString环境中分离Log4j日志   JAVA从文件读取,返回BigInteger值   当使用rxjava2进行排列时,使用javamockito。重试()   在java fasterxml中创建Xml   使用64位整数进行模运算的64位整数的java快速乘法,无溢出   java静态变量保留以前发布的值   datastax enterprise SSTable loader流式处理无法提供java。木卫一。IOException:对等方重置连接   java匹配的通配符是严格的,但找不到元素“mvc:annotationdriven”的声明。标准包装。可抛出   java无法在浏览器上下载文件文档?