指南有三个主要组成部分。我将通过www.midwinter.com上的本地URL参考它们。
第一部分是该站点的大部分,是静态HTML文件的目录树,其中包含一些服务器份额的HTML文件(用于服务器端),以及一个简短的PHP脚本。
该目录内部是一堆子目录,主要与该站点的主要部分相对应。我将在片刻之内单独找到他们,但首先要了解一些文件的生成。
最大要了解的是一个名为“ gen.py”的python脚本,它的一个版本都活在每个字符中,其中包含每集HTML文件。该脚本负责从标头部分中组装一个静态HTML文件(为每个情节生成;它包括情节的标题以及其他内容),一个正文文件和页脚部分。
身体文件包含页面的肉。它们具有与HTML文件相同的文件名,减去.html扩展名。在大多数情况下,这只是3位剧集编号,例如/lurk/guide/056.html,包含指南子目录中的正文文件“ 056”。例如,当我想在第33集的页面中添加新评论时,我将CD添加到指南目录中,编辑文件“ 033”,然后运行“ gen.py 033”。结果是033.html的新版本,旧版本将其移至#033.html作为预防措施。
某些Gen.py版本的另一件事是将时间戳添加到项目中。这个想法是,当我修改页面时,我想突出显示更改,以便已经阅读过以前版本的人可以快速滚动到新内容。为此,gen.py在身体文件中寻找一个特殊的令牌“ @@@”(必须由Whitespace或线路结束)。当它找到令牌时,它将替换为“ @@@nnn”,其中NNN是unix time_t格式的当前时间戳。此更改是对身体文件本身进行的。然后,当gen.py从车身文件中生成HTML文件时,它会在看到最近的时间戳的任何地方插入日期。每天一次脚本再生所有HTML文件,以便一段时间后的日期标记消失(将其放入使页面看起来很丑陋,并且很难快速找到新项目)。
当您看到“ Skel”文件时,它是一个原型的主体文件。新剧集/小说/等时,我将其复制到适当的文件名。出来。
在许多子目录中,您会看到一个“ genall.csh”脚本。这只是每个情节“ gen.py”的快捷方式。我只有在更改页面标头/页脚的结构并希望在任何地方应用它时才使用此功能。
另外,在顶级目录中还有一个“ gen”脚本。这在每个子目录中运行gen.py。例如,当我为一集中添加图片并希望将其显示在该情节的所有页面上时,我会使用它。
第1-4季的每个情节的“到目前为止”。第5季仍需要写作。可访问的用户访问的文件都是.shtml文件。您会注意到这里没有任何身体文件。相反,背景/gen.py使用了其他一些源文件。汇总文件中有几个不同的介绍性摘要。例如,Sum-66总结了故事的故事,包括第66集,并将其作为第67集及以后的背景的第一部分。包含适当的cum-*文件后,gen.py看起来in Story.html。该文件包含在介绍下的“最近...”部分中包含的每集段落。仅包括摘要和当前情节之间的情节段落,例如第75集,Gen.Py包括Sum-66和第67-74集的段落。
某些角色的BIOS。这些链接到“宇宙”部分。简单的平面HTML文件。
漫画系列的指南页面。身体文件和gen.py。
此处唯一的HTML文件是index.html,它是我拥有计划信息的所有国家的列表。每个国家都有一个子目录下的下降(目录名称通常是该国的2字母国家代码)。 Note的一个伪国家是“ Master”,其中包含以正确顺序的情节列表(美国原始的播出顺序是有点错误的)。
每个国家 /地区的目录内是一个带有该国的时间表的eplist.html文件,以及与各种情节指南子目录的符号链接。通过使用我的URL中的相对路径,我让浏览器记住用户正在考虑的哪个国家的日程安排,而无需求助于cookie(该网站刚开始时尚未作为概念存在!) se/eplist.html具有指向“指南/056.html”的链接,该文件与/lurk/guide/056.html确实是相同的文件,因为/lurk/counlty/counlty/se/guide是对/lurk/uge symlink。但是,由于浏览器不知道,因此056.html的链接回到情节页面为“ ../eplist.html”,它可以追溯到瑞典时间表。
index.html是国家目录中eplist.html的链接。有一个“ mkcountry.sh”脚本来建立一个新的国家目录。还有所有5个季节的骨架剧集列表(Skel,Skel2,Skel3等)
当我编辑一个国家的时间表时,我会使用“ print-weeks.py”脚本,稍后将描述,因此我不必手工式日期。
情节学分。
一个简短的PHP脚本,可以简单地查找用户的域名,以找出要显示哪个国家的情节列表。现在,该节目几乎不太重要,但是当不同季节同时在不同国家 /地区展示时,这对用户来说很方便。
与美国情节列表的符号链接,以便在非国家指南目录中链接到“ ../ eplist.html”的任何链接都将有用。 (请参阅上面“国家”目录的讨论。)
整个站点中使用的标准页脚。没有以编程方式使用,但是当创建新页面时,我将其加载到文本编辑器中。
在每个与情节有关的子目录中都有一集的脚本。
相当不言自明。所有与游动相关的图像都生活在这里。 (尽管有目录名称,但其中一些是JPEG。)
情节指南页。
网站常见问题解答。它是由“ help”的名称提到的,而是避免与Usenet B5常见问题混淆。
symlink to lurker.html。
Gen.Py和CGIS使用的数据文件:
情节指南和概要页面列表,按修改时间顺序排序。由“ lastupdate.py”实用程序生成。
没有黑色背景的主页,因为有些人发现自定义背景很烦人。这将通过lurker.html自动生成,通过在顶级目录中运行“ make”的CRON作业。
主页。
一个小时一次,这个makefile用于重建Lurker-nobg.html,每天一次,它用于确保我没有忘记在某件事上奔跑。它还更新FTP存档中的B5TVLIST.TXT文件。
网站的“制造B5”部分。平坦的HTML文件。
Navbar的图像封面。
杂项文件不适合其他地方,例如,克劳迪娅·克里斯蒂安(Claudia Christian)为什么离开演出。
导航图像。次要功能是其索引。html是“此处的预紧图像缓存”页面,它通过让他们遭受一拍nav图像的所有痛苦来加快网站的速度。
新颖的指南页。本节不完整 - 最新一轮小说还没有页面。
调查5观众调查的结果。
按钮和导航图像以其原始无损压缩形式。
网站的“参考”部分。主要是平坦的HTML文件,但其中几个页面具有服务器端,其中包括从FTP区域中引入文本文件。
不再提及历史娱乐。
网站的“其他资源”部分。平坦的HTML文件。
包含一些随机支持代码。稍后再详细介绍。
情节概要。
站点图。
网站的“宇宙和角色”部分。平坦的HTML文件。第5季仍需要写下。
野蛮锻炼;我自己最终做了所有这一切!
JMS关于B5的消息被观众排名第一的优质电视。
切换到当前外观后,该站点的简介。
什么是新页面。当这变得很大时,我将所有旧项目放入档案中,并将其链接到此页面的底部。
Midwinter.com用于托管带有文本文件和图像的FTP存档;这些现在都可以通过Lurker指南访问,并存储在“ FTP”子目录中。
有关FTP档案中各种文件的描述,请参见FTP索引文件(文本和HTML中都可用)。 Lurker的指南指向这里的各种文件 - 包括一些服务器端包括参考。
除非另有说明,否则您会在 /lurk /src中找到一些公用事业。上面已经讨论过一些,但这里有一个清单:
这是每天从Cron工作中运行一次。它重新生成了所有指南页面。如果再生页面与旧版本没有区别,则旧版本将被移回位以保留其修改日期。这里的目的是在指南页面中的新项目中的时间戳过期(请参阅上面的Gen.py脚本的讨论)。
一个小时从克朗跑一次;这更新 /lurk/lastmod.html,非常不言自明。