mdbook-lang
mdbook-lang是一个mdbook预处理器插件和多编程语言playground服务器,支持在浏览器中通过与playground交互、运行mdbook电子书嵌入的多种编程语言代码,并展示结果。而该playground服务器可以自行部署或本地部署,可以容易扩展到其他编程语言。
本软件受mdbook和mdbook-repl启发,但mdbook基于https://play.rust-lang.org实现的playground,目前仅支持rust语言;而mdbook-repl主要支持python、javascript和typescript等解释型语言,两者都依赖在线playground服务器,使得mdbook支持的编程语言不易扩展。而本软件借助自主部署的编译器环境为mdbook电子书嵌入的多编程语言代码段架起浏览器和编译器之间的桥梁,且便于扩展,也给出了多电子书和沙箱安全等配置。
如下电子书中的C/C++代码,在安装了mdbook-lang主机环境中,是否让其提供支持的区别,使用mdbook-lang支持:
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
不使用mdbook-lang支持:
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
在启用mdbook-lang支持的代码中,以ACE Editor作为代码编辑器,可对其进行可配置的编辑、重置和运行等。您可以直接在浏览器中修改并执行代码,实时查看输出结果。如果您是教师为学生布置练习,还可以控制剪切、复制和粘贴等操作,并禁用浏览器调试功能,以实现更受控的教学环境。
本软件仍处于持续开发和优化中,未来将支持更多的编程语言。