Skip to content

Latest commit

 

History

History
executable file
·
117 lines (74 loc) · 3.2 KB

README.md

File metadata and controls

executable file
·
117 lines (74 loc) · 3.2 KB

markdown编译器md_parser

默认配置

js

md_parser/partial/js.html,默认加载:jquery.min.js,highlight.min.js,deep_highlight.js

css

markdown/partial/css.html,默认加载:paper.css,molokai.css

使用

编译模式的选择

  • A4大小:在md_parser/partial/css.html中引用a4.css
  • 仿WebSlides幻灯片:在md_parser/partial/css.html中引用full_slide.css,在md_parser/partial/js.html中引用full_slide.js
  • 仿remark.js幻灯片(TODO):在md_parser/partial/css.html中引用scale_slide.css,在md_parser/partial/js.html中引用scale_slide.js

编译markdown

md_parser/make run,在Input markdown file name (default: ***.md)后输入markdown文件名(带后缀),在Input html file name (default: ***.html)后输入目标html文件名(生成在当前目录).

如果使用<ctrl-d>结束输入,编译器会将文件名置为默认值

使用模板

如果不想使用默认的模板,在html_slides/md_parser/include/part.h中修改header()footer()中的partial数组,或者直接修改html_slides/md_parser/partial/下的*.html文件模板

默认加载style.html,js.html,katex.html/mathjax.html

  • 修改样式可以修改style.html
  • 增加脚本可以修改js.html
  • 数学公式渲染可以选择katex.htmlmathjax.html中的一个

其余部分是必要部分

已实现的功能

  1. 标题:#
  2. 大代码段:` ` `
  3. 表格:|:--:|
  4. 分割线:---(TODO: 现在分页的页面大小可能会有1px的误差)
  5. 普通段落
    • 只要不造成解析的歧义,能够无限制地向markdown中内嵌html,javascript,php代码
  6. 无序表:-
  7. 有序表:1.
  8. 引用块:>

段落内部支持的环境

  1. 粗体:**,__
  2. 斜体:*,_
  3. 删除:~~
  4. 代码:`, ` `
  5. latex行内公式:$
  6. latex行间公式:$$
  7. 链接:[]()
  8. 图片:![]()

TODO

  • 打印会有1px左右的偏差
  • 无序列表+
  • 引用>下对标题#,列表-等的嵌套
  • 一些苛刻的换行没有实现(链接[]()内部换行等)
  • 尽量要使用katex来解析latex公式,mathjax会有换行的问题

幻灯片模式

仿WebSlides

使用

按键

  • 下一张:<right>,<down>,<scroll down>
  • 上一张:<left>,<up>,<scroll up>
  • 下一个动画:<space>,<enter>,<left mouse>

以slide为单位的动画

md文件中想要增加动画的部分,前后加上<div class="ani">,</div>,每个页面可以有多个这样的div

打印

在浏览器窗口发生调整时会自动调节打印机的打印尺寸,打印的部分为<div class="content">的部分

TODO

  • 打印模式会有1px左右的误差,导致打印成pdf的时候有时会多出一张
  • 嵌套<div class="ani">有时会影响md文件的解析
  • 表格内部如果有|会解析异常

仿remark.js

TODO

文件说明

css

使用了自己博客的css

  • css/a4.css:a4页面大小
  • css/molokai.css:sublimemolokai风格代码块
  • css/paper.css:基本样式

javascript

  • js/highlight.min.js:代码块解析
  • js/deep_highlight.js:优化代码块解析(配合css/molokai.css使用)

font

字体文件