我想在我的网页界面中嵌入一个由hgactivity创建的活动图。最好的方法是什么?
这是一个hgactivity图的截图:

它显示了一段时间内提交到Mercurial存储库的次数。
发布于 2010-06-01 21:33:04
你会遇到的困难是把图表放在哪里,这样它就可以被服务了。如果你有一个每个人都能看到的标准视图,你可以使用cron job来运行hg activity,并将图像保存为一个标准文件名,其中包含hgweb静态文件( css等)。然后只需调整hgweb模板,使其包含引用图像文件的img标记。如果cron作业定期覆盖该文件(每天、每小时?)你就可以走了。
如果您需要更动态的内容(特定于用户的查询、特定的日期范围等)你可能想看看(我的) hg chart extension。它不像hg activity那样功能齐全,但它确实具有输出google图表API而不是图像文件的优势。示例:
https://chart.apis.google.com/chart?cht=lxy&chs=400x400&chd=e:AAAKAaAjAtA6BHBQBaBkBtB3CACKCUChCqC0C9DHDRDaDkDuD3EBEOEXEhExE7FIFRFbFlFuF4GBGOGeGyG7HFHOHbHlHyIFIVIiIyI8JMJcJlJyJ8KcK2LGLWL8MQMwNDNTNgNqNzOAONOaOjOtO3PAPKPUPdPnPwP6QEQNQXQhQqQ0Q-RORXRnR0SBSLSUSeSrS0S-TITRTeTuT7UIUVUeUoU1VFVPVbVoVyV8WFWPWYWiWsW1W.XJXSXcXmXvX5YGYSYfYpYzY8ZGZTZcZpZzZ8aGaQaZajata6bDbNbWbgbwcDcQcacjc0c9dHdQdadkdtd3eBeNeae3fEfOfXfnf0gOgegug4hBhVhhhrh1h-iIiSibiliyjFjVjlj.kSkckpk1lClSlflvmDmMmWmfmpmznAnJnTncnmnwn5oDoNoWogoqo2pApKpTpdpnpwp9qHqUqdqnq3rArRrkr0r-sKsXshsqs0tLtbtkt0uEuRuou7vFvOvYvivrv4wFwPwfwowyw7xFxPxYxlxvx4yFyVyfypyyy8zGzPzZzizsz20D0M0W0g0p0z081J1T1d1m1w152J2g3Q3q3z4E4Q4g4t5B5K5U5k5u536B6R6r677E7R7h707-8O8b8l8x879F9S9b9o9y97-P-f-o-y-8.F.P.Y.i.s.1..,VnFsKVETK.eWNyCaLTTrSnBdN.MKMVTTHuL8SLLBAbENHZD.HrE8CEKSC1G1H9CiSeJiMb..ItFLFDmnDBIhMKCVFcDbFaCAOuNUEsBtepD3DuBTA6DfGjBoDdDLAuHpAVFWEjI5CYCzAtGWGqFTAhfrDFGxHbFVNZBjE7EBAbDjEaK2CjJXAnHeDpFyGhRSD2OWGJajC.KGHreDISCqGtKVHUCZKbFtCHhId8GrB2EpHRJqItR5A5OSSrOJHgDpKmBHA4D2C1BbE4KBHbCtFHKQW7QpQuKRJDMSEGfDDrDZAeB2VqEPGkHlFHJrHuFFJ-IcB5DQFaGZAaArATA4AJALDaBmCTCkCoAlEtAkEPHpCwE.ETGbFfC9BZJtMJBNBwBPCZHzA3CEAUEiCBBqPdcDIwLnPjFPH3B9S-GNFbDqDaOfdOKcGDKaHeK8IODGJdDXCUCdHADbBQDKCIB1DGAzDCWKLREaCGAFAeA7DEPCA0BZC5FSc0OTC9N7ANKGDGQMEPPfN.BSFHBwJeHiH-FvJlXxEuF1K-M0COEbHHDfB-FKA-TpaADISdHoXiMUMGETE2HnBFBqIYAVATAWA2F5DOEELxNmElS-EDBFFRBBHaEFAyE2AbI9SHDKDSDSFqBtCyFQFZFeBCHhAuCKAibPDlCjXXMRDYKXCq&chxt=y,x&chxl=1:%7c05/03/05%7c03/17/06%7c01/30/07%7c12/15/07%7c10/29/08&chxr=0,0,7166看起来是这样的:
那么就没有要保存或服务的文件了。您可以调整模板以调用运行hg chart的小代码,将网址插入到页面的超文本标记语言中,并让谷歌创建和提供图像。
发布于 2010-06-01 23:51:30
我想出了以下设置:
将文件夹活动添加到模板静态
在hgwebconfig中添加一个名为activity的changegroup挂钩:
[hooks]
changegroup.activity = hg activity --filename /usr/share/mercurial/templates/static/activity/${PWD##*/}.png${PWD##*/}将替换为存储库的文件夹名称(在存储库的根目录中运行钩子脚本)。在触发(一个或多个变更集的推送或拉入)时,活动图将放置在(默认)模板文件夹的static/activity文件夹中。
现在,您可以将以下HTML添加到您喜欢的模板页面
<img src="{staticurl}/activity/{repo}.png"/>这将加载当前存储库的最新活动图。
注意:在激活此钩子后,您需要至少推送一次,然后才能创建镜像。
发布于 2010-09-01 18:27:52
我开始了一个内置了这个的项目。你可以在http://hg.python-works.com上看到一个演示,它是基于塔架的,并且有活动图。
https://stackoverflow.com/questions/2949244
复制相似问题