连续点亮的椅子

slit的Python项目详细描述


关于

slit或sequential lit是一个用于创建 令人信服的,准确的软件教程,用最少的努力。

Slit借鉴了文学编程学院的课程 由他们自己的文档生成。但是,在其他工具集中的地方 关于程序是什么,slit关注如何编写程序,以及 提供更丰富的语法来表示程序的sequence 从头到尾的创作。

通过这样做,slit将识字编程变成了一个不可阻挡的工具。 为创建引人注目的,可证明准确的编程教程。

功能

  • 及时全面控制代码和文档结构
  • 仔细记录每一步,包括错误的转弯, 回溯,扩展现有代码
  • 生成工作,复杂,多文件,多语言程序 单个教程中的示例
  • 将shell命令直接输出到文档中,以显示 程序的进展

谁用slit?

安装

slit是一个python脚本,已经用python 2.7进行了测试。

用法

在尽量减少新语法的同时,slit添加了一些 很难找到的有用功能。

基础知识

slit使用markdown作为文档格式,但是可以与任何 编程语言。

slit文件应该用.lit扩展名标记,附加到 常规文件扩展名。

hello_world.c.lit

slit的工作原理是允许您将代码组装到单独的容器中,然后 从他们那里建立你的文件

代码容器在 一个人排队。它们必须缩进才能被接受为代码宏

Here is our hello world example!

    << main >=
    int main (void)
    {
        printf("hello world!\n");
    }

当缩进级别返回到0时,代码块将结束。

        printf("hello world!\n");
    }

The code block is over!

基本宏

slit语法包含三个核心元素。

  • 宏赋值-<< NAME >>=
  • 宏追加-<< NAME >>+=
  • 宏值-<< NAME >>

追加宏

append宏(<< NAME >>+=)允许您将代码添加到 一个新的或现有的容器,其中{TT9}$是容器名称。

赋值宏

赋值宏(<< NAME >>=)将向新的或 现有容器,覆盖已经存在的容器,在那里 是容器名称。

容器名称

包含名称可以是下列之一

  • 命名容器,包含字母数字字符和下划线, 比如codeblock1main_function
  • 文件容器,包含扩展名为的单个单词文件名, 类似于filename.txt带有空格或位于 当前不支持不同的路径
  • *容器,它将创建一个以 删除了扩展名为.lit的顶级slit文件。所以为了 hello_world.c.lit,容器*将生成 hello_world.c代码文件

顶级文档文件总是在源文件中生成 具有.md扩展名的名称,因此hello_world.c.lit将生成 hello_world.c.md

包含指令

使用#include指令将单个教程组织到 多个文件

#include "part1.spin"
#include "part1.diagram"
#include "part2.spin"
#include "part2.diagram"
#include "gfx_cave.lit"
#include "conclusion.md"

shell命令

警告:这将允许教程直接在 你的系统。小心使用。

使用shell宏(<<#! command >>)转储shell的输出 在教程中输入命令。

观察的输出<<#! tree test/ >>命令。

$ tree test/
test/
├── bacon
├── chicken
└── turkey

0 directories, 3 files

这个特性本质上依赖于平台和构建环境,并且 将使您的教程构建更不可移植。明智地使用!

默认情况下禁用此功能。使用-s启用

更多信息

有关slit参数的完整列表,请使用--help

$ ./slit --help
usage: slit [-h] [-s] [-c] PATH [PATH ...]

A sequential literate processor.

positional arguments:
  PATH           path to lit file to process (dir or file)

optional arguments:
  -h, --help     show this help message and exit
  -s, --shell    enable shell code execution
  -c, --convert  create lit file from source

作者

Slit由Brett Weir创作,灵感来自Connor Osborne的 lit工具和Donald Knuth,用于 一开始就想到有文化的编程。

错误报告

请向slit issue tracker报告所有错误。

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

推荐PyPI第三方库


热门话题
Java例外。Lang.Stringindexoutofboundsexception索引超出范围(0)   java Spring引导Freemarker从2.2.0升级失败   重构Java反模式名称?包含对象的对象包含。。。等   用java处理JDBC可能出现的死锁的最佳方法   java无法访问主线程上的数据库,因为它可能会在很长一段时间内锁定UI   java如何将固定大小的画布包装在边框窗格中的滚动窗格居中?   java解析xsd文件后得到空结果   在html页面中表示XML文件的java   socketjava对象流   sql Java越界异常数据库   JavaJBoss7.1.1不会在Mavericks上启动   Twincat ADS事件驱动读取在一段时间后停止工作(Java)   java MyBatis使用生成的ID插入所有   Mojave上缺少MacOS Java控制面板   JavaGuice:如果多次注入相同的依赖项,是否注入了该依赖项的相同实例?