0

hgweb webinterface内に hgactivityによって作成されたアクティビティ グラフを埋め込みたいと考えています。そうするための最良の方法は何ですか?

これは、hgactivity グラフのスクリーンショットです。 代替テキスト
これは、Mercurial リポジトリへのコミット数を経時的に示しています。

4

3 に答える 3

5

難しいのは、提供できるようにチャートをどこに置くかということです。誰もが見ることができる標準的なビューを使用しても問題ない場合は、cron ジョブを使用して実行hg activityし、イメージを hgweb 静的ファイル (css など) で標準のファイル名に保存できます。次に、hgweb テンプレートを微調整して、画像ファイルを参照する img タグを含めます。cron ジョブがそのファイルを定期的に (毎日、1 時間ごとに) 上書きしている場合は、問題ありません。

より動的なもの (ユーザー固有のクエリ、特定の日付範囲など) が必要な場合は、(my) hg chart extensionを参照してください。ほど完全な機能hg activityではありませんが、画像ファイルではなく Google チャート API の URL を吐き出すという利点があります。例:

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、URL をページの HTML に挿入し、Google に画像を作成して提供させます。

于 2010-06-01T13:33:04.167 に答える
2

次の設定を思いつきました。

フォルダーアクティビティをテンプレートの静的に追加する

hgwebconfig に activity という changegroup フックを追加します。

[hooks]
changegroup.activity = hg activity --filename /usr/share/mercurial/templates/static/activity/${PWD##*/}.png

${PWD##*/} はリポジトリのフォルダ名に置き換えられます (フック スクリプトはリポジトリのルートで実行されます)。トリガー (1 つ以上の変更セットのプッシュまたはプル) 時に、アクティビティ グラフが (デフォルトの) テンプレート フォルダーの static/activity フォルダーに配置されます。

次の HTML を好みのテンプレート ページに追加できるようになりました。

<img src="{staticurl}/activity/{repo}.png"/>

これにより、現在のリポジトリの最新のアクティビティ グラフが読み込まれます。

警告: このフックのアクティブ化後、イメージが作成される前に、少なくとも 1 回プッシュする必要があります。

于 2010-06-01T15:51:29.803 に答える
1

このビルドが組み込まれたプロジェクトを開始しました 。http://hg.python-works.comでデモを見ることができます。これはパイロンベースであり、アクティビティグラフがあります。

于 2010-09-01T10:27:51.680 に答える