lua-resty-graphics-node
一个适用于 TeX 图形的 MathJax 版本
$ opm get sjnam/lua-resty-graphics-node
lua-resty-graphics-node
就像 MathJax 使在网页上使用 TeX 数学公式变得更容易一样,lua-resty-graphics-node
使通过脚本(如 metapost
和 graphviz
)在网页上获取相应的图形变得更容易。
状态
实验性。
安装
先决条件
TeX Live,一种轻松上手 TeX 文档制作系统的便捷方法
OpenResty,一个功能齐全的 Web 平台,集成了标准的 Nginx 核心和 LuaJIT
lua-gumbo,一个用于 Lua 的 HTML5 解析器和 DOM 库
sockexec,一个用于执行本地进程的小型服务器
netstring.lua,一个用于 Lua/LuaJIT 的 DJB netstring 编码格式实现
lua-resty-exec,在 OpenResty 中运行外部程序,无需生成 shell 或阻塞
Graphviz,图形可视化是一种将结构信息表示为抽象图形和网络图的方法。
将
lib/resty
放到你的 Lua 库路径中。
入门
$ export PATH=/usr/local/openresty/nginx/sbin:$PATH
$ mkdir ~/www
$ cd ~/www
$ mkdir -p conf logs util html/images
$ sockexec /tmp/exec.sock &
$ nginx -p `pwd`/ -c conf/nginx.conf
html/sample.html
<html> <body> <mplibcode width="250"> beginfig(1) pair A, B, C; A:=(0,0); B:=(1cm,0); C:=(0,1cm); draw A--B--C; endfig; </mplibcode> <hr> <graphviz cmd="dot" width="250"> digraph G { main -> init; main -> cleanup; } </graphviz> </body> </html>
conf/nginx.conf
worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { server { listen 8080; include mime.types; location /sample { default_type text/html; content_by_lua_block { require("resty.gxn"):render() } } } }
util/gxn.sh
#!/bin/bash cd $1 ERROR=0 case $2 in mplibcode) $5 $3 ERROR=$? ;; graphviz) $5 -Tsvg $3.gv -o $3.$4 ERROR=$? ;; *) echo 'NOT SUPPORTED' esac rm -rf *.mp *.mpx *.gv exit $ERROR
作者
Soojin Nam
许可证
mit
依赖项
jprjr/lua-resty-exec,openresty
版本
-
一个适用于 TeX 图形的 MathJax 版本 2018-12-31 23:40:47
-
一个适用于 TeX 图形的 MathJax 版本 2018-12-30 22:54:37