跳转到主要内容

将IRC日志转换为HTML

项目描述

将IRC日志文件转换为具有美观颜色的HTML。

快速开始

安装

pip install irclog2html

单个日志文件的快速使用

irclog2html --help
irclog2html filename.log                  (produces filename.log.html)

日志的大规模转换(每天一个文件,文件名为YYYY-MM-DD),带有下一页/上一页链接,带有mtime检查,可由cron使用

logs2html directory/     (looks for *.log and *.log.gz, produces *.log.html)

配置文件

由于您可能不希望在每次运行logs2html时都指定相同的选项,因此可以创建一个配置文件。例如

-t 'IRC logs for #mychannel'
-p 'IRC logs for #mychannel for '
# the following needs some extra Apache setup to enable the CGI/WSGI script
--searchbox
# where we keep the logs
/full/path/to/directory/

使用方法

logs2html -c /path/to/mychannel.conf

以#开头的行将被忽略。其他行将解释为命令行选项。

顺序很重要:在-c FILE之前命令行上的选项将覆盖配置文件中的选项。在-c FILE之后指定的选项将覆盖配置文件中的选项。

您可以通过重复使用 -c FILE 来包含多个配置文件。您可以从其他配置文件中包含配置文件。您甚至可以创建配置文件的循环,然后疯狂地观察 logs2html 如何烧毁您的CPU。

日志搜索的CGI脚本

您可以通过将 --searchbox 选项传递给 logs2html 来在IRC日志页面上生成搜索框。以下是一个使它工作的Apache配置片段示例

RewriteRule ^/my-irclog/search/$ /my-irclog/search [R,L]
ScriptAlias /my-irclog/search /usr/local/bin/irclogsearch
<Location /my-irclog/search>
  SetEnv IRCLOG_LOCATION "/var/www/my-irclog/"
  # Uncomment the following if your log files use a different format
  #SetEnv IRCLOG_GLOB "*.log.????-??-??"
  # (this will also automatically handle *.log.????-??-??.gz)
</Location>

日志服务的WSGI脚本

现在有一个实验性的WSGI脚本,可以在运行时生成日志的HTML。如果您不喜欢cron脚本和CGI,您可以使用它。

以下是一个示例Apache配置片段

WSGIScriptAlias /irclogs /usr/local/bin/irclogserver
<Location /irclogs>
  SetEnv IRCLOG_LOCATION "/var/www/my-irclog/"
  # Uncomment the following if your log files use a different format
  #SetEnv IRCLOG_GLOB "*.log.????-??-??"
  # (this will also automatically handle *.log.????-??-??.gz)
</Location>

目前它有一些缺点

  • 配置非常有限,例如,您无法指定标题或样式或启用dircproxy模式

  • irc日志目录中的HTML文件将优先于动态生成的日志,即使它们比相应的日志文件旧(但好处是您可以使用它通过WSGI进行动态搜索,但请保留具有您自己配置调整的静态生成的HTML文件)

多频道日志服务的WSGI脚本

实验性的WSGI脚本可以为多个频道提供服务

WSGIScriptAlias /irclogs /usr/local/bin/irclogserver
<Location /irclogs>
  SetEnv IRCLOG_CHAN_DIR "/var/www/my-irclog/"
  # Uncomment the following if your log files use a different format
  #SetEnv IRCLOG_GLOB "*.log.????-??-??"
  # (this will also automatically handle *.log.????-??-??.gz)
</Location>

现在 /irclogs 将显示频道列表(位于 /var/www/my-irclog/ 的子目录中),而 /irclogs/channel/ 将显示该频道的日期索引。

杂项

网站:https://mg.pov.lt/irclog2html/

错误追踪器:https://github.com/mgedmin/irclog2html/issues

