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
作为代码编辑器,可对其进行可配置的编辑、重置和运行等。您可以直接在浏览器中修改并执行代码,实时查看输出结果。如果您是教师为学生布置练习,还可以控制剪切、复制和粘贴等操作,并禁用浏览器调试功能,以实现更受控的教学环境。
本软件仍处于持续开发和优化中,未来将支持更多的编程语言。