Fontion是一种简单的标记语法,允许将剧本以纯文本、易于阅读的形式书写、编辑和共享。Fontion允许您在任何地方、任何电脑、使用任何编辑文本文件的软件上编辑剧本。
与John Gruber的Markdown一样,Fontion的一个重点是原始文件本身易于阅读。已尽最大努力减少语法要求。当需要语法时,它应该是直观的。即使在纯文本中查看,您的剧本也应该感觉像剧本。
Fontion支持作家在写作的早期、创意阶段可能需要的所有内容。不包括生产特性,如MOREs、CONTINUEDs、修订标记、锁定页面或彩色页面。
Fontion也是归档剧本的好格式,无需担心文件格式过时或不兼容。因此,Fontion支持场景编号。
有关Fontion的更多详细信息,请参阅http://fountain.io。
为了鼓励和简化将Fontion集成到您自己的应用程序中,我们正在将我们的Fontion代码以MIT许可的方式供您使用。该代码是为了我们的自身用途而设计的,所以您的结果可能会有所不同,但我们希望这至少能帮助您开始使用Fontion。
Xcode项目包含读取和写入Fontion文件的文件,并将文件存储在一个相当通用的数据模型中。如果这个模型不足以满足您的需求,或者您想使用自己的模型,我们建议使用转换器来连接这两个模型。
重要提示:我们在解析器或数据模型中不处理文本样式(粗体、斜体、下划线等)。我们保留样式并传递给下游使用。也就是说,任何打算显示或打印Fontion文件的应该处理文本样式和样式标记的清理。我们认为这对大家来说更容易。我们包括正则表达式用于文本样式,以防您需要。
FNScript旨在轻松将Fontion支持添加到新应用程序中。FNScript处理Fontion文件的读取和写入,并保存剧本内容。剧本的内容表示为FNElements的NSArray,标题页是一个NSDictionary项的NSArray。
这是剧本元素的数据库模型。
FastFountainParser 是一个重新设计的逐行解析器。与之前使用的 FountainParser 相比,这个解析器的优势在于:1) 减少了正则表达式的依赖(现在应该容易得多)和2) 性能大大提高。FastFountainParser 的速度是 FountainParser 的约 10 倍。它是 FNScript 的默认选项,但是你可以通过在适当的方法中使用 FNParserTypeRegex 选项来使用较旧的 FountainParser。
FountainWriter 提供了将 FNScript 转换为 Fountain NSString 的类方法。
FountainParser 提供了类方法来分别读取 Fountain 脚本的标题页和脚本主体。主体以 FNElements 的 NSArray 返回,标题页则以 NSDictionary 项的 NSArray 返回。这段代码是为了遗留目的提供的。
该文件包含 FountainParser 所使用的所有正则表达式。由于正则表达式提供了最简单的可移植性途径,因此它仍然是此软件包的一部分。但请注意,这些正则表达式不一定与测试完全兼容,并且可能需要一段时间才能更新。
-licucore
链接器标志到您的项目中。有关在您的项目中使用 RegexKitLite 的帮助,请参阅 http://regexkit.sourceforge.net/RegexKitLite/#AddingRegexKitLitetoyourProject。如果您不想使用 RegexKitLite,则可以在 FountainParser.m 和 FountainWriter.m 中删除对其的引用。您不需要在那些文件之外更改很多代码以更改正则表达式库。尽管这些正则表达式应该与大多数标准正则表达式实现兼容,但您可能需要对其进行修改才能与其不同库一起使用。祝您好运。
请参阅示例项目,示例说明了如何使用这些类。
Xcode 项目包括单元测试以及用于试验的示例文件。目前,测试还不是很好,需要更加全面,但它们确实存在。
所有代码版权属于 Nima Yousefi 和 John August。在 MIT 许可下发布。您可以随意使用此代码,但如果您能与全世界分享您的改进,那就太酷了。
请参阅包含的 LICENSE 文件以了解法律详细内容。
如果您有任何问题,或者只是想打个招呼,您可以在 Twitter 上找到我 @nyousefi。
关注 Qapps 的 Twitter @qapps。
Fountain 来源于多个来源。John August 和 Nima Yousefi 开发了 Scrippets,它使用简单的标记来在网站上嵌入剧本格式的材料。Stu Maschwitz 起草了一份更详细的规定,称为 Screenplay Markdown 或 SPMD,用于全长度剧本。
Stu 和 John 发现他们同时在开发类似的基于文本的剧本格式,并将它们合并为现在的样子。本规定的其他贡献者包括 Martin Vilcans、Brett Terpstra、Jonathan Poritsky 和 Clinton Torres。
此处包含的代码由Nima Yousefi和John August开发,在Ryan Nelson和Stuart Friedel的大量情感和精神支持下。然而,所有攻击性言论应直接针对Nima Yousefi(别担心,这是他应得的)。