awk供电的CMS

时间:2012-01-05 03:03:52

标签: content-management-system awk

我在这个论坛上潜伏了很长时间,我发现它是最有用的。这是我的第一个问题,请原谅我,如果没有正确措辞。我正在寻找一个简单的基于nawk(服务器不属于我所以即使我想要也无法安装gawk)CMS或shell / awk脚本集合来帮助我管理我不断增长的纯XHTML 1.0 / CSS文件集合代表我的个人网站。我在个人计算机上尝试了TinyTimBlis。除了不可移植(对不起,但Bash和gawk不是标准的Unix工具)我发现它们不能完全正常运行。有人可以建议任何其他解决方案吗?我有自己不断增长的快速脚本集合,但我需要更强大的东西。我愿意考虑简单的基于Perl的解决方案。 Python会很舒服,但我非常喜欢这种语言,我每天都在使用它来进行科学计算,所以我至少愿意学习这个选项。

3 个答案:

答案 0 :(得分:4)

我使用awk和sh编写了一个名为Zodiac的静态站点生成器。它支持Markdown和纯HTML,主站点布局,元数据以及用POSIX awk和sh编写的元数据。这可能是您正在寻找的基于awk的内容管理系统。

答案 1 :(得分:3)

一个有趣的问题!但这不是一个传统的答案。我有很多评论不适合S.O.评论格式,请原谅这种违反礼仪的行为。

尽管我喜欢* awk,但我可以看到几个障碍。

1。我不知道使用nawk创建的任何CMS工具。我对awk可用的内容有广泛的经验,正如你所发现的那样,有几种,(TinyTim和Blis),但是它们基于bash / gawk而且它们并不像你那样功能齐全需要。

当我去awk的母船(www.awk.info)时,我得到了一个明显的印象,即网站被黑了。我确实找到了 A tiny CMS in awk ,但我认为它是一个基于gawk的系统。这两个网站有相关的作者,所以我担心它也可能被黑客入侵。小心!

2。听起来您正在考虑使用传统的awk命令行和基于shell脚本的系统。如果是这样,我对CMS系统的有限经验就是它们是基于GUI的内容创建和管理系统,因此是GUI页面创建者,然后是一个类似于传统unix存储库/ SCCS系统的GUI包装器。欢迎CMS专家列举差异。

那么,为什么不只是围绕CVS或类似程序制作一些包装脚本,以便您根据需要控制存储库?

3。系统有效性I:使用CVS作为CMS系统存储库端的占位符,想想源代码有多大,并且它是用'C'编写的,与您在nawk或任何shell中访问的子系统相比,可以更好地访问和控制与文件所有权和安全问题相关的子系统(以及许多其他系统)。 (当然,编译C的执行速度要快得多,但在3Ghz +处理器的这一天,坚持编译代码并不是绝对的要求)

4. 系统效果II:您说您想要存储大多数XHTML 1.0 / CSS类型文件。这是您项目的主要挫折,awk是基于reg-ex的语言,无法有效地解析类似XML的数据。你有没有潜伏在这里阅读parse xml in bashcomplex conversions

当然,我真的在找帖子,我找不到!搜索“朋友不要让朋友在sed / awk / bash中使用XML”这样的短语; - )!

5. Re TinyTim和Blis:重新考虑你对gawk / bash的反对意见:这两种优秀的语言是nawk和ksh的超集(88)。根据脚本对gawk / bash特定功能的依赖程度,在简单的一端,您可能只需要将文件顶部的“she-bang”更改为#!/ bin / nawk,#!/ bin / ksh或者更现实地说,进行更改,然后为nawk / ksh重写一些代码。最糟糕的情况是,gawk和bash代码非常依赖特定的“品牌”功能,这些功能对于重写来说实在是不切实际。值得一看。

要完成图片,请参阅gawkxml。 显然是一个gawk系统,但我确实通过一些代码更改来转换为nawk。它适用于我的需求,但我没有尝试修复无效的代码的自我验证方面的情况; - (

修改

6。最后,在他们的经典着作“The Awk Programming Language”,第4章报告和数据库,“关系数据库系统”和“Chap”中查看原始awk创建者的系统范围。 。 6,小语言。那里可能有你的想法(没有预先烘焙的CMS; - )。


所以,鉴于perl和python都有通过导入模块内置的优秀的XML处理,我认为你必须认真考虑它们或安装类似xmlstarlet的东西(根据上面的SO链接)并编写你的shell系统包装器可以使用它。

我希望这会有所帮助。

答案 2 :(得分:2)

试试Jekyll:

  

http://jekyllrb.com/

您只需使用一些简单直观的语法编写一些文本文件。然后当你运行Jekyll时,它会生成一个完整的纯HTML文件文件夹,准备上传。

可以使用添加额外功能的Ruby插件扩展代码。

GitHub Pages支持它:如果您上传一个包含Markdown文件的存储库,GitHub将自动运行Jekyll并将其托管在您的个人子域中。

还有Hyde用Python编写,但我还没试过。

谷歌搜索“静态网站生成器”将产生数百万的结果。尝试一下,选择你喜欢的东西!