许可证:GPL v2 或 v3 (https://gnu.ac.cn/copyleft/gpl.html)

buildstatus appveyor coverage

变更日志

3.0.0 (2023-08-28)

  • 停止支持Python 2.7和3.6。

  • 添加对Python 3.10和3.11的支持。

  • 通过在链接中发出文件名,即使在最新的.html文件中,也使永久链接永久化。

  • 添加 <meta name="viewport"> 以将初始缩放设置为1,从而改进移动体验(《PR 32》)。

  • 支持由 ii (Irc it) 创建的日志文件((《PR 33》)。

2.17.3 (2021-07-08)

  • 添加对Python 3.8和3.9的支持。

  • 停止支持Python 3.5。

  • 修复了一个问题,其中在指定 -output-dir (-o) 给 logs2html 时,如果它们存在于源目录中,则会错误地跳过生成一些HTML文件(《问题 29》)。

2.17.2 (2019-04-23)

  • 停止支持Python 3.4。

2.17.1 (2018-11-25)

  • 添加对Python 3.7的支持。

  • 停止支持Python 3.3。

  • 支持 python -m irclog2html 作为 python -m irclog2html.irclog2html 的快捷方式。

  • 让 irclogserver 忽略隐藏目录(例如 .git)。

2.17.0 (2018-02-21)

2.16.0 (2017-12-20)

  • 支持Python 3.6。

  • 修复了由于HTML id锚点演变成长形式(如“t22:24:49-2-3-4-5-6-7-8-9-10”)而导致重复行的问题,而不是“t22:24:49-10”,导致某些情况下输出文件大小显著增长。

  • 向 logs2html 添加 -output-dir (-o) 参数,以便您可以将生成的HTML文件放置在不同于输入目录的目录中(《PR #20》)。

2.15.3 (2016-12-08)

2.15.2 (2016-10-07)

  • irclogserver 频道列表现在分为旧频道和活动频道,通过检查目录修改日期是否比7天新或旧来检测。

  • 二级标题现在与一级标题具有相同的颜色。

  • irclogserver 在URL中省略通道名后面的 / 后不再显示404错误。

2.15.1 (2016-09-25)

2.15.0 (2016-09-25)

2.14.0 (2014-12-12)

2.13.1 (2014-02-01)

  • 添加对Windows的支持(例如,避免创建最新的.log.html符号链接)。

2.13.0 (2013-12-18)

2.12.1 (2013-03-22)

2.12.0 (2013-03-18)

  • 迁移到Github。

  • 添加对Python 3.3的支持。

  • 停止支持Python 2.4和2.5。

  • 修复URL链接器,使其不包含尾随标点符号(LP#1155906)。

2.11.1 (2013-03-17)

  • logs2html也接受包含YYYYMMDD日期的文件名(除YYYY-MM-DD外)。补丁由Holger Just提供。修复LP#1031642。

2.11.0 (2012-07-30)

  • irclogsearch可以通过环境变量告知日志文件的文件名模式(IRCLOG_GLOB)。补丁由Jonathan Kinred提供。

2.10.0 (2012-02-12)

  • 新选项:–glob-pattern。补丁由Albertas Agejevas提供。修复LP#912310。

  • 日志中的链接用rel="nofollow"标记。补丁由Matt Wheeler提供。修复LP#914553。

  • 新选项:–version。

  • 新选项:-c,–config=FILE。

2.9.2 (2011-01-16)

  • 支持XChat拉丁/Unicode混合编码 (http://xchat.org/encoding/)。修复LP#703622。

  • irclog2html将irclog.css文件复制到目标目录。修复LP#608727。

2.9.1 (2010-08-06)

  • 确保irclog.css安装在正确的地方;logs2html需要它。

2.9 (2010-08-06)

  • 重构源代码树,将irclogs2html转换为包,添加setup.py,buildout.cfg,bootstrap.py,Makefile,HACKING.txt;将旧端口测试套件移动到子目录(porting)。

  • logs2html将irclog.css文件复制到目标目录。

  • 发布到PyPI。

2.8 (2010-07-22)

  • 添加README.txt和CHANGES.txt。

  • 支持dircproxy日志文件(新的日期格式:“[15 Jan 08:42]”,从昵称中删除标识符和IP地址)。补丁由Paul Frields提供。

  • 新选项:–dircproxy还使irclog2html从消息中删除单个前导“+”或“-”。

2.7.1 (2009-04-30)

  • logs2html.py中的错误报告存在错误,由Ondrej Baudys报告。

2.7 (2008-06-10)

  • 新样式:mediawiki。补丁由Ian Weller提供。

2.6 (2007-10-30)

  • 支持另一种日期格式(Oct 17 10:53:26)。补丁由Matthew Barnes提供。

2.5.1 (2007-03-22)

  • logs2html.py:添加指向最新日志文件的稳定链接(由Chris Foster建议)。

2.5 (2007-01-22)

  • 新选项:–searchbox。

  • 搜索CGI脚本改进(例如,将最新匹配项放在顶部)。

2.4 (2006-12-11)

  • 添加了一个用于暴力搜索日志的示例CGI脚本。

2.3 (2005-03-08)

  • 默认使用xhtmltable样式。

  • 在底部添加了navbar的副本。

2.2 (2005-02-04)

  • 支持supybot的ChannelLogger日期格式(例如,02-Feb-2004)。

  • 修复了xhtml/xhtmltable样式中的损坏的时间戳超链接。

  • CSS调整。

2.1mg(2005-01-09)

  • 将irclog2html.pl版本2.1由Jeff Waugh从Perl转换为Python。

  • 新样式:xhtml,xhtmltable。

  • 新选项:–title,–{prev,index,next}-{url,title}

  • 移除了jdub,cantaker和chuckd的硬编码昵称颜色首选项。

  • 错误修复:颜色在昵称更改之间保留(irclog2html.pl试图这样做,但正则表达式中有一个错误)。

  • 添加了对ISO8601时间戳的支持(例如,2005-01-09T12:43:11)。

  • 更仔细地执行URL链接化(停止在“,”,““,“)”和“>”处)。

  • 添加了logs2html.py脚本来进行日志的大规模转换。

  • 添加了对xchat日志文件的支持。

  • 添加了 xchatlogsplit.py 脚本,用于按日边界分割 xchat 日志,使其适合作为 logs2html.py 的输入。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

irclog2html-3.0.0.tar.gz (221.1 kB 查看哈希值)

上传时间

构建分发

irclog2html-3.0.0-py2.py3-none-any.whl (52.2 kB 查看哈希值)

上传时间 Python 2 Python 3

支持