仅又一个玩具静态网站生成器
项目描述
Loslassa
使用成熟的OSS工具完成任务的静态网站生成器。
主要是我用来玩耍花哨库和OSS工作流程的实验室
基本成分
ReStructuredText
reStructuredText是一个易于阅读、所见即所得的纯文本标记语法和解析器系统。它用于内联程序文档(如Python docstrings)、快速创建简单网页以及独立文档。reStructuredText旨在为特定应用领域提供可扩展性。
正如描述所说:适用于简单网页 - 如果涉及更复杂的内容,您需要更多一些,在这种情况下将由sphinx文档生成器提供。
Sphinx Porcelain
我最喜欢的创建Python项目文档的方式是使用sphinx。它已经相当舒适,并且可以通过主题支持创建漂亮的静态网页,而且它很容易扩展。
文档是通过创建表示生成的文档结构的reStructuredText文件树来生成的。导航、交叉引用和搜索索引都是从结构和实际文件中的轻量级标记生成的。这解决了生成网页的主要问题,因此您不再需要担心这些事情。
对我来说重要的是:实际内容与布局和设计方面干净地分离,并保存在简单的文本文件中。如果有一天决定迁移到不同的系统,调整文档树以适应新系统也不会太痛苦,因为标记可以轻松删除/转换。
为什么选择瓷器?
Sphinx非常强大,可以生成PDF、HTML、Man-Page等各种格式的文档。即使使用sphinx-quickstart创建一个新的sphinx项目,也会让新手感到手忙脚乱。我无法想象我的团队成员在没有多次神经崩溃的情况下完成这些任务。因此,第一个想法是给sphinx的底层结构添加一些瓷器,创建一个简单的示例项目,让他们能够开始。
Git瓷器瓷器
待办事项 但首先需要找出要使用哪个git库
Git是一个非常出色的分布式版本控制系统,可以用多种方式滥用。我计划将其用作网页的自动备份系统和发布工具。
问题是,即使是git瓷器也不是我可以让家人随意使用的,因此目标是完全抽象git,并在底层使用它来实现回滚功能和发布内容。
开发服务器
我理解所有这些五彩斑斓的所见即所得界面的吸引力,让人感觉创建一个漂亮的网页非常简单,只需几步点击即可。但你也可能得到一些并非真正想要的,难以维护且难以摆脱的东西。
因此,我希望我的家人能够采用Loslassa的方式 - 但问题是:Loslassa绝对不是WYSIWYG,而是WYGIWYWIYWTLSN(如果你愿意学习新事物,你将得到你想要的),所以我需要一些东西来吸引他们相信这可能是有用的。
在Loslassa中,看见即是相信是一个简单的基于Werkzeug代码(Werkzeug)的开发服务器。这确保了,你正在工作的网页的最新版本(即在硬盘上项目文件当前状态)会在浏览器中显示。
服务器会简单地监视Loslassa项目目录(TM)中的文件更改,重建页面并重新加载自身。在后续版本中,此服务器还将负责版本控制方面的事情,通过保持git仓库最新。发布页面将是简单的git push到网络空间。
友好的命令行界面
我目前的编程经验主要在后端。在我的日常工作岗位上,我为一家德国杀毒公司开发内部分布式系统,我们不使用花哨的GUI - 我们有广泛的API和简单的Web界面(归功于Flask),在合理的情况下使用桌面GUI目前不在我的计划之中。但每个人都喜欢命令行,不是吗 ;)
无论如何……以Pythonic方式编写CLIs的方法是Plumbum,我只是刚开始尝试,我觉得我不会再回到argparse了。Plumbum方法的另一个方面是路径处理,它提供了一个用于路径连接的overloade/运算符和路径对象上的方法。我开始在代码中使用它,它相当不错……
关于名称
Loslassa 或 los lassa 意味着放松和放手,是德语方言斯瓦比安语(Swabian German)的用法,这种方言在德国南部部分地区使用。从我于2011年搬到这里以来,我直接接触到了这种方言,我仍然对它感到非常敬畏,但我真的很喜欢它……或者至少我正在非常努力地尝试去喜欢它——所以我想给我的第一个开源项目起一个斯瓦比安的名字。
不管怎样,当我想到这个项目的想法时,我去了我的瑜伽课,我的斯瓦比安瑜伽老师每次在我们经过一些扭曲的动作后想要我们放松时,总是会说“loslassa,loslassa,loslassa”——这就是我最喜欢的课程部分(有趣的事实:loslassa源代码中主文件的路径是 loslassa/loslassa/loslassa.py)。
所以在真正的 Loslassa 精神下,我希望这个小项目能帮助你放下你对网页应该如何创建的固有观念,并尝试 Loslassa 的方式;)。
项目详情
Loslassa-0.3.10.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e4a5793e9f868766118b1694891eff5964131b35b51afbb4ba26eeb866baff7 |
|
MD5 | 53a2e3455366dce30920238c92b15bb1 |
|
BLAKE2b-256 | 91b17dfbaea6a43aa0230fe24310c04a2873a640d81ba92bef399321cd5a8595 |